Summary
Подключить ThemeController в корне приложения: ShadcnApp получает ThemeData / darkTheme / themeMode из активной темы; materialTheme для Material widgets.
Текущий код
lib/app/app.dart:
return ShadcnApp(
theme: AppTheme.dark,
darkTheme: AppTheme.dark,
themeMode: ThemeMode.dark,
enableThemeAnimation: false,
...
);
Решение
- Обернуть
QueryaApp в ListenableBuilder / AnimatedBuilder на ThemeController
AppTheme.fromQueryaTheme(QueryaTheme t) → shadcn ThemeData
materialTheme: MaterialThemeData.fromQueryaTheme(t) — surface, scaffold, divider
themeMode из controller (пока можно оставить только dark до light preset)
Важно: стабильность overlay
enableThemeAnimation: false — не включать без отдельного issue (#48). При смене темы — мгновенная подстановка.
Acceptance criteria
Зависимости
Оценка
~1–2 дня
Summary
Подключить
ThemeControllerв корне приложения:ShadcnAppполучаетThemeData/darkTheme/themeModeиз активной темы;materialThemeдля Material widgets.Текущий код
lib/app/app.dart:Решение
QueryaAppвListenableBuilder/AnimatedBuilderнаThemeControllerAppTheme.fromQueryaTheme(QueryaTheme t)→ shadcnThemeDatamaterialTheme: MaterialThemeData.fromQueryaTheme(t)— surface, scaffold, dividerthemeModeиз controller (пока можно оставить толькоdarkдо light preset)Важно: стабильность overlay
enableThemeAnimation: false— не включать без отдельного issue (#48). При смене темы — мгновенная подстановка.Acceptance criteria
widget_test/ smoke:ShadcnApppump с двумя темамиTextFieldв mongo editor наследует корректныйThemeDataЗависимости
Оценка
~1–2 дня