diff --git a/apps/web/src/components/settings-sidebar/index.vue b/apps/web/src/components/settings-sidebar/index.vue index ab21904c..aef7f5fd 100644 --- a/apps/web/src/components/settings-sidebar/index.vue +++ b/apps/web/src/components/settings-sidebar/index.vue @@ -52,7 +52,7 @@ import { computed, type Component } from 'vue' import { storeToRefs } from 'pinia' import { useRouter, useRoute } from 'vue-router' import { useI18n } from 'vue-i18n' -import { ChevronLeft, Bot, Boxes, Globe, Brain, Volume2, Mail, AppWindow, ChartLine, User, Store } from 'lucide-vue-next' +import { ChevronLeft, Bot, Boxes, Globe, Brain, Volume2, Mail, AppWindow, ChartLine, User, Store, Info } from 'lucide-vue-next' import { useChatSelectionStore } from '@/store/chat-selection' import { Sidebar, @@ -143,5 +143,10 @@ const navItems = computed<{ title: string; name: string; icon: Component }[]>(() name: 'profile', icon: User, }, + { + title: t('sidebar.about'), + name: 'about', + icon: Info, + }, ]) diff --git a/apps/web/src/i18n/locales/en.json b/apps/web/src/i18n/locales/en.json index c5cd4034..df51d546 100644 --- a/apps/web/src/i18n/locales/en.json +++ b/apps/web/src/i18n/locales/en.json @@ -70,7 +70,8 @@ "platform": "Platform", "usage": "Usage", "browser": "Browser", - "supermarket": "Supermarket" + "supermarket": "Supermarket", + "about": "About" }, "breadcrumb": { "main": "Home" @@ -128,6 +129,18 @@ "versionTag": "v{version}", "commitHash": "Commit" }, + "about": { + "checkForUpdates": "Check for Updates", + "checking": "Checking...", + "upToDate": "You are up to date", + "newVersionAvailable": "New version available: v{version}", + "releaseNotes": "Release Notes", + "viewOnGitHub": "View on GitHub", + "checkFailed": "Failed to check for updates", + "github": "GitHub", + "docs": "Docs", + "feedback": "Feedback" + }, "chat": { "greeting": "Hi! How can I help you today?", "selectBot": "Select a Bot", diff --git a/apps/web/src/i18n/locales/zh.json b/apps/web/src/i18n/locales/zh.json index 1c20aa2b..9b0fb62d 100644 --- a/apps/web/src/i18n/locales/zh.json +++ b/apps/web/src/i18n/locales/zh.json @@ -70,7 +70,8 @@ "platform": "接入平台", "usage": "用量统计", "browser": "浏览器", - "supermarket": "市场" + "supermarket": "市场", + "about": "关于" }, "breadcrumb": { "main": "主页" @@ -124,6 +125,18 @@ "versionTag": "v{version}", "commitHash": "提交" }, + "about": { + "checkForUpdates": "检查更新", + "checking": "检查中...", + "upToDate": "已是最新版本", + "newVersionAvailable": "发现新版本: v{version}", + "releaseNotes": "更新日志", + "viewOnGitHub": "在 GitHub 上查看", + "checkFailed": "检查更新失败", + "github": "GitHub", + "docs": "文档", + "feedback": "反馈" + }, "chat": { "greeting": "你好!有什么我可以帮你的吗?", "selectBot": "选择一个 Bot", diff --git a/apps/web/src/pages/about/index.vue b/apps/web/src/pages/about/index.vue new file mode 100644 index 00000000..d5e26203 --- /dev/null +++ b/apps/web/src/pages/about/index.vue @@ -0,0 +1,185 @@ + + + diff --git a/apps/web/src/pages/profile/index.vue b/apps/web/src/pages/profile/index.vue index 27166a54..1e7e522d 100644 --- a/apps/web/src/pages/profile/index.vue +++ b/apps/web/src/pages/profile/index.vue @@ -188,26 +188,6 @@ @generate="onGenerateBindCode" @copy="copyBindCode" /> - - -
- -
- {{ $t('settings.version') }} - - {{ $t('settings.versionTag', { version: serverVersion }) }} - - - {{ commitHash }} - -
-
@@ -243,7 +223,6 @@ import { client } from '@memohai/sdk/client' import type { AccountsAccount, AccountsUpdateProfileRequest, AccountsUpdatePasswordRequest, IdentitiesChannelIdentity } from '@memohai/sdk' import { useUserStore } from '@/store/user' import { useSettingsStore } from '@/store/settings' -import { useCapabilitiesStore } from '@/store/capabilities' import type { Locale } from '@/i18n' import { resolveApiErrorMessage } from '@/utils/api-error' import { formatDateTime } from '@/utils/date-time' @@ -271,10 +250,6 @@ const settingsStore = useSettingsStore() const { language, theme } = storeToRefs(settingsStore) const { setLanguage, setTheme } = settingsStore -// ---- Server version ---- -const capabilitiesStore = useCapabilitiesStore() -const { serverVersion, commitHash } = storeToRefs(capabilitiesStore) - // ---- User data ---- const account = ref(null) const identities = ref([]) diff --git a/apps/web/src/router.ts b/apps/web/src/router.ts index 7a50eeb7..5926afb9 100644 --- a/apps/web/src/router.ts +++ b/apps/web/src/router.ts @@ -137,6 +137,14 @@ const routes = [ breadcrumb: i18nRef('sidebar.supermarket'), }, }, + { + name: 'about', + path: 'about', + component: () => import('@/pages/about/index.vue'), + meta: { + breadcrumb: i18nRef('sidebar.about'), + }, + }, ], }, {