Bearbeiten und Löschen von Matches #171

Merged
sneeex merged 64 commits from feature/120-bearbeiten-und-loeschen-von-matches into development 2026-03-08 08:28:10 +00:00
3 changed files with 34 additions and 13 deletions
Showing only changes of commit 8e4fe26ad9 - Show all commits

View File

@@ -27,6 +27,9 @@ class CustomTheme {
/// Text color used throughout the app /// Text color used throughout the app
static const Color textColor = Color(0xFFFFFFFF); static const Color textColor = Color(0xFFFFFFFF);
/// Text color used throughout the app
static const Color hintColor = Color(0xFF888888);
/// Background color for the navigation bar /// Background color for the navigation bar
static const Color navBarBackgroundColor = Color(0xFF131313); static const Color navBarBackgroundColor = Color(0xFF131313);
@@ -65,7 +68,7 @@ class CustomTheme {
boxShadow: [BoxShadow(color: primaryColor.withAlpha(120), blurRadius: 12)], boxShadow: [BoxShadow(color: primaryColor.withAlpha(120), blurRadius: 12)],
); );
// ==================== App Bar Theme ==================== // ==================== Component Themes ====================
static const AppBarTheme appBarTheme = AppBarTheme( static const AppBarTheme appBarTheme = AppBarTheme(
backgroundColor: backgroundColor, backgroundColor: backgroundColor,
foregroundColor: textColor, foregroundColor: textColor,
@@ -80,4 +83,23 @@ class CustomTheme {
), ),
iconTheme: IconThemeData(color: textColor), iconTheme: IconThemeData(color: textColor),
); );
static const SearchBarThemeData searchBarTheme = SearchBarThemeData(
textStyle: WidgetStatePropertyAll(TextStyle(color: CustomTheme.textColor)),
hintStyle: WidgetStatePropertyAll(TextStyle(color: CustomTheme.hintColor)),
);
static final RadioThemeData radioTheme = RadioThemeData(
fillColor: WidgetStateProperty.resolveWith<Color>((states) {
if (states.contains(WidgetState.selected)) {
return CustomTheme.primaryColor;
}
return CustomTheme.textColor;
}),
);
static const InputDecorationTheme inputDecorationTheme = InputDecorationTheme(
labelStyle: TextStyle(color: CustomTheme.textColor),
hintStyle: TextStyle(color: CustomTheme.hintColor),
);
} }

View File

@@ -29,25 +29,25 @@ class GameTracker extends StatelessWidget {
return supportedLocale; return supportedLocale;
} }
} }
return supportedLocales.firstWhere((locale) => locale.languageCode == 'en'); return supportedLocales.firstWhere(
(locale) => locale.languageCode == 'en',
);
}, },
debugShowCheckedModeBanner: false, debugShowCheckedModeBanner: false,
onGenerateTitle: (context) => AppLocalizations.of(context).app_name, onGenerateTitle: (context) => AppLocalizations.of(context).app_name,
themeMode: ThemeMode.dark, // forces dark mode themeMode: ThemeMode.dark,
theme: ThemeData( theme: ThemeData(
// main colors
primaryColor: CustomTheme.primaryColor, primaryColor: CustomTheme.primaryColor,
scaffoldBackgroundColor: CustomTheme.backgroundColor, scaffoldBackgroundColor: CustomTheme.backgroundColor,
// themes
appBarTheme: CustomTheme.appBarTheme, appBarTheme: CustomTheme.appBarTheme,
radioTheme: RadioThemeData( inputDecorationTheme: CustomTheme.inputDecorationTheme,
fillColor: WidgetStateProperty.resolveWith<Color>((states) { searchBarTheme: CustomTheme.searchBarTheme,
if (states.contains(WidgetState.selected)) { radioTheme: CustomTheme.radioTheme,
return CustomTheme.primaryColor; // color scheme
}
return CustomTheme.textColor;
}),
),
colorScheme: ColorScheme.fromSeed( colorScheme: ColorScheme.fromSeed(
seedColor: CustomTheme.primaryColor, seedColor: CustomTheme.textColor,
brightness: Brightness.dark, brightness: Brightness.dark,
primary: CustomTheme.primaryColor, primary: CustomTheme.primaryColor,
onPrimary: CustomTheme.textColor, onPrimary: CustomTheme.textColor,

View File

@@ -69,7 +69,6 @@ class CustomSearchBar extends StatelessWidget {
constraints ?? const BoxConstraints(maxHeight: 45, minHeight: 45), constraints ?? const BoxConstraints(maxHeight: 45, minHeight: 45),
hintText: hintText, hintText: hintText,
onChanged: onChanged, onChanged: onChanged,
hintStyle: WidgetStateProperty.all(const TextStyle(fontSize: 16)),
flixcoo marked this conversation as resolved Outdated

??

??

Hab das über das Theme gelöst. Gibt jetzt ein SearchBarThemeData searchBarTheme worüber das geregelt wird

Hab das über das Theme gelöst. Gibt jetzt ein `SearchBarThemeData searchBarTheme` worüber das geregelt wird
leading: const Icon(Icons.search), leading: const Icon(Icons.search),
trailing: [ trailing: [
Visibility( Visibility(