Skip to content

Commit

Permalink
fix(chat): restore redirection at user profile in chat and history page
Browse files Browse the repository at this point in the history
Fixes #122
  • Loading branch information
realth000 committed Dec 9, 2024
1 parent faf7e66 commit 9abb07c
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 23 deletions.
50 changes: 34 additions & 16 deletions lib/features/chat/widgets/chat_message_card.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:tsdm_client/constants/layout.dart';
import 'package:tsdm_client/extensions/date_time.dart';
import 'package:tsdm_client/features/chat/models/models.dart';
import 'package:tsdm_client/routes/screen_paths.dart';
import 'package:tsdm_client/utils/html/html_muncher.dart';
import 'package:tsdm_client/widgets/heroes.dart';
import 'package:universal_html/parsing.dart';
Expand All @@ -24,28 +26,44 @@ final class ChatMessageCard extends StatelessWidget {
child: Column(
children: [
ListTile(
leading: HeroUserAvatar(
username: chatMessage.author ?? '',
avatarUrl: chatMessage.authorAvatarUrl,
disableHero: true,
leading: GestureDetector(
onTap: chatMessage.author != null
? () async => context.pushNamed(
ScreenPaths.profile,
queryParameters: {'username': chatMessage.author},
)
: null,
child: HeroUserAvatar(
username: chatMessage.author ?? '',
avatarUrl: chatMessage.authorAvatarUrl,
disableHero: true,
),
),
title: GestureDetector(
onTap: chatMessage.author != null
? () async => context.pushNamed(
ScreenPaths.profile,
queryParameters: {'username': chatMessage.author},
)
: null,
child: Align(
alignment: Alignment.centerLeft,
child: Text(chatMessage.author ?? ''),
),
),
title: Text(chatMessage.author ?? ''),
subtitle: chatMessage.dateTime == null
? null
: Text(chatMessage.dateTime!.yyyyMMDDHHMMSS()),
),
Row(
children: [
Expanded(
child: Padding(
padding: edgeInsetsL16R16,
child: munchElement(
context,
parseHtmlDocument(chatMessage.message).body!,
),
),
Align(
alignment: Alignment.centerLeft,
child: Padding(
padding: edgeInsetsL16R16,
child: munchElement(
context,
parseHtmlDocument(chatMessage.message).body!,
),
],
),
),
],
),
Expand Down
29 changes: 22 additions & 7 deletions lib/widgets/card/notice_card_v2.dart
Original file line number Diff line number Diff line change
Expand Up @@ -257,15 +257,30 @@ class _PersonalMessageCardV2State extends State<PersonalMessageCardV2> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
ListTile(
leading: Badge(
isLabelVisible: showBadge && !widget.data.alreadyRead,
child: HeroUserAvatar(
username: widget.data.peerUsername,
avatarUrl: null,
disableHero: true,
leading: GestureDetector(
onTap: () async => context.pushNamed(
ScreenPaths.profile,
queryParameters: {'uid': '${widget.data.peerUid}'},
),
child: Badge(
isLabelVisible: showBadge && !widget.data.alreadyRead,
child: HeroUserAvatar(
username: widget.data.peerUsername,
avatarUrl: null,
disableHero: true,
),
),
),
title: GestureDetector(
onTap: () async => context.pushNamed(
ScreenPaths.profile,
queryParameters: {'uid': '${widget.data.peerUid}'},
),
child: Align(
alignment: Alignment.centerLeft,
child: Text(widget.data.peerUsername),
),
),
title: Text(widget.data.peerUsername),
subtitle: Text(
// Timestamp in second.
DateTime.fromMillisecondsSinceEpoch(
Expand Down

0 comments on commit 9abb07c

Please sign in to comment.