Skip to content

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

@ZhuchkaTriplesix

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
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions