From 06daa0e336e91b8ae46d64cd8bab79a26e5bc79f Mon Sep 17 00:00:00 2001 From: Nero978 Date: Sat, 22 Aug 2026 16:09:00 +0800 Subject: [PATCH 01/33] feat(navbar): ensure nav-bar width and box-sizing are set correctly --- src/components/NavBar.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/NavBar.vue b/src/components/NavBar.vue index 8df3d4c..bf3519d 100644 --- a/src/components/NavBar.vue +++ b/src/components/NavBar.vue @@ -93,6 +93,8 @@ const authStore = useAuthStore() } .nav-bar { + width: 100%; + box-sizing: border-box; background-color: transparent; } From a1862f2f04f434d7ca9e44318b02bd568d010d42 Mon Sep 17 00:00:00 2001 From: Nero978 Date: Sat, 22 Aug 2026 16:34:29 +0800 Subject: [PATCH 02/33] feat(layout): restructure AppLayout component with NavBar and SiderBar integration --- src/layouts/AppLayout.vue | 42 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/src/layouts/AppLayout.vue b/src/layouts/AppLayout.vue index eeeb97d..28417a0 100644 --- a/src/layouts/AppLayout.vue +++ b/src/layouts/AppLayout.vue @@ -1,4 +1,42 @@ + + + + From b2843957852357659713aa13d61bf073ce4aef34 Mon Sep 17 00:00:00 2001 From: Nero978 Date: Sat, 22 Aug 2026 16:34:55 +0800 Subject: [PATCH 03/33] feat(SiderBar): add SiderBar component with dynamic menu items and route-based selection --- src/components/SiderBar.vue | 61 +++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/components/SiderBar.vue diff --git a/src/components/SiderBar.vue b/src/components/SiderBar.vue new file mode 100644 index 0000000..87febd8 --- /dev/null +++ b/src/components/SiderBar.vue @@ -0,0 +1,61 @@ + + + + + From b7c3658488ef09c80f5d08482864b82a62fa51f7 Mon Sep 17 00:00:00 2001 From: Nero978 Date: Sat, 22 Aug 2026 16:38:29 +0800 Subject: [PATCH 04/33] feat(i18n): add menu translations for dashboard, account, records, and send in English, Simplified Chinese, and Traditional Chinese --- src/i18n/locales/en-US.json | 6 ++++++ src/i18n/locales/zh-CN.json | 6 ++++++ src/i18n/locales/zh-TW.json | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index 9616bfe..b97125b 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json @@ -243,5 +243,11 @@ "failedVerify": "Failed to verify.", "success": "Login success" } + }, + "menu": { + "dashboard": "Dashboard", + "account": "Account", + "records": "Records", + "send": "Send" } } diff --git a/src/i18n/locales/zh-CN.json b/src/i18n/locales/zh-CN.json index 91f2c94..a176693 100644 --- a/src/i18n/locales/zh-CN.json +++ b/src/i18n/locales/zh-CN.json @@ -241,5 +241,11 @@ "failedVerify": "验证失败。", "success": "登录成功" } + }, + "menu": { + "dashboard": "仪表板", + "account": "帐户", + "records": "交易记录", + "send": "发起交易" } } diff --git a/src/i18n/locales/zh-TW.json b/src/i18n/locales/zh-TW.json index 9feb361..db88544 100644 --- a/src/i18n/locales/zh-TW.json +++ b/src/i18n/locales/zh-TW.json @@ -241,5 +241,11 @@ "failedVerify": "驗證失敗。", "success": "登入成功" } + }, + "menu": { + "dashboard": "儀表板", + "account": "帳戶", + "records": "交易記錄", + "send": "發起交易" } } From 40fe7e9b8ced3d98eb36152b6479c6a27d032781 Mon Sep 17 00:00:00 2001 From: Nero978 Date: Sat, 22 Aug 2026 16:38:37 +0800 Subject: [PATCH 05/33] fix(NavBar): correct size binding for user avatar component --- src/components/NavBar.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/NavBar.vue b/src/components/NavBar.vue index bf3519d..8e5d4c8 100644 --- a/src/components/NavBar.vue +++ b/src/components/NavBar.vue @@ -29,7 +29,7 @@ :max-height="400" direction="left" > - + From 17c8689e77997da780514080d6e5d70f5e3dbc5a Mon Sep 17 00:00:00 2001 From: Nero978 Date: Sat, 22 Aug 2026 16:43:35 +0800 Subject: [PATCH 06/33] fix(SiderBar): correct binding for selected menu item and fix variable name typo --- src/components/SiderBar.vue | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/components/SiderBar.vue b/src/components/SiderBar.vue index 87febd8..076c74a 100644 --- a/src/components/SiderBar.vue +++ b/src/components/SiderBar.vue @@ -1,7 +1,7 @@ + + +
+ +
+
diff --git a/src/components/PageFooter.vue b/src/components/PageFooter.vue index b150bd0..68f49f4 100644 --- a/src/components/PageFooter.vue +++ b/src/components/PageFooter.vue @@ -26,17 +26,7 @@
@@ -46,14 +36,10 @@ diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index 0fb0429..d3673eb 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json @@ -299,7 +299,8 @@ }, "item": { "logout": "Logout", - "dashboard": "Dashboard" + "dashboard": "Dashboard", + "language": "Language" } }, "notFound": { diff --git a/src/i18n/locales/zh-CN.json b/src/i18n/locales/zh-CN.json index 67055d2..ea3e733 100644 --- a/src/i18n/locales/zh-CN.json +++ b/src/i18n/locales/zh-CN.json @@ -299,7 +299,8 @@ }, "item": { "logout": "注销", - "dashboard": "仪表板" + "dashboard": "仪表板", + "language": "语言" } }, "notFound": { diff --git a/src/i18n/locales/zh-TW.json b/src/i18n/locales/zh-TW.json index 1337e7c..faa8843 100644 --- a/src/i18n/locales/zh-TW.json +++ b/src/i18n/locales/zh-TW.json @@ -299,7 +299,8 @@ }, "item": { "logout": "註銷", - "dashboard": "儀表板" + "dashboard": "儀表板", + "language": "語言" } }, "notFound": { From e401bd1bd34e77d18a15967cb58c0a0473b090ae Mon Sep 17 00:00:00 2001 From: Nero978 Date: Sun, 23 Aug 2026 01:26:20 +0800 Subject: [PATCH 21/33] feat(AccountView): center-align text in summary title --- src/views/AccountView.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/AccountView.vue b/src/views/AccountView.vue index a022d9c..50449a3 100644 --- a/src/views/AccountView.vue +++ b/src/views/AccountView.vue @@ -257,6 +257,7 @@ async function copyField(value, label) { margin: 0; font: var(--td-font-title-large); color: var(--td-text-color-primary); + text-align: center; } .summary__meta { From 102d5981e6cf5af4965c0f0c38530d71dd5398e8 Mon Sep 17 00:00:00 2001 From: Nero978 Date: Sun, 23 Aug 2026 02:46:02 +0800 Subject: [PATCH 22/33] feat(DashboardView): enhance dashboard layout with grid system and loading states for overview data --- src/views/DashboardView.vue | 421 +++++++++++++++++++++--------------- 1 file changed, 249 insertions(+), 172 deletions(-) diff --git a/src/views/DashboardView.vue b/src/views/DashboardView.vue index 67cd69a..c0d3f74 100644 --- a/src/views/DashboardView.vue +++ b/src/views/DashboardView.vue @@ -7,83 +7,150 @@

{{ t('dashboard.subtitle') }}

-
-
-
{{ t('dashboard.forecast.title') }}
- - - - - -
-

{{ t('dashboard.forecast.desc') }}

- -
-
- - - - - {{ t('dashboard.forecast.active') }} - +
+
+
+
+ {{ t('dashboard.forecast.title') }} +
+ + + + +
+

{{ t('dashboard.forecast.desc') }}

-
-
- - {{ t('dashboard.forecast.windowId') }} +
+
+ + - {{ forecast.windowId ?? '-' }} -
-
- - {{ t('dashboard.forecast.settlementBlock') }} + + {{ t('dashboard.forecast.active') }} - {{ forecast.settlementBlock ?? '-' }}
-
- - {{ t('dashboard.forecast.blocksRemaining') }} - - - - - + +
+
+ + {{ t('dashboard.forecast.windowId') }} + + + + + {{ forecast.windowId ?? '-' }} +
+
+ + {{ t('dashboard.forecast.settlementBlock') }} + + + + + {{ forecast.settlementBlock ?? '-' }} +
+
+ + {{ t('dashboard.forecast.blocksRemaining') }} + + + + + + + + +
+ +
- -
+
+
+
+ {{ t('dashboard.walletBalances.title') }} +
+ + + + + +
+

{{ t('dashboard.walletBalances.desc') }}

+ + + +
    +
  • + {{ + item.asset.name || formatAsset(item.asset) + }} + + + {{ t('dashboard.walletBalances.balance') }}: {{ formatAmount(item.amount) }} + {{ item.asset.symbol }} + + +
  • +
+ +
-
-
{{ t('dashboard.netPositions.title') }}
+
+ {{ t('dashboard.netPositions.title') }} +