mirror of
https://github.com/logto-io/logto.git
synced 2025-01-06 20:40:08 -05:00
refactor(console): update the cloud congrats page (#3304)
This commit is contained in:
parent
4eb2d14762
commit
d98086ff9a
13 changed files with 108 additions and 86 deletions
5
packages/console/src/assets/images/calendar-outline.svg
Normal file
5
packages/console/src/assets/images/calendar-outline.svg
Normal file
|
@ -0,0 +1,5 @@
|
|||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g opacity="0.7">
|
||||
<path d="M10.0001 15.8333C10.1649 15.8333 10.326 15.7844 10.4631 15.6928C10.6001 15.6012 10.7069 15.4711 10.77 15.3188C10.8331 15.1665 10.8496 14.999 10.8174 14.8373C10.7852 14.6757 10.7059 14.5272 10.5893 14.4107C10.4728 14.2941 10.3243 14.2148 10.1627 14.1826C10.001 14.1504 9.83345 14.1669 9.68118 14.23C9.52891 14.2931 9.39876 14.3999 9.30719 14.5369C9.21562 14.674 9.16675 14.8351 9.16675 14.9999C9.16675 15.2209 9.25455 15.4329 9.41083 15.5892C9.56711 15.7455 9.77907 15.8333 10.0001 15.8333ZM14.1667 15.8333C14.3316 15.8333 14.4927 15.7844 14.6297 15.6928C14.7668 15.6012 14.8736 15.4711 14.9366 15.3188C14.9997 15.1665 15.0162 14.999 14.9841 14.8373C14.9519 14.6757 14.8725 14.5272 14.756 14.4107C14.6395 14.2941 14.491 14.2148 14.3293 14.1826C14.1677 14.1504 14.0001 14.1669 13.8478 14.23C13.6956 14.2931 13.5654 14.3999 13.4739 14.5369C13.3823 14.674 13.3334 14.8351 13.3334 14.9999C13.3334 15.2209 13.4212 15.4329 13.5775 15.5892C13.7338 15.7455 13.9457 15.8333 14.1667 15.8333ZM14.1667 12.4999C14.3316 12.4999 14.4927 12.451 14.6297 12.3595C14.7668 12.2679 14.8736 12.1378 14.9366 11.9855C14.9997 11.8332 15.0162 11.6657 14.9841 11.504C14.9519 11.3424 14.8725 11.1939 14.756 11.0773C14.6395 10.9608 14.491 10.8814 14.3293 10.8493C14.1677 10.8171 14.0001 10.8336 13.8478 10.8967C13.6956 10.9598 13.5654 11.0666 13.4739 11.2036C13.3823 11.3406 13.3334 11.5018 13.3334 11.6666C13.3334 11.8876 13.4212 12.0996 13.5775 12.2558C13.7338 12.4121 13.9457 12.4999 14.1667 12.4999ZM10.0001 12.4999C10.1649 12.4999 10.326 12.451 10.4631 12.3595C10.6001 12.2679 10.7069 12.1378 10.77 11.9855C10.8331 11.8332 10.8496 11.6657 10.8174 11.504C10.7852 11.3424 10.7059 11.1939 10.5893 11.0773C10.4728 10.9608 10.3243 10.8814 10.1627 10.8493C10.001 10.8171 9.83345 10.8336 9.68118 10.8967C9.52891 10.9598 9.39876 11.0666 9.30719 11.2036C9.21562 11.3406 9.16675 11.5018 9.16675 11.6666C9.16675 11.8876 9.25455 12.0996 9.41083 12.2558C9.56711 12.4121 9.77907 12.4999 10.0001 12.4999ZM15.8334 2.49992H15.0001V1.66659C15.0001 1.44557 14.9123 1.23361 14.756 1.07733C14.5997 0.921049 14.3878 0.833252 14.1667 0.833252C13.9457 0.833252 13.7338 0.921049 13.5775 1.07733C13.4212 1.23361 13.3334 1.44557 13.3334 1.66659V2.49992H6.66675V1.66659C6.66675 1.44557 6.57895 1.23361 6.42267 1.07733C6.26639 0.921049 6.05443 0.833252 5.83342 0.833252C5.6124 0.833252 5.40044 0.921049 5.24416 1.07733C5.08788 1.23361 5.00008 1.44557 5.00008 1.66659V2.49992H4.16675C3.50371 2.49992 2.86782 2.76331 2.39898 3.23215C1.93014 3.70099 1.66675 4.33688 1.66675 4.99992V16.6666C1.66675 17.3296 1.93014 17.9655 2.39898 18.4344C2.86782 18.9032 3.50371 19.1666 4.16675 19.1666H15.8334C16.4965 19.1666 17.1323 18.9032 17.6012 18.4344C18.07 17.9655 18.3334 17.3296 18.3334 16.6666V4.99992C18.3334 4.33688 18.07 3.70099 17.6012 3.23215C17.1323 2.76331 16.4965 2.49992 15.8334 2.49992ZM16.6667 16.6666C16.6667 16.8876 16.579 17.0996 16.4227 17.2558C16.2664 17.4121 16.0544 17.4999 15.8334 17.4999H4.16675C3.94573 17.4999 3.73377 17.4121 3.57749 17.2558C3.42121 17.0996 3.33341 16.8876 3.33341 16.6666V9.16658H16.6667V16.6666ZM16.6667 7.49992H3.33341V4.99992C3.33341 4.7789 3.42121 4.56694 3.57749 4.41066C3.73377 4.25438 3.94573 4.16658 4.16675 4.16658H5.00008V4.99992C5.00008 5.22093 5.08788 5.43289 5.24416 5.58917C5.40044 5.74545 5.6124 5.83325 5.83342 5.83325C6.05443 5.83325 6.26639 5.74545 6.42267 5.58917C6.57895 5.43289 6.66675 5.22093 6.66675 4.99992V4.16658H13.3334V4.99992C13.3334 5.22093 13.4212 5.43289 13.5775 5.58917C13.7338 5.74545 13.9457 5.83325 14.1667 5.83325C14.3878 5.83325 14.5997 5.74545 14.756 5.58917C14.9123 5.43289 15.0001 5.22093 15.0001 4.99992V4.16658H15.8334C16.0544 4.16658 16.2664 4.25438 16.4227 4.41066C16.579 4.56694 16.6667 4.7789 16.6667 4.99992V7.49992ZM5.83342 12.4999C5.99823 12.4999 6.15935 12.451 6.29639 12.3595C6.43343 12.2679 6.54024 12.1378 6.60331 11.9855C6.66639 11.8332 6.68289 11.6657 6.65074 11.504C6.61858 11.3424 6.53921 11.1939 6.42267 11.0773C6.30613 10.9608 6.15764 10.8814 5.99599 10.8493C5.83434 10.8171 5.66678 10.8336 5.51451 10.8967C5.36224 10.9598 5.23209 11.0666 5.14052 11.2036C5.04896 11.3406 5.00008 11.5018 5.00008 11.6666C5.00008 11.8876 5.08788 12.0996 5.24416 12.2558C5.40044 12.4121 5.6124 12.4999 5.83342 12.4999ZM5.83342 15.8333C5.99823 15.8333 6.15935 15.7844 6.29639 15.6928C6.43343 15.6012 6.54024 15.4711 6.60331 15.3188C6.66639 15.1665 6.68289 14.999 6.65074 14.8373C6.61858 14.6757 6.53921 14.5272 6.42267 14.4107C6.30613 14.2941 6.15764 14.2148 5.99599 14.1826C5.83434 14.1504 5.66678 14.1669 5.51451 14.23C5.36224 14.2931 5.23209 14.3999 5.14052 14.5369C5.04896 14.674 5.00008 14.8351 5.00008 14.9999C5.00008 15.2209 5.08788 15.4329 5.24416 15.5892C5.40044 15.7455 5.6124 15.8333 5.83342 15.8333Z" fill="currentColor"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.8 KiB |
|
@ -8,7 +8,7 @@ type Props = {
|
|||
children: ReactNode;
|
||||
};
|
||||
|
||||
const totalSteps = 4;
|
||||
const totalSteps = 3;
|
||||
|
||||
const ActionBar = ({ step, children }: Props) => (
|
||||
<div className={styles.container}>
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
import type { AdminConsoleKey } from '@logto/phrases';
|
||||
import classNames from 'classnames';
|
||||
import type { ReactNode } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
import Calendar from '@/assets/images/calendar.svg';
|
||||
|
@ -12,13 +14,21 @@ type Props = {
|
|||
title: AdminConsoleKey;
|
||||
description: AdminConsoleKey;
|
||||
reservationButtonTitle: AdminConsoleKey;
|
||||
reservationButtonIcon?: ReactNode;
|
||||
className?: string;
|
||||
};
|
||||
|
||||
const Reservation = ({ title, description, reservationButtonTitle }: Props) => {
|
||||
const Reservation = ({
|
||||
title,
|
||||
description,
|
||||
reservationButtonTitle,
|
||||
reservationButtonIcon,
|
||||
className,
|
||||
}: Props) => {
|
||||
const { t } = useTranslation(undefined, { keyPrefix: 'admin_console' });
|
||||
|
||||
return (
|
||||
<div className={styles.reservation}>
|
||||
<div className={classNames(styles.reservation, className)}>
|
||||
<div className={styles.reservationInfo}>
|
||||
<Calendar className={styles.reservationIcon} />
|
||||
<div>
|
||||
|
@ -29,6 +39,7 @@ const Reservation = ({ title, description, reservationButtonTitle }: Props) => {
|
|||
<Button
|
||||
type="outline"
|
||||
title={reservationButtonTitle}
|
||||
icon={reservationButtonIcon}
|
||||
onClick={() => {
|
||||
const bookLink = buildUrl(reservationLink, {
|
||||
// Note: month format is YYYY-MM
|
||||
|
|
|
@ -2,18 +2,29 @@
|
|||
|
||||
.content {
|
||||
align-items: center;
|
||||
max-width: 858px;
|
||||
padding: _.unit(12) _.unit(32);
|
||||
}
|
||||
|
||||
.congratsImage {
|
||||
width: 160px;
|
||||
height: 160px;
|
||||
}
|
||||
|
||||
.title {
|
||||
margin-top: _.unit(6);
|
||||
font: var(--font-title-2);
|
||||
font: var(--font-title-1);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.description {
|
||||
margin: _.unit(1) 0 _.unit(6) 0;
|
||||
font: var(--font-body-2);
|
||||
color: var(--color-text-secondary);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.strong {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.buttonIcon {
|
||||
|
@ -24,3 +35,8 @@
|
|||
width: 100%;
|
||||
margin: _.unit(8) 0;
|
||||
}
|
||||
|
||||
.reservation {
|
||||
background-color: var(--color-layer-light);
|
||||
border: unset;
|
||||
}
|
||||
|
|
|
@ -1,26 +1,25 @@
|
|||
import { AppearanceMode } from '@logto/schemas';
|
||||
import classNames from 'classnames';
|
||||
import { useContext } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { Trans, useTranslation } from 'react-i18next';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
|
||||
import AirPlay from '@/assets/images/air-play.svg';
|
||||
import GetStarted from '@/assets/images/get-started.svg';
|
||||
import ActionBar from '@/cloud/components/ActionBar';
|
||||
import CalendarOutline from '@/assets/images/calendar-outline.svg';
|
||||
import CongratsImageDark from '@/assets/images/congrats-dark.svg';
|
||||
import CongratsImageLight from '@/assets/images/congrats.svg';
|
||||
import Reservation from '@/cloud/components/Reservation';
|
||||
import useUserOnboardingData from '@/cloud/hooks/use-user-onboarding-data';
|
||||
import * as pageLayout from '@/cloud/scss/layout.module.scss';
|
||||
import Button from '@/components/Button';
|
||||
import Divider from '@/components/Divider';
|
||||
import OverlayScrollbar from '@/components/OverlayScrollbar';
|
||||
import { AppEndpointsContext } from '@/contexts/AppEndpointsProvider';
|
||||
import { useTheme } from '@/hooks/use-theme';
|
||||
|
||||
import { OnboardingPage } from '../../types';
|
||||
import { getOnboardPagePathname } from '../../utils';
|
||||
import * as styles from './index.module.scss';
|
||||
|
||||
const Congrats = () => {
|
||||
const { t } = useTranslation(undefined, { keyPrefix: 'admin_console' });
|
||||
const { userEndpoint } = useContext(AppEndpointsContext);
|
||||
const theme = useTheme();
|
||||
const CongratsImage = theme === AppearanceMode.LightMode ? CongratsImageLight : CongratsImageDark;
|
||||
const { update } = useUserOnboardingData();
|
||||
|
||||
const navigate = useNavigate();
|
||||
|
@ -30,42 +29,33 @@ const Congrats = () => {
|
|||
navigate('/');
|
||||
};
|
||||
|
||||
const handleBack = () => {
|
||||
navigate(getOnboardPagePathname(OnboardingPage.SignInExperience));
|
||||
};
|
||||
|
||||
return (
|
||||
<div className={pageLayout.page}>
|
||||
<OverlayScrollbar className={pageLayout.contentContainer}>
|
||||
<div className={classNames(pageLayout.content, styles.content)}>
|
||||
<GetStarted />
|
||||
<CongratsImage className={styles.congratsImage} />
|
||||
<div className={styles.title}>{t('cloud.congrats.title')}</div>
|
||||
<div className={styles.description}>{t('cloud.congrats.description')}</div>
|
||||
<Button
|
||||
type="primary"
|
||||
size="large"
|
||||
title="cloud.congrats.check_out_button"
|
||||
icon={<AirPlay className={styles.buttonIcon} />}
|
||||
onClick={() => {
|
||||
window.open(new URL('/demo-app', userEndpoint), '_blank');
|
||||
}}
|
||||
/>
|
||||
<Divider className={styles.divider} />
|
||||
<div className={styles.description}>
|
||||
<Trans components={{ strong: <span className={styles.strong} /> }}>
|
||||
{t('cloud.congrats.description')}
|
||||
</Trans>
|
||||
</div>
|
||||
<Reservation
|
||||
title="cloud.congrats.reserve_title"
|
||||
description="cloud.congrats.reserve_description"
|
||||
reservationButtonTitle="cloud.congrats.book_button"
|
||||
reservationButtonIcon={<CalendarOutline />}
|
||||
className={styles.reservation}
|
||||
/>
|
||||
<Divider className={styles.divider} />
|
||||
<Button
|
||||
size="large"
|
||||
type="primary"
|
||||
title="cloud.congrats.enter_admin_console"
|
||||
onClick={enterAdminConsole}
|
||||
/>
|
||||
</div>
|
||||
</OverlayScrollbar>
|
||||
<ActionBar step={4}>
|
||||
<Button
|
||||
type="primary"
|
||||
title="cloud.congrats.enter_admin_console"
|
||||
onClick={enterAdminConsole}
|
||||
/>
|
||||
<Button title="general.back" onClick={handleBack} />
|
||||
</ActionBar>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
|
|
@ -48,16 +48,16 @@ const cloud = {
|
|||
},
|
||||
},
|
||||
congrats: {
|
||||
title: 'Congratulations! You’ve customized and built your own sign-in experience', // UNTRANSLATED
|
||||
description: 'Check out the live preview and get through end to end flow', // UNTRANSLATED
|
||||
title: 'Great news! You are qualified to earn Logto Cloud early credit!', // UNTRANSLATED
|
||||
description:
|
||||
'Contact the Logto team to claim the offer. After Logto Cloud is officially launched, you will be entitled to either a <strong>$249</strong> credit or a free <strong>3-month</strong> subscription to Logto Cloud.', // UNTRANSLATED
|
||||
check_out_button: 'Check out the live preview', // UNTRANSLATED
|
||||
reserve_title: 'Reserve your time with Logto team', // UNTRANSLATED
|
||||
reserve_description:
|
||||
'Book a one-on-one session with our team for SaaS early credit and use case sharing.', // UNTRANSLATED
|
||||
book_button: 'Book', // UNTRANSLATED
|
||||
reserve_description: 'Credit is only eligible once upon validation.', // UNTRANSLATED
|
||||
book_button: 'Schedule now', // UNTRANSLATED
|
||||
join_description: 'Join our public <a>{{link}}</a> to connect and chat with other developers.', // UNTRANSLATED
|
||||
discord_link: 'discord channel', // UNTRANSLATED
|
||||
enter_admin_console: 'Enter Admin Console', // UNTRANSLATED
|
||||
enter_admin_console: 'Enter Logto Cloud Preview', // UNTRANSLATED
|
||||
},
|
||||
gift: {
|
||||
title: 'Secure early credit for Logto SaaS join the front-runners now !', // UNTRANSLATED
|
||||
|
|
|
@ -48,16 +48,16 @@ const cloud = {
|
|||
},
|
||||
},
|
||||
congrats: {
|
||||
title: 'Congratulations! You’ve customized and built your own sign-in experience',
|
||||
description: 'Check out the live preview and get through end to end flow',
|
||||
title: 'Great news! You are qualified to earn Logto Cloud early credit!',
|
||||
description:
|
||||
'Contact the Logto team to claim the offer. After Logto Cloud is officially launched, you will be entitled to either a <strong>$249</strong> credit or a free <strong>3-month</strong> subscription to Logto Cloud.',
|
||||
check_out_button: 'Check out the live preview',
|
||||
reserve_title: 'Reserve your time with Logto team',
|
||||
reserve_description:
|
||||
'Book a one-on-one session with our team for SaaS early credit and use case sharing.',
|
||||
book_button: 'Book',
|
||||
reserve_description: 'Credit is only eligible once upon validation.',
|
||||
book_button: 'Schedule now',
|
||||
join_description: 'Join our public <a>{{link}}</a> to connect and chat with other developers.',
|
||||
discord_link: 'discord channel',
|
||||
enter_admin_console: 'Enter Admin Console',
|
||||
enter_admin_console: 'Enter Logto Cloud Preview',
|
||||
},
|
||||
gift: {
|
||||
title: 'Secure early credit for Logto SaaS join the front-runners now !',
|
||||
|
|
|
@ -48,16 +48,16 @@ const cloud = {
|
|||
},
|
||||
},
|
||||
congrats: {
|
||||
title: 'Congratulations! You’ve customized and built your own sign-in experience', // UNTRANSLATED
|
||||
description: 'Check out the live preview and get through end to end flow', // UNTRANSLATED
|
||||
title: 'Great news! You are qualified to earn Logto Cloud early credit!', // UNTRANSLATED
|
||||
description:
|
||||
'Contact the Logto team to claim the offer. After Logto Cloud is officially launched, you will be entitled to either a <strong>$249</strong> credit or a free <strong>3-month</strong> subscription to Logto Cloud.', // UNTRANSLATED
|
||||
check_out_button: 'Check out the live preview', // UNTRANSLATED
|
||||
reserve_title: 'Reserve your time with Logto team', // UNTRANSLATED
|
||||
reserve_description:
|
||||
'Book a one-on-one session with our team for SaaS early credit and use case sharing.', // UNTRANSLATED
|
||||
book_button: 'Book', // UNTRANSLATED
|
||||
reserve_description: 'Credit is only eligible once upon validation.', // UNTRANSLATED
|
||||
book_button: 'Schedule now', // UNTRANSLATED
|
||||
join_description: 'Join our public <a>{{link}}</a> to connect and chat with other developers.', // UNTRANSLATED
|
||||
discord_link: 'discord channel', // UNTRANSLATED
|
||||
enter_admin_console: 'Enter Admin Console', // UNTRANSLATED
|
||||
enter_admin_console: 'Enter Logto Cloud Preview', // UNTRANSLATED
|
||||
},
|
||||
gift: {
|
||||
title: 'Secure early credit for Logto SaaS join the front-runners now !', // UNTRANSLATED
|
||||
|
|
|
@ -48,16 +48,16 @@ const cloud = {
|
|||
},
|
||||
},
|
||||
congrats: {
|
||||
title: 'Congratulations! You’ve customized and built your own sign-in experience', // UNTRANSLATED
|
||||
description: 'Check out the live preview and get through end to end flow', // UNTRANSLATED
|
||||
title: 'Great news! You are qualified to earn Logto Cloud early credit!', // UNTRANSLATED
|
||||
description:
|
||||
'Contact the Logto team to claim the offer. After Logto Cloud is officially launched, you will be entitled to either a <strong>$249</strong> credit or a free <strong>3-month</strong> subscription to Logto Cloud.', // UNTRANSLATED
|
||||
check_out_button: 'Check out the live preview', // UNTRANSLATED
|
||||
reserve_title: 'Reserve your time with Logto team', // UNTRANSLATED
|
||||
reserve_description:
|
||||
'Book a one-on-one session with our team for SaaS early credit and use case sharing.', // UNTRANSLATED
|
||||
book_button: 'Book', // UNTRANSLATED
|
||||
reserve_description: 'Credit is only eligible once upon validation.', // UNTRANSLATED
|
||||
book_button: 'Schedule now', // UNTRANSLATED
|
||||
join_description: 'Join our public <a>{{link}}</a> to connect and chat with other developers.', // UNTRANSLATED
|
||||
discord_link: 'discord channel', // UNTRANSLATED
|
||||
enter_admin_console: 'Enter Admin Console', // UNTRANSLATED
|
||||
enter_admin_console: 'Enter Logto Cloud Preview', // UNTRANSLATED
|
||||
},
|
||||
gift: {
|
||||
title: 'Secure early credit for Logto SaaS join the front-runners now !', // UNTRANSLATED
|
||||
|
|
|
@ -48,16 +48,16 @@ const cloud = {
|
|||
},
|
||||
},
|
||||
congrats: {
|
||||
title: 'Congratulations! You’ve customized and built your own sign-in experience', // UNTRANSLATED
|
||||
description: 'Check out the live preview and get through end to end flow', // UNTRANSLATED
|
||||
title: 'Great news! You are qualified to earn Logto Cloud early credit!', // UNTRANSLATED
|
||||
description:
|
||||
'Contact the Logto team to claim the offer. After Logto Cloud is officially launched, you will be entitled to either a <strong>$249</strong> credit or a free <strong>3-month</strong> subscription to Logto Cloud.', // UNTRANSLATED
|
||||
check_out_button: 'Check out the live preview', // UNTRANSLATED
|
||||
reserve_title: 'Reserve your time with Logto team', // UNTRANSLATED
|
||||
reserve_description:
|
||||
'Book a one-on-one session with our team for SaaS early credit and use case sharing.', // UNTRANSLATED
|
||||
book_button: 'Book', // UNTRANSLATED
|
||||
reserve_description: 'Credit is only eligible once upon validation.', // UNTRANSLATED
|
||||
book_button: 'Schedule now', // UNTRANSLATED
|
||||
join_description: 'Join our public <a>{{link}}</a> to connect and chat with other developers.', // UNTRANSLATED
|
||||
discord_link: 'discord channel', // UNTRANSLATED
|
||||
enter_admin_console: 'Enter Admin Console', // UNTRANSLATED
|
||||
enter_admin_console: 'Enter Logto Cloud Preview', // UNTRANSLATED
|
||||
},
|
||||
gift: {
|
||||
title: 'Secure early credit for Logto SaaS join the front-runners now !', // UNTRANSLATED
|
||||
|
|
|
@ -48,16 +48,16 @@ const cloud = {
|
|||
},
|
||||
},
|
||||
congrats: {
|
||||
title: 'Congratulations! You’ve customized and built your own sign-in experience', // UNTRANSLATED
|
||||
description: 'Check out the live preview and get through end to end flow', // UNTRANSLATED
|
||||
title: 'Great news! You are qualified to earn Logto Cloud early credit!', // UNTRANSLATED
|
||||
description:
|
||||
'Contact the Logto team to claim the offer. After Logto Cloud is officially launched, you will be entitled to either a <strong>$249</strong> credit or a free <strong>3-month</strong> subscription to Logto Cloud.', // UNTRANSLATED
|
||||
check_out_button: 'Check out the live preview', // UNTRANSLATED
|
||||
reserve_title: 'Reserve your time with Logto team', // UNTRANSLATED
|
||||
reserve_description:
|
||||
'Book a one-on-one session with our team for SaaS early credit and use case sharing.', // UNTRANSLATED
|
||||
book_button: 'Book', // UNTRANSLATED
|
||||
reserve_description: 'Credit is only eligible once upon validation.', // UNTRANSLATED
|
||||
book_button: 'Schedule now', // UNTRANSLATED
|
||||
join_description: 'Join our public <a>{{link}}</a> to connect and chat with other developers.', // UNTRANSLATED
|
||||
discord_link: 'discord channel', // UNTRANSLATED
|
||||
enter_admin_console: 'Enter Admin Console', // UNTRANSLATED
|
||||
enter_admin_console: 'Enter Logto Cloud Preview', // UNTRANSLATED
|
||||
},
|
||||
gift: {
|
||||
title: 'Secure early credit for Logto SaaS join the front-runners now !', // UNTRANSLATED
|
||||
|
|
|
@ -48,16 +48,16 @@ const cloud = {
|
|||
},
|
||||
},
|
||||
congrats: {
|
||||
title: 'Congratulations! You’ve customized and built your own sign-in experience', // UNTRANSLATED
|
||||
description: 'Check out the live preview and get through end to end flow', // UNTRANSLATED
|
||||
title: 'Great news! You are qualified to earn Logto Cloud early credit!', // UNTRANSLATED
|
||||
description:
|
||||
'Contact the Logto team to claim the offer. After Logto Cloud is officially launched, you will be entitled to either a <strong>$249</strong> credit or a free <strong>3-month</strong> subscription to Logto Cloud.', // UNTRANSLATED
|
||||
check_out_button: 'Check out the live preview', // UNTRANSLATED
|
||||
reserve_title: 'Reserve your time with Logto team', // UNTRANSLATED
|
||||
reserve_description:
|
||||
'Book a one-on-one session with our team for SaaS early credit and use case sharing.', // UNTRANSLATED
|
||||
book_button: 'Book', // UNTRANSLATED
|
||||
reserve_description: 'Credit is only eligible once upon validation.', // UNTRANSLATED
|
||||
book_button: 'Schedule now', // UNTRANSLATED
|
||||
join_description: 'Join our public <a>{{link}}</a> to connect and chat with other developers.', // UNTRANSLATED
|
||||
discord_link: 'discord channel', // UNTRANSLATED
|
||||
enter_admin_console: 'Enter Admin Console', // UNTRANSLATED
|
||||
enter_admin_console: 'Enter Logto Cloud Preview', // UNTRANSLATED
|
||||
},
|
||||
gift: {
|
||||
title: 'Secure early credit for Logto SaaS join the front-runners now !', // UNTRANSLATED
|
||||
|
|
|
@ -48,16 +48,16 @@ const cloud = {
|
|||
},
|
||||
},
|
||||
congrats: {
|
||||
title: 'Congratulations! You’ve customized and built your own sign-in experience', // UNTRANSLATED
|
||||
description: 'Check out the live preview and get through end to end flow', // UNTRANSLATED
|
||||
title: 'Great news! You are qualified to earn Logto Cloud early credit!', // UNTRANSLATED
|
||||
description:
|
||||
'Contact the Logto team to claim the offer. After Logto Cloud is officially launched, you will be entitled to either a <strong>$249</strong> credit or a free <strong>3-month</strong> subscription to Logto Cloud.', // UNTRANSLATED
|
||||
check_out_button: 'Check out the live preview', // UNTRANSLATED
|
||||
reserve_title: 'Reserve your time with Logto team', // UNTRANSLATED
|
||||
reserve_description:
|
||||
'Book a one-on-one session with our team for SaaS early credit and use case sharing.', // UNTRANSLATED
|
||||
book_button: 'Book', // UNTRANSLATED
|
||||
reserve_description: 'Credit is only eligible once upon validation.', // UNTRANSLATED
|
||||
book_button: 'Schedule now', // UNTRANSLATED
|
||||
join_description: 'Join our public <a>{{link}}</a> to connect and chat with other developers.', // UNTRANSLATED
|
||||
discord_link: 'discord channel', // UNTRANSLATED
|
||||
enter_admin_console: 'Enter Admin Console', // UNTRANSLATED
|
||||
enter_admin_console: 'Enter Logto Cloud Preview', // UNTRANSLATED
|
||||
},
|
||||
gift: {
|
||||
title: 'Secure early credit for Logto SaaS join the front-runners now !', // UNTRANSLATED
|
||||
|
|
Loading…
Reference in a new issue