Add default public space avatars

This commit is contained in:
Kelrap 2025-06-10 13:06:10 -04:00
parent 2073bf9f6d
commit 01e08babb9
3 changed files with 32 additions and 9 deletions

View file

@ -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<PublicRoomBottomSheet> {
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),

View file

@ -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(

View file

@ -20,4 +20,13 @@ class SpaceConstants {
'${AppConfig.assetsBaseURL}/Announment_2.png',
'${AppConfig.assetsBaseURL}/Announcement_3.jpg',
];
static List<String> 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',
];
}