Просмотр исходного кода

Update UX copy for group member management options

GitOrigin-RevId: 33fcc1da1fae77f57ca4833cbaf314f497ef0ab7
Simon Gardner 9 месяцев назад
Родитель
Сommit
41976072e5

+ 2 - 1
services/web/frontend/extracted-translations.json

@@ -412,6 +412,7 @@
   "delete_figure": "",
   "delete_message": "",
   "delete_message_confirmation": "",
+  "delete_permanently": "",
   "delete_projects": "",
   "delete_row_or_column": "",
   "delete_sso_config": "",
@@ -2037,6 +2038,7 @@
   "unlink_all_users_explanation": "",
   "unlink_dropbox_folder": "",
   "unlink_dropbox_warning": "",
+  "unlink_from_sso": "",
   "unlink_github_repository": "",
   "unlink_github_warning": "",
   "unlink_linked_accounts": "",
@@ -2045,7 +2047,6 @@
   "unlink_provider_account_warning": "",
   "unlink_reference": "",
   "unlink_the_project_from_the_current_github_repo": "",
-  "unlink_user": "",
   "unlink_user_explanation": "",
   "unlink_users": "",
   "unlink_warning_reference": "",

+ 3 - 3
services/web/frontend/js/features/group-management/components/members-table/dropdown-button.tsx

@@ -223,7 +223,7 @@ export default function DropdownButton({
         key="unlink-user-action"
         data-testid="unlink-user-action"
       >
-        {t('unlink_user')}
+        {t('unlink_from_sso')}
       </MenuItemButton>
     )
   }
@@ -250,7 +250,7 @@ export default function DropdownButton({
         data-testid="delete-user-action"
         onClick={onDeleteUserClick}
       >
-        {t('delete_user')}
+        {t('delete_permanently')}
       </MenuItemButton>
     )
     buttons.push(
@@ -259,7 +259,7 @@ export default function DropdownButton({
         data-testid="release-user-action"
         onClick={onReleaseUserClick}
       >
-        {t('remove_user')}
+        {t('remove_from_group')}
       </MenuItemButton>
     )
   } else if (!isUserManaged) {

+ 2 - 2
services/web/frontend/js/features/group-management/components/members-table/unlink-user-modal.tsx

@@ -85,7 +85,7 @@ export default function UnlinkUserModal({
   return (
     <OLModal show onHide={onClose}>
       <OLModalHeader>
-        <OLModalTitle>{t('unlink_user')}</OLModalTitle>
+        <OLModalTitle>{t('unlink_from_sso')}</OLModalTitle>
       </OLModalHeader>
       <OLModalBody>
         {hasError && (
@@ -121,7 +121,7 @@ export default function UnlinkUserModal({
           onClick={e => handleUnlink(e)}
           disabled={unlinkInFlight}
         >
-          {t('unlink_user')}
+          {t('unlink_from_sso')}
         </OLButton>
       </OLModalFooter>
     </OLModal>

+ 0 - 1
services/web/locales/da.json

@@ -2003,7 +2003,6 @@
   "unlink_provider_account_warning": "Advarsel: Når du afkobler din konto fra __provider__ kan du ikke længere logge ind igennem __provider__.",
   "unlink_reference": "Fjern link til reference udbyder",
   "unlink_the_project_from_the_current_github_repo": "Afkobl projektet fra det nuværende GitHub repository og opret en forbindelse til et repository du ejer. (Der kræves et aktivt __appName__ abonnement for at sætte GitHub synkronisering op).",
-  "unlink_user": "Afkobl bruger",
   "unlink_users": "Afkobl brugere",
   "unlink_warning_reference": "Advarsel: Når du fjerner linket til denne udbyder fra din konto, vil du ikke længere have mulighed for at importere referencer ind i dine projekter.",
   "unlinking": "Fjerner forbindelse",

+ 2 - 1
services/web/locales/en.json

@@ -535,6 +535,7 @@
   "delete_figure": "Delete figure",
   "delete_message": "Delete message",
   "delete_message_confirmation": "Are you sure you want to delete this message? This can’t be undone.",
+  "delete_permanently": "Delete permanently",
   "delete_projects": "Delete Projects",
   "delete_row_or_column": "Delete row or column",
   "delete_sso_config": "Delete SSO configuration",
@@ -2565,6 +2566,7 @@
   "unlink_all_users_explanation": "You’re about to remove the SSO login option for all users in your group. If SSO is enabled, this will force users to reauthenticate their Overleaf accounts with your IdP. They’ll receive an email asking them to do this.",
   "unlink_dropbox_folder": "Unlink Dropbox Account",
   "unlink_dropbox_warning": "Any projects that you have synced with Dropbox will be disconnected and no longer kept in sync with Dropbox. Are you sure you want to unlink your Dropbox account?",
+  "unlink_from_sso": "Unlink from SSO",
   "unlink_github_repository": "Unlink GitHub repository",
   "unlink_github_warning": "Any projects that you have synced with GitHub will be disconnected and no longer kept in sync with GitHub. Are you sure you want to unlink your GitHub account?",
   "unlink_linked_accounts": "Unlink any linked accounts (such as ORCID ID, IEEE). <0>Remove them in Account settings (under Linked Accounts).</0>",
@@ -2573,7 +2575,6 @@
   "unlink_provider_account_warning": "Warning: When you unlink your account from __provider__ you will not be able to sign in using __provider__ anymore.",
   "unlink_reference": "Unlink References Provider",
   "unlink_the_project_from_the_current_github_repo": "Unlink the project from the current GitHub repository and create a connection to a repository you own. (You need an active __appName__ subscription to set up a GitHub Sync).",
-  "unlink_user": "Unlink user",
   "unlink_user_explanation": "You’re about to remove the SSO login option for <0>__email__</0>. This will force them to reauthenticate their Overleaf account with your IdP. They’ll receive an email asking them to do this.",
   "unlink_users": "Unlink users",
   "unlink_warning_reference": "Warning: When you unlink your account from this provider you will not be able to import references into your projects.",

+ 0 - 1
services/web/locales/zh-CN.json

@@ -2396,7 +2396,6 @@
   "unlink_provider_account_warning": "警告:当您取消帐户与 __provider__ 的链接后,您将无法再使用 __provider__ 登录。",
   "unlink_reference": "取消关联参考文献提供者",
   "unlink_the_project_from_the_current_github_repo": "取消项目与当前 GitHub 存储库的链接,并创建与您拥有的存储库的连接。 (您需要有效的 __appName__ 订阅才能设置 GitHub 同步)。",
-  "unlink_user": "取消链接用户",
   "unlink_user_explanation": "您即将删除 <0>__email__</0> 的 SSO 登录选项。 这将迫使他们向您的 IdP 重新验证其 Overleaf 帐户。 他们会收到一封电子邮件,要求他们这样做。",
   "unlink_users": "取消用户链接",
   "unlink_warning_reference": "警告:如果将账户与此提供者取消关联,您将无法把参考文献导入到项目中。",

+ 3 - 3
services/web/test/frontend/features/group-management/components/members-table/members-list.spec.tsx

@@ -274,7 +274,7 @@ describe('MembersList', function () {
 
       it('should show successs notification and update the user row after unlinking', function () {
         cy.findByRole('dialog').within(() => {
-          cy.findByRole('button', { name: /unlink user/i }).click()
+          cy.findByRole('button', { name: /unlink from sso/i }).click()
         })
         cy.findByRole('alert').should(
           'contain.text',
@@ -314,7 +314,7 @@ describe('MembersList', function () {
 
         it('should show successs notification and update the user row after unlinking', function () {
           cy.findByRole('dialog').within(() => {
-            cy.findByRole('button', { name: /unlink user/i }).click()
+            cy.findByRole('button', { name: /unlink from sso/i }).click()
           })
           cy.findByRole('alert').should(
             'contain.text',
@@ -347,7 +347,7 @@ describe('MembersList', function () {
 
         it('should show successs notification and update the user row after unlinking', function () {
           cy.findByRole('dialog').within(() => {
-            cy.findByRole('button', { name: /unlink user/i }).click()
+            cy.findByRole('button', { name: /unlink from sso/i }).click()
           })
           cy.findByRole('alert').should(
             'contain.text',

+ 9 - 5
services/web/test/frontend/features/group-management/components/members-table/unlink-user-modal.test.tsx

@@ -35,7 +35,7 @@ describe('<UnlinkUserModal />', function () {
   it('displays the modal', async function () {
     renderWithContext(<UnlinkUserModal {...defaultProps} />)
     await screen.findByRole('heading', {
-      name: 'Unlink user',
+      name: 'Unlink from SSO',
     })
     screen.getByText('You’re about to remove the SSO login option for', {
       exact: false,
@@ -47,10 +47,12 @@ describe('<UnlinkUserModal />', function () {
 
     renderWithContext(<UnlinkUserModal {...defaultProps} />)
     await screen.findByRole('heading', {
-      name: 'Unlink user',
+      name: 'Unlink from SSO',
     })
 
-    const confirmButton = screen.getByRole('button', { name: 'Unlink user' })
+    const confirmButton = screen.getByRole('button', {
+      name: 'Unlink from SSO',
+    })
     fireEvent.click(confirmButton)
 
     await waitFor(() => expect(defaultProps.onClose).to.have.been.called)
@@ -70,10 +72,12 @@ describe('<UnlinkUserModal />', function () {
 
     renderWithContext(<UnlinkUserModal {...defaultProps} />)
     await screen.findByRole('heading', {
-      name: 'Unlink user',
+      name: 'Unlink from SSO',
     })
 
-    const confirmButton = screen.getByRole('button', { name: 'Unlink user' })
+    const confirmButton = screen.getByRole('button', {
+      name: 'Unlink from SSO',
+    })
     fireEvent.click(confirmButton)
 
     await waitFor(() => screen.findByText('Sorry, something went wrong'))