From de5a22ae3e209dc3ce67cb7af97734aa03cc0590 Mon Sep 17 00:00:00 2001 From: Steffen Kleinle Date: Thu, 6 Feb 2025 09:42:53 +0100 Subject: [PATCH] 62: Add placeholder icon and fix icon size --- assets/icons/sunflower.svg | 3 +++ lib/features/settings/widgets/settings_card.dart | 10 +++++++--- lib/features/tools/widgets/tools_list.dart | 6 +++++- 3 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 assets/icons/sunflower.svg diff --git a/assets/icons/sunflower.svg b/assets/icons/sunflower.svg new file mode 100644 index 00000000..39ceb34c --- /dev/null +++ b/assets/icons/sunflower.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/features/settings/widgets/settings_card.dart b/lib/features/settings/widgets/settings_card.dart index f2c098e8..76fcd93f 100644 --- a/lib/features/settings/widgets/settings_card.dart +++ b/lib/features/settings/widgets/settings_card.dart @@ -47,9 +47,13 @@ class SettingsCard extends StatelessWidget { style: theme.textTheme.titleSmall?.apply(color: isEnabled ? ThemeColors.text : ThemeColors.textDisabled), ), subtitle: Text(subtitle, style: TextStyle(color: isEnabled ? ThemeColors.text : ThemeColors.textDisabled)), - leading: ClipRRect( - borderRadius: BorderRadius.circular(8.0), - child: icon, + leading: SizedBox( + height: 48, + width: 48, + child: ClipRRect( + borderRadius: BorderRadius.circular(8.0), + child: icon, + ), ), trailing: onPress != null ? Padding( diff --git a/lib/features/tools/widgets/tools_list.dart b/lib/features/tools/widgets/tools_list.dart index 8137950f..708ea9cb 100644 --- a/lib/features/tools/widgets/tools_list.dart +++ b/lib/features/tools/widgets/tools_list.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:gruene_app/app/constants/config.dart'; import 'package:gruene_app/app/utils/open_url.dart'; +import 'package:gruene_app/app/widgets/icon.dart'; import 'package:gruene_app/features/settings/widgets/settings_card.dart'; import 'package:gruene_app/swagger_generated_code/gruene_api.swagger.dart'; @@ -12,6 +13,7 @@ class ToolsList extends StatelessWidget { @override Widget build(BuildContext context) { + final theme = Theme.of(context); return ListView( padding: const EdgeInsets.all(16), children: tools.map( @@ -23,7 +25,9 @@ class ToolsList extends StatelessWidget { subtitle: tool.shortDescription[Config.defaultLocale] as String? ?? '', onPress: url != null ? () => openUrl(url, context) : null, isExternal: true, - icon: icon != null ? SvgPicture.string(icon, width: 48, height: 48) : SizedBox(width: 48, height: 48), + icon: icon == null + ? CustomIcon(path: 'assets/icons/sunflower.svg', color: theme.colorScheme.primary) + : SvgPicture.string(icon, colorFilter: ColorFilter.mode(theme.colorScheme.primary, BlendMode.srcIn)), ); }, ).toList(),