@@ -4,6 +4,8 @@ import 'package:data_table_2/data_table_2.dart';
4
4
import 'package:flutter/material.dart' ;
5
5
import 'package:flutter_bloc/flutter_bloc.dart' ;
6
6
import 'package:flutter_news_app_web_dashboard_full_source_code/content_management/bloc/archived_topics/archived_topics_bloc.dart' ;
7
+ import 'package:flutter_news_app_web_dashboard_full_source_code/content_management/bloc/content_management_bloc.dart' ;
8
+ import 'package:flutter_news_app_web_dashboard_full_source_code/dashboard/bloc/dashboard_bloc.dart' ;
7
9
import 'package:flutter_news_app_web_dashboard_full_source_code/l10n/app_localizations.dart' ;
8
10
import 'package:flutter_news_app_web_dashboard_full_source_code/l10n/l10n.dart' ;
9
11
import 'package:intl/intl.dart' ;
@@ -35,10 +37,21 @@ class _ArchivedTopicsView extends StatelessWidget {
35
37
),
36
38
body: Padding (
37
39
padding: const EdgeInsets .all (AppSpacing .lg),
38
- child: BlocBuilder <ArchivedTopicsBloc , ArchivedTopicsState >(
39
- builder: (context, state) {
40
- if (state.status == ArchivedTopicsStatus .loading &&
41
- state.topics.isEmpty) {
40
+ child: BlocListener <ArchivedTopicsBloc , ArchivedTopicsState >(
41
+ listenWhen: (previous, current) =>
42
+ previous.restoredTopic != current.restoredTopic,
43
+ listener: (context, state) {
44
+ if (state.restoredTopic != null ) {
45
+ context
46
+ .read <ContentManagementBloc >()
47
+ .add (const LoadTopicsRequested (limit: kDefaultRowsPerPage));
48
+ context.read <DashboardBloc >().add ( DashboardSummaryLoaded ());
49
+ }
50
+ },
51
+ child: BlocBuilder <ArchivedTopicsBloc , ArchivedTopicsState >(
52
+ builder: (context, state) {
53
+ if (state.status == ArchivedTopicsStatus .loading &&
54
+ state.topics.isEmpty) {
42
55
return LoadingStateWidget (
43
56
icon: Icons .topic,
44
57
headline: l10n.loadingArchivedTopics,
@@ -116,7 +129,8 @@ class _ArchivedTopicsView extends StatelessWidget {
116
129
),
117
130
],
118
131
);
119
- },
132
+ },
133
+ ),
120
134
),
121
135
),
122
136
);
0 commit comments