Skip to content

Commit 591bb94

Browse files
committed
feat(account): add interstitial ad trigger on saved headline tap
- Import InterstitialAdManager in saved_headlines_page.dart - Add onPotentialAdTrigger call before navigating to article details - Implement ad trigger for all headline image style cases
1 parent 004df1c commit 591bb94

File tree

1 file changed

+31
-15
lines changed

1 file changed

+31
-15
lines changed

lib/account/view/saved_headlines_page.dart

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'package:core/core.dart';
22
import 'package:flutter/material.dart';
33
import 'package:flutter_bloc/flutter_bloc.dart';
44
import 'package:flutter_news_app_mobile_client_full_source_code/account/bloc/account_bloc.dart';
5+
import 'package:flutter_news_app_mobile_client_full_source_code/ads/interstitial_ad_manager.dart';
56
import 'package:flutter_news_app_mobile_client_full_source_code/app/bloc/app_bloc.dart';
67
// HeadlineItemWidget import removed
78
import 'package:flutter_news_app_mobile_client_full_source_code/l10n/l10n.dart';
@@ -105,31 +106,46 @@ class SavedHeadlinesPage extends StatelessWidget {
105106
case HeadlineImageStyle.hidden:
106107
tile = HeadlineTileTextOnly(
107108
headline: headline,
108-
onHeadlineTap: () => context.goNamed(
109-
Routes.accountArticleDetailsName,
110-
pathParameters: {'id': headline.id},
111-
extra: headline,
112-
),
109+
onHeadlineTap: () {
110+
context
111+
.read<InterstitialAdManager>()
112+
.onPotentialAdTrigger(context: context);
113+
context.goNamed(
114+
Routes.accountArticleDetailsName,
115+
pathParameters: {'id': headline.id},
116+
extra: headline,
117+
);
118+
},
113119
trailing: trailingButton,
114120
);
115121
case HeadlineImageStyle.smallThumbnail:
116122
tile = HeadlineTileImageStart(
117123
headline: headline,
118-
onHeadlineTap: () => context.goNamed(
119-
Routes.accountArticleDetailsName,
120-
pathParameters: {'id': headline.id},
121-
extra: headline,
122-
),
124+
onHeadlineTap: () {
125+
context
126+
.read<InterstitialAdManager>()
127+
.onPotentialAdTrigger(context: context);
128+
context.goNamed(
129+
Routes.accountArticleDetailsName,
130+
pathParameters: {'id': headline.id},
131+
extra: headline,
132+
);
133+
},
123134
trailing: trailingButton,
124135
);
125136
case HeadlineImageStyle.largeThumbnail:
126137
tile = HeadlineTileImageTop(
127138
headline: headline,
128-
onHeadlineTap: () => context.goNamed(
129-
Routes.accountArticleDetailsName,
130-
pathParameters: {'id': headline.id},
131-
extra: headline,
132-
),
139+
onHeadlineTap: () {
140+
context
141+
.read<InterstitialAdManager>()
142+
.onPotentialAdTrigger(context: context);
143+
context.goNamed(
144+
Routes.accountArticleDetailsName,
145+
pathParameters: {'id': headline.id},
146+
extra: headline,
147+
);
148+
},
133149
trailing: trailingButton,
134150
);
135151
}

0 commit comments

Comments
 (0)