Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

refactor(theme): QueryaColors and context.colors instead of shadcn's ColorScheme (#1465)

未關閉
#1,730 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
55/100
Issue 類型
重構
描述清晰度
描述清楚
活躍度
活躍
技術堆疊
dart, flutter
領域
frontend

研究方向

Start with lib/core/theme/querya_theme.dart and querya_theme_scope.dart to see how QueryaTheme, ThemeData, and the existing context extensions are assembled. Add QueryaColors with the listed fields, copyWith, and lerp, then expose context.colors; add unit tests for light and dark defaults, imported themes, and interpolation at 0 and 1. Done means the values match today's scheme and no callers are migrated or visuals changed.

由索引模型根據 Issue 內容生成。

描述

frontend P2 theme ui

Part of #1465 (step 3a). Prerequisite for the per-folder migration (#1731).

Problem

The app's colours are shadcn's: typedef QueryaThemeColorScheme = ColorScheme; (lib/core/theme/querya_theme.dart), built into shadcn's ThemeData, and read as Theme.of(context).colorScheme.x (shadcn Theme). A probe on dev (2026-10-18) counts 164 Theme + 42 shadcn.Theme and 116 ColorScheme + 24 shadcn.ColorScheme uses that need shadcn.

Only these fields of the scheme are read in lib/ (counts of cs. / colorScheme. uses):

field uses
mutedForeground 190
primary 160
border 115
foreground 104
destructive 104
muted 81
card 46
background 41
popover / popoverForeground 29
ring 6
secondary / accent 6
chart1..chart5 6
Change
  • QueryaColors in core/theme (immutable, copyWith, lerp) with exactly those fields, built from QueryaTheme the way the shadcn scheme is today (same values, so nothing changes on screen).
  • context.colors next to context.workbench / context.editorTheme in querya_theme_scope.dart.
  • While the migration runs, the shadcn ColorScheme is still produced from QueryaColors for the widgets that need it; it goes with the shell (#1735).
  • Unit tests: dark and light defaults equal today's scheme field by field; lerp at 0 / 1.
Acceptance
  • QueryaColors and context.colors exist and give today's colours in both default themes and in an imported theme.
  • No caller migrated yet (that is the next issue); no visual change.
主要語言
Dart
星號
23
分支
1
平均合併
31 分鐘
30 天內合併 PR
570

環境準備

在 Codespaces 中開啟

在瀏覽器裡用你自己的 GitHub 帳號啟動這個專案的開發容器。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

QueryaHub/Querya-Desktop 的其他 Issue

查看 QueryaHub/Querya-Desktop 的全部 Issue

相似的 Issue

更多 Dart Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。