Skip to content

Commit 13e4d4a

Browse files
committed
feat(console): add onboarding banner for integrate prebuilt UI section
Add a dismissible notification in the "Integrate Prebuilt UI" section to inform users they need to set Account API permissions to "Edit" before using the prebuilt flows. - Add InlineNotification with "Got It" button - Store acknowledged state in user preferences - Add translations for all 16 supported languages
1 parent 24f48bf commit 13e4d4a

File tree

20 files changed

+63
-1
lines changed
  • packages
    • console/src
    • phrases/src/locales
      • ar/translation/admin-console/sign-in-exp
      • de/translation/admin-console/sign-in-exp
      • en/translation/admin-console/sign-in-exp
      • es/translation/admin-console/sign-in-exp
      • fr/translation/admin-console/sign-in-exp
      • it/translation/admin-console/sign-in-exp
      • ja/translation/admin-console/sign-in-exp
      • ko/translation/admin-console/sign-in-exp
      • pl-pl/translation/admin-console/sign-in-exp
      • pt-br/translation/admin-console/sign-in-exp
      • pt-pt/translation/admin-console/sign-in-exp
      • ru/translation/admin-console/sign-in-exp
      • th/translation/admin-console/sign-in-exp
      • tr-tr/translation/admin-console/sign-in-exp
      • zh-cn/translation/admin-console/sign-in-exp
      • zh-hk/translation/admin-console/sign-in-exp
      • zh-tw/translation/admin-console/sign-in-exp

20 files changed

+63
-1
lines changed

packages/console/src/hooks/use-user-preferences.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ const userPreferencesGuard = z.object({
3030
thirdPartyAppsUpsellNoticeAcknowledged: z.boolean().optional(),
3131
rbacUpsellNoticeAcknowledged: z.boolean().optional(),
3232
/* === Add on feature related fields === */
33+
prebuiltUiPermissionNoticeAcknowledged: z.boolean().optional(),
3334
});
3435

3536
type UserPreferences = z.infer<typeof userPreferencesGuard>;

packages/console/src/pages/SignInExperience/PageContent/AccountCenter/IntegratePrebuiltUi/index.module.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
margin-bottom: _.unit(3);
1313
}
1414

15+
.notice {
16+
margin-bottom: _.unit(3);
17+
}
18+
1519
.urlGrid {
1620
display: grid;
1721
grid-template-columns: repeat(2, 1fr);

packages/console/src/pages/SignInExperience/PageContent/AccountCenter/IntegratePrebuiltUi/index.tsx

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
import { useContext } from 'react';
2-
import { useTranslation } from 'react-i18next';
2+
import { Trans, useTranslation } from 'react-i18next';
33

44
import FormCard from '@/components/FormCard';
55
import { AppDataContext } from '@/contexts/AppDataProvider';
66
import DynamicT from '@/ds-components/DynamicT';
77
import FormField from '@/ds-components/FormField';
8+
import InlineNotification from '@/ds-components/InlineNotification';
89
import TextLink from '@/ds-components/TextLink';
910
import useDocumentationUrl from '@/hooks/use-documentation-url';
11+
import useUserPreferences from '@/hooks/use-user-preferences';
1012

1113
import PrebuiltUiUrlItem from './PrebuiltUiUrlItem';
1214
import styles from './index.module.scss';
@@ -48,6 +50,10 @@ function IntegratePrebuiltUi() {
4850
const { t } = useTranslation(undefined, { keyPrefix: 'admin_console' });
4951
const { tenantEndpoint } = useContext(AppDataContext);
5052
const { getDocumentationUrl } = useDocumentationUrl();
53+
const {
54+
data: { prebuiltUiPermissionNoticeAcknowledged },
55+
update,
56+
} = useUserPreferences();
5157

5258
return (
5359
<FormCard
@@ -63,6 +69,23 @@ function IntegratePrebuiltUi() {
6369
<div className={styles.description}>
6470
<DynamicT forKey="sign_in_exp.account_center.prebuilt_ui.flows_description" />
6571
</div>
72+
{!prebuiltUiPermissionNoticeAcknowledged && (
73+
<InlineNotification
74+
className={styles.notice}
75+
action="general.got_it"
76+
onClick={() => {
77+
void update({ prebuiltUiPermissionNoticeAcknowledged: true });
78+
}}
79+
>
80+
<Trans
81+
components={{
82+
strong: <strong />,
83+
}}
84+
>
85+
{t('sign_in_exp.account_center.prebuilt_ui.permission_notice')}
86+
</Trans>
87+
</InlineNotification>
88+
)}
6689
<div className={styles.urlGrid}>
6790
{prebuiltRoutes.map(({ path, tooltipKey }) => (
6891
<PrebuiltUiUrlItem

packages/phrases/src/locales/ar/translation/admin-console/sign-in-exp/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,8 @@ const sign_in_exp = {
166166
/** UNTRANSLATED */
167167
description:
168168
'Quickly integrate out-of-the-box verification and security setting flows with prebuilt UI.',
169+
permission_notice:
170+
'لدمج هذه التدفقات المُعدة مسبقًا، قم بتعيين أذونات Account API ذات الصلة إلى <strong>تحرير</strong> في الإعدادات أدناه.',
169171
/** UNTRANSLATED */
170172
flows_title: 'Integrate out-of-the-box security setting flows',
171173
/** UNTRANSLATED */

packages/phrases/src/locales/de/translation/admin-console/sign-in-exp/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ const sign_in_exp = {
169169
/** UNTRANSLATED */
170170
description:
171171
'Quickly integrate out-of-the-box verification and security setting flows with prebuilt UI.',
172+
permission_notice:
173+
'Um diese vorgefertigten Flows zu integrieren, setzen Sie die entsprechenden Account-API-Berechtigungen in den Einstellungen unten auf <strong>Bearbeiten</strong>.',
172174
/** UNTRANSLATED */
173175
flows_title: 'Integrate out-of-the-box security setting flows',
174176
/** UNTRANSLATED */

packages/phrases/src/locales/en/translation/admin-console/sign-in-exp/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,8 @@ const sign_in_exp = {
167167
title: 'INTEGRATE PREBUILT UI',
168168
description:
169169
'Quickly integrate out-of-the-box verification and security setting flows with prebuilt UI.',
170+
permission_notice:
171+
'To integrate these prebuilt flows, set the related Account API permissions to <strong>Edit</strong> in the settings below.',
170172
flows_title: 'Integrate out-of-the-box security setting flows',
171173
flows_description:
172174
'Combine your domain with the route to form your account setting URL (e.g., https://auth.foo.com/account/email). Optionally add a `redirect=` URL parameter to return users to your app after successfully updating.',

packages/phrases/src/locales/es/translation/admin-console/sign-in-exp/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,8 @@ const sign_in_exp = {
171171
/** UNTRANSLATED */
172172
description:
173173
'Quickly integrate out-of-the-box verification and security setting flows with prebuilt UI.',
174+
permission_notice:
175+
'Para integrar estos flujos prediseñados, establezca los permisos de la API de cuenta relacionados en <strong>Editar</strong> en la configuración a continuación.',
174176
/** UNTRANSLATED */
175177
flows_title: 'Integrate out-of-the-box security setting flows',
176178
/** UNTRANSLATED */

packages/phrases/src/locales/fr/translation/admin-console/sign-in-exp/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,8 @@ const sign_in_exp = {
171171
/** UNTRANSLATED */
172172
description:
173173
'Quickly integrate out-of-the-box verification and security setting flows with prebuilt UI.',
174+
permission_notice:
175+
"Pour intégrer ces flux préconstruits, définissez les autorisations de l'API de compte associées sur <strong>Modifier</strong> dans les paramètres ci-dessous.",
174176
/** UNTRANSLATED */
175177
flows_title: 'Integrate out-of-the-box security setting flows',
176178
/** UNTRANSLATED */

packages/phrases/src/locales/it/translation/admin-console/sign-in-exp/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ const sign_in_exp = {
169169
/** UNTRANSLATED */
170170
description:
171171
'Quickly integrate out-of-the-box verification and security setting flows with prebuilt UI.',
172+
permission_notice:
173+
"Per integrare questi flussi predefiniti, imposta i permessi dell'API account correlati su <strong>Modifica</strong> nelle impostazioni sottostanti.",
172174
/** UNTRANSLATED */
173175
flows_title: 'Integrate out-of-the-box security setting flows',
174176
/** UNTRANSLATED */

packages/phrases/src/locales/ja/translation/admin-console/sign-in-exp/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ const sign_in_exp = {
169169
/** UNTRANSLATED */
170170
description:
171171
'Quickly integrate out-of-the-box verification and security setting flows with prebuilt UI.',
172+
permission_notice:
173+
'これらのプリビルトフローを統合するには、以下の設定で関連するアカウント API の権限を<strong>編集</strong>に設定してください。',
172174
/** UNTRANSLATED */
173175
flows_title: 'Integrate out-of-the-box security setting flows',
174176
/** UNTRANSLATED */

0 commit comments

Comments
 (0)