feat: integrate dodo brand logo
This commit is contained in:
@@ -1303,7 +1303,7 @@ onUnmounted(() => {
|
||||
<div v-if="!authReady" class="center"><span class="loader" />正在打开 dodo…</div>
|
||||
<div v-else-if="!authenticated" class="auth-shell">
|
||||
<section class="auth-card">
|
||||
<div class="brand">do<span>do</span></div><p>{{ initialized ? '欢迎回来,继续把生活理顺。' : '创建你的 dodo' }}</p>
|
||||
<div class="brand brand-lockup"><img class="brand-logo" src="/dodo-logo.svg" alt=""><span class="brand-wordmark">dodo</span></div><p>{{ initialized ? '欢迎回来,继续把生活理顺。' : '创建你的 dodo' }}</p>
|
||||
<label>用户名<input v-model="username" autocomplete="username" placeholder="你的用户名"></label>
|
||||
<label>密码<input v-model="password" type="password" autocomplete="current-password" placeholder="至少 12 位" @keyup.enter="submitAuth"></label>
|
||||
<button class="primary" @click="submitAuth">{{ initialized ? '登录' : '开始使用' }}</button>
|
||||
@@ -1313,7 +1313,7 @@ onUnmounted(() => {
|
||||
<div v-else class="shell" :class="{ 'sidebar-collapsed': sidebarCollapsed, 'detail-open': Boolean(selectedTask), 'mobile-sidebar-open': mobileSidebar }">
|
||||
<div v-if="mobileSidebar || mobileDetail" class="scrim" @click="mobileSidebar=false;mobileDetail=false" />
|
||||
<aside class="sidebar" :class="{ open: mobileSidebar }" @keydown.esc="sidebarCreateOpen=false;closeArchivedListAction();closeSidebarAction()">
|
||||
<div class="brand-row"><div class="brand small">do<span>do</span></div><button class="icon mobile-only" aria-label="关闭菜单" @click="mobileSidebar=false"><X /></button></div>
|
||||
<div class="brand-row"><div class="brand small brand-lockup"><img class="brand-logo" src="/dodo-logo.svg" alt=""><span class="brand-wordmark">dodo</span></div><button class="icon mobile-only" aria-label="关闭菜单" @click="mobileSidebar=false"><X /></button></div>
|
||||
<nav class="primary-nav">
|
||||
<button :class="{ active: activeView==='today' }" @click="switchView('today')"><ListTodo />今天</button>
|
||||
<button :class="{ active: activeView==='tasks' && lists.find(l=>l.id===activeList)?.is_inbox }" @click="switchView('tasks', lists.find(l=>l.is_inbox)?.id)"><Inbox />收集箱</button>
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1100,6 +1100,12 @@ describe('sidebar information hierarchy', () => {
|
||||
expect(app).toContain('class="mini-icon list-create-trigger" aria-label="新建清单或文件夹"')
|
||||
expect(app).not.toContain('aria-label="新建文件夹" @click="createFolder"')
|
||||
expect(css).toContain('.brand-row{height:64px;')
|
||||
expect(app).toContain('class="brand brand-lockup"')
|
||||
expect(app).toContain('class="brand small brand-lockup"')
|
||||
expect(app.match(/src="\/dodo-logo\.svg"/g)).toHaveLength(2)
|
||||
expect(css).toContain('.brand-logo{width:42px;height:42px;')
|
||||
expect(css).toContain('.brand.small .brand-logo{width:32px;height:32px}')
|
||||
expect(css).not.toContain('.brand span{color:var(--accent)}')
|
||||
expect(css).toContain('.primary-nav button.active::before,.list-row.active::before,.sidebar-management button.active::before{')
|
||||
expect(css).toContain('width:3px;')
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user