Skip to content

Theme: runtime-тема в QueryaApp (ShadcnApp + materialTheme) #41

Description

@ZhuchkaTriplesix

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,
  ...
);

Решение

  1. Обернуть QueryaApp в ListenableBuilder / AnimatedBuilder на ThemeController
  2. AppTheme.fromQueryaTheme(QueryaTheme t) → shadcn ThemeData
  3. materialTheme: MaterialThemeData.fromQueryaTheme(t) — surface, scaffold, divider
  4. themeMode из controller (пока можно оставить только dark до light preset)

Важно: стабильность overlay

enableThemeAnimation: falseне включать без отдельного issue (#48). При смене темы — мгновенная подстановка.

Acceptance criteria

  • Переключение preset в dev-меню/настройках меняет цвета без restart
  • widget_test / smoke: ShadcnApp pump с двумя темами
  • Material TextField в mongo editor наследует корректный ThemeData

Зависимости

Оценка

~1–2 дня

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestthemeTheming, colors, VS Code themes

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions