diff --git a/packages/dashboard/src/components/DashboardFrame/index.tsx b/packages/dashboard/src/components/DashboardFrame/index.tsx index 46563fe39159..76b8fc5d3e2d 100644 --- a/packages/dashboard/src/components/DashboardFrame/index.tsx +++ b/packages/dashboard/src/components/DashboardFrame/index.tsx @@ -6,6 +6,7 @@ import { MaskColorVar } from '@masknet/theme' import { ErrorBoundary } from '@masknet/shared' import { DashboardContext } from './context' import { Navigation } from './Navigation' +import { NavigationVersionFooter } from '../NavigationVersionFooter' const Root = styled(Grid)(({ theme }) => ({ backgroundColor: MaskColorVar.primaryBackground, @@ -17,6 +18,10 @@ const LeftContainer = styled(Grid)(({ theme }) => ({ // Just meet the design size minWidth: 232, }, + display: 'flex', + flexDirection: 'column', + justifyContent: 'space-between', + paddingBottom: '22px', })) export interface DashboardFrameProps extends React.PropsWithChildren<{}> {} @@ -44,6 +49,7 @@ export const DashboardFrame = memo((props: DashboardFrameProps) => { {isLargeScreen && ( + )} diff --git a/packages/dashboard/src/components/NavigationVersionFooter/index.tsx b/packages/dashboard/src/components/NavigationVersionFooter/index.tsx new file mode 100644 index 000000000000..298af0747b8d --- /dev/null +++ b/packages/dashboard/src/components/NavigationVersionFooter/index.tsx @@ -0,0 +1,16 @@ +import { MaskColorVar } from '@masknet/theme' +import { styled } from '@mui/system' +import { memo } from 'react' +import { useDashboardI18N } from '../../locales' + +const VersionContainer = styled('div')(() => ({ + color: MaskColorVar.textSecondary, + textAlign: 'center', + fontSize: '12px', +})) + +export const NavigationVersionFooter = memo(() => { + const t = useDashboardI18N() + const version = globalThis.browser?.runtime.getManifest()?.version ?? process.env.TAG_NAME.slice(1) + return {version && t.version_of_stable({ version })} +}) diff --git a/packages/dashboard/src/components/PageFrame/index.tsx b/packages/dashboard/src/components/PageFrame/index.tsx index fb688ea411bf..f0a7acd6b593 100644 --- a/packages/dashboard/src/components/PageFrame/index.tsx +++ b/packages/dashboard/src/components/PageFrame/index.tsx @@ -25,6 +25,7 @@ import { Navigation } from '../DashboardFrame/Navigation' import { MaskBannerIcon, MaskNotSquareIcon } from '@masknet/icons' import { FeaturePromotions } from './FeaturePromotions' import { RoutePaths } from '../../type' +import { NavigationVersionFooter } from '../NavigationVersionFooter' const featurePromotionsEnabled = [RoutePaths.Wallets, RoutePaths.WalletsTransfer, RoutePaths.WalletsHistory] @@ -66,9 +67,13 @@ const NavigationDrawer = styled(Drawer)(({ theme }) => ({ [`& > .${paperClasses.root}`]: { width: 232, top: theme.mixins.toolbar.minHeight, - paddingTop: theme.spacing(7.5), + paddingTop: '28px', background: new Color(theme.palette.background.paper).alpha(0.8).toString(), backdropFilter: 'blur(4px)', + display: 'flex', + flexDirection: 'column', + justifyContent: 'space-between', + paddingBottom: `calc( 22px + ${theme.mixins.toolbar.minHeight}px)`, }, })) @@ -164,6 +169,7 @@ export const PageFrame = memo((props: PageFrameProps) => { variant="temporary" elevation={0}> + )}