diff --git a/lib/Services/theme_service.dart b/lib/Services/theme_service.dart index c0f8f50..ef32861 100644 --- a/lib/Services/theme_service.dart +++ b/lib/Services/theme_service.dart @@ -2,7 +2,8 @@ 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. +/// 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. @@ -22,4 +23,25 @@ class ThemeService { 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(); + } }