From 2073bf9f6d99714812485859ed871000b7c730a4 Mon Sep 17 00:00:00 2001 From: Kelrap Date: Tue, 10 Jun 2025 10:13:02 -0400 Subject: [PATCH 1/5] Add default space description to public space cards when no topic has been set --- .../public_room_bottom_sheet.dart | 18 +++++++++--------- .../public_spaces/public_space_card.dart | 18 +++++++++--------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/lib/pangea/public_spaces/public_room_bottom_sheet.dart b/lib/pangea/public_spaces/public_room_bottom_sheet.dart index 07b29095d..2dfb27fc8 100644 --- a/lib/pangea/public_spaces/public_room_bottom_sheet.dart +++ b/lib/pangea/public_spaces/public_room_bottom_sheet.dart @@ -221,17 +221,17 @@ class PublicRoomBottomSheetState extends State { ), ], ), - if (chunk?.topic != null) - Flexible( - child: SingleChildScrollView( - child: Text( - chunk!.topic!, - softWrap: true, - textAlign: TextAlign.start, - maxLines: null, - ), + Flexible( + child: SingleChildScrollView( + child: Text( + chunk?.topic ?? + L10n.of(context).noSpaceDescriptionYet, + softWrap: true, + textAlign: TextAlign.start, + maxLines: null, ), ), + ), ], ), ), diff --git a/lib/pangea/public_spaces/public_space_card.dart b/lib/pangea/public_spaces/public_space_card.dart index 8d1c58ddf..03169f9ef 100644 --- a/lib/pangea/public_spaces/public_space_card.dart +++ b/lib/pangea/public_spaces/public_space_card.dart @@ -123,16 +123,16 @@ class PublicSpaceCard extends StatelessWidget { ), ], ), - if (space.topic != null) - Flexible( - child: Text( - space.topic!, - style: theme.textTheme.bodySmall, - overflow: TextOverflow.ellipsis, - textAlign: TextAlign.start, - maxLines: 5, - ), + Flexible( + child: Text( + space.topic ?? + L10n.of(context).noSpaceDescriptionYet, + style: theme.textTheme.bodySmall, + overflow: TextOverflow.ellipsis, + textAlign: TextAlign.start, + maxLines: 5, ), + ), ], ), ), From 01e08babb94f68f3fe005db2306bc198843c6332 Mon Sep 17 00:00:00 2001 From: Kelrap Date: Tue, 10 Jun 2025 13:06:10 -0400 Subject: [PATCH 2/5] 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', + ]; } From e81f33a5888a248af8fdc123e650c0c921580021 Mon Sep 17 00:00:00 2001 From: Kelrap Date: Tue, 10 Jun 2025 14:16:09 -0400 Subject: [PATCH 3/5] Fix image display problems --- .../public_room_bottom_sheet.dart | 29 ++++++++++++------- .../public_spaces/public_space_card.dart | 22 +++++++++----- 2 files changed, 33 insertions(+), 18 deletions(-) diff --git a/lib/pangea/public_spaces/public_room_bottom_sheet.dart b/lib/pangea/public_spaces/public_room_bottom_sheet.dart index 1c27a17e2..d7fcdecc0 100644 --- a/lib/pangea/public_spaces/public_room_bottom_sheet.dart +++ b/lib/pangea/public_spaces/public_room_bottom_sheet.dart @@ -2,6 +2,7 @@ import 'dart:math'; import 'package:flutter/material.dart'; +import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:go_router/go_router.dart'; import 'package:material_symbols_icons/symbols.dart'; @@ -199,17 +200,25 @@ class PublicRoomBottomSheetState extends State { Row( spacing: 16.0, children: [ - Avatar( - mxContent: chunk?.avatarUrl ?? - Uri.parse( - SpaceConstants.publicSpaceIcons[Random().nextInt( - SpaceConstants.publicSpaceIcons.length, - )], + (chunk?.avatarUrl != null) + ? Avatar( + mxContent: chunk?.avatarUrl, + name: chunk?.name, + size: 160.0, + borderRadius: BorderRadius.circular(24.0), + ) + : ClipRRect( + borderRadius: BorderRadius.circular(24.0), + child: CachedNetworkImage( + imageUrl: SpaceConstants + .publicSpaceIcons[Random().nextInt( + SpaceConstants.publicSpaceIcons.length, + )], + width: 160.0, + height: 160.0, + fit: BoxFit.cover, + ), ), - name: chunk?.name, - size: 160.0, - borderRadius: BorderRadius.circular(24.0), - ), Expanded( child: SizedBox( height: 160.0, diff --git a/lib/pangea/public_spaces/public_space_card.dart b/lib/pangea/public_spaces/public_space_card.dart index a27e99692..3f2a22036 100644 --- a/lib/pangea/public_spaces/public_space_card.dart +++ b/lib/pangea/public_spaces/public_space_card.dart @@ -2,6 +2,7 @@ import 'dart:math'; import 'package:flutter/material.dart'; +import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:matrix/matrix.dart'; @@ -62,17 +63,22 @@ class PublicSpaceCard extends StatelessWidget { ), child: ClipRRect( borderRadius: BorderRadius.circular(24.0), - child: MxcImage( - uri: space.avatarUrl ?? - Uri.parse( - SpaceConstants.publicSpaceIcons[Random().nextInt( + child: space.avatarUrl != null + ? MxcImage( + uri: space.avatarUrl!, + width: width, + height: width, + fit: BoxFit.cover, + ) + : CachedNetworkImage( + imageUrl: SpaceConstants + .publicSpaceIcons[Random().nextInt( SpaceConstants.publicSpaceIcons.length, )], + width: width, + height: width, + fit: BoxFit.cover, ), - width: width, - height: width, - fit: BoxFit.cover, - ), ), ), Expanded( From d94e20a3e64175cc17169421b14837ec4859bd2d Mon Sep 17 00:00:00 2001 From: Kelrap Date: Tue, 10 Jun 2025 14:22:00 -0400 Subject: [PATCH 4/5] Formatting --- .../public_spaces/public_room_bottom_sheet.dart | 12 +++++++----- lib/pangea/public_spaces/public_space_card.dart | 8 +++++--- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/pangea/public_spaces/public_room_bottom_sheet.dart b/lib/pangea/public_spaces/public_room_bottom_sheet.dart index 3052d339f..d7fcdecc0 100644 --- a/lib/pangea/public_spaces/public_room_bottom_sheet.dart +++ b/lib/pangea/public_spaces/public_room_bottom_sheet.dart @@ -1,6 +1,13 @@ import 'dart:math'; +import 'package:flutter/material.dart'; + import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; +import 'package:go_router/go_router.dart'; +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'; @@ -8,11 +15,6 @@ import 'package:fluffychat/utils/fluffy_share.dart'; import 'package:fluffychat/widgets/avatar.dart'; import 'package:fluffychat/widgets/future_loading_dialog.dart'; import 'package:fluffychat/widgets/matrix.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_gen/gen_l10n/l10n.dart'; -import 'package:go_router/go_router.dart'; -import 'package:material_symbols_icons/symbols.dart'; -import 'package:matrix/matrix.dart'; class PublicRoomBottomSheet extends StatefulWidget { final String? roomAlias; diff --git a/lib/pangea/public_spaces/public_space_card.dart b/lib/pangea/public_spaces/public_space_card.dart index a34bad086..3f2a22036 100644 --- a/lib/pangea/public_spaces/public_space_card.dart +++ b/lib/pangea/public_spaces/public_space_card.dart @@ -1,13 +1,15 @@ import 'dart:math'; +import 'package:flutter/material.dart'; + import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; +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'; -import 'package:flutter/material.dart'; -import 'package:flutter_gen/gen_l10n/l10n.dart'; -import 'package:matrix/matrix.dart'; class PublicSpaceCard extends StatelessWidget { final PublicRoomsChunk space; From d8f61cd7e36407eabbdc65ac7e317751d34e9d04 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Wed, 11 Jun 2025 15:26:50 -0400 Subject: [PATCH 5/5] fix localization imports --- lib/pangea/public_spaces/public_room_bottom_sheet.dart | 2 +- lib/pangea/public_spaces/public_space_card.dart | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/pangea/public_spaces/public_room_bottom_sheet.dart b/lib/pangea/public_spaces/public_room_bottom_sheet.dart index d7fcdecc0..ba0b71fc7 100644 --- a/lib/pangea/public_spaces/public_room_bottom_sheet.dart +++ b/lib/pangea/public_spaces/public_room_bottom_sheet.dart @@ -3,11 +3,11 @@ import 'dart:math'; import 'package:flutter/material.dart'; import 'package:cached_network_image/cached_network_image.dart'; -import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:go_router/go_router.dart'; import 'package:material_symbols_icons/symbols.dart'; import 'package:matrix/matrix.dart'; +import 'package:fluffychat/l10n/l10n.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'; diff --git a/lib/pangea/public_spaces/public_space_card.dart b/lib/pangea/public_spaces/public_space_card.dart index 3f2a22036..5b8063225 100644 --- a/lib/pangea/public_spaces/public_space_card.dart +++ b/lib/pangea/public_spaces/public_space_card.dart @@ -3,9 +3,9 @@ import 'dart:math'; import 'package:flutter/material.dart'; import 'package:cached_network_image/cached_network_image.dart'; -import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:matrix/matrix.dart'; +import 'package:fluffychat/l10n/l10n.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';