Skip to content

Commit fd2559a

Browse files
committed
fix bookmark opening
1 parent 04104f3 commit fd2559a

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

lib/features/bookmarks/views/thread_bookmark/thread_bookmark_widget.dart

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
import 'package:flutter/material.dart';
2+
import 'package:go_router/go_router.dart';
3+
import 'package:waves/core/common/extensions/ui.dart';
24
import 'package:waves/core/common/widgets/empty_state.dart';
35
import 'package:waves/core/common/widgets/images/user_profile_image.dart';
46
import 'package:waves/core/common/widgets/loading_state.dart';
7+
import 'package:waves/core/dependency_injection/dependency_injection.dart';
58
import 'package:waves/core/locales/locale_text.dart';
69
import 'package:waves/core/providers/bookmark_provider.dart';
10+
import 'package:waves/core/routes/routes.dart';
711
import 'package:waves/core/utilities/constants/ui_constants.dart';
812
import 'package:waves/core/utilities/enum.dart';
913
import 'package:waves/features/threads/models/thread_feeds/thread_bookmark_model.dart';
14+
import 'package:waves/features/threads/models/thread_feeds/thread_feed_model.dart';
15+
import 'package:waves/features/threads/repository/thread_repository.dart';
1016

1117
class ThreadBookmarkWidget extends StatelessWidget {
1218
const ThreadBookmarkWidget({super.key});
@@ -34,6 +40,29 @@ class ThreadBookmarkWidget extends StatelessWidget {
3440
"${item.author}/${item.permlink}",
3541
style: theme.textTheme.bodyMedium,
3642
),
43+
onTap: () async {
44+
context.showLoader();
45+
final repo = getIt<ThreadRepository>();
46+
final response = await repo.getcomments(
47+
item.author, item.permlink, null);
48+
if (!context.mounted) {
49+
return;
50+
}
51+
context.hideLoader();
52+
if (response.isSuccess &&
53+
response.data != null &&
54+
response.data!.isNotEmpty) {
55+
final ThreadFeedModel target = response.data!
56+
.firstWhere(
57+
(element) =>
58+
element.author == item.author &&
59+
element.permlink == item.permlink,
60+
orElse: () => response.data!.first);
61+
context.pushNamed(Routes.commentDetailView, extra: target);
62+
} else {
63+
context.showSnackBar(LocaleText.somethingWentWrong);
64+
}
65+
},
3766
);
3867
});
3968
} else {

0 commit comments

Comments
 (0)