diff --git a/frontend/.fvmrc b/frontend/.fvmrc index ce96236a5..cf7449069 100644 --- a/frontend/.fvmrc +++ b/frontend/.fvmrc @@ -1,3 +1,3 @@ { - "flutter": "3.19.3" + "flutter": "3.22.3" } \ No newline at end of file diff --git a/frontend/lib/about/content_tile.dart b/frontend/lib/about/content_tile.dart index 664eb37d4..d673fdf0b 100644 --- a/frontend/lib/about/content_tile.dart +++ b/frontend/lib/about/content_tile.dart @@ -33,7 +33,7 @@ class ContentPage extends StatelessWidget { Widget build(BuildContext context) { final theme = Theme.of(context); return DecoratedBox( - decoration: BoxDecoration(color: theme.colorScheme.background), + decoration: BoxDecoration(color: theme.colorScheme.surface), child: CustomScrollView( slivers: [ CustomSliverAppBar(title: title), diff --git a/frontend/lib/about/language_change.dart b/frontend/lib/about/language_change.dart index 13458a623..05f4a5414 100644 --- a/frontend/lib/about/language_change.dart +++ b/frontend/lib/about/language_change.dart @@ -15,7 +15,8 @@ class LanguageChange extends StatelessWidget { return Column(children: [ ...buildConfig.appLocales.map((item) => DecoratedBox( decoration: BoxDecoration( - color: LocaleSettings.currentLocale.languageCode == item ? theme.colorScheme.surfaceVariant : null), + color: + LocaleSettings.currentLocale.languageCode == item ? theme.colorScheme.surfaceContainerHighest : null), child: ListTile( title: Text( nativeLanguageNames[item]!, diff --git a/frontend/lib/home/home_page.dart b/frontend/lib/home/home_page.dart index 49629c739..d220a774c 100644 --- a/frontend/lib/home/home_page.dart +++ b/frontend/lib/home/home_page.dart @@ -108,7 +108,7 @@ class HomePageState extends State { final theme = Theme.of(context); return BottomNavigationBar( currentIndex: _currentTabIndex, - backgroundColor: theme.colorScheme.surfaceVariant, + backgroundColor: theme.colorScheme.surfaceContainerHighest, items: appFlows .map((appFlow) => BottomNavigationBarItem(icon: Icon(appFlow.iconData), label: appFlow.getTitle(context))) .toList(), diff --git a/frontend/lib/identification/connection_failed_dialog.dart b/frontend/lib/identification/connection_failed_dialog.dart index 39d164918..0ea4b585f 100644 --- a/frontend/lib/identification/connection_failed_dialog.dart +++ b/frontend/lib/identification/connection_failed_dialog.dart @@ -14,7 +14,7 @@ class ConnectionFailedDialog extends StatelessWidget { return InfoDialog( title: t.common.connectionFailed, icon: Icons.signal_cellular_connected_no_internet_4_bar, - iconColor: Theme.of(context).colorScheme.onBackground, + iconColor: Theme.of(context).colorScheme.onSurface, child: Text(reason, style: Theme.of(context).textTheme.bodyMedium), ); } diff --git a/frontend/lib/identification/no_card_view.dart b/frontend/lib/identification/no_card_view.dart index 5766b0c5b..257b1ebdf 100644 --- a/frontend/lib/identification/no_card_view.dart +++ b/frontend/lib/identification/no_card_view.dart @@ -71,7 +71,7 @@ class _TapableCardWithArea extends StatelessWidget { return Card( margin: const EdgeInsets.symmetric(horizontal: 24), clipBehavior: Clip.hardEdge, - color: theme.colorScheme.surfaceVariant, + color: theme.colorScheme.surfaceContainerHighest, elevation: 0, child: InkWell( onTap: onTap, @@ -84,7 +84,7 @@ class _TapableCardWithArea extends StatelessWidget { children: [ CircleAvatar( radius: 24, - backgroundColor: theme.colorScheme.background, + backgroundColor: theme.colorScheme.surface, child: Icon(icon, size: 24, color: theme.colorScheme.primary), ), const SizedBox(width: 12), diff --git a/frontend/lib/identification/verification_workflow/dialogs/positive_verification_result_dialog.dart b/frontend/lib/identification/verification_workflow/dialogs/positive_verification_result_dialog.dart index 4b084ae75..b58804466 100644 --- a/frontend/lib/identification/verification_workflow/dialogs/positive_verification_result_dialog.dart +++ b/frontend/lib/identification/verification_workflow/dialogs/positive_verification_result_dialog.dart @@ -44,7 +44,7 @@ class PositiveVerificationResultDialogState extends State[ diff --git a/frontend/lib/identification/verification_workflow/dialogs/verification_info_dialog.dart b/frontend/lib/identification/verification_workflow/dialogs/verification_info_dialog.dart index 34634571e..e9f2e02b1 100644 --- a/frontend/lib/identification/verification_workflow/dialogs/verification_info_dialog.dart +++ b/frontend/lib/identification/verification_workflow/dialogs/verification_info_dialog.dart @@ -81,7 +81,7 @@ class _EnumeratedListItem extends StatelessWidget { child: Text( '${index + 1}', style: TextStyle( - color: theme.colorScheme.background, + color: theme.colorScheme.surface, fontWeight: FontWeight.bold, ), ), diff --git a/frontend/lib/intro_slides/intro_screen.dart b/frontend/lib/intro_slides/intro_screen.dart index 25e4c3ea8..4eeb44cec 100644 --- a/frontend/lib/intro_slides/intro_screen.dart +++ b/frontend/lib/intro_slides/intro_screen.dart @@ -39,8 +39,7 @@ class IntroScreen extends StatelessWidget { title: t.intro.welcomeTitle, description: t.intro.welcomeDescription, pathImage: buildConfig.introSlidesImages[0], - backgroundColor: - theme.brightness == Brightness.light ? const Color(0xffECECEC) : theme.colorScheme.background, + backgroundColor: theme.brightness == Brightness.light ? const Color(0xffECECEC) : theme.colorScheme.surface, maxLineTitle: 3, styleTitle: theme.textTheme.headlineSmall, styleDescription: theme.textTheme.bodyLarge?.apply(fontSizeFactor: 1.2), @@ -49,8 +48,7 @@ class IntroScreen extends StatelessWidget { title: t.intro.applyTitle, description: t.intro.applyDescription, pathImage: buildConfig.introSlidesImages[1], - backgroundColor: - theme.brightness == Brightness.light ? const Color(0xffECECEC) : theme.colorScheme.background, + backgroundColor: theme.brightness == Brightness.light ? const Color(0xffECECEC) : theme.colorScheme.surface, maxLineTitle: 3, styleTitle: theme.textTheme.headlineSmall, styleDescription: theme.textTheme.bodyLarge?.apply(fontSizeFactor: 1.2), @@ -59,16 +57,14 @@ class IntroScreen extends StatelessWidget { title: t.intro.usageTitle, description: t.intro.usageDescription, pathImage: buildConfig.introSlidesImages[2], - backgroundColor: - theme.brightness == Brightness.light ? const Color(0xffECECEC) : theme.colorScheme.background, + backgroundColor: theme.brightness == Brightness.light ? const Color(0xffECECEC) : theme.colorScheme.surface, maxLineTitle: 3, styleTitle: theme.textTheme.headlineSmall, styleDescription: theme.textTheme.bodyLarge?.apply(fontSizeFactor: 1.2), ), ContentConfig( title: t.intro.locationTitle, - backgroundColor: - theme.brightness == Brightness.light ? const Color(0xffECECEC) : theme.colorScheme.background, + backgroundColor: theme.brightness == Brightness.light ? const Color(0xffECECEC) : theme.colorScheme.surface, maxLineTitle: 3, styleTitle: theme.textTheme.headlineSmall, pathImage: buildConfig.introSlidesImages[3], diff --git a/frontend/lib/map/location_button.dart b/frontend/lib/map/location_button.dart index 4294714c4..9566bf184 100644 --- a/frontend/lib/map/location_button.dart +++ b/frontend/lib/map/location_button.dart @@ -71,7 +71,7 @@ class _LocationButtonState extends State { child: FloatingActionButton( heroTag: 'fab_map_view', elevation: 1, - backgroundColor: theme.colorScheme.surfaceVariant, + backgroundColor: theme.colorScheme.surfaceContainerHighest, onPressed: _locationStatus != null ? () => _determinePosition() : null, child: AnimatedSwitcher( duration: const Duration(milliseconds: 200), diff --git a/frontend/lib/map/preview/accepting_store_preview_card.dart b/frontend/lib/map/preview/accepting_store_preview_card.dart index ad23fe0f2..c14ad4b62 100644 --- a/frontend/lib/map/preview/accepting_store_preview_card.dart +++ b/frontend/lib/map/preview/accepting_store_preview_card.dart @@ -39,7 +39,7 @@ class AcceptingStorePreviewCard extends StatelessWidget { child: Card( clipBehavior: Clip.hardEdge, margin: EdgeInsets.zero, - color: Theme.of(context).colorScheme.surfaceVariant, + color: Theme.of(context).colorScheme.surfaceContainerHighest, surfaceTintColor: Colors.transparent, child: AnimatedSwitcher( duration: const Duration(milliseconds: 200), diff --git a/frontend/lib/routing.dart b/frontend/lib/routing.dart index 92c97e497..257a567f8 100644 --- a/frontend/lib/routing.dart +++ b/frontend/lib/routing.dart @@ -5,7 +5,7 @@ class AppRoute extends MaterialPageRoute { : super( builder: (BuildContext context) { final theme = Theme.of(context); - return Material(color: theme.colorScheme.background, child: builder(context)); + return Material(color: theme.colorScheme.surface, child: builder(context)); }, ); } diff --git a/frontend/lib/search/filter_bar_button.dart b/frontend/lib/search/filter_bar_button.dart index e2b0e3ccd..f6ab415fb 100644 --- a/frontend/lib/search/filter_bar_button.dart +++ b/frontend/lib/search/filter_bar_button.dart @@ -85,7 +85,7 @@ class _FilterBarButtonState extends State with SingleTickerProv return AnimatedBuilder( animation: colorTween, builder: (context, child) { - final color = Color.lerp(theme.colorScheme.background, selectedColor, colorTween.value); + final color = Color.lerp(theme.colorScheme.surface, selectedColor, colorTween.value); return ConstrainedBox( constraints: BoxConstraints.tightFor(width: width, height: 74), child: Card( diff --git a/frontend/lib/themes.dart b/frontend/lib/themes.dart index 46c4c46e9..602e22180 100644 --- a/frontend/lib/themes.dart +++ b/frontend/lib/themes.dart @@ -23,8 +23,8 @@ ThemeData get lightTheme { colorScheme: ColorScheme.light( primary: primaryColor, secondary: primaryColor, - background: backgroundColor, - surfaceVariant: const Color(0xffefefef), + surface: backgroundColor, + surfaceContainerHighest: const Color(0xffefefef), surfaceTint: Colors.white54, error: const Color(0xffcc0000), tertiary: const Color(0xFF505050), @@ -63,11 +63,11 @@ ThemeData get lightTheme { foregroundColor: backgroundColor, titleTextStyle: titleMedium), outlinedButtonTheme: OutlinedButtonThemeData( - style: ButtonStyle(side: MaterialStatePropertyAll(BorderSide(color: primaryColor, width: 1))), + style: ButtonStyle(side: WidgetStatePropertyAll(BorderSide(color: primaryColor, width: 1))), ), checkboxTheme: CheckboxThemeData( - checkColor: MaterialStatePropertyAll(textColor), - fillColor: MaterialStatePropertyAll(primaryColor), + checkColor: WidgetStatePropertyAll(textColor), + fillColor: WidgetStatePropertyAll(primaryColor), ), ); } @@ -82,8 +82,8 @@ ThemeData get darkTheme { colorScheme: ColorScheme.dark( primary: primaryColor, secondary: primaryColor, - background: backgroundColor, - surfaceVariant: const Color(0xff262626), + surface: backgroundColor, + surfaceContainerHighest: const Color(0xff262626), surfaceTint: Colors.white, error: const Color(0xff8b0000), tertiary: const Color(0xFFC6C4C4), @@ -118,11 +118,11 @@ ThemeData get darkTheme { foregroundColor: Colors.white, titleTextStyle: titleMedium), outlinedButtonTheme: OutlinedButtonThemeData( - style: ButtonStyle(side: MaterialStatePropertyAll(BorderSide(color: primaryColor, width: 1))), + style: ButtonStyle(side: WidgetStatePropertyAll(BorderSide(color: primaryColor, width: 1))), ), checkboxTheme: CheckboxThemeData( - checkColor: const MaterialStatePropertyAll(Colors.white), - fillColor: MaterialStatePropertyAll(primaryColor), + checkColor: const WidgetStatePropertyAll(Colors.white), + fillColor: WidgetStatePropertyAll(primaryColor), ), ); } diff --git a/frontend/lib/widgets/extended_floating_action_button.dart b/frontend/lib/widgets/extended_floating_action_button.dart index 30f815edf..879aa9197 100644 --- a/frontend/lib/widgets/extended_floating_action_button.dart +++ b/frontend/lib/widgets/extended_floating_action_button.dart @@ -14,7 +14,7 @@ class ExtendedFloatingActionButton extends StatelessWidget { Widget build(BuildContext context) { final theme = Theme.of(context); return FloatingActionButton.extended( - backgroundColor: theme.colorScheme.surfaceVariant, + backgroundColor: theme.colorScheme.surfaceContainerHighest, elevation: 1, onPressed: onPressed, icon: AnimatedSwitcher( diff --git a/frontend/pubspec.lock b/frontend/pubspec.lock index a84b0f91a..7f56fd0ce 100644 --- a/frontend/pubspec.lock +++ b/frontend/pubspec.lock @@ -624,10 +624,10 @@ packages: dependency: "direct main" description: name: intl - sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" + sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf url: "https://pub.dev" source: hosted - version: "0.18.1" + version: "0.19.0" intro_slider: dependency: "direct main" description: @@ -680,26 +680,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.1" lint: dependency: "direct dev" description: @@ -771,10 +771,10 @@ packages: dependency: "direct main" description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" mime: dependency: transitive description: @@ -1329,26 +1329,26 @@ packages: dependency: "direct dev" description: name: test - sha256: a1f7595805820fcc05e5c52e3a231aedd0b72972cb333e8c738a8b1239448b6f + sha256: "7ee446762c2c50b3bd4ea96fe13ffac69919352bd3b4b17bac3f3465edc58073" url: "https://pub.dev" source: hosted - version: "1.24.9" + version: "1.25.2" test_api: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" test_core: dependency: transitive description: name: test_core - sha256: a757b14fc47507060a162cc2530d9a4a2f92f5100a952c7443b5cad5ef5b106a + sha256: "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4" url: "https://pub.dev" source: hosted - version: "0.5.9" + version: "0.6.0" timezone: dependency: transitive description: @@ -1497,10 +1497,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.2.1" watcher: dependency: transitive description: @@ -1574,5 +1574,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: "3.3.1" - flutter: ">=3.19.3" + dart: "3.4.4" + flutter: ">=3.22.3" diff --git a/frontend/pubspec.yaml b/frontend/pubspec.yaml index 1cff1f53a..a7cef3860 100644 --- a/frontend/pubspec.yaml +++ b/frontend/pubspec.yaml @@ -6,8 +6,8 @@ description: App for the Bavarian Ehrenamtskarte owners. publish_to: 'none' # Remove this line if you wish to publish to pub.dev environment: - sdk: 3.3.1 - flutter: 3.19.3 + sdk: 3.4.4 + flutter: 3.22.3 dependencies: flutter: @@ -15,7 +15,7 @@ dependencies: device_info_plus: ^10.0.1 flutter_localizations: sdk: flutter - intl: ^0.18.0 + intl: ^0.19.0 mutex: ^3.1.0 maplibre_gl: git: