From 01e08babb94f68f3fe005db2306bc198843c6332 Mon Sep 17 00:00:00 2001 From: Kelrap Date: Tue, 10 Jun 2025 13:06:10 -0400 Subject: [PATCH] Add default public space avatars --- .../public_room_bottom_sheet.dart | 10 ++++++++- .../public_spaces/public_space_card.dart | 22 ++++++++++++------- .../spaces/constants/space_constants.dart | 9 ++++++++ 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/lib/pangea/public_spaces/public_room_bottom_sheet.dart b/lib/pangea/public_spaces/public_room_bottom_sheet.dart index 2dfb27fc8..1c27a17e2 100644 --- a/lib/pangea/public_spaces/public_room_bottom_sheet.dart +++ b/lib/pangea/public_spaces/public_room_bottom_sheet.dart @@ -1,3 +1,5 @@ +import 'dart:math'; + import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; @@ -6,6 +8,7 @@ import 'package:material_symbols_icons/symbols.dart'; import 'package:matrix/matrix.dart'; import 'package:fluffychat/pangea/common/config/environment.dart'; +import 'package:fluffychat/pangea/spaces/constants/space_constants.dart'; import 'package:fluffychat/utils/adaptive_bottom_sheet.dart'; import 'package:fluffychat/utils/fluffy_share.dart'; import 'package:fluffychat/widgets/avatar.dart'; @@ -197,7 +200,12 @@ class PublicRoomBottomSheetState extends State { spacing: 16.0, children: [ Avatar( - mxContent: chunk?.avatarUrl, + mxContent: chunk?.avatarUrl ?? + Uri.parse( + SpaceConstants.publicSpaceIcons[Random().nextInt( + SpaceConstants.publicSpaceIcons.length, + )], + ), name: chunk?.name, size: 160.0, borderRadius: BorderRadius.circular(24.0), diff --git a/lib/pangea/public_spaces/public_space_card.dart b/lib/pangea/public_spaces/public_space_card.dart index 03169f9ef..a27e99692 100644 --- a/lib/pangea/public_spaces/public_space_card.dart +++ b/lib/pangea/public_spaces/public_space_card.dart @@ -1,3 +1,5 @@ +import 'dart:math'; + import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; @@ -5,6 +7,7 @@ import 'package:matrix/matrix.dart'; import 'package:fluffychat/pangea/common/widgets/pressable_button.dart'; import 'package:fluffychat/pangea/public_spaces/public_room_bottom_sheet.dart'; +import 'package:fluffychat/pangea/spaces/constants/space_constants.dart'; import 'package:fluffychat/widgets/mxc_image.dart'; class PublicSpaceCard extends StatelessWidget { @@ -59,14 +62,17 @@ class PublicSpaceCard extends StatelessWidget { ), child: ClipRRect( borderRadius: BorderRadius.circular(24.0), - child: space.avatarUrl != null - ? MxcImage( - uri: space.avatarUrl!, - width: width, - height: width, - fit: BoxFit.cover, - ) - : const SizedBox(), + child: MxcImage( + uri: space.avatarUrl ?? + Uri.parse( + SpaceConstants.publicSpaceIcons[Random().nextInt( + SpaceConstants.publicSpaceIcons.length, + )], + ), + width: width, + height: width, + fit: BoxFit.cover, + ), ), ), Expanded( diff --git a/lib/pangea/spaces/constants/space_constants.dart b/lib/pangea/spaces/constants/space_constants.dart index 12c2b3ee1..acbd9501d 100644 --- a/lib/pangea/spaces/constants/space_constants.dart +++ b/lib/pangea/spaces/constants/space_constants.dart @@ -20,4 +20,13 @@ class SpaceConstants { '${AppConfig.assetsBaseURL}/Announment_2.png', '${AppConfig.assetsBaseURL}/Announcement_3.jpg', ]; + + static List publicSpaceIcons = [ + '${AppConfig.assetsBaseURL}/Space+template+1.png', + '${AppConfig.assetsBaseURL}/Space+template+2.png', + '${AppConfig.assetsBaseURL}/Space+template+3.png', + '${AppConfig.assetsBaseURL}/Space+template+4.png', + '${AppConfig.assetsBaseURL}/Space+template+5.png', + '${AppConfig.assetsBaseURL}/Space+template+6.png', + ]; }