From 6bde42c8158350dae7cabcd7064d99206b9d7eaf Mon Sep 17 00:00:00 2001 From: DragonSlayer_14 Date: Tue, 23 Dec 2025 01:00:58 +0100 Subject: [PATCH] =?UTF-8?q?Feat:=20F=C3=BCgt=20die=20M=C3=B6glichkeit=20hi?= =?UTF-8?q?nzu,=20eine=20success-Farbe=20zu=20bekommen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/Services/theme_service.dart | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) 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(); + } }