fix(frontend): remove duplicate calendar title-row from sidebar calendar

- Remove calendar-title-row (year/month + time) that was showing below the main date row
- Keep only the primary date display (jarvis-date-row) at the top
- Also removes unused calendarYear/calendarMonth computed properties
This commit is contained in:
2026-04-06 21:33:45 +08:00
parent 472528e708
commit ff042cd932
3 changed files with 268 additions and 159 deletions

View File

@@ -69,7 +69,7 @@ const { dailyDigest, digestLoading, activeReminder, reminderVisible, loadDailyDi
// --- Sidebar plan (calendar, focus, review) ---
const {
calendarCells, todayPlanCounters,
calendarCells, calendarYear, calendarMonth, todayPlanCounters,
sidebarWeekLabels, sidebarStatusHeadline, sidebarStatusBreakdown,
sidebarFocusItems, sidebarReviewAchievements, sidebarReviewReflections,
sidebarFeedItems, topbarFeedItems, sidebarCollapsedModules
@@ -211,16 +211,6 @@ function renderMarkdown(content: string) {
<div class="chat-view">
<!-- Conversation list sidebar -->
<aside class="conv-sidebar jarvis-sidebar" :class="{ collapsed: sidebarCollapsed }">
<button
class="jarvis-sidebar-toggle"
type="button"
:title="sidebarCollapsed ? '展开侧边栏' : '折叠侧边栏'"
:aria-label="sidebarCollapsed ? '展开侧边栏' : '折叠侧边栏'"
@click="sidebarCollapsed = !sidebarCollapsed"
>
<ChevronRight :size="14" class="jarvis-sidebar-toggle-icon" :class="{ expanded: !sidebarCollapsed }" />
</button>
<div v-if="sidebarCollapsed" class="jarvis-sidebar-icon-rail">
<button
v-for="module in sidebarCollapsedModules"
@@ -247,7 +237,7 @@ function renderMarkdown(content: string) {
<div class="jarvis-calendar">
<div class="calendar-header">
<span v-for="label in sidebarWeekLabels" :key="label">{{ label }}</span>
<span v-for="item in sidebarWeekLabels" :key="item.label" :class="{ 'is-weekend': item.isWeekend }">{{ item.label }}</span>
</div>
<div class="calendar-grid">
<span
@@ -274,11 +264,11 @@ function renderMarkdown(content: string) {
</div>
<div class="jarvis-status-copy">
<div class="jarvis-status-headline">
<div v-if="sidebarStatusHeadline" class="jarvis-status-headline">
{{ sidebarStatusHeadline }}
</div>
<ul class="jarvis-status-list">
<li v-for="item in sidebarStatusBreakdown" :key="item.key" class="jarvis-status-item">
<li v-for="item in sidebarStatusBreakdown" :key="item.key" class="jarvis-status-item" :class="{ 'is-total': item.key === 'total' }">
<span class="status-dot" :class="item.tone"></span>
<span class="status-label">{{ item.label }}</span>
<strong class="status-value">{{ item.value }}</strong>
@@ -292,10 +282,13 @@ function renderMarkdown(content: string) {
<div class="jarvis-section-title">&#x4ECA;&#x65E5;&#x8BA1;&#x5212;&#x91CD;&#x70B9;</div>
<ul v-if="sidebarFocusItems.length > 0" class="jarvis-focus-list">
<li v-for="(item, index) in sidebarFocusItems" :key="item.id" class="jarvis-focus-item" :class="`is-${item.tone}`">
<span class="focus-order">{{ String(index + 1).padStart(2, '0') }}</span>
<span class="focus-order" :class="{ 'is-done': item.tone === 'done' }">
<span v-if="item.tone === 'done'" class="focus-check"></span>
<span v-else>{{ String(index + 1).padStart(2, '0') }}</span>
</span>
<div class="focus-copy">
<div class="focus-label">{{ item.label }}</div>
<div class="focus-title">{{ item.title }}</div>
<div class="focus-title" :class="{ 'is-done': item.tone === 'done' }">{{ item.title }}</div>
<div class="focus-meta">{{ item.meta }}</div>
</div>
</li>
@@ -329,9 +322,9 @@ function renderMarkdown(content: string) {
<!-- Top bar -->
<div class="chat-topbar">
<div class="chat-shortcuts">
<NavShortcutRow
@select-folder="handleSelectFolder"
@open-knowledge-hud="openKnowledgeHud"
<NavShortcutRow
@select-folder="handleSelectFolder"
@open-knowledge-hud="openKnowledgeHud"
/>
</div>
<div class="chat-model-panel">
@@ -484,17 +477,14 @@ function renderMarkdown(content: string) {
<!-- Top buttons above input -->
<div class="top-buttons-row">
<button class="top-action-btn" @click="$router.push('/temple')">
<span class="btn-icon">⛩️</span>
<span class="btn-text">智慧神殿</span>
<button class="top-action-btn" @click="$router.push('/temple')" title="Temple">
<span class="btn-icon temple-icon">◈</span>
</button>
<button class="top-action-btn" @click="$router.push('/knowledge')">
<span class="btn-icon">📚</span>
<span class="btn-text">知识仓库</span>
<button class="top-action-btn" @click="$router.push('/knowledge')" title="Knowledge">
<span class="btn-icon knowledge-icon"></span>
</button>
<button class="top-action-btn" @click="$router.push('/war-room')">
<span class="btn-icon">🗺️</span>
<span class="btn-text">战情室</span>
<button class="top-action-btn" @click="$router.push('/war-room')" title="War Room">
<span class="btn-icon war-icon">⬡</span>
</button>
</div>