From 20c4f85f1dedea20e77d64eb87916d73784c5872 Mon Sep 17 00:00:00 2001 From: rachelhox Date: Wed, 22 Mar 2023 16:45:35 +0800 Subject: [PATCH 01/13] desmos profile: size updates --- .../src/components/desmos_profile/styles.ts | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/packages/ui/src/components/desmos_profile/styles.ts b/packages/ui/src/components/desmos_profile/styles.ts index a9122cdcc8..56a7b70495 100644 --- a/packages/ui/src/components/desmos_profile/styles.ts +++ b/packages/ui/src/components/desmos_profile/styles.ts @@ -29,13 +29,13 @@ const useStyles = makeStyles<{ coverUrl?: string }>()((theme, { coverUrl }) => ( backgroundPosition: 'center center', }, [theme.breakpoints.up('sm')]: { - height: '200px', + height: '100px', }, [theme.breakpoints.up('md')]: { - height: '300px', + height: '120px', }, [theme.breakpoints.up('lg')]: { - height: '360px', + height: '160px', }, }, avatarContainer: { @@ -57,27 +57,27 @@ const useStyles = makeStyles<{ coverUrl?: string }>()((theme, { coverUrl }) => ( }, avatar: { position: 'absolute', - width: '75px', - height: '75px', - minHeight: '75px', - minWidth: '75px', + width: '60px', + height: '60px', + minHeight: '60px', + minWidth: '60px', border: `solid 3px ${theme.palette.background.paper}`, - top: theme.spacing(-4), + top: theme.spacing(-3.75), left: 0, [theme.breakpoints.up('md')]: { - width: '115px', - height: '115px', - minHeight: '115px', - minWidth: '115px', - top: theme.spacing(-8), + width: '76px', + height: '76px', + minHeight: '76px', + minWidth: '76px', + top: theme.spacing(-4.75), borderWidth: '4px', }, [theme.breakpoints.up('lg')]: { - width: '150px', - height: '150px', - minHeight: '150px', - minWidth: '150px', - top: theme.spacing(-11), + width: '100px', + height: '100px', + minHeight: '100px', + minWidth: '100px', + top: theme.spacing(-6.25), borderWidth: '5px', }, }, From 859a7df5c0b301e554388324ae3fd905518e1a00 Mon Sep 17 00:00:00 2001 From: rachelhox Date: Wed, 22 Mar 2023 18:07:57 +0800 Subject: [PATCH 02/13] save --- packages/ui/declarations.d.ts | 7 +++++++ .../ui/src/components/desmos_profile/index.tsx | 15 ++++++++------- packages/ui/src/hooks/use_desmos_profile/index.ts | 1 + 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/packages/ui/declarations.d.ts b/packages/ui/declarations.d.ts index 31250a7414..f03b8ae278 100644 --- a/packages/ui/declarations.d.ts +++ b/packages/ui/declarations.d.ts @@ -56,6 +56,12 @@ type ValidatorProfile = { lastSeen: string; }; +type ApplicationLink = { + network: string; + identifier: string; + creationTime: unknown; +}[]; + type DesmosProfile = { dtag: string; nickname: string; @@ -64,6 +70,7 @@ type DesmosProfile = { bio: string; connections: ProfileConnectionType[]; validator?: ValidatorProfile; + applicationLinks?: ApplicationLink; }; type TagTheme = diff --git a/packages/ui/src/components/desmos_profile/index.tsx b/packages/ui/src/components/desmos_profile/index.tsx index dc7f7aefe2..de56972437 100644 --- a/packages/ui/src/components/desmos_profile/index.tsx +++ b/packages/ui/src/components/desmos_profile/index.tsx @@ -28,7 +28,13 @@ const DesmosProfile: FC = (props) => {
- + {' '} +
+ {props.nickname} + + @{props.dtag} + +
= (props) => { })}
-
- {props.nickname} - - @{props.dtag} - -
+ {props.bio && (
diff --git a/packages/ui/src/hooks/use_desmos_profile/index.ts b/packages/ui/src/hooks/use_desmos_profile/index.ts index beb2eab8fe..3989d2ac35 100644 --- a/packages/ui/src/hooks/use_desmos_profile/index.ts +++ b/packages/ui/src/hooks/use_desmos_profile/index.ts @@ -148,6 +148,7 @@ function formatDesmosProfile(data: DesmosProfileQuery | undefined): DesmosProfil coverUrl: profile.coverPic, bio: profile.bio, connections: [nativeData, ...connectionsWithoutNativeSorted], + applicationLinks: applications || null, }; }); } From 1eccd84cadd4703c0b1b0270f77622127b963d92 Mon Sep 17 00:00:00 2001 From: rachelhox Date: Wed, 22 Mar 2023 21:55:02 +0800 Subject: [PATCH 03/13] desmos profile --- packages/ui/declarations.d.ts | 1 + .../__snapshots__/index.test.tsx.snap | 292 ++++++++++++++---- .../components/desmos_profile/hooks.test.tsx | 6 +- .../ui/src/components/desmos_profile/hooks.ts | 33 +- .../components/desmos_profile/index.test.tsx | 3 + .../src/components/desmos_profile/index.tsx | 72 ++++- .../src/components/desmos_profile/styles.ts | 68 +++- packages/ui/src/components/markdown/index.tsx | 15 +- .../ui/src/hooks/use_desmos_profile/index.ts | 1 + .../ui/src/screens/account_details/index.tsx | 3 + 10 files changed, 415 insertions(+), 79 deletions(-) diff --git a/packages/ui/declarations.d.ts b/packages/ui/declarations.d.ts index f03b8ae278..83b6fb4dd1 100644 --- a/packages/ui/declarations.d.ts +++ b/packages/ui/declarations.d.ts @@ -68,6 +68,7 @@ type DesmosProfile = { imageUrl: string; coverUrl: string; bio: string; + creationTime: string; connections: ProfileConnectionType[]; validator?: ValidatorProfile; applicationLinks?: ApplicationLink; diff --git a/packages/ui/src/components/desmos_profile/__snapshots__/index.test.tsx.snap b/packages/ui/src/components/desmos_profile/__snapshots__/index.test.tsx.snap index c0ebba8f8f..21697ce191 100644 --- a/packages/ui/src/components/desmos_profile/__snapshots__/index.test.tsx.snap +++ b/packages/ui/src/components/desmos_profile/__snapshots__/index.test.tsx.snap @@ -38,19 +38,19 @@ exports[`component: DesmosProfile matches snapshot 1`] = ` @media (min-width:375px) { .emotion-1 { - height: 200px; + height: 100px; } } @media (min-width:768px) { .emotion-1 { - height: 300px; + height: 120px; } } @media (min-width:1280px) { .emotion-1 { - height: 360px; + height: 160px; } } @@ -61,15 +61,17 @@ exports[`component: DesmosProfile matches snapshot 1`] = ` display: -webkit-flex; display: -ms-flexbox; display: flex; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: end; - -ms-flex-pack: end; - -webkit-justify-content: flex-end; - justify-content: flex-end; + -webkit-align-items: flex-start; + -webkit-box-align: flex-start; + -ms-flex-align: flex-start; + align-items: flex-start; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; padding: 8px 0px; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } .emotion-2 .hide { @@ -85,6 +87,13 @@ exports[`component: DesmosProfile matches snapshot 1`] = ` @media (min-width:1280px) { .emotion-2 { padding-bottom: 28px; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } } @@ -109,12 +118,12 @@ exports[`component: DesmosProfile matches snapshot 1`] = ` -webkit-justify-content: center; justify-content: center; position: absolute; - width: 75px; - height: 75px; - min-height: 75px; - min-width: 75px; + width: 60px; + height: 60px; + min-height: 60px; + min-width: 60px; border: solid 3px #FFFFFF; - top: -32px; + top: -20px; left: 0; } @@ -127,22 +136,22 @@ exports[`component: DesmosProfile matches snapshot 1`] = ` @media (min-width:768px) { .emotion-3 { - width: 115px; - height: 115px; - min-height: 115px; - min-width: 115px; - top: -64px; + width: 76px; + height: 76px; + min-height: 76px; + min-width: 76px; + top: -24px; border-width: 4px; } } @media (min-width:1280px) { .emotion-3 { - width: 150px; - height: 150px; - min-height: 150px; - min-width: 150px; - top: -88px; + width: 100px; + height: 100px; + min-height: 100px; + min-width: 100px; + top: -32px; border-width: 5px; } } @@ -153,29 +162,28 @@ exports[`component: DesmosProfile matches snapshot 1`] = ` } .emotion-5 { - margin: 0; - font-size: 1rem; - white-space: pre-wrap; - letter-spacing: 0.5px; - font-family: "Roboto","Helvetica","Arial",sans-serif; - font-weight: 400; - line-height: 1.5; - color: #4092CD; + margin: 4px 0px; + padding-left: 60px; } -.emotion-5:hover { - cursor: pointer; +@media (min-width:768px) { + .emotion-5 { + margin: 8px 0px; + padding-left: 85px; + } } -.emotion-6 { - margin: 8px 0px; +@media (min-width:1280px) { + .emotion-5 { + padding-left: 116px; + } } -.emotion-6 .tag { +.emotion-5 .tag { color: #999999; } -.emotion-7 { +.emotion-6 { margin: 0; font-size: 1.5rem; letter-spacing: 0; @@ -184,7 +192,7 @@ exports[`component: DesmosProfile matches snapshot 1`] = ` line-height: 1.2; } -.emotion-8 { +.emotion-7 { margin: 0; font-size: 0.875rem; letter-spacing: 0.25px; @@ -193,6 +201,115 @@ exports[`component: DesmosProfile matches snapshot 1`] = ` line-height: 1.43; } +.emotion-8 { + width: 100%; +} + +@media (min-width:768px) { + .emotion-8 { + width: 100%; + } +} + +@media (min-width:1280px) { + .emotion-8 { + width: 30%; + } +} + +.emotion-9 { + background: #282828; + border-radius: 8px 8px 0px 0px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + -webkit-align-items: flex-start; + -webkit-box-align: flex-start; + -ms-flex-align: flex-start; + align-items: flex-start; + padding: 8px 16px; +} + +.emotion-10 { + margin: 0; + font-size: 1rem; + white-space: pre-wrap; + letter-spacing: 0.5px; + font-family: "Roboto","Helvetica","Arial",sans-serif; + font-weight: 400; + line-height: 1.5; +} + +.emotion-11 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.emotion-11 span { + padding-right: 8px; +} + +.emotion-13 { + width: 16px; + height: 16px; +} + +.emotion-13:hover { + cursor: pointer; +} + +.emotion-14 { + margin-top: 1px; + background: #282828; + border-radius: 0px 0px 8px 8px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; + -webkit-align-items: flex-start; + -webkit-box-align: flex-start; + -ms-flex-align: flex-start; + align-items: flex-start; + padding: 8px 16px; +} + +.emotion-19 { + margin: 0; + font-size: 1rem; + white-space: pre-wrap; + letter-spacing: 0.5px; + font-family: "Roboto","Helvetica","Arial",sans-serif; + font-weight: 400; + line-height: 1.5; + color: #4092CD; +} + +.emotion-19:hover { + cursor: pointer; +} +
@@ -227,33 +344,86 @@ exports[`component: DesmosProfile matches snapshot 1`] = ` width={0} /> -

- connections -

-
-
-

- test_nickname -

-

+ test_nickname + +

+ @ + test +

+
+
- @ - test -

+
+

+ address +

+
+

+ + test_address + +

+ +
+
+
+

+ rewardAddress +

+
+

+ + test_rewa...ess + +

+ +
+
+

test bio

+

+ more +

`; diff --git a/packages/ui/src/components/desmos_profile/hooks.test.tsx b/packages/ui/src/components/desmos_profile/hooks.test.tsx index 7702d72fa1..e0fd2376f0 100644 --- a/packages/ui/src/components/desmos_profile/hooks.test.tsx +++ b/packages/ui/src/components/desmos_profile/hooks.test.tsx @@ -1,9 +1,11 @@ import { act, cleanup, renderHook } from '@testing-library/react'; import { useDesmosProfile } from '@/components/desmos_profile/hooks'; +const t = jest.fn((value) => value); + describe('hook: useDesmosProfile', () => { test('handles open connections correctly', () => { - const { result } = renderHook(() => useDesmosProfile()); + const { result } = renderHook(() => useDesmosProfile({ t, bio: 'mock string' })); expect(result.current.connectionsOpen).toBe(false); act(() => result.current.handleConnectionsOpen()); @@ -11,7 +13,7 @@ describe('hook: useDesmosProfile', () => { }); test('handles close connections correctly', () => { - const { result } = renderHook(() => useDesmosProfile()); + const { result } = renderHook(() => useDesmosProfile({ t, bio: 'mock string' })); expect(result.current.connectionsOpen).toBe(false); act(() => result.current.handleConnectionsOpen()); diff --git a/packages/ui/src/components/desmos_profile/hooks.ts b/packages/ui/src/components/desmos_profile/hooks.ts index 6897d1f98a..e0ddccfc7d 100644 --- a/packages/ui/src/components/desmos_profile/hooks.ts +++ b/packages/ui/src/components/desmos_profile/hooks.ts @@ -1,7 +1,16 @@ -import { useCallback, useState } from 'react'; +import { useCallback, useState, useEffect } from 'react'; +import copy from 'copy-to-clipboard'; +import { toast } from 'react-toastify'; +import { TFunction } from 'next-i18next'; -export const useDesmosProfile = () => { +type DesmosProfileHooksProps = { + t?: TFunction; + bio?: string; +}; + +export const useDesmosProfile = ({ t, bio }: DesmosProfileHooksProps) => { const [connectionsOpen, setConnectionsOpen] = useState(false); + const [readMore, setReadMore] = useState(true); const handleConnectionsOpen = useCallback(() => { setConnectionsOpen(true); @@ -11,9 +20,29 @@ export const useDesmosProfile = () => { setConnectionsOpen(false); }, []); + const handleCopyToClipboard = (value: string) => { + copy(value); + toast(t ? t('common:copied') : 'copied'); + }; + + const handleReadMore = () => { + setReadMore((prev) => !prev); + }; + + useEffect(() => { + if ((bio?.match(/
/g) || []).length < 3) { + setReadMore(false); + } else { + setReadMore(true); + } + }, [bio]); + return { connectionsOpen, handleConnectionsClose, handleConnectionsOpen, + handleCopyToClipboard, + handleReadMore, + readMore, }; }; diff --git a/packages/ui/src/components/desmos_profile/index.test.tsx b/packages/ui/src/components/desmos_profile/index.test.tsx index 2f8fc3e533..3219838c16 100644 --- a/packages/ui/src/components/desmos_profile/index.test.tsx +++ b/packages/ui/src/components/desmos_profile/index.test.tsx @@ -33,8 +33,11 @@ describe('component: DesmosProfile', () => { nickname="test_nickname" imageUrl="testurl.com" bio="test bio" + creationTime="date" connections={connection} coverUrl="testcoverurl.com" + withdrawalAddress="test_rewardAddress" + address="test_address" /> ); diff --git a/packages/ui/src/components/desmos_profile/index.tsx b/packages/ui/src/components/desmos_profile/index.tsx index de56972437..fe5f30ca8b 100644 --- a/packages/ui/src/components/desmos_profile/index.tsx +++ b/packages/ui/src/components/desmos_profile/index.tsx @@ -1,22 +1,34 @@ import Typography from '@mui/material/Typography'; import { useTranslation } from 'next-i18next'; -import numeral from 'numeral'; import { FC } from 'react'; +import { useDisplayStyles } from '@/styles/useSharedStyles'; +import { getMiddleEllipsis } from '@/utils/get_middle_ellipsis'; import Avatar from '@/components/avatar'; import Box from '@/components/box'; import Connections from '@/components/desmos_profile/components/connections'; import { useDesmosProfile } from '@/components/desmos_profile/hooks'; import useStyles from '@/components/desmos_profile/styles'; import Markdown from '@/components/markdown'; +import CopyIcon from 'shared-utils/assets/icon-copy.svg'; type DesmosProfileProps = { className?: string; + withdrawalAddress: string; + address: string; } & Omit; const DesmosProfile: FC = (props) => { const { t } = useTranslation('accounts'); const { classes, cx } = useStyles({ coverUrl: props.coverUrl }); - const { connectionsOpen, handleConnectionsClose, handleConnectionsOpen } = useDesmosProfile(); + const display = useDisplayStyles().classes; + const { + connectionsOpen, + handleConnectionsClose, + handleConnectionsOpen, + handleCopyToClipboard, + handleReadMore, + readMore, + } = useDesmosProfile({ t, bio: props.bio }); const displayConnections = props.connections.length ? '' : 'hide'; @@ -35,7 +47,7 @@ const DesmosProfile: FC = (props) => { @{props.dtag} - = (props) => { {t('connections', { connections: numeral(props.connections.length).format('0,0'), })} - + */} +
+
+ + {t('address')} + +
+ + + {getMiddleEllipsis(props.address, { + beginning: 9, + ending: 3, + })} + + + handleCopyToClipboard(props.address)} + className={classes.actionIcons} + /> +
+
+
+ + {t('rewardAddress')} + +
+ + + {getMiddleEllipsis(props.withdrawalAddress, { + beginning: 9, + ending: 3, + })} + + + handleCopyToClipboard(props.withdrawalAddress)} + className={classes.actionIcons} + /> +
+
+
{props.bio && (
- + + {readMore && ( + + {t('more')} + + )}
)} diff --git a/packages/ui/src/components/desmos_profile/styles.ts b/packages/ui/src/components/desmos_profile/styles.ts index 56a7b70495..3d6fc43992 100644 --- a/packages/ui/src/components/desmos_profile/styles.ts +++ b/packages/ui/src/components/desmos_profile/styles.ts @@ -42,9 +42,10 @@ const useStyles = makeStyles<{ coverUrl?: string }>()((theme, { coverUrl }) => ( position: 'relative', width: '100%', display: 'flex', - alignItems: 'center', - justifyContent: 'flex-end', + alignItems: 'flex-start', + justifyContent: 'space-between', padding: theme.spacing(1, 0), + flexDirection: 'column', '& .hide': { visibility: 'hidden', }, @@ -53,6 +54,8 @@ const useStyles = makeStyles<{ coverUrl?: string }>()((theme, { coverUrl }) => ( }, [theme.breakpoints.up('lg')]: { paddingBottom: theme.spacing(3.5), + alignItems: 'center', + flexDirection: 'row', }, }, avatar: { @@ -62,14 +65,14 @@ const useStyles = makeStyles<{ coverUrl?: string }>()((theme, { coverUrl }) => ( minHeight: '60px', minWidth: '60px', border: `solid 3px ${theme.palette.background.paper}`, - top: theme.spacing(-3.75), + top: theme.spacing(-2.5), left: 0, [theme.breakpoints.up('md')]: { width: '76px', height: '76px', minHeight: '76px', minWidth: '76px', - top: theme.spacing(-4.75), + top: theme.spacing(-3), borderWidth: '4px', }, [theme.breakpoints.up('lg')]: { @@ -77,7 +80,7 @@ const useStyles = makeStyles<{ coverUrl?: string }>()((theme, { coverUrl }) => ( height: '100px', minHeight: '100px', minWidth: '100px', - top: theme.spacing(-6.25), + top: theme.spacing(-4), borderWidth: '5px', }, }, @@ -88,11 +91,64 @@ const useStyles = makeStyles<{ coverUrl?: string }>()((theme, { coverUrl }) => ( }, }, nicknameWrapper: { - margin: theme.spacing(1, 0), + margin: theme.spacing(0.5, 0), + paddingLeft: '60px', + [theme.breakpoints.up('md')]: { + margin: theme.spacing(1, 0), + paddingLeft: '85px', + }, + [theme.breakpoints.up('lg')]: { + paddingLeft: '116px', + }, '& .tag': { color: theme.palette.custom.fonts.fontFour, }, }, + addressBox: { + width: '100%', + [theme.breakpoints.up('md')]: { + width: '100%', + }, + [theme.breakpoints.up('lg')]: { + width: '30%', + }, + }, + address: { + background: '#282828', + borderRadius: theme.spacing(1, 1, 0, 0), + display: 'flex', + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'flex-start', + padding: theme.spacing(1, 2), + // width: '30%' + }, + rewardAddress: { + marginTop: 1, + background: '#282828', + borderRadius: theme.spacing(0, 0, 1, 1), + display: 'flex', + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'flex-start', + padding: theme.spacing(1, 2), + // width: '30%' + }, + addressAndCopy: { + display: 'flex', + flexDirection: 'row', + alignItems: 'center', + '& span': { + paddingRight: theme.spacing(1), + }, + }, + actionIcons: { + '&:hover': { + cursor: 'pointer', + }, + width: theme.spacing(2), + height: theme.spacing(2), + }, })); export default useStyles; diff --git a/packages/ui/src/components/markdown/index.tsx b/packages/ui/src/components/markdown/index.tsx index 87598c6f3b..0814fc5afb 100644 --- a/packages/ui/src/components/markdown/index.tsx +++ b/packages/ui/src/components/markdown/index.tsx @@ -100,9 +100,18 @@ const options = { }, }; -export default function Markdown(props: { markdown: string }) { - const clean = xss(props.markdown.replace(/\\n\s?/g, '
')); +type MarkdownProp = { + markdown: string; + readMore?: boolean | undefined; +}; + +export default function Markdown({ markdown, readMore }: MarkdownProp) { + const clean = xss(markdown.replace(/\\n\s?/g, '
')); // clean = clean.replace(/\\n\s?/g, '\n'); // this will also work + const delimiter = '
'; + const limit = 3; + const less = clean.split(delimiter).slice(0, limit).join(delimiter); + const result = readMore ? less : clean; - return {clean}; + return {result}; } diff --git a/packages/ui/src/hooks/use_desmos_profile/index.ts b/packages/ui/src/hooks/use_desmos_profile/index.ts index 3989d2ac35..0a17b8d675 100644 --- a/packages/ui/src/hooks/use_desmos_profile/index.ts +++ b/packages/ui/src/hooks/use_desmos_profile/index.ts @@ -147,6 +147,7 @@ function formatDesmosProfile(data: DesmosProfileQuery | undefined): DesmosProfil imageUrl: profile.profilePic, coverUrl: profile.coverPic, bio: profile.bio, + creationTime: profile.creationTime, connections: [nativeData, ...connectionsWithoutNativeSorted], applicationLinks: applications || null, }; diff --git a/packages/ui/src/screens/account_details/index.tsx b/packages/ui/src/screens/account_details/index.tsx index da89a488f1..b0bfc89fa3 100644 --- a/packages/ui/src/screens/account_details/index.tsx +++ b/packages/ui/src/screens/account_details/index.tsx @@ -35,6 +35,9 @@ const AccountDetails = () => { bio={state.desmosProfile.bio} connections={state.desmosProfile.connections} coverUrl={state.desmosProfile.coverUrl} + creationTime={state.desmosProfile.creationTime} + withdrawalAddress={state.overview.withdrawalAddress} + address={state.overview.address} /> )} Date: Thu, 23 Mar 2023 18:31:02 +0800 Subject: [PATCH 04/13] save --- packages/ui/declarations.d.ts | 4 +-- .../ui/src/components/desmos_profile/hooks.ts | 36 ++++++++++++++++++- .../src/components/desmos_profile/index.tsx | 9 ++++- .../src/components/desmos_profile/styles.ts | 4 +++ .../ui/src/hooks/use_desmos_profile/index.ts | 4 ++- .../ui/src/screens/account_details/index.tsx | 1 + 6 files changed, 53 insertions(+), 5 deletions(-) diff --git a/packages/ui/declarations.d.ts b/packages/ui/declarations.d.ts index 83b6fb4dd1..644be0baf4 100644 --- a/packages/ui/declarations.d.ts +++ b/packages/ui/declarations.d.ts @@ -60,7 +60,7 @@ type ApplicationLink = { network: string; identifier: string; creationTime: unknown; -}[]; +}; type DesmosProfile = { dtag: string; @@ -71,7 +71,7 @@ type DesmosProfile = { creationTime: string; connections: ProfileConnectionType[]; validator?: ValidatorProfile; - applicationLinks?: ApplicationLink; + applicationLinks: ApplicationLink[] | []; }; type TagTheme = diff --git a/packages/ui/src/components/desmos_profile/hooks.ts b/packages/ui/src/components/desmos_profile/hooks.ts index e0ddccfc7d..ac06c7238a 100644 --- a/packages/ui/src/components/desmos_profile/hooks.ts +++ b/packages/ui/src/components/desmos_profile/hooks.ts @@ -6,11 +6,20 @@ import { TFunction } from 'next-i18next'; type DesmosProfileHooksProps = { t?: TFunction; bio?: string; + links?: ApplicationLink[]; }; -export const useDesmosProfile = ({ t, bio }: DesmosProfileHooksProps) => { +const appLinkDict = { + twitter: 'https://twitter.com/', + discord: 'https://discord.com/users/', + github: 'https://github.com/', + domain: 'https://', +}; + +export const useDesmosProfile = ({ t, bio, links }: DesmosProfileHooksProps) => { const [connectionsOpen, setConnectionsOpen] = useState(false); const [readMore, setReadMore] = useState(true); + const [appLinks, setAppLinks] = useState<{ appLink?: string; identifier?: string }[]>([{}]); const handleConnectionsOpen = useCallback(() => { setConnectionsOpen(true); @@ -37,6 +46,31 @@ export const useDesmosProfile = ({ t, bio }: DesmosProfileHooksProps) => { } }, [bio]); + // useEffect(() => { + // if (links) { + + // links.map((link) => { + // switch (link.network) { + // let result; + // let username; + // case 'twitter': + // result = `${appLinkDict['twitter']}${link.indentifier}`; + // username = `@${link.identifier}`; + // break; + // default: + // result = ''; + // username = ''; + // } + // return { + // result, + // username + // } + // } + // }) + // } + + // }, [links]) + return { connectionsOpen, handleConnectionsClose, diff --git a/packages/ui/src/components/desmos_profile/index.tsx b/packages/ui/src/components/desmos_profile/index.tsx index fe5f30ca8b..7e25422578 100644 --- a/packages/ui/src/components/desmos_profile/index.tsx +++ b/packages/ui/src/components/desmos_profile/index.tsx @@ -28,7 +28,7 @@ const DesmosProfile: FC = (props) => { handleCopyToClipboard, handleReadMore, readMore, - } = useDesmosProfile({ t, bio: props.bio }); + } = useDesmosProfile({ t, bio: props.bio, links: props.applicationLinks }); const displayConnections = props.connections.length ? '' : 'hide'; @@ -114,6 +114,13 @@ const DesmosProfile: FC = (props) => { )} )} + {props.applicationLinks && ( + <> + {props.applicationLinks.map((app) => ( +
{app.network}
+ ))} + + )} ()((theme, { coverUrl }) => ( width: theme.spacing(2), height: theme.spacing(2), }, + infoDiv: { + display: 'flex', + flexDirection: 'row', + }, })); export default useStyles; diff --git a/packages/ui/src/hooks/use_desmos_profile/index.ts b/packages/ui/src/hooks/use_desmos_profile/index.ts index 0a17b8d675..f0fd5c0967 100644 --- a/packages/ui/src/hooks/use_desmos_profile/index.ts +++ b/packages/ui/src/hooks/use_desmos_profile/index.ts @@ -141,6 +141,8 @@ function formatDesmosProfile(data: DesmosProfileQuery | undefined): DesmosProfil R.comparator((a, b) => a.network.toLowerCase() < b.network.toLowerCase()) ); + const externalConnections = [...applications]; + return { dtag: profile.dtag, nickname: profile.nickname, @@ -149,7 +151,7 @@ function formatDesmosProfile(data: DesmosProfileQuery | undefined): DesmosProfil bio: profile.bio, creationTime: profile.creationTime, connections: [nativeData, ...connectionsWithoutNativeSorted], - applicationLinks: applications || null, + applicationLinks: externalConnections, }; }); } diff --git a/packages/ui/src/screens/account_details/index.tsx b/packages/ui/src/screens/account_details/index.tsx index b0bfc89fa3..1bb38a8810 100644 --- a/packages/ui/src/screens/account_details/index.tsx +++ b/packages/ui/src/screens/account_details/index.tsx @@ -29,6 +29,7 @@ const AccountDetails = () => { {!!state.desmosProfile && ( Date: Fri, 24 Mar 2023 12:16:40 +0800 Subject: [PATCH 05/13] application links display --- .../src/components/desmos_profile/index.tsx | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/packages/ui/src/components/desmos_profile/index.tsx b/packages/ui/src/components/desmos_profile/index.tsx index 7e25422578..5a52dae873 100644 --- a/packages/ui/src/components/desmos_profile/index.tsx +++ b/packages/ui/src/components/desmos_profile/index.tsx @@ -5,6 +5,7 @@ import { useDisplayStyles } from '@/styles/useSharedStyles'; import { getMiddleEllipsis } from '@/utils/get_middle_ellipsis'; import Avatar from '@/components/avatar'; import Box from '@/components/box'; +import Link from '@mui/material/Link'; import Connections from '@/components/desmos_profile/components/connections'; import { useDesmosProfile } from '@/components/desmos_profile/hooks'; import useStyles from '@/components/desmos_profile/styles'; @@ -17,6 +18,25 @@ type DesmosProfileProps = { address: string; } & Omit; +const appLinkDict = { + twitter: 'https://twitter.com/', + discord: 'https://discord.com/users/', + github: 'https://github.com/', + domain: 'https://', +}; + +const LinkDisplay: FC> = ({ + network, + identifier, +}) => ( + + {network === 'domain' ? `${identifier}` : `@${identifier}`} + +); const DesmosProfile: FC = (props) => { const { t } = useTranslation('accounts'); const { classes, cx } = useStyles({ coverUrl: props.coverUrl }); @@ -30,7 +50,7 @@ const DesmosProfile: FC = (props) => { readMore, } = useDesmosProfile({ t, bio: props.bio, links: props.applicationLinks }); - const displayConnections = props.connections.length ? '' : 'hide'; + const displayConnections = props?.connections?.length ? '' : 'hide'; return ( <> @@ -114,10 +134,10 @@ const DesmosProfile: FC = (props) => { )} )} - {props.applicationLinks && ( + {props.applicationLinks.length > 0 && ( <> {props.applicationLinks.map((app) => ( -
{app.network}
+ ))} )} From b0a92025c3e7c008d2af32f59cd8452856ce2f05 Mon Sep 17 00:00:00 2001 From: rachelhox Date: Sat, 25 Mar 2023 01:02:21 +0800 Subject: [PATCH 06/13] creation time --- packages/shared-utils/assets/icon-date.svg | 8 ++++++++ packages/shared-utils/assets/icon-link.svg | 4 ++++ .../src/components/desmos_profile/index.tsx | 20 +++++++++++++++++-- .../src/components/desmos_profile/styles.ts | 14 ++++++++++++- 4 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 packages/shared-utils/assets/icon-date.svg create mode 100644 packages/shared-utils/assets/icon-link.svg diff --git a/packages/shared-utils/assets/icon-date.svg b/packages/shared-utils/assets/icon-date.svg new file mode 100644 index 0000000000..4ba4bc0e1a --- /dev/null +++ b/packages/shared-utils/assets/icon-date.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/shared-utils/assets/icon-link.svg b/packages/shared-utils/assets/icon-link.svg new file mode 100644 index 0000000000..6513fe25a8 --- /dev/null +++ b/packages/shared-utils/assets/icon-link.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/ui/src/components/desmos_profile/index.tsx b/packages/ui/src/components/desmos_profile/index.tsx index 5a52dae873..dade2165cc 100644 --- a/packages/ui/src/components/desmos_profile/index.tsx +++ b/packages/ui/src/components/desmos_profile/index.tsx @@ -1,6 +1,7 @@ import Typography from '@mui/material/Typography'; import { useTranslation } from 'next-i18next'; import { FC } from 'react'; +import dayjs from 'dayjs'; import { useDisplayStyles } from '@/styles/useSharedStyles'; import { getMiddleEllipsis } from '@/utils/get_middle_ellipsis'; import Avatar from '@/components/avatar'; @@ -11,6 +12,8 @@ import { useDesmosProfile } from '@/components/desmos_profile/hooks'; import useStyles from '@/components/desmos_profile/styles'; import Markdown from '@/components/markdown'; import CopyIcon from 'shared-utils/assets/icon-copy.svg'; +import LinkIcon from 'shared-utils/assets/icon-link.svg'; +import DateIcon from 'shared-utils/assets/icon-date.svg'; type DesmosProfileProps = { className?: string; @@ -37,10 +40,12 @@ const LinkDisplay: FC> = ({ {network === 'domain' ? `${identifier}` : `@${identifier}`} ); + const DesmosProfile: FC = (props) => { const { t } = useTranslation('accounts'); const { classes, cx } = useStyles({ coverUrl: props.coverUrl }); const display = useDisplayStyles().classes; + const format = 'MMM YYYY'; const { connectionsOpen, handleConnectionsClose, @@ -125,7 +130,7 @@ const DesmosProfile: FC = (props) => { {readMore && ( @@ -137,10 +142,21 @@ const DesmosProfile: FC = (props) => { {props.applicationLinks.length > 0 && ( <> {props.applicationLinks.map((app) => ( - + + + + ))} )} + {props.creationTime && ( + + + + Joined {dayjs(props.creationTime).format(format)} + + + )} ()((theme, { coverUrl }) => ({ root: { overflow: 'hidden', + '& a': { + color: '#0075FF', + textDecoration: 'none', + }, }, cover: { height: '150px', @@ -85,7 +89,7 @@ const useStyles = makeStyles<{ coverUrl?: string }>()((theme, { coverUrl }) => ( }, }, link: { - color: theme.palette.custom.fonts.highlight, + color: '#0075FF', '&:hover': { cursor: 'pointer', }, @@ -152,6 +156,14 @@ const useStyles = makeStyles<{ coverUrl?: string }>()((theme, { coverUrl }) => ( infoDiv: { display: 'flex', flexDirection: 'row', + alignItems: 'center', + padding: `${theme.spacing(2, 0, 2, 0)}!important` as any, + a: { + paddingLeft: 2, + }, + }, + icon: { + fill: 'none', }, })); From 218b60e62765ed707e4388aeb85974e16dc57d04 Mon Sep 17 00:00:00 2001 From: rachelhox Date: Sat, 25 Mar 2023 19:04:15 +0800 Subject: [PATCH 07/13] save --- .../public/locales/en/accounts.json | 3 +- .../public/locales/it/accounts.json | 3 +- .../public/locales/pl/accounts.json | 3 +- .../public/locales/zhs/accounts.json | 3 +- .../public/locales/zht/accounts.json | 4 +- .../web-akash/public/locales/en/accounts.json | 3 +- .../web-akash/public/locales/it/accounts.json | 3 +- .../web-akash/public/locales/pl/accounts.json | 3 +- .../public/locales/zhs/accounts.json | 3 +- .../public/locales/zht/accounts.json | 4 +- .../public/locales/en/accounts.json | 3 +- .../public/locales/it/accounts.json | 3 +- .../public/locales/pl/accounts.json | 3 +- .../public/locales/zhs/accounts.json | 3 +- .../public/locales/zht/accounts.json | 4 +- apps/web-band/public/locales/en/accounts.json | 3 +- .../public/locales/en/accounts.json | 3 +- .../public/locales/en/accounts.json | 3 +- .../public/locales/it/accounts.json | 3 +- .../public/locales/pl/accounts.json | 3 +- .../public/locales/zhs/accounts.json | 3 +- .../public/locales/zht/accounts.json | 4 +- .../public/locales/en/accounts.json | 3 +- .../public/locales/it/accounts.json | 3 +- .../public/locales/pl/accounts.json | 3 +- .../public/locales/zhs/accounts.json | 3 +- .../public/locales/zht/accounts.json | 4 +- .../public/locales/en/accounts.json | 3 +- .../public/locales/en/accounts.json | 3 +- .../public/locales/it/accounts.json | 3 +- .../public/locales/pl/accounts.json | 3 +- .../public/locales/zhs/accounts.json | 3 +- .../public/locales/zht/accounts.json | 4 +- .../public/locales/en/accounts.json | 3 +- .../web-evmos/public/locales/en/accounts.json | 3 +- .../public/locales/en/accounts.json | 3 +- .../web-nomic/public/locales/en/accounts.json | 3 +- .../web-nomic/public/locales/it/accounts.json | 3 +- .../web-nomic/public/locales/pl/accounts.json | 3 +- .../public/locales/zhs/accounts.json | 3 +- .../public/locales/zht/accounts.json | 4 +- apps/web-nym/public/locales/en/accounts.json | 3 +- apps/web-nym/public/locales/it/accounts.json | 3 +- apps/web-nym/public/locales/pl/accounts.json | 3 +- apps/web-nym/public/locales/zhs/accounts.json | 3 +- apps/web-nym/public/locales/zht/accounts.json | 4 +- .../public/locales/en/accounts.json | 3 +- .../public/locales/it/accounts.json | 3 +- .../public/locales/pl/accounts.json | 3 +- .../public/locales/zhs/accounts.json | 3 +- .../public/locales/zht/accounts.json | 4 +- .../public/locales/en/accounts.json | 3 +- .../public/locales/it/accounts.json | 3 +- .../public/locales/pl/accounts.json | 3 +- .../public/locales/zhs/accounts.json | 3 +- .../public/locales/zht/accounts.json | 4 +- .../public/locales/en/accounts.json | 3 +- .../public/locales/it/accounts.json | 3 +- .../public/locales/pl/accounts.json | 3 +- .../public/locales/zhs/accounts.json | 3 +- .../public/locales/zht/accounts.json | 4 +- .../public/locales/en/accounts.json | 3 +- .../public/locales/it/accounts.json | 3 +- .../public/locales/pl/accounts.json | 3 +- .../public/locales/zhs/accounts.json | 3 +- .../public/locales/zht/accounts.json | 4 +- .../public/locales/en/accounts.json | 3 +- .../public/locales/it/accounts.json | 3 +- .../public/locales/pl/accounts.json | 3 +- .../public/locales/zhs/accounts.json | 3 +- .../public/locales/zht/accounts.json | 4 +- .../web-regen/public/locales/en/accounts.json | 3 +- .../web-rizon/public/locales/en/accounts.json | 3 +- .../web-rizon/public/locales/it/accounts.json | 3 +- .../web-rizon/public/locales/pl/accounts.json | 3 +- .../public/locales/zhs/accounts.json | 3 +- .../public/locales/zht/accounts.json | 4 +- .../public/locales/en/accounts.json | 3 +- .../public/locales/it/accounts.json | 3 +- .../public/locales/pl/accounts.json | 3 +- .../public/locales/zhs/accounts.json | 3 +- .../public/locales/zht/accounts.json | 4 +- .../public/locales/en/accounts.json | 3 +- .../public/locales/it/accounts.json | 3 +- .../public/locales/pl/accounts.json | 3 +- .../public/locales/zhs/accounts.json | 3 +- .../public/locales/zht/accounts.json | 4 +- apps/web/public/locales/en/accounts.json | 3 +- apps/web/public/locales/it/accounts.json | 3 +- apps/web/public/locales/pl/accounts.json | 3 +- apps/web/public/locales/zhs/accounts.json | 3 +- apps/web/public/locales/zht/accounts.json | 3 +- .../shared-utils/assets/icon-connection.svg | 4 ++ packages/ui/public/locales/en/accounts.json | 3 +- packages/ui/public/locales/it/accounts.json | 3 +- packages/ui/public/locales/pl/accounts.json | 3 +- packages/ui/public/locales/zhs/accounts.json | 3 +- packages/ui/public/locales/zht/accounts.json | 4 +- .../src/components/desmos_profile/index.tsx | 69 +++++++++++-------- .../src/components/desmos_profile/styles.ts | 38 ++++++++-- 100 files changed, 288 insertions(+), 131 deletions(-) create mode 100644 packages/shared-utils/assets/icon-connection.svg diff --git a/apps/web-agoric/public/locales/en/accounts.json b/apps/web-agoric/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-agoric/public/locales/en/accounts.json +++ b/apps/web-agoric/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-agoric/public/locales/it/accounts.json b/apps/web-agoric/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-agoric/public/locales/it/accounts.json +++ b/apps/web-agoric/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-agoric/public/locales/pl/accounts.json b/apps/web-agoric/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-agoric/public/locales/pl/accounts.json +++ b/apps/web-agoric/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-agoric/public/locales/zhs/accounts.json b/apps/web-agoric/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-agoric/public/locales/zhs/accounts.json +++ b/apps/web-agoric/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-agoric/public/locales/zht/accounts.json b/apps/web-agoric/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-agoric/public/locales/zht/accounts.json +++ b/apps/web-agoric/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-akash/public/locales/en/accounts.json b/apps/web-akash/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-akash/public/locales/en/accounts.json +++ b/apps/web-akash/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-akash/public/locales/it/accounts.json b/apps/web-akash/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-akash/public/locales/it/accounts.json +++ b/apps/web-akash/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-akash/public/locales/pl/accounts.json b/apps/web-akash/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-akash/public/locales/pl/accounts.json +++ b/apps/web-akash/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-akash/public/locales/zhs/accounts.json b/apps/web-akash/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-akash/public/locales/zhs/accounts.json +++ b/apps/web-akash/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-akash/public/locales/zht/accounts.json b/apps/web-akash/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-akash/public/locales/zht/accounts.json +++ b/apps/web-akash/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-assetmantle/public/locales/en/accounts.json b/apps/web-assetmantle/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-assetmantle/public/locales/en/accounts.json +++ b/apps/web-assetmantle/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-assetmantle/public/locales/it/accounts.json b/apps/web-assetmantle/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-assetmantle/public/locales/it/accounts.json +++ b/apps/web-assetmantle/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-assetmantle/public/locales/pl/accounts.json b/apps/web-assetmantle/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-assetmantle/public/locales/pl/accounts.json +++ b/apps/web-assetmantle/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-assetmantle/public/locales/zhs/accounts.json b/apps/web-assetmantle/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-assetmantle/public/locales/zhs/accounts.json +++ b/apps/web-assetmantle/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-assetmantle/public/locales/zht/accounts.json b/apps/web-assetmantle/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-assetmantle/public/locales/zht/accounts.json +++ b/apps/web-assetmantle/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-band/public/locales/en/accounts.json b/apps/web-band/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-band/public/locales/en/accounts.json +++ b/apps/web-band/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-bitsong/public/locales/en/accounts.json b/apps/web-bitsong/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-bitsong/public/locales/en/accounts.json +++ b/apps/web-bitsong/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-comdex/public/locales/en/accounts.json b/apps/web-comdex/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-comdex/public/locales/en/accounts.json +++ b/apps/web-comdex/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-comdex/public/locales/it/accounts.json b/apps/web-comdex/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-comdex/public/locales/it/accounts.json +++ b/apps/web-comdex/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-comdex/public/locales/pl/accounts.json b/apps/web-comdex/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-comdex/public/locales/pl/accounts.json +++ b/apps/web-comdex/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-comdex/public/locales/zhs/accounts.json b/apps/web-comdex/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-comdex/public/locales/zhs/accounts.json +++ b/apps/web-comdex/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-comdex/public/locales/zht/accounts.json b/apps/web-comdex/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-comdex/public/locales/zht/accounts.json +++ b/apps/web-comdex/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-cosmos/public/locales/en/accounts.json b/apps/web-cosmos/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-cosmos/public/locales/en/accounts.json +++ b/apps/web-cosmos/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-cosmos/public/locales/it/accounts.json b/apps/web-cosmos/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-cosmos/public/locales/it/accounts.json +++ b/apps/web-cosmos/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-cosmos/public/locales/pl/accounts.json b/apps/web-cosmos/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-cosmos/public/locales/pl/accounts.json +++ b/apps/web-cosmos/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-cosmos/public/locales/zhs/accounts.json b/apps/web-cosmos/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-cosmos/public/locales/zhs/accounts.json +++ b/apps/web-cosmos/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-cosmos/public/locales/zht/accounts.json b/apps/web-cosmos/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-cosmos/public/locales/zht/accounts.json +++ b/apps/web-cosmos/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-crescent/public/locales/en/accounts.json b/apps/web-crescent/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-crescent/public/locales/en/accounts.json +++ b/apps/web-crescent/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-desmos/public/locales/en/accounts.json b/apps/web-desmos/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-desmos/public/locales/en/accounts.json +++ b/apps/web-desmos/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-desmos/public/locales/it/accounts.json b/apps/web-desmos/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-desmos/public/locales/it/accounts.json +++ b/apps/web-desmos/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-desmos/public/locales/pl/accounts.json b/apps/web-desmos/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-desmos/public/locales/pl/accounts.json +++ b/apps/web-desmos/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-desmos/public/locales/zhs/accounts.json b/apps/web-desmos/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-desmos/public/locales/zhs/accounts.json +++ b/apps/web-desmos/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-desmos/public/locales/zht/accounts.json b/apps/web-desmos/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-desmos/public/locales/zht/accounts.json +++ b/apps/web-desmos/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-emoney/public/locales/en/accounts.json b/apps/web-emoney/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-emoney/public/locales/en/accounts.json +++ b/apps/web-emoney/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-evmos/public/locales/en/accounts.json b/apps/web-evmos/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-evmos/public/locales/en/accounts.json +++ b/apps/web-evmos/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-likecoin/public/locales/en/accounts.json b/apps/web-likecoin/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-likecoin/public/locales/en/accounts.json +++ b/apps/web-likecoin/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-nomic/public/locales/en/accounts.json b/apps/web-nomic/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-nomic/public/locales/en/accounts.json +++ b/apps/web-nomic/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-nomic/public/locales/it/accounts.json b/apps/web-nomic/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-nomic/public/locales/it/accounts.json +++ b/apps/web-nomic/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-nomic/public/locales/pl/accounts.json b/apps/web-nomic/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-nomic/public/locales/pl/accounts.json +++ b/apps/web-nomic/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-nomic/public/locales/zhs/accounts.json b/apps/web-nomic/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-nomic/public/locales/zhs/accounts.json +++ b/apps/web-nomic/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-nomic/public/locales/zht/accounts.json b/apps/web-nomic/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-nomic/public/locales/zht/accounts.json +++ b/apps/web-nomic/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-nym/public/locales/en/accounts.json b/apps/web-nym/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-nym/public/locales/en/accounts.json +++ b/apps/web-nym/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-nym/public/locales/it/accounts.json b/apps/web-nym/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-nym/public/locales/it/accounts.json +++ b/apps/web-nym/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-nym/public/locales/pl/accounts.json b/apps/web-nym/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-nym/public/locales/pl/accounts.json +++ b/apps/web-nym/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-nym/public/locales/zhs/accounts.json b/apps/web-nym/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-nym/public/locales/zhs/accounts.json +++ b/apps/web-nym/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-nym/public/locales/zht/accounts.json b/apps/web-nym/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-nym/public/locales/zht/accounts.json +++ b/apps/web-nym/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-osmosis/public/locales/en/accounts.json b/apps/web-osmosis/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-osmosis/public/locales/en/accounts.json +++ b/apps/web-osmosis/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-osmosis/public/locales/it/accounts.json b/apps/web-osmosis/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-osmosis/public/locales/it/accounts.json +++ b/apps/web-osmosis/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-osmosis/public/locales/pl/accounts.json b/apps/web-osmosis/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-osmosis/public/locales/pl/accounts.json +++ b/apps/web-osmosis/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-osmosis/public/locales/zhs/accounts.json b/apps/web-osmosis/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-osmosis/public/locales/zhs/accounts.json +++ b/apps/web-osmosis/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-osmosis/public/locales/zht/accounts.json b/apps/web-osmosis/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-osmosis/public/locales/zht/accounts.json +++ b/apps/web-osmosis/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-persistence/public/locales/en/accounts.json b/apps/web-persistence/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-persistence/public/locales/en/accounts.json +++ b/apps/web-persistence/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-persistence/public/locales/it/accounts.json b/apps/web-persistence/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-persistence/public/locales/it/accounts.json +++ b/apps/web-persistence/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-persistence/public/locales/pl/accounts.json b/apps/web-persistence/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-persistence/public/locales/pl/accounts.json +++ b/apps/web-persistence/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-persistence/public/locales/zhs/accounts.json b/apps/web-persistence/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-persistence/public/locales/zhs/accounts.json +++ b/apps/web-persistence/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-persistence/public/locales/zht/accounts.json b/apps/web-persistence/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-persistence/public/locales/zht/accounts.json +++ b/apps/web-persistence/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-provenance/public/locales/en/accounts.json b/apps/web-provenance/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-provenance/public/locales/en/accounts.json +++ b/apps/web-provenance/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-provenance/public/locales/it/accounts.json b/apps/web-provenance/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-provenance/public/locales/it/accounts.json +++ b/apps/web-provenance/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-provenance/public/locales/pl/accounts.json b/apps/web-provenance/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-provenance/public/locales/pl/accounts.json +++ b/apps/web-provenance/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-provenance/public/locales/zhs/accounts.json b/apps/web-provenance/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-provenance/public/locales/zhs/accounts.json +++ b/apps/web-provenance/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-provenance/public/locales/zht/accounts.json b/apps/web-provenance/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-provenance/public/locales/zht/accounts.json +++ b/apps/web-provenance/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-quasar/public/locales/en/accounts.json b/apps/web-quasar/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-quasar/public/locales/en/accounts.json +++ b/apps/web-quasar/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-quasar/public/locales/it/accounts.json b/apps/web-quasar/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-quasar/public/locales/it/accounts.json +++ b/apps/web-quasar/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-quasar/public/locales/pl/accounts.json b/apps/web-quasar/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-quasar/public/locales/pl/accounts.json +++ b/apps/web-quasar/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-quasar/public/locales/zhs/accounts.json b/apps/web-quasar/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-quasar/public/locales/zhs/accounts.json +++ b/apps/web-quasar/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-quasar/public/locales/zht/accounts.json b/apps/web-quasar/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-quasar/public/locales/zht/accounts.json +++ b/apps/web-quasar/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-quicksilver/public/locales/en/accounts.json b/apps/web-quicksilver/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-quicksilver/public/locales/en/accounts.json +++ b/apps/web-quicksilver/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-quicksilver/public/locales/it/accounts.json b/apps/web-quicksilver/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-quicksilver/public/locales/it/accounts.json +++ b/apps/web-quicksilver/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-quicksilver/public/locales/pl/accounts.json b/apps/web-quicksilver/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-quicksilver/public/locales/pl/accounts.json +++ b/apps/web-quicksilver/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-quicksilver/public/locales/zhs/accounts.json b/apps/web-quicksilver/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-quicksilver/public/locales/zhs/accounts.json +++ b/apps/web-quicksilver/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-quicksilver/public/locales/zht/accounts.json b/apps/web-quicksilver/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-quicksilver/public/locales/zht/accounts.json +++ b/apps/web-quicksilver/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-regen/public/locales/en/accounts.json b/apps/web-regen/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-regen/public/locales/en/accounts.json +++ b/apps/web-regen/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-rizon/public/locales/en/accounts.json b/apps/web-rizon/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-rizon/public/locales/en/accounts.json +++ b/apps/web-rizon/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-rizon/public/locales/it/accounts.json b/apps/web-rizon/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-rizon/public/locales/it/accounts.json +++ b/apps/web-rizon/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-rizon/public/locales/pl/accounts.json b/apps/web-rizon/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-rizon/public/locales/pl/accounts.json +++ b/apps/web-rizon/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-rizon/public/locales/zhs/accounts.json b/apps/web-rizon/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-rizon/public/locales/zhs/accounts.json +++ b/apps/web-rizon/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-rizon/public/locales/zht/accounts.json b/apps/web-rizon/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-rizon/public/locales/zht/accounts.json +++ b/apps/web-rizon/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-shentu/public/locales/en/accounts.json b/apps/web-shentu/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-shentu/public/locales/en/accounts.json +++ b/apps/web-shentu/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-shentu/public/locales/it/accounts.json b/apps/web-shentu/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-shentu/public/locales/it/accounts.json +++ b/apps/web-shentu/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-shentu/public/locales/pl/accounts.json b/apps/web-shentu/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-shentu/public/locales/pl/accounts.json +++ b/apps/web-shentu/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-shentu/public/locales/zhs/accounts.json b/apps/web-shentu/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-shentu/public/locales/zhs/accounts.json +++ b/apps/web-shentu/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-shentu/public/locales/zht/accounts.json b/apps/web-shentu/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-shentu/public/locales/zht/accounts.json +++ b/apps/web-shentu/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-stride/public/locales/en/accounts.json b/apps/web-stride/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web-stride/public/locales/en/accounts.json +++ b/apps/web-stride/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web-stride/public/locales/it/accounts.json b/apps/web-stride/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/apps/web-stride/public/locales/it/accounts.json +++ b/apps/web-stride/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web-stride/public/locales/pl/accounts.json b/apps/web-stride/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/apps/web-stride/public/locales/pl/accounts.json +++ b/apps/web-stride/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web-stride/public/locales/zhs/accounts.json b/apps/web-stride/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/apps/web-stride/public/locales/zhs/accounts.json +++ b/apps/web-stride/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web-stride/public/locales/zht/accounts.json b/apps/web-stride/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/apps/web-stride/public/locales/zht/accounts.json +++ b/apps/web-stride/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web/public/locales/en/accounts.json b/apps/web/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/apps/web/public/locales/en/accounts.json +++ b/apps/web/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/apps/web/public/locales/it/accounts.json b/apps/web/public/locales/it/accounts.json index 70f5dc5274..2e3fe08281 100644 --- a/apps/web/public/locales/it/accounts.json +++ b/apps/web/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/apps/web/public/locales/pl/accounts.json b/apps/web/public/locales/pl/accounts.json index 35f0682fd7..287faae5e6 100644 --- a/apps/web/public/locales/pl/accounts.json +++ b/apps/web/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/apps/web/public/locales/zhs/accounts.json b/apps/web/public/locales/zhs/accounts.json index ab0add4ad4..4eee3ea680 100644 --- a/apps/web/public/locales/zhs/accounts.json +++ b/apps/web/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/apps/web/public/locales/zht/accounts.json b/apps/web/public/locales/zht/accounts.json index 7c5f063235..d33754744c 100644 --- a/apps/web/public/locales/zht/accounts.json +++ b/apps/web/public/locales/zht/accounts.json @@ -33,5 +33,6 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/packages/shared-utils/assets/icon-connection.svg b/packages/shared-utils/assets/icon-connection.svg new file mode 100644 index 0000000000..6ac6954874 --- /dev/null +++ b/packages/shared-utils/assets/icon-connection.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/ui/public/locales/en/accounts.json b/packages/ui/public/locales/en/accounts.json index 78c6eb6f31..c0a0000e6c 100644 --- a/packages/ui/public/locales/en/accounts.json +++ b/packages/ui/public/locales/en/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Creation Time", "bio": "Bio", "status": "Status", - "completionTime": "Completion Time" + "completionTime": "Completion Time", + "joined": "Joined {{date}}" } diff --git a/packages/ui/public/locales/it/accounts.json b/packages/ui/public/locales/it/accounts.json index 70f5dc5274..159a2406af 100644 --- a/packages/ui/public/locales/it/accounts.json +++ b/packages/ui/public/locales/it/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Tempo di creazione", "bio": "Bio", "status": "Stato", - "completionTime": "Tempo di completamento" + "completionTime": "Tempo di completamento", + "joined": "Tempo di creazione {{date}}" } \ No newline at end of file diff --git a/packages/ui/public/locales/pl/accounts.json b/packages/ui/public/locales/pl/accounts.json index 35f0682fd7..b5ef0811d1 100644 --- a/packages/ui/public/locales/pl/accounts.json +++ b/packages/ui/public/locales/pl/accounts.json @@ -33,5 +33,6 @@ "creationTime": "Czas utworzenia", "bio": "Bio", "status": "Status", - "completionTime": "Czas realizacji" + "completionTime": "Czas realizacji", + "joined": "Czas utworzenia {{date}}" } \ No newline at end of file diff --git a/packages/ui/public/locales/zhs/accounts.json b/packages/ui/public/locales/zhs/accounts.json index ab0add4ad4..e5dba8b959 100644 --- a/packages/ui/public/locales/zhs/accounts.json +++ b/packages/ui/public/locales/zhs/accounts.json @@ -33,5 +33,6 @@ "creationTime": "创建时间", "bio": "简述", "status": "状态", - "completionTime": "完成时间" + "completionTime": "完成时间", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/packages/ui/public/locales/zht/accounts.json b/packages/ui/public/locales/zht/accounts.json index 7c5f063235..7bcfb4448f 100644 --- a/packages/ui/public/locales/zht/accounts.json +++ b/packages/ui/public/locales/zht/accounts.json @@ -33,5 +33,7 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}", + "joined": "创建时间 {{date}}" } \ No newline at end of file diff --git a/packages/ui/src/components/desmos_profile/index.tsx b/packages/ui/src/components/desmos_profile/index.tsx index dade2165cc..fbc1e8d5eb 100644 --- a/packages/ui/src/components/desmos_profile/index.tsx +++ b/packages/ui/src/components/desmos_profile/index.tsx @@ -1,8 +1,8 @@ import Typography from '@mui/material/Typography'; import { useTranslation } from 'next-i18next'; +import numeral from 'numeral'; import { FC } from 'react'; import dayjs from 'dayjs'; -import { useDisplayStyles } from '@/styles/useSharedStyles'; import { getMiddleEllipsis } from '@/utils/get_middle_ellipsis'; import Avatar from '@/components/avatar'; import Box from '@/components/box'; @@ -14,6 +14,7 @@ import Markdown from '@/components/markdown'; import CopyIcon from 'shared-utils/assets/icon-copy.svg'; import LinkIcon from 'shared-utils/assets/icon-link.svg'; import DateIcon from 'shared-utils/assets/icon-date.svg'; +import ConnectionIcon from 'shared-utils/assets/icon-connection.svg'; type DesmosProfileProps = { className?: string; @@ -44,7 +45,6 @@ const LinkDisplay: FC> = ({ const DesmosProfile: FC = (props) => { const { t } = useTranslation('accounts'); const { classes, cx } = useStyles({ coverUrl: props.coverUrl }); - const display = useDisplayStyles().classes; const format = 'MMM YYYY'; const { connectionsOpen, @@ -72,16 +72,6 @@ const DesmosProfile: FC = (props) => { @{props.dtag} - {/* - {t('connections', { - connections: numeral(props.connections.length).format('0,0'), - })} - */}
@@ -139,24 +129,43 @@ const DesmosProfile: FC = (props) => { )}
)} - {props.applicationLinks.length > 0 && ( - <> - {props.applicationLinks.map((app) => ( - - - - - ))} - - )} - {props.creationTime && ( - - - - Joined {dayjs(props.creationTime).format(format)} - - - )} +
+ {props.applicationLinks.length > 0 && ( + <> + {props.applicationLinks.map((app) => ( +
+ + +
+ ))} + + )} + {props.creationTime && ( +
+ + + {t('joined', { + date: dayjs(props.creationTime).format(format), + })} + +
+ )} + {props.connections && ( +
+ + + {t('connections', { + connections: numeral(props.connections.length).format('0,0'), + })} + +
+ )} +
()((theme, { coverUrl }) => ( }, }, link: { - color: '#0075FF', + color: '#0075FF!important' as any, '&:hover': { cursor: 'pointer', }, @@ -154,12 +154,42 @@ const useStyles = makeStyles<{ coverUrl?: string }>()((theme, { coverUrl }) => ( height: theme.spacing(2), }, infoDiv: { + display: 'flex', + flexDirection: 'column', + alignItems: 'flex-start', + padding: `${theme.spacing(1, 0, 1, 0)}!important` as any, + [theme.breakpoints.up('lg')]: { + flexDirection: 'row', + alignItems: 'center', + padding: `${theme.spacing(2, 0, 2, 0)}!important` as any, + }, + a: { + paddingLeft: 3, + fontSize: theme.spacing(1.75), + }, + }, + flexDiv: { display: 'flex', flexDirection: 'row', alignItems: 'center', - padding: `${theme.spacing(2, 0, 2, 0)}!important` as any, - a: { - paddingLeft: 2, + padding: theme.spacing(0, 0, 1, 0), + '&:first-child': { + paddingTop: 0, + }, + '&:last-child': { + paddingBottom: 0, + }, + [theme.breakpoints.up('lg')]: { + padding: theme.spacing(0, 2, 0, 0), + '&:last-child': { + paddingRight: 0, + }, + }, + p: { + paddingLeft: 5, + fontWeight: 600, + fontSize: theme.spacing(1.75), + color: theme.palette.custom.fonts.fontFour, }, }, icon: { From 4bb0d37408b49b16383d3b7fa11fba5d87f57803 Mon Sep 17 00:00:00 2001 From: rachelhox Date: Sat, 25 Mar 2023 19:30:26 +0800 Subject: [PATCH 08/13] fix: locale settings --- apps/web-agoric/public/locales/zht/accounts.json | 3 +-- apps/web-akash/public/locales/zht/accounts.json | 3 +-- apps/web-assetmantle/public/locales/zht/accounts.json | 3 +-- apps/web-comdex/public/locales/zht/accounts.json | 5 ++--- apps/web-cosmos/public/locales/zht/accounts.json | 3 +-- apps/web-desmos/public/locales/zht/accounts.json | 3 +-- apps/web-nomic/public/locales/zht/accounts.json | 3 +-- apps/web-nym/public/locales/zht/accounts.json | 3 +-- apps/web-osmosis/public/locales/zht/accounts.json | 3 +-- apps/web-persistence/public/locales/zht/accounts.json | 3 +-- apps/web-provenance/public/locales/zht/accounts.json | 3 +-- apps/web-quasar/public/locales/zht/accounts.json | 3 +-- apps/web-quicksilver/public/locales/zht/accounts.json | 3 +-- apps/web-rizon/public/locales/zht/accounts.json | 3 +-- apps/web-shentu/public/locales/zht/accounts.json | 3 +-- apps/web-stride/public/locales/zht/accounts.json | 3 +-- packages/ui/public/locales/zht/accounts.json | 3 +-- .../action_bar/components/settings_list/hooks.ts | 10 ++++++++++ 18 files changed, 28 insertions(+), 35 deletions(-) diff --git a/apps/web-agoric/public/locales/zht/accounts.json b/apps/web-agoric/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/apps/web-agoric/public/locales/zht/accounts.json +++ b/apps/web-agoric/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/apps/web-akash/public/locales/zht/accounts.json b/apps/web-akash/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/apps/web-akash/public/locales/zht/accounts.json +++ b/apps/web-akash/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/apps/web-assetmantle/public/locales/zht/accounts.json b/apps/web-assetmantle/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/apps/web-assetmantle/public/locales/zht/accounts.json +++ b/apps/web-assetmantle/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/apps/web-comdex/public/locales/zht/accounts.json b/apps/web-comdex/public/locales/zht/accounts.json index 7bcfb4448f..d33754744c 100644 --- a/apps/web-comdex/public/locales/zht/accounts.json +++ b/apps/web-comdex/public/locales/zht/accounts.json @@ -33,7 +33,6 @@ "creationTime": "創建時間", "bio": "簡介", "status": "狀態", - "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" + "completionTime": "完成時間", + "joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/apps/web-cosmos/public/locales/zht/accounts.json b/apps/web-cosmos/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/apps/web-cosmos/public/locales/zht/accounts.json +++ b/apps/web-cosmos/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/apps/web-desmos/public/locales/zht/accounts.json b/apps/web-desmos/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/apps/web-desmos/public/locales/zht/accounts.json +++ b/apps/web-desmos/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/apps/web-nomic/public/locales/zht/accounts.json b/apps/web-nomic/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/apps/web-nomic/public/locales/zht/accounts.json +++ b/apps/web-nomic/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/apps/web-nym/public/locales/zht/accounts.json b/apps/web-nym/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/apps/web-nym/public/locales/zht/accounts.json +++ b/apps/web-nym/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/apps/web-osmosis/public/locales/zht/accounts.json b/apps/web-osmosis/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/apps/web-osmosis/public/locales/zht/accounts.json +++ b/apps/web-osmosis/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/apps/web-persistence/public/locales/zht/accounts.json b/apps/web-persistence/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/apps/web-persistence/public/locales/zht/accounts.json +++ b/apps/web-persistence/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/apps/web-provenance/public/locales/zht/accounts.json b/apps/web-provenance/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/apps/web-provenance/public/locales/zht/accounts.json +++ b/apps/web-provenance/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/apps/web-quasar/public/locales/zht/accounts.json b/apps/web-quasar/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/apps/web-quasar/public/locales/zht/accounts.json +++ b/apps/web-quasar/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/apps/web-quicksilver/public/locales/zht/accounts.json b/apps/web-quicksilver/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/apps/web-quicksilver/public/locales/zht/accounts.json +++ b/apps/web-quicksilver/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/apps/web-rizon/public/locales/zht/accounts.json b/apps/web-rizon/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/apps/web-rizon/public/locales/zht/accounts.json +++ b/apps/web-rizon/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/apps/web-shentu/public/locales/zht/accounts.json b/apps/web-shentu/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/apps/web-shentu/public/locales/zht/accounts.json +++ b/apps/web-shentu/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/apps/web-stride/public/locales/zht/accounts.json b/apps/web-stride/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/apps/web-stride/public/locales/zht/accounts.json +++ b/apps/web-stride/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/packages/ui/public/locales/zht/accounts.json b/packages/ui/public/locales/zht/accounts.json index 7bcfb4448f..eeb702a0c1 100644 --- a/packages/ui/public/locales/zht/accounts.json +++ b/packages/ui/public/locales/zht/accounts.json @@ -34,6 +34,5 @@ "bio": "簡介", "status": "狀態", "completionTime": "完成時間", - "joined": "創建時間 {{date}}", - "joined": "创建时间 {{date}}" +"joined": "創建時間 {{date}}" } \ No newline at end of file diff --git a/packages/ui/src/components/nav/components/desktop/components/action_bar/components/settings_list/hooks.ts b/packages/ui/src/components/nav/components/desktop/components/action_bar/components/settings_list/hooks.ts index b7d0a93ad3..2f977a787b 100644 --- a/packages/ui/src/components/nav/components/desktop/components/action_bar/components/settings_list/hooks.ts +++ b/packages/ui/src/components/nav/components/desktop/components/action_bar/components/settings_list/hooks.ts @@ -1,6 +1,7 @@ import { i18n } from 'next-i18next'; import * as R from 'ramda'; import { useCallback, useState } from 'react'; +import { useRouter } from 'next/router'; import { SetterOrUpdater, useRecoilState } from 'recoil'; import { writeDate, writeTx, writeTimeFormat } from '@/recoil/settings'; import type { Date, Tx, TimeFormat } from '@/recoil/settings'; @@ -13,6 +14,7 @@ type SettingListState = { }; export const useSettingList = ({ lang }: { lang: string }) => { + const router = useRouter(); const [date, setDate] = useRecoilState(writeDate) as [Date, SetterOrUpdater]; const [tx, setTx] = useRecoilState(writeTx) as [Tx, SetterOrUpdater]; const [time, setTimeFormat] = useRecoilState(writeTimeFormat) as [ @@ -74,6 +76,14 @@ export const useSettingList = ({ lang }: { lang: string }) => { e.preventDefault(); if (state.lang !== lang) { + router.push( + { + pathname: router.pathname, + query: router.query, + }, + router.asPath, + { locale: state.lang } + ); i18n?.changeLanguage(state.lang); } From e59c79795eae863566f8104021519142c2b3ecc5 Mon Sep 17 00:00:00 2001 From: rachelhox Date: Sun, 26 Mar 2023 19:50:16 +0800 Subject: [PATCH 09/13] transaction revamp --- packages/shared-utils/assets/icon-hash.svg | 12 +++ .../components/single_transaction/index.tsx | 85 ++++++++----------- .../components/single_transaction/styles.ts | 42 +++++++-- .../components/list/index.tsx | 18 +++- 4 files changed, 94 insertions(+), 63 deletions(-) create mode 100644 packages/shared-utils/assets/icon-hash.svg diff --git a/packages/shared-utils/assets/icon-hash.svg b/packages/shared-utils/assets/icon-hash.svg new file mode 100644 index 0000000000..6a5a5ca91a --- /dev/null +++ b/packages/shared-utils/assets/icon-hash.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/packages/ui/src/components/transactions_list_details/components/list/components/single_transaction/index.tsx b/packages/ui/src/components/transactions_list_details/components/list/components/single_transaction/index.tsx index 6f931fcd7c..71e127dc86 100644 --- a/packages/ui/src/components/transactions_list_details/components/list/components/single_transaction/index.tsx +++ b/packages/ui/src/components/transactions_list_details/components/list/components/single_transaction/index.tsx @@ -3,6 +3,8 @@ import Typography from '@mui/material/Typography'; import { useTranslation } from 'next-i18next'; import { FC, ReactNode } from 'react'; import useStyles from '@/components/transactions_list_details/components/list/components/single_transaction/styles'; +import HashIcon from 'shared-utils/assets/icon-hash.svg'; +import { formatNumber } from '@/utils/format_token'; export type SingleTransactionProps = { className?: string; @@ -18,6 +20,7 @@ export type SingleTransactionProps = { } & JSX.IntrinsicAttributes >; result?: ReactNode; + amount: number; }; const SingleTransaction: FC = ({ @@ -29,64 +32,44 @@ const SingleTransaction: FC = ({ messages, result, messageCount, + amount, }) => { const { t } = useTranslation('transactions'); const { classes, cx } = useStyles(); return ( -
-
- - {hash} - -
-
-
-
- - {t('block')} - - {block} -
-
- - {t('type')} - - {type} -
-
- - {t('time')} - - - {time} - -
-
- - {t('messages')} - - - {messageCount} - -
-
- - {t('result')} - - {result} +
+
+
+
{type}
+
+ {hash} +
+
{time}
+
+
+ {Number.isInteger(amount) ? ( +
+ {formatNumber(amount.toString())} DSM
+ ) : ( +
+ {formatNumber(amount.toString(), 6)} DSM
+ )} +
{result}
- -
-
- {messages.map((x, i) => ( - // eslint-disable-next-line react/no-array-index-key -
-
{x.type}
- {x.message} -
- ))} +
+
+
+ +
+
+ {messages.map((x, i) => ( + // eslint-disable-next-line react/no-array-index-key +
+
{x.type}
+ {x.message} +
+ ))} +
diff --git a/packages/ui/src/components/transactions_list_details/components/list/components/single_transaction/styles.ts b/packages/ui/src/components/transactions_list_details/components/list/components/single_transaction/styles.ts index fcf3fafe67..c04578bc04 100644 --- a/packages/ui/src/components/transactions_list_details/components/list/components/single_transaction/styles.ts +++ b/packages/ui/src/components/transactions_list_details/components/list/components/single_transaction/styles.ts @@ -7,19 +7,11 @@ const useStyles = makeStyles()((theme) => ({ }, timeContainer: { background: theme.palette.custom.general.surfaceTwo, - padding: theme.spacing(1, 2), color: theme.palette.custom.fonts.fontTwo, }, itemContainer: { padding: theme.spacing(2, 2, 1), }, - itemPrimaryDetailsContainer: { - display: 'grid', - gridTemplateColumns: 'repeat(2, 1fr)', - [theme.breakpoints.up('lg')]: { - gridTemplateColumns: 'repeat(4, 1fr)', - }, - }, item: { gridColumn: '1/3', marginBottom: theme.spacing(2), @@ -56,6 +48,40 @@ const useStyles = makeStyles()((theme) => ({ tags: { marginBottom: theme.spacing(2), }, + infoDiv: { + display: 'flex', + flexDirection: 'row', + alignItems: 'flex-start', + justifyContent: 'space-between', + }, + innerDiv: { + display: 'flex', + flexDirection: 'column', + alignItems: 'flex-start', + fontSize: theme.spacing(1.5), + div: { + '&:not(:last-child)': { + paddingBottom: theme.spacing(1), + }, + }, + }, + iconFlexDiv: { + display: 'flex', + flexDirection: 'row', + alignItems: 'center', + a: { + paddingRight: theme.spacing(1), + }, + }, + icon: { + width: theme.spacing(2), + height: theme.spacing(2), + fill: 'none', + }, + dsmDiv: { + fontSize: theme.spacing(2), + fontWeight: 600, + }, })); export default useStyles; diff --git a/packages/ui/src/components/transactions_list_details/components/list/index.tsx b/packages/ui/src/components/transactions_list_details/components/list/index.tsx index b69334ac09..2ebc2231f0 100644 --- a/packages/ui/src/components/transactions_list_details/components/list/index.tsx +++ b/packages/ui/src/components/transactions_list_details/components/list/index.tsx @@ -1,3 +1,4 @@ +/* eslint-disable no-nested-ternary */ import { useTranslation } from 'next-i18next'; import Link from 'next/link'; import numeral from 'numeral'; @@ -52,10 +53,9 @@ const ListItem: FC = ({ index, style, setRowHeight, isItemLoaded, ), hash: ( - {transaction.hash} - + {getMiddleEllipsis(transaction.hash, { - beginning: 15, + beginning: 5, ending: 5, })} @@ -64,13 +64,23 @@ const ListItem: FC = ({ index, style, setRowHeight, isItemLoaded, type: (
- {transaction.messages.count > 1 && ' +'}
), result: , time: formatDayJs(dayjs.utc(transaction.timestamp), dateFormat, timeFormat), messageCount: numeral(transaction.messages.count).format('0,0'), messages: transaction.messages.items.map((message) => getMessageByType(message, false, t)), + amount: transaction.messages.items + .map((message: any) => + 'amounts' in message + ? message.amounts + .map((amount: any) => parseFloat(amount.value)) + .reduce((x: any, y: any) => x + y) + : 'amount' in message + ? message.amount.amount / 1000000 + : 0 + ) + .reduce((prev, next) => prev + next), }; return (
From a9b53dbb82203ba1abbb43b20d855920d18e570d Mon Sep 17 00:00:00 2001 From: rachelhox Date: Mon, 3 Apr 2023 17:02:10 +0800 Subject: [PATCH 10/13] proposal trans value --- packages/ui/src/components/msg/governance/vote/index.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/ui/src/components/msg/governance/vote/index.tsx b/packages/ui/src/components/msg/governance/vote/index.tsx index 54fd7a0c36..0bb064f048 100644 --- a/packages/ui/src/components/msg/governance/vote/index.tsx +++ b/packages/ui/src/components/msg/governance/vote/index.tsx @@ -31,6 +31,7 @@ const Vote: FC<{ message: MsgVote }> = (props) => { components={[, , Proposal]} values={{ vote, + proposal: message.proposalId, }} /> From 439ec74d4949de8be835f172632e7e96930b133d Mon Sep 17 00:00:00 2001 From: rachelhox Date: Mon, 3 Apr 2023 17:15:45 +0800 Subject: [PATCH 11/13] message details --- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- .../public/locales/en/transactions.json | 3 +- .../public/locales/it/transactions.json | 3 +- .../public/locales/pl/transactions.json | 3 +- .../public/locales/zhs/transactions.json | 3 +- .../public/locales/zht/transactions.json | 3 +- apps/web/public/locales/en/transactions.json | 3 +- apps/web/public/locales/it/transactions.json | 3 +- apps/web/public/locales/pl/transactions.json | 3 +- apps/web/public/locales/zhs/transactions.json | 3 +- apps/web/public/locales/zht/transactions.json | 3 +- packages/shared-utils/assets/icon-expand.svg | 10 ++++ packages/shared-utils/assets/icon-message.svg | 4 ++ .../ui/public/locales/en/transactions.json | 3 +- .../ui/public/locales/it/transactions.json | 3 +- .../ui/public/locales/pl/transactions.json | 3 +- .../ui/public/locales/zhs/transactions.json | 3 +- .../ui/public/locales/zht/transactions.json | 3 +- .../msg/governance/deposit_proposal/index.tsx | 2 + .../components/single_transaction/index.tsx | 48 ++++++++++++++++--- .../components/single_transaction/styles.ts | 27 ++++++++++- .../components/list/index.tsx | 39 +++++++++++++-- 103 files changed, 313 insertions(+), 108 deletions(-) create mode 100644 packages/shared-utils/assets/icon-expand.svg create mode 100644 packages/shared-utils/assets/icon-message.svg diff --git a/apps/web-agoric/public/locales/en/transactions.json b/apps/web-agoric/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-agoric/public/locales/en/transactions.json +++ b/apps/web-agoric/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-agoric/public/locales/it/transactions.json b/apps/web-agoric/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-agoric/public/locales/it/transactions.json +++ b/apps/web-agoric/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-agoric/public/locales/pl/transactions.json b/apps/web-agoric/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-agoric/public/locales/pl/transactions.json +++ b/apps/web-agoric/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-agoric/public/locales/zhs/transactions.json b/apps/web-agoric/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-agoric/public/locales/zhs/transactions.json +++ b/apps/web-agoric/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-agoric/public/locales/zht/transactions.json b/apps/web-agoric/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-agoric/public/locales/zht/transactions.json +++ b/apps/web-agoric/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-akash/public/locales/en/transactions.json b/apps/web-akash/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-akash/public/locales/en/transactions.json +++ b/apps/web-akash/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-akash/public/locales/it/transactions.json b/apps/web-akash/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-akash/public/locales/it/transactions.json +++ b/apps/web-akash/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-akash/public/locales/pl/transactions.json b/apps/web-akash/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-akash/public/locales/pl/transactions.json +++ b/apps/web-akash/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-akash/public/locales/zhs/transactions.json b/apps/web-akash/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-akash/public/locales/zhs/transactions.json +++ b/apps/web-akash/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-akash/public/locales/zht/transactions.json b/apps/web-akash/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-akash/public/locales/zht/transactions.json +++ b/apps/web-akash/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-assetmantle/public/locales/en/transactions.json b/apps/web-assetmantle/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-assetmantle/public/locales/en/transactions.json +++ b/apps/web-assetmantle/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-assetmantle/public/locales/it/transactions.json b/apps/web-assetmantle/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-assetmantle/public/locales/it/transactions.json +++ b/apps/web-assetmantle/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-assetmantle/public/locales/pl/transactions.json b/apps/web-assetmantle/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-assetmantle/public/locales/pl/transactions.json +++ b/apps/web-assetmantle/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-assetmantle/public/locales/zhs/transactions.json b/apps/web-assetmantle/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-assetmantle/public/locales/zhs/transactions.json +++ b/apps/web-assetmantle/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-assetmantle/public/locales/zht/transactions.json b/apps/web-assetmantle/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-assetmantle/public/locales/zht/transactions.json +++ b/apps/web-assetmantle/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-band/public/locales/en/transactions.json b/apps/web-band/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-band/public/locales/en/transactions.json +++ b/apps/web-band/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-bitsong/public/locales/en/transactions.json b/apps/web-bitsong/public/locales/en/transactions.json index fbce49cf7a..8da31b82ce 100644 --- a/apps/web-bitsong/public/locales/en/transactions.json +++ b/apps/web-bitsong/public/locales/en/transactions.json @@ -36,5 +36,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-comdex/public/locales/en/transactions.json b/apps/web-comdex/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-comdex/public/locales/en/transactions.json +++ b/apps/web-comdex/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-comdex/public/locales/it/transactions.json b/apps/web-comdex/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-comdex/public/locales/it/transactions.json +++ b/apps/web-comdex/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-comdex/public/locales/pl/transactions.json b/apps/web-comdex/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-comdex/public/locales/pl/transactions.json +++ b/apps/web-comdex/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-comdex/public/locales/zhs/transactions.json b/apps/web-comdex/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-comdex/public/locales/zhs/transactions.json +++ b/apps/web-comdex/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-comdex/public/locales/zht/transactions.json b/apps/web-comdex/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-comdex/public/locales/zht/transactions.json +++ b/apps/web-comdex/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-cosmos/public/locales/en/transactions.json b/apps/web-cosmos/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-cosmos/public/locales/en/transactions.json +++ b/apps/web-cosmos/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-cosmos/public/locales/it/transactions.json b/apps/web-cosmos/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-cosmos/public/locales/it/transactions.json +++ b/apps/web-cosmos/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-cosmos/public/locales/pl/transactions.json b/apps/web-cosmos/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-cosmos/public/locales/pl/transactions.json +++ b/apps/web-cosmos/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-cosmos/public/locales/zhs/transactions.json b/apps/web-cosmos/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-cosmos/public/locales/zhs/transactions.json +++ b/apps/web-cosmos/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-cosmos/public/locales/zht/transactions.json b/apps/web-cosmos/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-cosmos/public/locales/zht/transactions.json +++ b/apps/web-cosmos/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-crescent/public/locales/en/transactions.json b/apps/web-crescent/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-crescent/public/locales/en/transactions.json +++ b/apps/web-crescent/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-desmos/public/locales/en/transactions.json b/apps/web-desmos/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-desmos/public/locales/en/transactions.json +++ b/apps/web-desmos/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-desmos/public/locales/it/transactions.json b/apps/web-desmos/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-desmos/public/locales/it/transactions.json +++ b/apps/web-desmos/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-desmos/public/locales/pl/transactions.json b/apps/web-desmos/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-desmos/public/locales/pl/transactions.json +++ b/apps/web-desmos/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-desmos/public/locales/zhs/transactions.json b/apps/web-desmos/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-desmos/public/locales/zhs/transactions.json +++ b/apps/web-desmos/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-desmos/public/locales/zht/transactions.json b/apps/web-desmos/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-desmos/public/locales/zht/transactions.json +++ b/apps/web-desmos/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-emoney/public/locales/en/transactions.json b/apps/web-emoney/public/locales/en/transactions.json index d84e02cc02..c7e87be74c 100644 --- a/apps/web-emoney/public/locales/en/transactions.json +++ b/apps/web-emoney/public/locales/en/transactions.json @@ -36,5 +36,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-evmos/public/locales/en/transactions.json b/apps/web-evmos/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-evmos/public/locales/en/transactions.json +++ b/apps/web-evmos/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-likecoin/public/locales/en/transactions.json b/apps/web-likecoin/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-likecoin/public/locales/en/transactions.json +++ b/apps/web-likecoin/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-nomic/public/locales/en/transactions.json b/apps/web-nomic/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-nomic/public/locales/en/transactions.json +++ b/apps/web-nomic/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-nomic/public/locales/it/transactions.json b/apps/web-nomic/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-nomic/public/locales/it/transactions.json +++ b/apps/web-nomic/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-nomic/public/locales/pl/transactions.json b/apps/web-nomic/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-nomic/public/locales/pl/transactions.json +++ b/apps/web-nomic/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-nomic/public/locales/zhs/transactions.json b/apps/web-nomic/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-nomic/public/locales/zhs/transactions.json +++ b/apps/web-nomic/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-nomic/public/locales/zht/transactions.json b/apps/web-nomic/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-nomic/public/locales/zht/transactions.json +++ b/apps/web-nomic/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-nym/public/locales/en/transactions.json b/apps/web-nym/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-nym/public/locales/en/transactions.json +++ b/apps/web-nym/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-nym/public/locales/it/transactions.json b/apps/web-nym/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-nym/public/locales/it/transactions.json +++ b/apps/web-nym/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-nym/public/locales/pl/transactions.json b/apps/web-nym/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-nym/public/locales/pl/transactions.json +++ b/apps/web-nym/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-nym/public/locales/zhs/transactions.json b/apps/web-nym/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-nym/public/locales/zhs/transactions.json +++ b/apps/web-nym/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-nym/public/locales/zht/transactions.json b/apps/web-nym/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-nym/public/locales/zht/transactions.json +++ b/apps/web-nym/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-osmosis/public/locales/en/transactions.json b/apps/web-osmosis/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-osmosis/public/locales/en/transactions.json +++ b/apps/web-osmosis/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-osmosis/public/locales/it/transactions.json b/apps/web-osmosis/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-osmosis/public/locales/it/transactions.json +++ b/apps/web-osmosis/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-osmosis/public/locales/pl/transactions.json b/apps/web-osmosis/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-osmosis/public/locales/pl/transactions.json +++ b/apps/web-osmosis/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-osmosis/public/locales/zhs/transactions.json b/apps/web-osmosis/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-osmosis/public/locales/zhs/transactions.json +++ b/apps/web-osmosis/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-osmosis/public/locales/zht/transactions.json b/apps/web-osmosis/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-osmosis/public/locales/zht/transactions.json +++ b/apps/web-osmosis/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-persistence/public/locales/en/transactions.json b/apps/web-persistence/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-persistence/public/locales/en/transactions.json +++ b/apps/web-persistence/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-persistence/public/locales/it/transactions.json b/apps/web-persistence/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-persistence/public/locales/it/transactions.json +++ b/apps/web-persistence/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-persistence/public/locales/pl/transactions.json b/apps/web-persistence/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-persistence/public/locales/pl/transactions.json +++ b/apps/web-persistence/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-persistence/public/locales/zhs/transactions.json b/apps/web-persistence/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-persistence/public/locales/zhs/transactions.json +++ b/apps/web-persistence/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-persistence/public/locales/zht/transactions.json b/apps/web-persistence/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-persistence/public/locales/zht/transactions.json +++ b/apps/web-persistence/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-provenance/public/locales/en/transactions.json b/apps/web-provenance/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-provenance/public/locales/en/transactions.json +++ b/apps/web-provenance/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-provenance/public/locales/it/transactions.json b/apps/web-provenance/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-provenance/public/locales/it/transactions.json +++ b/apps/web-provenance/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-provenance/public/locales/pl/transactions.json b/apps/web-provenance/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-provenance/public/locales/pl/transactions.json +++ b/apps/web-provenance/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-provenance/public/locales/zhs/transactions.json b/apps/web-provenance/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-provenance/public/locales/zhs/transactions.json +++ b/apps/web-provenance/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-provenance/public/locales/zht/transactions.json b/apps/web-provenance/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-provenance/public/locales/zht/transactions.json +++ b/apps/web-provenance/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-quasar/public/locales/en/transactions.json b/apps/web-quasar/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-quasar/public/locales/en/transactions.json +++ b/apps/web-quasar/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-quasar/public/locales/it/transactions.json b/apps/web-quasar/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-quasar/public/locales/it/transactions.json +++ b/apps/web-quasar/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-quasar/public/locales/pl/transactions.json b/apps/web-quasar/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-quasar/public/locales/pl/transactions.json +++ b/apps/web-quasar/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-quasar/public/locales/zhs/transactions.json b/apps/web-quasar/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-quasar/public/locales/zhs/transactions.json +++ b/apps/web-quasar/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-quasar/public/locales/zht/transactions.json b/apps/web-quasar/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-quasar/public/locales/zht/transactions.json +++ b/apps/web-quasar/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-quicksilver/public/locales/en/transactions.json b/apps/web-quicksilver/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-quicksilver/public/locales/en/transactions.json +++ b/apps/web-quicksilver/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-quicksilver/public/locales/it/transactions.json b/apps/web-quicksilver/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-quicksilver/public/locales/it/transactions.json +++ b/apps/web-quicksilver/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-quicksilver/public/locales/pl/transactions.json b/apps/web-quicksilver/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-quicksilver/public/locales/pl/transactions.json +++ b/apps/web-quicksilver/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-quicksilver/public/locales/zhs/transactions.json b/apps/web-quicksilver/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-quicksilver/public/locales/zhs/transactions.json +++ b/apps/web-quicksilver/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-quicksilver/public/locales/zht/transactions.json b/apps/web-quicksilver/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-quicksilver/public/locales/zht/transactions.json +++ b/apps/web-quicksilver/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-regen/public/locales/en/transactions.json b/apps/web-regen/public/locales/en/transactions.json index 54af4b9578..5c7bd3f3ba 100644 --- a/apps/web-regen/public/locales/en/transactions.json +++ b/apps/web-regen/public/locales/en/transactions.json @@ -36,5 +36,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-rizon/public/locales/en/transactions.json b/apps/web-rizon/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-rizon/public/locales/en/transactions.json +++ b/apps/web-rizon/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-rizon/public/locales/it/transactions.json b/apps/web-rizon/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-rizon/public/locales/it/transactions.json +++ b/apps/web-rizon/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-rizon/public/locales/pl/transactions.json b/apps/web-rizon/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-rizon/public/locales/pl/transactions.json +++ b/apps/web-rizon/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-rizon/public/locales/zhs/transactions.json b/apps/web-rizon/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-rizon/public/locales/zhs/transactions.json +++ b/apps/web-rizon/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-rizon/public/locales/zht/transactions.json b/apps/web-rizon/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-rizon/public/locales/zht/transactions.json +++ b/apps/web-rizon/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-shentu/public/locales/en/transactions.json b/apps/web-shentu/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-shentu/public/locales/en/transactions.json +++ b/apps/web-shentu/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-shentu/public/locales/it/transactions.json b/apps/web-shentu/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-shentu/public/locales/it/transactions.json +++ b/apps/web-shentu/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-shentu/public/locales/pl/transactions.json b/apps/web-shentu/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-shentu/public/locales/pl/transactions.json +++ b/apps/web-shentu/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-shentu/public/locales/zhs/transactions.json b/apps/web-shentu/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-shentu/public/locales/zhs/transactions.json +++ b/apps/web-shentu/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-shentu/public/locales/zht/transactions.json b/apps/web-shentu/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-shentu/public/locales/zht/transactions.json +++ b/apps/web-shentu/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-stride/public/locales/en/transactions.json b/apps/web-stride/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web-stride/public/locales/en/transactions.json +++ b/apps/web-stride/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web-stride/public/locales/it/transactions.json b/apps/web-stride/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web-stride/public/locales/it/transactions.json +++ b/apps/web-stride/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web-stride/public/locales/pl/transactions.json b/apps/web-stride/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web-stride/public/locales/pl/transactions.json +++ b/apps/web-stride/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web-stride/public/locales/zhs/transactions.json b/apps/web-stride/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web-stride/public/locales/zhs/transactions.json +++ b/apps/web-stride/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web-stride/public/locales/zht/transactions.json b/apps/web-stride/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web-stride/public/locales/zht/transactions.json +++ b/apps/web-stride/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/apps/web/public/locales/en/transactions.json b/apps/web/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/apps/web/public/locales/en/transactions.json +++ b/apps/web/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/apps/web/public/locales/it/transactions.json b/apps/web/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/apps/web/public/locales/it/transactions.json +++ b/apps/web/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/apps/web/public/locales/pl/transactions.json b/apps/web/public/locales/pl/transactions.json index 06c832e9dd..99d437ed5e 100644 --- a/apps/web/public/locales/pl/transactions.json +++ b/apps/web/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/apps/web/public/locales/zhs/transactions.json b/apps/web/public/locales/zhs/transactions.json index 49ca06b29e..dc9378982d 100644 --- a/apps/web/public/locales/zhs/transactions.json +++ b/apps/web/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/apps/web/public/locales/zht/transactions.json b/apps/web/public/locales/zht/transactions.json index 741b42e587..81445bf221 100644 --- a/apps/web/public/locales/zht/transactions.json +++ b/apps/web/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", +"messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/packages/shared-utils/assets/icon-expand.svg b/packages/shared-utils/assets/icon-expand.svg new file mode 100644 index 0000000000..b469a864eb --- /dev/null +++ b/packages/shared-utils/assets/icon-expand.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/packages/shared-utils/assets/icon-message.svg b/packages/shared-utils/assets/icon-message.svg new file mode 100644 index 0000000000..a1d305222f --- /dev/null +++ b/packages/shared-utils/assets/icon-message.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/ui/public/locales/en/transactions.json b/packages/ui/public/locales/en/transactions.json index 9834ee30b0..92e6fdc920 100644 --- a/packages/ui/public/locales/en/transactions.json +++ b/packages/ui/public/locales/en/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Feegrant", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Message ({{number}})" } diff --git a/packages/ui/public/locales/it/transactions.json b/packages/ui/public/locales/it/transactions.json index 6d491ffa87..1376f0ab8b 100644 --- a/packages/ui/public/locales/it/transactions.json +++ b/packages/ui/public/locales/it/transactions.json @@ -33,5 +33,6 @@ "authz": "Authz", "feegrant": "Pagamento delle fee", "vesting": "Vesting", - "logs": "Logs" + "logs": "Logs", + "messagesNumber": "Messaggio ({{number}})" } \ No newline at end of file diff --git a/packages/ui/public/locales/pl/transactions.json b/packages/ui/public/locales/pl/transactions.json index 06c832e9dd..77bb6b027b 100644 --- a/packages/ui/public/locales/pl/transactions.json +++ b/packages/ui/public/locales/pl/transactions.json @@ -33,5 +33,6 @@ "authz": "Autoryzacja", "feegrant": "Dotacja", "vesting": "Vesting", - "logs": "Logi" + "logs": "Logi", + "messagesNumber": "Wiadomość ({{number}})" } \ No newline at end of file diff --git a/packages/ui/public/locales/zhs/transactions.json b/packages/ui/public/locales/zhs/transactions.json index 49ca06b29e..4a3431bf4d 100644 --- a/packages/ui/public/locales/zhs/transactions.json +++ b/packages/ui/public/locales/zhs/transactions.json @@ -33,5 +33,6 @@ "authz": "授权", "feegrant": "费用拨款", "vesting": "生效中", - "logs": "日志" + "logs": "日志", + "messagesNumber": "讯息 ({{number}})" } \ No newline at end of file diff --git a/packages/ui/public/locales/zht/transactions.json b/packages/ui/public/locales/zht/transactions.json index 741b42e587..2bcaea4658 100644 --- a/packages/ui/public/locales/zht/transactions.json +++ b/packages/ui/public/locales/zht/transactions.json @@ -33,5 +33,6 @@ "authz": "授權", "feegrant": "費用授權", "vesting": "歸屬", - "logs": "記錄" + "logs": "記錄", + "messagesNumber": "訊息 ({{number}})" } \ No newline at end of file diff --git a/packages/ui/src/components/msg/governance/deposit_proposal/index.tsx b/packages/ui/src/components/msg/governance/deposit_proposal/index.tsx index d7cb505860..e9a8349c1e 100644 --- a/packages/ui/src/components/msg/governance/deposit_proposal/index.tsx +++ b/packages/ui/src/components/msg/governance/deposit_proposal/index.tsx @@ -33,6 +33,8 @@ const DepositProposal: FC<{ message: MsgDeposit }> = (props) => { const depositor = useProfileRecoil(message.depositor); const depositorMoniker = depositor ? depositor?.name : message.depositor; + console.log('proposal', message.proposalId); + return ( ; result?: ReactNode; amount: number; + rowRef: RefObject; + expandedAccordionID: number[]; + index: number; + handleExpandID: (id: number) => void; }; const SingleTransaction: FC = ({ @@ -33,12 +42,17 @@ const SingleTransaction: FC = ({ result, messageCount, amount, + rowRef, + expandedAccordionID, + handleExpandID, + index, }) => { + const { ref: heightRef, height } = useGetComponentDimension(); const { t } = useTranslation('transactions'); const { classes, cx } = useStyles(); return ( -
+
{type}
@@ -48,7 +62,7 @@ const SingleTransaction: FC = ({
{time}
-
+
{Number.isInteger(amount) ? (
+ {formatNumber(amount.toString())} DSM
) : ( @@ -58,7 +72,7 @@ const SingleTransaction: FC = ({
-
+ {/*
@@ -71,7 +85,29 @@ const SingleTransaction: FC = ({ ))}
-
+
*/} + handleExpandID(index)} + > + } aria-controls="messages"> + + {t('messagesNumber', { number: messageCount })} + + + {/*
{type}
*/} + {messages.map((x, i) => ( + // eslint-disable-next-line react/no-array-index-key +
+
{x.type}
+ {x.message} +
+ ))} +
+ {/*
*/} +
); diff --git a/packages/ui/src/components/transactions_list_details/components/list/components/single_transaction/styles.ts b/packages/ui/src/components/transactions_list_details/components/list/components/single_transaction/styles.ts index c04578bc04..7df42322e3 100644 --- a/packages/ui/src/components/transactions_list_details/components/list/components/single_transaction/styles.ts +++ b/packages/ui/src/components/transactions_list_details/components/list/components/single_transaction/styles.ts @@ -46,7 +46,7 @@ const useStyles = makeStyles()((theme) => ({ }, }, tags: { - marginBottom: theme.spacing(2), + // marginBottom: theme.spacing(2), }, infoDiv: { display: 'flex', @@ -65,6 +65,17 @@ const useStyles = makeStyles()((theme) => ({ }, }, }, + endDiv: { + display: 'flex', + flexDirection: 'column', + alignItems: 'flex-end', + fontSize: theme.spacing(1.5), + div: { + '&:not(:last-child)': { + paddingBottom: theme.spacing(1), + }, + }, + }, iconFlexDiv: { display: 'flex', flexDirection: 'row', @@ -82,6 +93,20 @@ const useStyles = makeStyles()((theme) => ({ fontSize: theme.spacing(2), fontWeight: 600, }, + accordion: { + background: theme.palette.common.black, + svg: { + fill: 'none', + }, + p: { + paddingLeft: theme.spacing(1), + }, + '.Mui-expanded': { + display: 'flex', + flexDirection: 'row', + justifyItems: 'center', + }, + }, })); export default useStyles; diff --git a/packages/ui/src/components/transactions_list_details/components/list/index.tsx b/packages/ui/src/components/transactions_list_details/components/list/index.tsx index 2ebc2231f0..7221cfe591 100644 --- a/packages/ui/src/components/transactions_list_details/components/list/index.tsx +++ b/packages/ui/src/components/transactions_list_details/components/list/index.tsx @@ -2,7 +2,7 @@ import { useTranslation } from 'next-i18next'; import Link from 'next/link'; import numeral from 'numeral'; -import { FC } from 'react'; +import { FC, useState } from 'react'; import AutoSizer from 'react-virtualized-auto-sizer'; import { ListChildComponentProps, VariableSizeList as List } from 'react-window'; import InfiniteLoader from 'react-window-infinite-loader'; @@ -26,9 +26,19 @@ type ListItemProps = Pick & { setRowHeight: Parameters[1]; isItemLoaded: TransactionsListDetailsState['isItemLoaded']; transaction: TransactionsListDetailsState['transactions'][number]; + handleExpand: (id: number) => void; + expandedAccordionID: number[]; }; -const ListItem: FC = ({ index, style, setRowHeight, isItemLoaded, transaction }) => { +const ListItem: FC = ({ + index, + style, + setRowHeight, + isItemLoaded, + transaction, + handleExpand, + expandedAccordionID, +}) => { const { rowRef } = useListRow(index, setRowHeight); const display = useDisplayStyles().classes; const { t } = useTranslation('transactions'); @@ -84,8 +94,14 @@ const ListItem: FC = ({ index, style, setRowHeight, isItemLoaded, }; return (
-
- +
+ handleExpand(index)} + index={index} + rowRef={rowRef} + />
); @@ -102,6 +118,19 @@ const TransactionList: FC = ({ const { listRef, getRowHeight, setRowHeight } = useList(); + // will move this into a custom hook, i.e., useAccordionExpand() + const [expandedAccordionIDs, setExpandedAccordionIDs] = useState([]); + + const handleExpand = (id: number) => { + let expandArr; + if (expandedAccordionIDs?.includes(id)) { + expandArr = expandedAccordionIDs?.filter((e) => e !== id); + setExpandedAccordionIDs(expandArr); + } else { + setExpandedAccordionIDs((prev) => [...prev, id]); + } + }; + return (
@@ -134,6 +163,8 @@ const TransactionList: FC = ({ setRowHeight={setRowHeight} isItemLoaded={isItemLoaded} transaction={transactions[index]} + handleExpand={() => handleExpand(index)} + expandedAccordionID={expandedAccordionIDs} /> )} From f23b5b29e73dac3663b70c922c6eb4351fd7c62e Mon Sep 17 00:00:00 2001 From: rachelhox Date: Thu, 6 Apr 2023 11:12:35 +0800 Subject: [PATCH 12/13] yarn config --- .pnp.cjs | 404 ++++++-- .pnp.loader.mjs | 6 +- ...ypescript-patch-3de7333024-5580367025.zip} | Bin 7117538 -> 7125352 bytes .yarn/releases/yarn-3.3.1.cjs | 823 ----------------- .yarn/releases/yarn-3.5.0.cjs | 873 ++++++++++++++++++ .yarn/sdks/eslint/package.json | 2 +- .yarn/sdks/prettier/package.json | 2 +- .yarn/sdks/typescript/lib/tsserver.js | 2 + .yarn/sdks/typescript/lib/tsserverlibrary.js | 2 + .yarn/sdks/typescript/package.json | 2 +- .yarnrc.yml | 16 +- .../src/graphql/types/general_types.ts | 491 +++++++++- package.json | 2 +- .../msg/governance/deposit_proposal/index.tsx | 2 - yarn.lock | 4 +- 15 files changed, 1733 insertions(+), 898 deletions(-) rename .yarn/cache/{typescript-patch-c1efb52c2e-9ec0a8eed3.zip => typescript-patch-3de7333024-5580367025.zip} (57%) delete mode 100755 .yarn/releases/yarn-3.3.1.cjs create mode 100755 .yarn/releases/yarn-3.5.0.cjs diff --git a/.pnp.cjs b/.pnp.cjs index 048c8ef5a0..24911994dc 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -202,7 +202,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lint-staged", "npm:13.2.0"],\ ["prettier", "npm:2.8.7"],\ ["turbo", "npm:1.8.8"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "linkType": "SOFT"\ }]\ @@ -7437,7 +7437,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["natural-compare-lite", "npm:1.4.0"],\ ["semver", "npm:7.3.8"],\ ["tsutils", "virtual:b97cfd882028a7c3a05911ee7806ff179325d0a1de126498dd89c3b5b0c23c900e5258c034c62e1c4caf38ff90b8f3844236c360a224bd44790d50be7c275b0b#npm:3.21.0"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -7468,7 +7468,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["natural-compare-lite", "npm:1.4.0"],\ ["semver", "npm:7.3.8"],\ ["tsutils", "virtual:b97cfd882028a7c3a05911ee7806ff179325d0a1de126498dd89c3b5b0c23c900e5258c034c62e1c4caf38ff90b8f3844236c360a224bd44790d50be7c275b0b#npm:3.21.0"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -7500,7 +7500,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@typescript-eslint/typescript-estree", "virtual:e0e93b15624d6afa2c426c0b03fea8db6fd9d9eef47fd358678d0ee569c6617e69e0b3c81720a0fe3535ca496a9bc63f4708402a10a9e5590b80c2a567aa9c2e#npm:5.57.0"],\ ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\ ["eslint", "npm:8.37.0"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -7521,7 +7521,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@typescript-eslint/typescript-estree", "virtual:e0e93b15624d6afa2c426c0b03fea8db6fd9d9eef47fd358678d0ee569c6617e69e0b3c81720a0fe3535ca496a9bc63f4708402a10a9e5590b80c2a567aa9c2e#npm:5.57.0"],\ ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\ ["eslint", "npm:8.37.0"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -7562,7 +7562,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\ ["eslint", "npm:8.37.0"],\ ["tsutils", "virtual:b97cfd882028a7c3a05911ee7806ff179325d0a1de126498dd89c3b5b0c23c900e5258c034c62e1c4caf38ff90b8f3844236c360a224bd44790d50be7c275b0b#npm:3.21.0"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -7583,7 +7583,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\ ["eslint", "npm:8.37.0"],\ ["tsutils", "virtual:b97cfd882028a7c3a05911ee7806ff179325d0a1de126498dd89c3b5b0c23c900e5258c034c62e1c4caf38ff90b8f3844236c360a224bd44790d50be7c275b0b#npm:3.21.0"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -7643,7 +7643,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["is-glob", "npm:4.0.3"],\ ["semver", "npm:7.3.8"],\ ["tsutils", "virtual:b97cfd882028a7c3a05911ee7806ff179325d0a1de126498dd89c3b5b0c23c900e5258c034c62e1c4caf38ff90b8f3844236c360a224bd44790d50be7c275b0b#npm:3.21.0"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "packagePeers": [\ "@types/typescript",\ @@ -8796,7 +8796,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lint-staged", "npm:13.2.0"],\ ["prettier", "npm:2.8.7"],\ ["turbo", "npm:1.8.8"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "linkType": "SOFT"\ }]\ @@ -10938,7 +10938,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["jest", "virtual:f7bc41586b68b5179d26bce3bfb89ba68358f8cd7c2ddff4083d94b6829a704acc2424da9379676891d28c060e6d7ef24661ff4a113dbb2daf852983923aee3a#npm:29.5.0"],\ ["react", "npm:18.2.0"],\ ["ts-jest", "virtual:f7bc41586b68b5179d26bce3bfb89ba68358f8cd7c2ddff4083d94b6829a704acc2424da9379676891d28c060e6d7ef24661ff4a113dbb2daf852983923aee3a#npm:29.1.0"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "linkType": "SOFT"\ }]\ @@ -10967,7 +10967,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["eslint-plugin-jsx-a11y", "virtual:680b866b1f607595b2b59758405cb64dff07d461aebb031486e5900d3b742457da054ab889d192b9338afd7b8895fdd9016de2dbb9d2a9b7e5b890949f153324#npm:6.7.1"],\ ["eslint-plugin-react", "virtual:680b866b1f607595b2b59758405cb64dff07d461aebb031486e5900d3b742457da054ab889d192b9338afd7b8895fdd9016de2dbb9d2a9b7e5b890949f153324#npm:7.32.2"],\ ["eslint-plugin-react-hooks", "virtual:680b866b1f607595b2b59758405cb64dff07d461aebb031486e5900d3b742457da054ab889d192b9338afd7b8895fdd9016de2dbb9d2a9b7e5b890949f153324#npm:4.6.0"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -10993,7 +10993,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["eslint-plugin-jsx-a11y", "virtual:f7bc41586b68b5179d26bce3bfb89ba68358f8cd7c2ddff4083d94b6829a704acc2424da9379676891d28c060e6d7ef24661ff4a113dbb2daf852983923aee3a#npm:6.7.1"],\ ["eslint-plugin-react", "virtual:f7bc41586b68b5179d26bce3bfb89ba68358f8cd7c2ddff4083d94b6829a704acc2424da9379676891d28c060e6d7ef24661ff4a113dbb2daf852983923aee3a#npm:7.32.2"],\ ["eslint-plugin-react-hooks", "virtual:f7bc41586b68b5179d26bce3bfb89ba68358f8cd7c2ddff4083d94b6829a704acc2424da9379676891d28c060e6d7ef24661ff4a113dbb2daf852983923aee3a#npm:4.6.0"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -13967,7 +13967,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["jest", "virtual:f7bc41586b68b5179d26bce3bfb89ba68358f8cd7c2ddff4083d94b6829a704acc2424da9379676891d28c060e6d7ef24661ff4a113dbb2daf852983923aee3a#npm:29.5.0"],\ ["ts-jest", "virtual:f7bc41586b68b5179d26bce3bfb89ba68358f8cd7c2ddff4083d94b6829a704acc2424da9379676891d28c060e6d7ef24661ff4a113dbb2daf852983923aee3a#npm:29.1.0"],\ ["tsconfig", "workspace:packages/tsconfig"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "linkType": "SOFT"\ }]\ @@ -17721,7 +17721,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["react", "npm:18.2.0"],\ ["react-dom", "virtual:5684e10df0b0d4ceda81e7a49e1dce0cdeefe64f7cf73f6b65bae6b36056a2c8afe7954893d9e8e0af41d3fa80eeeeb8dbad164e06bfc993741bc538f79f2b2b#npm:18.2.0"],\ ["ts-jest", "virtual:f7bc41586b68b5179d26bce3bfb89ba68358f8cd7c2ddff4083d94b6829a704acc2424da9379676891d28c060e6d7ef24661ff4a113dbb2daf852983923aee3a#npm:29.1.0"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "linkType": "SOFT"\ }]\ @@ -18740,7 +18740,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash.memoize", "npm:4.1.2"],\ ["make-error", "npm:1.3.6"],\ ["semver", "npm:7.3.8"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["yargs-parser", "npm:21.1.1"]\ ],\ "packagePeers": [\ @@ -18781,7 +18781,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash.memoize", "npm:4.1.2"],\ ["make-error", "npm:1.3.6"],\ ["semver", "npm:7.3.8"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["yargs-parser", "npm:21.1.1"]\ ],\ "packagePeers": [\ @@ -18875,7 +18875,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["create-require", "npm:1.1.1"],\ ["diff", "npm:4.0.2"],\ ["make-error", "npm:1.3.6"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["v8-compile-cache-lib", "npm:3.0.1"],\ ["yn", "npm:3.1.1"]\ ],\ @@ -19056,7 +19056,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsutils", "virtual:b97cfd882028a7c3a05911ee7806ff179325d0a1de126498dd89c3b5b0c23c900e5258c034c62e1c4caf38ff90b8f3844236c360a224bd44790d50be7c275b0b#npm:3.21.0"],\ ["@types/typescript", null],\ ["tslib", "npm:1.14.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "packagePeers": [\ "@types/typescript",\ @@ -19247,10 +19247,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["typescript", [\ - ["patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954", {\ - "packageLocation": "./.yarn/cache/typescript-patch-c1efb52c2e-9ec0a8eed3.zip/node_modules/typescript/",\ + ["patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82", {\ + "packageLocation": "./.yarn/cache/typescript-patch-3de7333024-5580367025.zip/node_modules/typescript/",\ "packageDependencies": [\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"]\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"]\ ],\ "linkType": "HARD"\ }]\ @@ -19371,7 +19371,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ ["xss", "npm:1.0.14"],\ @@ -19832,7 +19832,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -19949,7 +19949,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -20066,7 +20066,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -20183,7 +20183,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -20300,7 +20300,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -20417,7 +20417,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -20538,7 +20538,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["wabt", "npm:1.0.32"],\ @@ -20656,7 +20656,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -20773,7 +20773,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -20890,7 +20890,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -21007,7 +21007,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -21124,7 +21124,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -21241,7 +21241,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -21352,7 +21352,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -21469,7 +21469,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -21586,7 +21586,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -21703,7 +21703,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -21824,7 +21824,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["wabt", "npm:1.0.32"],\ @@ -21942,7 +21942,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -22059,7 +22059,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -22176,7 +22176,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -22293,7 +22293,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -22410,7 +22410,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -22527,7 +22527,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -22660,7 +22660,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsconfig", "workspace:packages/tsconfig"],\ ["tss-react", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:4.8.2"],\ ["typanion", "npm:3.12.1"],\ - ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ad5954"],\ + ["typescript", "patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=85af82"],\ ["ui", "workspace:packages/ui"],\ ["usehooks-ts", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:2.9.1"],\ ["ws", "virtual:9dce388d82c018b4a7af5edc7243e51f7023d1ab93a923b3959d0066ac6881c93b965a0932486426cbefa96c9c8e47849d5ff541d2404b8aca246480fa32f0d2#npm:8.13.0"],\ @@ -24667,7 +24667,7 @@ const DEFAULT_COMPRESSION_LEVEL = `mixed`; function toUnixTimestamp(time) { if (typeof time === `string` && String(+time) === time) return +time; - if (Number.isFinite(time)) { + if (typeof time === `number` && Number.isFinite(time)) { if (time < 0) { return Date.now() / 1e3; } else { @@ -24819,6 +24819,10 @@ class ZipFS extends BasePortableFakeFS { this.prepareClose(); if (!this.lzSource) throw new Error(`ZipFS was not created from a Buffer`); + if (this.entries.size === 0) { + this.discardAndClose(); + return makeEmptyArchive(); + } try { this.libzip.source.keep(this.lzSource); if (this.libzip.close(this.zip) === -1) @@ -25245,7 +25249,7 @@ class ZipFS extends BasePortableFakeFS { resolvedP = ppath.resolve(parentP, ppath.basename(resolvedP)); if (!resolveLastComponent || this.symlinkCount === 0) break; - const index = this.libzip.name.locate(this.zip, resolvedP.slice(1)); + const index = this.libzip.name.locate(this.zip, resolvedP.slice(1), 0); if (index === -1) break; if (this.isSymbolicLink(index)) { @@ -25270,7 +25274,7 @@ class ZipFS extends BasePortableFakeFS { allocateUnattachedSource(content) { const error = this.libzip.struct.errorS(); const { buffer, byteLength } = this.allocateBuffer(content); - const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, true, error); + const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, 1, error); if (source === 0) { this.libzip.free(error); throw this.makeLibzipError(error); @@ -25279,7 +25283,7 @@ class ZipFS extends BasePortableFakeFS { } allocateSource(content) { const { buffer, byteLength } = this.allocateBuffer(content); - const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, true); + const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, 1); if (source === 0) { this.libzip.free(buffer); throw this.makeLibzipError(this.libzip.getError(this.zip)); @@ -31713,7 +31717,7 @@ const makeInterface = (libzip) => ({ locate: libzip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`]) }, source: { - fromUnattachedBuffer: libzip.cwrap(`zip_source_buffer_create`, `number`, [`number`, `number`, `number`, `number`]), + fromUnattachedBuffer: libzip.cwrap(`zip_source_buffer_create`, `number`, [`number`, ...number64, `number`, `number`]), fromBuffer: libzip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]), free: libzip.cwrap(`zip_source_free`, null, [`number`]), keep: libzip.cwrap(`zip_source_keep`, null, [`number`]), @@ -31800,7 +31804,7 @@ function getPathForDisplay(p) { } const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); -const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2; +const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; const builtinModules = new Set(require$$0.Module.builtinModules || Object.keys(process.binding(`natives`))); const isBuiltinModule = (request) => request.startsWith(`node:`) || builtinModules.has(request); @@ -32717,6 +32721,291 @@ function packageImportsResolve({ throwImportNotDefined(name, packageJSONUrl, base); } +const flagSymbol = Symbol('arg flag'); + +class ArgError extends Error { + constructor(msg, code) { + super(msg); + this.name = 'ArgError'; + this.code = code; + + Object.setPrototypeOf(this, ArgError.prototype); + } +} + +function arg( + opts, + { + argv = process.argv.slice(2), + permissive = false, + stopAtPositional = false + } = {} +) { + if (!opts) { + throw new ArgError( + 'argument specification object is required', + 'ARG_CONFIG_NO_SPEC' + ); + } + + const result = { _: [] }; + + const aliases = {}; + const handlers = {}; + + for (const key of Object.keys(opts)) { + if (!key) { + throw new ArgError( + 'argument key cannot be an empty string', + 'ARG_CONFIG_EMPTY_KEY' + ); + } + + if (key[0] !== '-') { + throw new ArgError( + `argument key must start with '-' but found: '${key}'`, + 'ARG_CONFIG_NONOPT_KEY' + ); + } + + if (key.length === 1) { + throw new ArgError( + `argument key must have a name; singular '-' keys are not allowed: ${key}`, + 'ARG_CONFIG_NONAME_KEY' + ); + } + + if (typeof opts[key] === 'string') { + aliases[key] = opts[key]; + continue; + } + + let type = opts[key]; + let isFlag = false; + + if ( + Array.isArray(type) && + type.length === 1 && + typeof type[0] === 'function' + ) { + const [fn] = type; + type = (value, name, prev = []) => { + prev.push(fn(value, name, prev[prev.length - 1])); + return prev; + }; + isFlag = fn === Boolean || fn[flagSymbol] === true; + } else if (typeof type === 'function') { + isFlag = type === Boolean || type[flagSymbol] === true; + } else { + throw new ArgError( + `type missing or not a function or valid array type: ${key}`, + 'ARG_CONFIG_VAD_TYPE' + ); + } + + if (key[1] !== '-' && key.length > 2) { + throw new ArgError( + `short argument keys (with a single hyphen) must have only one character: ${key}`, + 'ARG_CONFIG_SHORTOPT_TOOLONG' + ); + } + + handlers[key] = [type, isFlag]; + } + + for (let i = 0, len = argv.length; i < len; i++) { + const wholeArg = argv[i]; + + if (stopAtPositional && result._.length > 0) { + result._ = result._.concat(argv.slice(i)); + break; + } + + if (wholeArg === '--') { + result._ = result._.concat(argv.slice(i + 1)); + break; + } + + if (wholeArg.length > 1 && wholeArg[0] === '-') { + /* eslint-disable operator-linebreak */ + const separatedArguments = + wholeArg[1] === '-' || wholeArg.length === 2 + ? [wholeArg] + : wholeArg + .slice(1) + .split('') + .map((a) => `-${a}`); + /* eslint-enable operator-linebreak */ + + for (let j = 0; j < separatedArguments.length; j++) { + const arg = separatedArguments[j]; + const [originalArgName, argStr] = + arg[1] === '-' ? arg.split(/=(.*)/, 2) : [arg, undefined]; + + let argName = originalArgName; + while (argName in aliases) { + argName = aliases[argName]; + } + + if (!(argName in handlers)) { + if (permissive) { + result._.push(arg); + continue; + } else { + throw new ArgError( + `unknown or unexpected option: ${originalArgName}`, + 'ARG_UNKNOWN_OPTION' + ); + } + } + + const [type, isFlag] = handlers[argName]; + + if (!isFlag && j + 1 < separatedArguments.length) { + throw new ArgError( + `option requires argument (but was followed by another short argument): ${originalArgName}`, + 'ARG_MISSING_REQUIRED_SHORTARG' + ); + } + + if (isFlag) { + result[argName] = type(true, argName, result[argName]); + } else if (argStr === undefined) { + if ( + argv.length < i + 2 || + (argv[i + 1].length > 1 && + argv[i + 1][0] === '-' && + !( + argv[i + 1].match(/^-?\d*(\.(?=\d))?\d*$/) && + (type === Number || + // eslint-disable-next-line no-undef + (typeof BigInt !== 'undefined' && type === BigInt)) + )) + ) { + const extended = + originalArgName === argName ? '' : ` (alias for ${argName})`; + throw new ArgError( + `option requires argument: ${originalArgName}${extended}`, + 'ARG_MISSING_REQUIRED_LONGARG' + ); + } + + result[argName] = type(argv[i + 1], argName, result[argName]); + ++i; + } else { + result[argName] = type(argStr, argName, result[argName]); + } + } + } else { + result._.push(wholeArg); + } + } + + return result; +} + +arg.flag = (fn) => { + fn[flagSymbol] = true; + return fn; +}; + +// Utility types +arg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1); + +// Expose error class +arg.ArgError = ArgError; + +var arg_1 = arg; + +/** + @license + The MIT License (MIT) + + Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ +function getOptionValue(opt) { + parseOptions(); + return options[opt]; +} +let options; +function parseOptions() { + if (!options) { + options = { + "--conditions": [], + ...parseArgv(getNodeOptionsEnvArgv()), + ...parseArgv(process.execArgv) + }; + } +} +function parseArgv(argv) { + return arg_1( + { + "--conditions": [String], + "-C": "--conditions" + }, + { + argv, + permissive: true + } + ); +} +function getNodeOptionsEnvArgv() { + const errors = []; + const envArgv = ParseNodeOptionsEnvVar(process.env.NODE_OPTIONS || "", errors); + if (errors.length !== 0) ; + return envArgv; +} +function ParseNodeOptionsEnvVar(node_options, errors) { + const env_argv = []; + let is_in_string = false; + let will_start_new_arg = true; + for (let index = 0; index < node_options.length; ++index) { + let c = node_options[index]; + if (c === "\\" && is_in_string) { + if (index + 1 === node_options.length) { + errors.push("invalid value for NODE_OPTIONS (invalid escape)\n"); + return env_argv; + } else { + c = node_options[++index]; + } + } else if (c === " " && !is_in_string) { + will_start_new_arg = true; + continue; + } else if (c === '"') { + is_in_string = !is_in_string; + continue; + } + if (will_start_new_arg) { + env_argv.push(c); + will_start_new_arg = false; + } else { + env_argv[env_argv.length - 1] += c; + } + } + if (is_in_string) { + errors.push("invalid value for NODE_OPTIONS (unterminated string)\n"); + } + return env_argv; +} + function makeApi(runtimeState, opts) { const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0; const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); @@ -32830,7 +33119,12 @@ function makeApi(runtimeState, opts) { return true; return false; } - const defaultExportsConditions = /* @__PURE__ */ new Set([`default`, `node`, `require`]); + const defaultExportsConditions = /* @__PURE__ */ new Set([ + `default`, + `node`, + `require`, + ...getOptionValue(`--conditions`) + ]); function applyNodeExportsResolution(unqualifiedPath, conditions = defaultExportsConditions) { const locator = findPackageLocator(ppath.join(unqualifiedPath, `internal.js`), { resolveIgnored: true, @@ -33320,7 +33614,7 @@ ${candidates.map((candidate) => `Not found: ${getPathForDisplay(candidate)} conditions: (_a = opts2.conditions) != null ? _a : defaultExportsConditions, readFileSyncFn: tryReadFile }); - if (resolved instanceof URL) { + if (resolved instanceof url.URL) { return resolveUnqualified(npath.toPortablePath(url.fileURLToPath(resolved)), { extensions: opts2.extensions }); } else { if (resolved.startsWith(`#`)) diff --git a/.pnp.loader.mjs b/.pnp.loader.mjs index 78226f53e7..057766a056 100644 --- a/.pnp.loader.mjs +++ b/.pnp.loader.mjs @@ -1332,7 +1332,7 @@ const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt( const HAS_CONSOLIDATED_HOOKS = major > 16 || major === 16 && minor >= 12; const HAS_UNFLAGGED_JSON_MODULES = major > 17 || major === 17 && minor >= 5 || major === 16 && minor >= 15; const HAS_JSON_IMPORT_ASSERTION_REQUIREMENT = major > 17 || major === 17 && minor >= 1 || major === 16 && minor > 14; -const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2; +const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; const builtinModules = new Set(Module.builtinModules || Object.keys(process.binding(`natives`))); const isBuiltinModule = (request) => request.startsWith(`node:`) || builtinModules.has(request); @@ -1946,7 +1946,7 @@ async function resolvePrivateRequest(specifier, issuer, context, nextResolve) { conditions: new Set(context.conditions), readFileSyncFn: tryReadFile }); - if (resolved instanceof URL) { + if (resolved instanceof URL$1) { return { url: resolved.href, shortCircuit: true }; } else { if (resolved.startsWith(`#`)) @@ -1977,7 +1977,7 @@ async function resolve$1(originalSpecifier, context, nextResolve) { let allowLegacyResolve = false; if (dependencyNameMatch) { const [, dependencyName, subPath] = dependencyNameMatch; - if (subPath === ``) { + if (subPath === `` && dependencyName !== `pnpapi`) { const resolved = pnpapi.resolveToUnqualified(`${dependencyName}/package.json`, issuer); if (resolved) { const content = await tryReadFile$1(resolved); diff --git a/.yarn/cache/typescript-patch-c1efb52c2e-9ec0a8eed3.zip b/.yarn/cache/typescript-patch-3de7333024-5580367025.zip similarity index 57% rename from .yarn/cache/typescript-patch-c1efb52c2e-9ec0a8eed3.zip rename to .yarn/cache/typescript-patch-3de7333024-5580367025.zip index ae4abb4a91f714eb11af09806f7a4534dfa0eab6..eb3c103300ab010e0de2dea2f6b232d996558850 100644 GIT binary patch delta 4721430 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