Compare commits
2 Commits
00863b94e8
...
a75083d916
Author | SHA1 | Date | |
---|---|---|---|
a75083d916 | |||
919ff5e464 |
@ -171,7 +171,18 @@ class _ChatScreenState extends State<ChatScreen> {
|
||||
}
|
||||
|
||||
void _onTapChannel(SnChannel channel) {
|
||||
setState(() => _unreadCounts?[channel.id] = 0);
|
||||
setState(() {
|
||||
_unreadCounts?[channel.id] = 0;
|
||||
if (channel.realmId != null) {
|
||||
_unreadCountsGrouped?[channel.realmId!] =
|
||||
(_unreadCountsGrouped?[channel.realmId!] ?? 0) -
|
||||
(_unreadCounts?[channel.id] ?? 0);
|
||||
}
|
||||
if (channel.type == 1) {
|
||||
_unreadCountsGrouped?[0] =
|
||||
(_unreadCountsGrouped?[0] ?? 0) - (_unreadCounts?[channel.id] ?? 0);
|
||||
}
|
||||
});
|
||||
if (ResponsiveScaffold.getIsExpand(context)) {
|
||||
GoRouter.of(context).pushReplacementNamed(
|
||||
'chatRoom',
|
||||
@ -180,9 +191,8 @@ class _ChatScreenState extends State<ChatScreen> {
|
||||
'alias': channel.alias,
|
||||
},
|
||||
).then((value) {
|
||||
if (mounted) {
|
||||
setState(() => _unreadCounts?[channel.id] = 0);
|
||||
_refreshChannels(noRemote: true);
|
||||
if (mounted && value == true) {
|
||||
_refreshChannels();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
@ -193,9 +203,8 @@ class _ChatScreenState extends State<ChatScreen> {
|
||||
'alias': channel.alias,
|
||||
},
|
||||
).then((value) {
|
||||
if (mounted) {
|
||||
setState(() => _unreadCounts?[channel.id] = 0);
|
||||
_refreshChannels(noRemote: true);
|
||||
if (mounted && value == true) {
|
||||
_refreshChannels();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -60,7 +60,7 @@ class AccountPopoverCard extends StatelessWidget {
|
||||
IconButton(
|
||||
onPressed: () {
|
||||
Navigator.pop(context);
|
||||
GoRouter.of(context).pushNamed(
|
||||
GoRouter.of(context).pushReplacementNamed(
|
||||
'accountProfilePage',
|
||||
pathParameters: {'name': data.name},
|
||||
);
|
||||
|
@ -25,6 +25,7 @@ class AttachmentItem extends StatelessWidget {
|
||||
final String? heroTag;
|
||||
final BoxFit fit;
|
||||
final FilterQuality? filterQuality;
|
||||
final Function? onZoom;
|
||||
|
||||
const AttachmentItem({
|
||||
super.key,
|
||||
@ -32,6 +33,7 @@ class AttachmentItem extends StatelessWidget {
|
||||
required this.data,
|
||||
required this.heroTag,
|
||||
this.filterQuality,
|
||||
this.onZoom,
|
||||
});
|
||||
|
||||
Widget _buildContent(BuildContext context) {
|
||||
@ -94,7 +96,14 @@ class AttachmentItem extends StatelessWidget {
|
||||
});
|
||||
}
|
||||
|
||||
return _buildContent(context);
|
||||
return GestureDetector(
|
||||
child: _buildContent(context),
|
||||
onTap: () {
|
||||
if (data?.mimetype.startsWith('image') ?? false) {
|
||||
onZoom?.call();
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -74,7 +74,6 @@ class _AttachmentListState extends State<AttachmentList> {
|
||||
return Container(
|
||||
padding: widget.padding ?? EdgeInsets.zero,
|
||||
constraints: constraints,
|
||||
child: GestureDetector(
|
||||
child: AspectRatio(
|
||||
aspectRatio: singleAspectRatio,
|
||||
child: Container(
|
||||
@ -90,14 +89,7 @@ class _AttachmentListState extends State<AttachmentList> {
|
||||
heroTag: heroTags[0],
|
||||
fit: widget.fit,
|
||||
filterQuality: widget.filterQuality,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
onTap: () {
|
||||
if (widget.data.firstOrNull?.mediaType != SnMediaType.image) {
|
||||
return;
|
||||
}
|
||||
onZoom: () {
|
||||
context.pushTransparentRoute(
|
||||
AttachmentZoomView(
|
||||
data: widget.data.where((ele) => ele != null).cast(),
|
||||
@ -109,6 +101,9 @@ class _AttachmentListState extends State<AttachmentList> {
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@ -133,21 +128,14 @@ class _AttachmentListState extends State<AttachmentList> {
|
||||
mainAxisSpacing: 4,
|
||||
children: widget.data
|
||||
.mapIndexed(
|
||||
(idx, ele) => GestureDetector(
|
||||
child: Container(
|
||||
(idx, ele) => Container(
|
||||
constraints: constraints,
|
||||
child: AttachmentItem(
|
||||
data: ele,
|
||||
heroTag: heroTags[idx],
|
||||
fit: BoxFit.cover,
|
||||
filterQuality: widget.filterQuality,
|
||||
),
|
||||
),
|
||||
onTap: () {
|
||||
if (widget.data[idx]!.mediaType !=
|
||||
SnMediaType.image) {
|
||||
return;
|
||||
}
|
||||
onZoom: () {
|
||||
context.pushTransparentRoute(
|
||||
AttachmentZoomView(
|
||||
data: widget.data
|
||||
@ -161,6 +149,7 @@ class _AttachmentListState extends State<AttachmentList> {
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
)
|
||||
.toList(),
|
||||
),
|
||||
|
Loading…
x
Reference in New Issue
Block a user