From 4a4f405e75dd4f61ddee0d1b49321a5e8765ee38 Mon Sep 17 00:00:00 2001 From: mcocdaa <2021137961@qq.com> Date: Tue, 3 Nov 2026 11:03:34 +0100 Subject: [PATCH] fix(ui): use monochrome SVG icons, declutter FocusMode header, and configure monthly dependabot --- .github/dependabot.yml | 40 ++++++++++++++++--- frontend/src/App.vue | 3 +- frontend/src/components/AgendaDetail.vue | 7 ++-- frontend/src/components/FocusMode.vue | 29 +++++--------- frontend/src/i18n/index.ts | 4 +- .../src/tests/focus-and-integrations.test.ts | 2 +- frontend/src/views/LoginView.vue | 5 ++- frontend/src/views/RegisterView.vue | 5 ++- 8 files changed, 62 insertions(+), 33 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 4bb3fc6..0997a88 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -3,7 +3,11 @@ updates: - package-ecosystem: github-actions directory: / schedule: - interval: monthly + interval: "cron" + cronjob: "0 4 1 * *" + timezone: "Asia/Shanghai" + cooldown: + default-days: 7 open-pull-requests-limit: 5 groups: actions: @@ -12,7 +16,14 @@ updates: - package-ecosystem: npm directory: /frontend schedule: - interval: monthly + interval: "cron" + cronjob: "0 4 1 * *" + timezone: "Asia/Shanghai" + cooldown: + default-days: 7 + semver-major-days: 14 + semver-minor-days: 7 + semver-patch-days: 3 open-pull-requests-limit: 5 ignore: # TypeScript 7 drops the `typescript/lib/tsc` subpath export; vue-tsc and the @@ -30,20 +41,37 @@ updates: - package-ecosystem: pip directory: / schedule: - interval: monthly + interval: "cron" + cronjob: "0 4 1 * *" + timezone: "Asia/Shanghai" + cooldown: + default-days: 7 + semver-major-days: 14 + semver-minor-days: 7 + semver-patch-days: 3 open-pull-requests-limit: 5 groups: pip-minor-patch: patterns: ["*"] update-types: ["minor", "patch"] - # --- 以下为补充配置 --- # Docker 基础镜像 - package-ecosystem: docker directory: / schedule: - interval: monthly + interval: "cron" + cronjob: "0 4 1 * *" + timezone: "Asia/Shanghai" + cooldown: + default-days: 7 + ignore: + - dependency-name: python + update-types: ["version-update:semver-major", "version-update:semver-minor"] - package-ecosystem: docker-compose directory: / schedule: - interval: monthly + interval: "cron" + cronjob: "0 4 1 * *" + timezone: "Asia/Shanghai" + cooldown: + default-days: 7 diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 0a47b0b..295b3c5 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -103,7 +103,8 @@ onBeforeUnmount(() => { :aria-label="locale === 'zh' ? 'Switch to English' : '切换到中文'" @click="toggleLocale" > - {{ locale === 'zh' ? '🌐 EN' : '🌐 中文' }} + + {{ locale === 'zh' ? 'EN' : '中文' }} diff --git a/frontend/src/components/AgendaDetail.vue b/frontend/src/components/AgendaDetail.vue index 5f4deb8..fbfcc4a 100644 --- a/frontend/src/components/AgendaDetail.vue +++ b/frontend/src/components/AgendaDetail.vue @@ -59,8 +59,8 @@ const extractStatus = computed(() => { if (!extractCounts.value) return '' const { decisions, actions, questions } = extractCounts.value return locale.value === 'en' - ? `✨ Extracted ${decisions} decisions · ${actions} actions · ${questions} open questions` - : `✨ 已智能提炼 ${decisions} 项决策 · ${actions} 项行动 · ${questions} 项开放问题` + ? `Extracted ${decisions} decisions · ${actions} actions · ${questions} open questions` + : `已智能提炼 ${decisions} 项决策 · ${actions} 项行动 · ${questions} 项开放问题` }) const error = ref('') const conflict = ref<{ version: number; server: string } | null>(null) @@ -524,7 +524,8 @@ const noteActionTags = computed(() => { :disabled="saving || disabled || extractingNotes" @click="smartExtractNotes" > - ✨ {{ extractingNotes ? tr('正在提炼…', 'Extracting…') : tr('AI 智能提炼', 'AI Extract') }} + + {{ extractingNotes ? tr('正在提炼…', 'Extracting…') : tr('AI 智能提炼', 'AI Extract') }} diff --git a/frontend/src/components/FocusMode.vue b/frontend/src/components/FocusMode.vue index ad6d0a7..740c517 100644 --- a/frontend/src/components/FocusMode.vue +++ b/frontend/src/components/FocusMode.vue @@ -341,7 +341,6 @@ const noteActionTags = computed(() => { {{ liveElapsed || tr('进行中', 'Live') }} - {{ translateSeededText(meeting.project.name) }} {{ translateSeededText(meeting.title) }} @@ -416,7 +415,8 @@ const noteActionTags = computed(() => { :aria-label="tr('切换语言', 'Switch Language')" @click="toggleLocale" > - 🌐 {{ locale === 'zh' ? 'EN' : '中文' }} + + {{ locale === 'zh' ? 'EN' : '中文' }} @@ -437,10 +437,10 @@ const noteActionTags = computed(() => { - 💡 支持在手记中直接输入 @决策: 结论、@行动:[待办][@成员][日期] 事项、@开放问题: 待确认 自动双向流转产出。 + 支持在手记中直接输入 @决策: 结论、@行动:[待办][@成员][日期] 事项、@开放问题: 待确认 自动双向流转产出。 - 💡 Type @Decision: conclusion, @Action:[open][@owner][date] task, or @Question: item to auto-sync outcomes. + Type @Decision: conclusion, @Action:[open][@owner][date] task, or @Question: item to auto-sync outcomes. {{ tr('快捷标签:', 'Quick Tags:') }} @@ -454,7 +454,8 @@ const noteActionTags = computed(() => { :disabled="saving || extracting" @click="smartExtractFocusNotes" > - ✨ {{ extracting ? tr('正在提炼…', 'Extracting…') : tr('AI 智能提炼', 'AI Extract') }} + + {{ extracting ? tr('正在提炼…', 'Extracting…') : tr('AI 智能提炼', 'AI Extract') }} @@ -680,17 +681,6 @@ const noteActionTags = computed(() => { text-overflow: ellipsis; } -.project-pill { - padding: 2px 8px; - border-radius: 6px; - background: #f1f5f9; - color: #475569; - font-size: 0.75rem; - font-weight: 700; - white-space: nowrap; - flex-shrink: 0; -} - .focus-bar-center { display: flex; flex-direction: column; @@ -698,7 +688,7 @@ const noteActionTags = computed(() => { gap: 3px; flex: 0 1 auto; min-width: 0; - max-width: 320px; + max-width: 360px; } .focus-topic-pill { @@ -725,7 +715,7 @@ const noteActionTags = computed(() => { .topic-title { font-weight: 700; color: #0f172a; - max-width: 170px; + max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; @@ -972,6 +962,9 @@ const noteActionTags = computed(() => { } .tag-btn-ai { + display: inline-flex; + align-items: center; + gap: 5px; margin-left: auto; background: #edf7f1; color: #075044; diff --git a/frontend/src/i18n/index.ts b/frontend/src/i18n/index.ts index fa4a069..d613c16 100644 --- a/frontend/src/i18n/index.ts +++ b/frontend/src/i18n/index.ts @@ -64,7 +64,7 @@ export const messages: Record> = { 'app.accountMenu': '账户菜单', 'app.accountSettings': '账号设置', 'app.logout': '退出登录', - 'app.langToggle': '🌐 EN', + 'app.langToggle': 'EN', 'sidebar.brandSub': '团队会议工作区', 'sidebar.workspaceNav': '工作区导航', 'sidebar.adminNav': '管理员导航', @@ -113,7 +113,7 @@ export const messages: Record> = { 'app.accountMenu': 'Account menu', 'app.accountSettings': 'Account Settings', 'app.logout': 'Sign Out', - 'app.langToggle': '🌐 中文', + 'app.langToggle': '中文', 'sidebar.brandSub': 'Team Workspace', 'sidebar.workspaceNav': 'Workspace navigation', 'sidebar.adminNav': 'Admin navigation', diff --git a/frontend/src/tests/focus-and-integrations.test.ts b/frontend/src/tests/focus-and-integrations.test.ts index 21a21c3..0f078b0 100644 --- a/frontend/src/tests/focus-and-integrations.test.ts +++ b/frontend/src/tests/focus-and-integrations.test.ts @@ -398,7 +398,7 @@ describe('P0 Features: Bidirectional Actions, Focus Mode, Calendar & Webhooks', }, }) - expect(screen.getByText('✨ AI Extract')).toBeInTheDocument() + expect(screen.getByText('AI Extract')).toBeInTheDocument() expect(screen.getByText('Outcomes')).toBeInTheDocument() const notesTextarea = screen.getByLabelText('Agenda Notes') diff --git a/frontend/src/views/LoginView.vue b/frontend/src/views/LoginView.vue index 9262cf9..60131aa 100644 --- a/frontend/src/views/LoginView.vue +++ b/frontend/src/views/LoginView.vue @@ -63,7 +63,10 @@ async function submit() { M - {{ t('app.langToggle') }} + + + {{ t('app.langToggle') }} + {{ tr('欢迎回来', 'Welcome back') }} {{ tr('登录 MeetFlow', 'Sign in to MeetFlow') }} diff --git a/frontend/src/views/RegisterView.vue b/frontend/src/views/RegisterView.vue index 91d07ba..e6edb9e 100644 --- a/frontend/src/views/RegisterView.vue +++ b/frontend/src/views/RegisterView.vue @@ -61,7 +61,10 @@ async function submit() { M - {{ t('app.langToggle') }} + + + {{ t('app.langToggle') }} + {{ tr('加入共享工作区', 'Join shared workspace') }} {{ tr('申请 MeetFlow 账号', 'Request MeetFlow Account') }}
- 💡 支持在手记中直接输入 @决策: 结论、@行动:[待办][@成员][日期] 事项、@开放问题: 待确认 自动双向流转产出。 + 支持在手记中直接输入 @决策: 结论、@行动:[待办][@成员][日期] 事项、@开放问题: 待确认 自动双向流转产出。
@决策: 结论
@行动:[待办][@成员][日期] 事项
@开放问题: 待确认
- 💡 Type @Decision: conclusion, @Action:[open][@owner][date] task, or @Question: item to auto-sync outcomes. + Type @Decision: conclusion, @Action:[open][@owner][date] task, or @Question: item to auto-sync outcomes.
@Decision: conclusion
@Action:[open][@owner][date] task
@Question: item
{{ tr('欢迎回来', 'Welcome back') }}
{{ tr('加入共享工作区', 'Join shared workspace') }}