From fc373bccf24fd519c702b01aaa7ebecab07fe698 Mon Sep 17 00:00:00 2001 From: digua Date: Tue, 11 Aug 2026 10:20:57 +0800 Subject: [PATCH] feat(ui): add internal UI primitives --- apps/web-wasm/src/App.vue | 8 +- src/App.vue | 8 +- src/components/UI/LoadingState.vue | 3 +- src/components/UI/StatCard.vue | 3 +- src/components/UI/index.ts | 1 + src/components/UI/primitives/UiBadge.vue | 52 ++++++++++ .../UI/primitives/UiButton.ssr.test.ts | 90 +++++++++++++++++ src/components/UI/primitives/UiButton.vue | 91 +++++++++++++++++ src/components/UI/primitives/UiIcon.vue | 36 +++++++ src/components/UI/primitives/UiIconButton.vue | 54 +++++++++++ src/components/UI/primitives/UiProgress.vue | 97 +++++++++++++++++++ src/components/UI/primitives/UiTooltip.vue | 26 +++++ src/components/UI/primitives/index.ts | 8 ++ .../UI/primitives/nuxt-ui-adapter.ts | 16 +++ .../UI/primitives/primitive-contracts.test.ts | 71 ++++++++++++++ .../UI/primitives/primitive-contracts.ts | 67 +++++++++++++ src/components/UI/primitives/types.ts | 9 ++ .../common/Settings/SettingsDialogShell.vue | 12 +-- .../navigation/NavigationTabsBase.vue | 3 +- src/components/navigation/PageTabs.vue | 3 +- 20 files changed, 637 insertions(+), 21 deletions(-) create mode 100644 src/components/UI/primitives/UiBadge.vue create mode 100644 src/components/UI/primitives/UiButton.ssr.test.ts create mode 100644 src/components/UI/primitives/UiButton.vue create mode 100644 src/components/UI/primitives/UiIcon.vue create mode 100644 src/components/UI/primitives/UiIconButton.vue create mode 100644 src/components/UI/primitives/UiProgress.vue create mode 100644 src/components/UI/primitives/UiTooltip.vue create mode 100644 src/components/UI/primitives/index.ts create mode 100644 src/components/UI/primitives/nuxt-ui-adapter.ts create mode 100644 src/components/UI/primitives/primitive-contracts.test.ts create mode 100644 src/components/UI/primitives/primitive-contracts.ts create mode 100644 src/components/UI/primitives/types.ts diff --git a/apps/web-wasm/src/App.vue b/apps/web-wasm/src/App.vue index 7a0e71da..454bf63a 100644 --- a/apps/web-wasm/src/App.vue +++ b/apps/web-wasm/src/App.vue @@ -14,7 +14,7 @@ import { reportError } from '@/services/log-report' import { useLayoutStore } from '@/stores/layout' import { useSessionStore } from '@/stores/session' import { useSettingsStore } from '@/stores/settings' -import { StartupLoading } from '@/components/UI' +import { StartupLoading, UiButton, UiIcon } from '@/components/UI' import { PLATFORM_CAPABILITIES } from '@/utils/platform-capabilities' import WebSettingsModal from './components/settings/WebSettingsModal.vue' @@ -91,12 +91,12 @@ onMounted(() => {