import 'package:flutter/material.dart'; /// Ein Service für die Verwaltung der App-Themes. /// /// Diese Klasse stellt Methoden bereit, /// um das helle und dunkle Theme der App zu definieren. class ThemeService { /// Die Hauptfarbe der App, die als Basis für das Farbschema verwendet wird. /// Ein helles Blau mit dem Hex-Wert #50A7FA. static const Color color = Color(0xFF50A7FA); /// Erstellt und gibt das helle Theme der App zurück. static ThemeData getLightTheme() => ThemeData( brightness: Brightness.light, colorScheme: ColorScheme.fromSeed(seedColor: color), ); /// Erstellt und gibt das dunkle Theme der App zurück. static ThemeData getDarkTheme() => ThemeData( brightness: Brightness.dark, colorScheme: ColorScheme.fromSeed( seedColor: color, brightness: Brightness.dark, ), ); /// Gibt die "Erfolgreich"-Farbe des Farbschemas zurück static Color getSuccessColor({required final Brightness brightness}) { final hsl = HSLColor.fromColor(color); const double greenHue = 120; final double saturation = (hsl.saturation * 0.7).clamp(0.0, 1.0); final double lightness = brightness == Brightness.dark ? (hsl.lightness * 0.4).clamp(0.0, 1.0) : (hsl.lightness * 1.2).clamp(0.0, 1.0); final successHsl = HSLColor.fromAHSL( hsl.alpha, greenHue, saturation, lightness, ); return successHsl.toColor(); } }