chore: polish desktop navigation and account menu

This commit is contained in:
2026-06-18 23:51:43 +08:00
parent 1523956839
commit 3aa8eb86f8
3 changed files with 73 additions and 10 deletions
+14 -9
View File
@@ -1357,7 +1357,7 @@ function releaseSize(value?: number | null): string {
<a-dropdown :trigger="['click']" placement="bottomRight" overlayClassName="premium-unbind-dropdown">
<a-button
type="text"
class="media-card__more action-more-btn"
class="media-card__more"
:loading="isAccountDeleteRequestPending(account.id)"
@click.stop
>
@@ -3021,20 +3021,25 @@ function releaseSize(value?: number | null): string {
}
.media-card__more.ant-btn-text {
width: 34px;
height: 34px;
width: 32px;
height: 32px;
flex-shrink: 0;
border-radius: 8px;
color: #94a3b8;
border-radius: 50%;
color: #64748b;
background: transparent;
border: 1px solid transparent;
border: none;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0;
transition: all 0.2s ease;
}
.media-card__more.ant-btn-text:hover,
.media-card__more.ant-btn-text:focus {
color: #334155;
background: #f8fafc;
border-color: #e2e8f0;
color: #0f172a;
background: #f1f5f9;
border: none;
}
/* Circular Avatar glow container */
@@ -3,6 +3,8 @@ import {
AppstoreOutlined,
BugOutlined,
DownloadOutlined,
ExportOutlined,
GlobalOutlined,
LinkOutlined,
LogoutOutlined,
RobotOutlined,
@@ -243,6 +245,10 @@ function openUpdateManualDownload() {
void openManualDownload()
}
function openOfficialWebsite() {
void window.desktopBridge.app.openExternalUrl('https://saas.shengxintui.com')
}
function quitApp() {
void window.desktopBridge.app.quitApp()
}
@@ -294,6 +300,22 @@ watch(
</div>
<span class="nav-count">{{ item.count }}</span>
</RouterLink>
<div class="nav-divider" aria-hidden="true"></div>
<a
href="https://saas.shengxintui.com"
class="nav-link external-link"
@click.prevent="openOfficialWebsite"
>
<div class="nav-copy">
<GlobalOutlined class="nav-icon" />
<strong>打开官网</strong>
</div>
<span class="external-icon-wrapper">
<ExportOutlined class="external-icon" />
</span>
</a>
</nav>
<footer class="sidebar-footer">
@@ -650,6 +672,42 @@ h1 {
color: #fff;
}
.nav-divider {
height: 1px;
background: #e2e8f0;
margin: 6px 16px;
}
.external-link {
cursor: pointer;
}
.external-icon-wrapper {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
border-radius: 50%;
background: transparent;
color: #94a3b8;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-link.external-link:hover .external-icon-wrapper {
background: #f1f5f9;
color: #1677ff;
}
.external-icon {
font-size: 11px;
transition: transform 0.2s ease;
}
.nav-link.external-link:hover .external-icon {
transform: translate(1px, -1px);
}
.sidebar-footer {
display: flex;
flex-direction: column;
@@ -840,7 +840,7 @@ const tableScroll = { x: 1080 } as const
<section class="hero-card">
<div class="hero-header">
<div class="hero-title">
<p class="eyebrow">发布执行台</p>
<p class="eyebrow">PUBLISH MANAGEMENT</p>
<h2>发布管理</h2>
</div>
<div class="hero-actions">