👽 Support new attachment reference system

This commit is contained in:
2025-06-02 01:08:04 +08:00
parent 152e076d44
commit 4187ceb248
50 changed files with 219 additions and 227 deletions

View File

@ -54,8 +54,8 @@ class RealmDetailScreen extends HookConsumerWidget {
leading: PageBackButton(shadows: [iconShadow]),
flexibleSpace: FlexibleSpaceBar(
background:
realm!.backgroundId != null
? CloudImageWidget(fileId: realm.backgroundId!)
realm!.background?.id != null
? CloudImageWidget(fileId: realm.background!.id)
: Container(
color:
Theme.of(context).appBarTheme.backgroundColor,
@ -118,7 +118,7 @@ class _RealmActionMenu extends HookConsumerWidget {
final isModerator = realmIdentityAsync.when(
data: (identity) => (identity?.role ?? 0) >= 50,
loading: () => false,
error: (_, __) => false,
error: (_, _) => false,
);
return PopupMenuButton(
@ -212,7 +212,7 @@ class _RealmActionMenu extends HookConsumerWidget {
child: Center(child: CircularProgressIndicator()),
),
error:
(_, __) => PopupMenuItem(
(_, _) => PopupMenuItem(
child: Row(
children: [
Icon(
@ -403,7 +403,7 @@ class _RealmMemberListSheet extends HookConsumerWidget {
return ListTile(
contentPadding: EdgeInsets.only(left: 16, right: 12),
leading: ProfilePictureWidget(
fileId: member.account!.profile.pictureId,
fileId: member.account!.profile.picture?.id,
),
title: Row(
spacing: 6,

View File

@ -49,13 +49,13 @@ class RealmListScreen extends HookConsumerWidget {
label: Text(
realmInvites.when(
data: (invites) => invites.length.toString(),
error: (_, __) => '0',
error: (_, _) => '0',
loading: () => '0',
),
),
isLabelVisible: realmInvites.when(
data: (invites) => invites.isNotEmpty,
error: (_, __) => false,
error: (_, _) => false,
loading: () => false,
),
child: const Icon(Symbols.email),
@ -97,7 +97,7 @@ class RealmListScreen extends HookConsumerWidget {
return ListTile(
isThreeLine: true,
leading: ProfilePictureWidget(
fileId: value[item].pictureId,
fileId: value[item].picture?.id,
fallbackIcon: Symbols.group,
),
title: Text(value[item].name),
@ -448,7 +448,7 @@ class _RealmInviteSheet extends HookConsumerWidget {
final invite = items[index];
return ListTile(
leading: ProfilePictureWidget(
fileId: invite.realm!.pictureId,
fileId: invite.realm!.picture?.id,
fallbackIcon: Symbols.group,
),
title: Text(invite.realm!.name),