From 246157cf639d8358938998f2c95bb4eb615ac9d0 Mon Sep 17 00:00:00 2001 From: Antoine Clausse Date: Mon, 30 Sep 2024 11:48:36 +0200 Subject: [PATCH] [web] Migrate `/subscription/invites` to BS5 (#20652) * [web] Wiring work for `/subscription/invites` BS5 migration * [web] Migrate group-invites.tsx to BS5 * [web] Migrate group-invites-item.tsx to BS5 GitOrigin-RevId: a12aafce3ad0040dc500f5f29b1a20fbae4a748e --- .../Subscription/TeamInvitesController.js | 7 +++++++ .../views/subscriptions/team/group-invites.pug | 4 ++++ .../group-invites/group-invites-item.tsx | 16 +++++++++------- .../components/group-invites/group-invites.tsx | 11 ++++++----- 4 files changed, 26 insertions(+), 12 deletions(-) diff --git a/services/web/app/src/Features/Subscription/TeamInvitesController.js b/services/web/app/src/Features/Subscription/TeamInvitesController.js index 5745e981fd..7a415184af 100644 --- a/services/web/app/src/Features/Subscription/TeamInvitesController.js +++ b/services/web/app/src/Features/Subscription/TeamInvitesController.js @@ -14,6 +14,7 @@ const EmailHandler = require('../Email/EmailHandler') const { RateLimiter } = require('../../infrastructure/RateLimiter') const Modules = require('../../infrastructure/Modules') const UserAuditLogHandler = require('../User/UserAuditLogHandler') +const SplitTestHandler = require('../SplitTests/SplitTestHandler') const rateLimiters = { resendGroupInvite: new RateLimiter('resend-group-invite', { @@ -181,6 +182,12 @@ async function viewInvites(req, res, next) { groupSubscription.teamInvites.find(invite => invite.email === userEmail) ) + await SplitTestHandler.promises.getAssignment( + req, + res, + 'bootstrap-5-subscription' + ) + return res.render('subscriptions/team/group-invites', { teamInvites, }) diff --git a/services/web/app/views/subscriptions/team/group-invites.pug b/services/web/app/views/subscriptions/team/group-invites.pug index c68bc39e6e..c9da04d293 100644 --- a/services/web/app/views/subscriptions/team/group-invites.pug +++ b/services/web/app/views/subscriptions/team/group-invites.pug @@ -1,5 +1,9 @@ extends ../../layout-marketing +block vars + - bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' + - bootstrap5PageSplitTest = 'bootstrap-5-subscription' + block entrypointVar - entrypoint = 'pages/user/subscription/group-invites' diff --git a/services/web/frontend/js/features/subscription/components/group-invites/group-invites-item.tsx b/services/web/frontend/js/features/subscription/components/group-invites/group-invites-item.tsx index ee6a8d7a2d..50c64e7279 100644 --- a/services/web/frontend/js/features/subscription/components/group-invites/group-invites-item.tsx +++ b/services/web/frontend/js/features/subscription/components/group-invites/group-invites-item.tsx @@ -1,7 +1,9 @@ -import { Col, Row } from 'react-bootstrap' import { Trans } from 'react-i18next' import GroupInvitesItemFooter from './group-invites-item-footer' import type { TeamInvite } from '../../../../../../types/team-invite' +import OLCard from '@/features/ui/components/ol/ol-card' +import OLRow from '@/features/ui/components/ol/ol-row' +import OLCol from '@/features/ui/components/ol/ol-col' type GroupInvitesItemProps = { teamInvite: TeamInvite @@ -11,9 +13,9 @@ export default function GroupInvitesItem({ teamInvite, }: GroupInvitesItemProps) { return ( - - -
+ + +

-
- -
+ + + ) } diff --git a/services/web/frontend/js/features/subscription/components/group-invites/group-invites.tsx b/services/web/frontend/js/features/subscription/components/group-invites/group-invites.tsx index 8d89913cc9..e6e7cab1f8 100644 --- a/services/web/frontend/js/features/subscription/components/group-invites/group-invites.tsx +++ b/services/web/frontend/js/features/subscription/components/group-invites/group-invites.tsx @@ -1,9 +1,10 @@ import { useEffect } from 'react' -import { Col, Row } from 'react-bootstrap' import { useTranslation } from 'react-i18next' import getMeta from '@/utils/meta' import { useLocation } from '@/shared/hooks/use-location' import GroupInvitesItem from './group-invites-item' +import OLRow from '@/features/ui/components/ol/ol-row' +import OLCol from '@/features/ui/components/ol/ol-col' function GroupInvites() { const { t } = useTranslation() @@ -18,11 +19,11 @@ function GroupInvites() { return (
- - + +

{t('group_invitations')}

- -
+ + {teamInvites.map(teamInvite => ( ))}