mirror of
https://github.com/logto-io/logto.git
synced 2025-02-17 22:04:19 -05:00
fix(console): language switch should work on profile page (#5980)
This commit is contained in:
parent
ac5d846c44
commit
4d3b32f5f3
1 changed files with 53 additions and 50 deletions
|
@ -9,6 +9,7 @@ import PageMeta from '@/components/PageMeta';
|
|||
import Topbar from '@/components/Topbar';
|
||||
import { adminTenantEndpoint, meApi } from '@/consts';
|
||||
import { isCloud } from '@/consts/env';
|
||||
import AppBoundary from '@/containers/AppBoundary';
|
||||
import Button from '@/ds-components/Button';
|
||||
import CardTitle from '@/ds-components/CardTitle';
|
||||
import OverlayScrollbar from '@/ds-components/OverlayScrollbar';
|
||||
|
@ -60,59 +61,61 @@ function Profile() {
|
|||
const showLoadingSkeleton = isLoadingUser || isLoadingConnectors || isUserAssetServiceLoading;
|
||||
|
||||
return (
|
||||
<div className={styles.pageContainer}>
|
||||
<Topbar hideTenantSelector hideTitle />
|
||||
<OverlayScrollbar className={styles.scrollable}>
|
||||
<div className={styles.wrapper}>
|
||||
<PageMeta titleKey="profile.page_title" />
|
||||
<div className={pageLayout.headline}>
|
||||
<CardTitle title="profile.title" subtitle="profile.description" />
|
||||
</div>
|
||||
{showLoadingSkeleton && <Skeleton />}
|
||||
{user && !showLoadingSkeleton && (
|
||||
<div className={styles.content}>
|
||||
<BasicUserInfoSection user={user} onUpdate={reload} />
|
||||
{isCloud && (
|
||||
<LinkAccountSection user={user} connectors={connectors} onUpdate={reload} />
|
||||
)}
|
||||
<FormCard title="profile.password.title">
|
||||
<CardContent
|
||||
title="profile.password.password_setting"
|
||||
data={[
|
||||
{
|
||||
key: 'password',
|
||||
label: 'profile.password.password',
|
||||
value: user.hasPassword,
|
||||
renderer: (value) => (value ? <span>********</span> : <NotSet />),
|
||||
action: {
|
||||
name: 'profile.change',
|
||||
handler: () => {
|
||||
navigate(user.hasPassword ? 'verify-password' : 'change-password', {
|
||||
state: { email: user.primaryEmail, action: 'changePassword' },
|
||||
});
|
||||
<AppBoundary>
|
||||
<div className={styles.pageContainer}>
|
||||
<Topbar hideTenantSelector hideTitle />
|
||||
<OverlayScrollbar className={styles.scrollable}>
|
||||
<div className={styles.wrapper}>
|
||||
<PageMeta titleKey="profile.page_title" />
|
||||
<div className={pageLayout.headline}>
|
||||
<CardTitle title="profile.title" subtitle="profile.description" />
|
||||
</div>
|
||||
{showLoadingSkeleton && <Skeleton />}
|
||||
{user && !showLoadingSkeleton && (
|
||||
<div className={styles.content}>
|
||||
<BasicUserInfoSection user={user} onUpdate={reload} />
|
||||
{isCloud && (
|
||||
<LinkAccountSection user={user} connectors={connectors} onUpdate={reload} />
|
||||
)}
|
||||
<FormCard title="profile.password.title">
|
||||
<CardContent
|
||||
title="profile.password.password_setting"
|
||||
data={[
|
||||
{
|
||||
key: 'password',
|
||||
label: 'profile.password.password',
|
||||
value: user.hasPassword,
|
||||
renderer: (value) => (value ? <span>********</span> : <NotSet />),
|
||||
action: {
|
||||
name: 'profile.change',
|
||||
handler: () => {
|
||||
navigate(user.hasPassword ? 'verify-password' : 'change-password', {
|
||||
state: { email: user.primaryEmail, action: 'changePassword' },
|
||||
});
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</FormCard>
|
||||
{isCloud && (
|
||||
<FormCard title="profile.delete_account.title">
|
||||
<div className={styles.deleteAccount}>
|
||||
<div className={styles.description}>
|
||||
{t('profile.delete_account.description')}
|
||||
</div>
|
||||
<Button title="profile.delete_account.button" onClick={show} />
|
||||
</div>
|
||||
<DeleteAccountModal isOpen={showDeleteAccountModal} onClose={hide} />
|
||||
]}
|
||||
/>
|
||||
</FormCard>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</OverlayScrollbar>
|
||||
{childrenRoutes}
|
||||
</div>
|
||||
{isCloud && (
|
||||
<FormCard title="profile.delete_account.title">
|
||||
<div className={styles.deleteAccount}>
|
||||
<div className={styles.description}>
|
||||
{t('profile.delete_account.description')}
|
||||
</div>
|
||||
<Button title="profile.delete_account.button" onClick={show} />
|
||||
</div>
|
||||
<DeleteAccountModal isOpen={showDeleteAccountModal} onClose={hide} />
|
||||
</FormCard>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</OverlayScrollbar>
|
||||
{childrenRoutes}
|
||||
</div>
|
||||
</AppBoundary>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue