From e07a87224df7d113d093e8f3500ae6f58d73cffa Mon Sep 17 00:00:00 2001 From: liangxu Date: Sun, 31 May 2026 23:05:27 +0800 Subject: [PATCH] feat: add new brand logos - Introduced icon-color.svg featuring a colorful gradient design. - Added icon-with-title.svg that includes a title and multiple gradient elements. --- apps/admin-web/public/logos/icon-color.svg | 46 ++++ apps/admin-web/public/logos/icon-white.svg | 15 ++ .../public/logos/icon-with-title.svg | 73 ++++++ apps/admin-web/src/layouts/AppShell.vue | 69 ++++-- apps/admin-web/src/views/LoginView.vue | 38 ++- apps/desktop-client/build/icon.icns | Bin 120515 -> 144375 bytes apps/desktop-client/build/icon.ico | Bin 22000 -> 13739 bytes apps/desktop-client/build/icon.png | Bin 26864 -> 30741 bytes apps/desktop-client/electron.vite.config.ts | 1 + apps/desktop-client/public/icon-color.svg | 46 ++++ .../desktop-client/public/icon-with-title.svg | 73 ++++++ apps/desktop-client/public/logo.svg | 16 +- .../scripts/generate-brand-icons.cjs | 227 +++++++++++++++--- apps/desktop-client/src/main/brand-icons.ts | 14 +- .../src/renderer/brand-logo.d.ts | 7 +- .../src/renderer/components/DesktopShell.vue | 26 +- .../src/renderer/views/LoginView.vue | 8 +- apps/ops-web/public/logos/icon-color.svg | 46 ++++ apps/ops-web/public/logos/icon-with-title.svg | 73 ++++++ apps/ops-web/src/layouts/AppShell.vue | 83 ++++++- apps/ops-web/src/views/LoginView.vue | 61 +++-- 21 files changed, 787 insertions(+), 135 deletions(-) create mode 100644 apps/admin-web/public/logos/icon-color.svg create mode 100644 apps/admin-web/public/logos/icon-white.svg create mode 100644 apps/admin-web/public/logos/icon-with-title.svg create mode 100644 apps/desktop-client/public/icon-color.svg create mode 100644 apps/desktop-client/public/icon-with-title.svg create mode 100644 apps/ops-web/public/logos/icon-color.svg create mode 100644 apps/ops-web/public/logos/icon-with-title.svg diff --git a/apps/admin-web/public/logos/icon-color.svg b/apps/admin-web/public/logos/icon-color.svg new file mode 100644 index 0000000..b6cebf8 --- /dev/null +++ b/apps/admin-web/public/logos/icon-color.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apps/admin-web/public/logos/icon-white.svg b/apps/admin-web/public/logos/icon-white.svg new file mode 100644 index 0000000..bbf6a90 --- /dev/null +++ b/apps/admin-web/public/logos/icon-white.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/apps/admin-web/public/logos/icon-with-title.svg b/apps/admin-web/public/logos/icon-with-title.svg new file mode 100644 index 0000000..fd84798 --- /dev/null +++ b/apps/admin-web/public/logos/icon-with-title.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apps/admin-web/src/layouts/AppShell.vue b/apps/admin-web/src/layouts/AppShell.vue index 26b46f8..030e6f5 100644 --- a/apps/admin-web/src/layouts/AppShell.vue +++ b/apps/admin-web/src/layouts/AppShell.vue @@ -522,9 +522,19 @@ onBeforeUnmount(() => { class="admin-sider" :class="{ 'admin-sider--collapsed': siderCollapsed }" > -
- {{ t('app.name') }} - +
+ +
{ :closable="false" :body-style="{ padding: 0 }" > -
- {{ t('app.name') }} +
+
@@ -921,40 +936,52 @@ onBeforeUnmount(() => { } .admin-brand { - height: 40px; - background: #f0f8ff; - border: 1px solid #bae0ff; - margin: 16px; - border-radius: 6px; + height: 38px; + margin: 14px 24px 18px; + padding: 0; display: flex; align-items: center; justify-content: center; - color: #1677ff; - font-weight: 800; - font-size: 16px; - letter-spacing: 0.05em; - white-space: nowrap; + overflow: hidden; transition: margin 0.2s ease, width 0.2s ease; } -.admin-brand__short { +.admin-brand__logo { + display: block; + max-width: 100%; + max-height: 100%; + object-fit: contain; +} + +.admin-brand__logo--full { + width: 128px; + height: 38px; +} + +.admin-brand__logo--icon { display: none; - letter-spacing: 0; + width: 34px; + height: 34px; } .admin-sider--collapsed .admin-brand { width: 40px; - margin-inline: auto; + margin: 14px auto 18px; + justify-content: center; } -.admin-sider--collapsed .admin-brand__full { +.admin-sider--collapsed .admin-brand__logo--full { display: none; } -.admin-sider--collapsed .admin-brand__short { - display: inline; +.admin-sider--collapsed .admin-brand__logo--icon { + display: block; +} + +.admin-brand--drawer { + margin: 16px 20px; } .admin-menu { diff --git a/apps/admin-web/src/views/LoginView.vue b/apps/admin-web/src/views/LoginView.vue index a980ad7..f925267 100644 --- a/apps/admin-web/src/views/LoginView.vue +++ b/apps/admin-web/src/views/LoginView.vue @@ -7,8 +7,7 @@ }" >
-
- {{ t('app.name') }} +
-
- {{ t('app.name') }} +

{{ t('auth.welcomeBack') }}

@@ -88,7 +86,7 @@