Add Catppuccin Latte, Dracula, Alucard, Nord and Tokyo Night themes

Add five new selectable themes alongside the existing Catppuccin Mocha
and Gruvbox Dark, each built through the shared buildAppTheme so they
stay visually consistent. Palettes are taken from each project's
official source; a few intermediate surface shades are interpolated
where the canonical palette omits them (noted in the theme files).

Register the new themes in main.dart and add their dropdown entries in
settings.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
rzuasti
2026-06-12 10:19:56 -04:00
co-authored by Claude Opus 4.8
parent 3d1f27b02e
commit dce683e396
9 changed files with 470 additions and 3 deletions
+10
View File
@@ -2,7 +2,12 @@ import 'dart:async';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:frontend/theme/alucard_theme.dart';
import 'package:frontend/theme/catppuccin_latte_theme.dart';
import 'package:frontend/theme/catppuccin_mocha_theme.dart';
import 'package:frontend/theme/dracula_theme.dart';
import 'package:frontend/theme/nord_theme.dart';
import 'package:frontend/theme/tokyo_night_theme.dart';
import 'package:frontend/utils/local_network_permission.dart';
import 'package:frontend/utils/pref_utils.dart';
import 'package:frontend/utils/push_service.dart';
@@ -75,8 +80,13 @@ final class MainApp extends StatelessWidget {
}
final _themes = {
'alucard': alucardLightTheme,
'catppuccin_latte': catppuccinLatteLightTheme,
'catppuccin_mocha': catppuccinMochaDarkTheme,
'dracula': draculaDarkTheme,
'gruvbox_dark': gruvboxDarkTheme,
'nord': nordDarkTheme,
'tokyo_night': tokyoNightDarkTheme,
};
class AppState extends ChangeNotifier {