11import 'package:ht_api/src/feed_enhancement/feed_decorator.dart' ;
22import 'package:ht_api/src/feed_enhancement/feed_enhancement_context.dart' ;
3- import 'package:ht_data_repository/ht_data_repository.dart' ;
43import 'package:ht_shared/ht_shared.dart' ;
54import 'package:uuid/uuid.dart' ;
65
@@ -55,7 +54,7 @@ class EngagementDecorator implements FeedDecorator {
5554 // Variables to hold the selected rule and template
5655 EngagementRule ? ruleToInject;
5756 EngagementContentTemplate ? templateToInject;
58- int selectedRuleShownCount = 0 ; // Initialize to 0
57+ var selectedRuleShownCount = 0 ; // Initialize to 0
5958
6059 for (final rule in rules) {
6160 // 1. Check user role
@@ -80,8 +79,8 @@ class EngagementDecorator implements FeedDecorator {
8079 }
8180
8281 // 4. Check minDaysSinceLastShown
83- final lastShownTimestamp =
84- updatedAppSettings .engagementLastShownTimestamps[rule.templateType.name];
82+ final lastShownTimestamp = updatedAppSettings
83+ .engagementLastShownTimestamps[rule.templateType.name];
8584 if (rule.minDaysSinceLastShown != null && lastShownTimestamp != null ) {
8685 final daysSinceLastShown = now.difference (lastShownTimestamp).inDays;
8786 if (daysSinceLastShown < rule.minDaysSinceLastShown! ) {
@@ -109,7 +108,8 @@ class EngagementDecorator implements FeedDecorator {
109108 // If we reach here, this rule is a candidate.
110109 // For simplicity, we'll inject the first valid one found.
111110 ruleToInject = rule;
112- selectedRuleShownCount = currentShownCount; // Capture for the selected rule
111+ selectedRuleShownCount =
112+ currentShownCount; // Capture for the selected rule
113113 break ; // Exit loop after finding the first suitable rule
114114 }
115115
@@ -123,7 +123,8 @@ class EngagementDecorator implements FeedDecorator {
123123 EngagementContentType .values.byName (ruleToInject.templateType.name),
124124 // Action for the client to perform when this is tapped.
125125 // This could be more dynamic based on templateType or rule.
126- action: const OpenExternalUrl (url: 'https://example.com/engagement_action' ),
126+ action:
127+ const OpenExternalUrl (url: 'https://example.com/engagement_action' ),
127128 );
128129
129130 // Determine placement (simple for now, can be enhanced)
@@ -136,7 +137,10 @@ class EngagementDecorator implements FeedDecorator {
136137 // Not enough primary items for this placement, do not insert
137138 } else if (placement.afterPrimaryItemIndex != null &&
138139 placement.afterPrimaryItemIndex! < decoratedFeed.length) {
139- decoratedFeed.insert (placement.afterPrimaryItemIndex! + 1 , engagementItem);
140+ decoratedFeed.insert (
141+ placement.afterPrimaryItemIndex! + 1 ,
142+ engagementItem,
143+ );
140144 inserted = true ;
141145 } else if (placement.relativePosition == 'middle' &&
142146 decoratedFeed.isNotEmpty) {
0 commit comments