Epic: A
Depends on: TP-05, TP-06, TP-07
Source: docs/theme-parser-github-issues.md
Goal
Provide one factory that converts QueryaThemeManifest into the existing app-level QueryaTheme.
Files
lib/core/theme/parser/querya_theme_from_manifest.dart
test/core/theme/parser/querya_theme_from_manifest_test.dart
Implementation
Add:
QueryaTheme queryaThemeFromManifest(QueryaThemeManifest manifest)
Algorithm:
- Pick fallback:
- dark ->
QueryaTheme.darkDefault
- light ->
QueryaTheme.lightDefault
- Build
ColorScheme from shadcn_colors.
- Build
QueryaEditorTheme from editor_colors.
- Build
QueryaWorkbenchTheme from editor_colors.
- Return
fallback.copyWith(...).
- Preserve
tokenColors.
Acceptance Criteria
- Full dark fixture creates dark
QueryaTheme.
- Full light fixture creates light
QueryaTheme.
tokenColors are preserved.
- No
ThemeData is created.
Tests
- dark brightness;
- light brightness;
- shadcn color mapping;
- editor/workbench mapping;
- token colors preserved;
- minimal fixture fallback.
Epic: A
Depends on: TP-05, TP-06, TP-07
Source:
docs/theme-parser-github-issues.mdGoal
Provide one factory that converts
QueryaThemeManifestinto the existing app-levelQueryaTheme.Files
lib/core/theme/parser/querya_theme_from_manifest.darttest/core/theme/parser/querya_theme_from_manifest_test.dartImplementation
Add:
Algorithm:
QueryaTheme.darkDefaultQueryaTheme.lightDefaultColorSchemefromshadcn_colors.QueryaEditorThemefromeditor_colors.QueryaWorkbenchThemefromeditor_colors.fallback.copyWith(...).tokenColors.Acceptance Criteria
QueryaTheme.QueryaTheme.tokenColorsare preserved.ThemeDatais created.Tests