Skip to content
Merged
Show file tree
Hide file tree
Changes from 73 commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
90a9117
chore: delete absolete files
fulleni Nov 24, 2025
e1522ec
feat(enums): add HeadlineClickBehavior enum
fulleni Nov 24, 2025
68e7205
feat(enums): add FeedItemClickBehavior enum
fulleni Nov 24, 2025
ef87c7e
chore: deleted files
fulleni Nov 24, 2025
c2f5520
feat(lib): add FeedItemDensity enum
fulleni Nov 24, 2025
7bf4b61
feat(enums): add new enum for feed item image styles
fulleni Nov 24, 2025
095b9d0
fix fixtures: update user app settings to use feedSettings with new p…
fulleni Nov 24, 2025
4ce777b
fix(remote_configs): update demo platform ad identifiers and navigati…
fulleni Nov 24, 2025
e31ecdb
refactor(ad_config): replace ad configuration models with navigation …
fulleni Nov 24, 2025
c7f394f
refactor(ad_platform_identifiers): simplify ad identifier structure
fulleni Nov 24, 2025
5675329
fix(models): correct variable name in AdConfig
fulleni Nov 24, 2025
d8fc7dd
chore: barrels
fulleni Nov 24, 2025
83fedbc
feat(lib): add navigation ad configuration model
fulleni Nov 24, 2025
a00a30f
feat(models): add NavigationAdFrequencyConfig model
fulleni Nov 24, 2025
4e20f4d
refactor(headline): remove excerpt property from Headline class
fulleni Nov 24, 2025
890e41b
refactor(models): update FeedDisplayPreferences with new feed item re…
fulleni Nov 24, 2025
046a0aa
fix(user_app_settings): correct field names in fixtures
fulleni Nov 24, 2025
d43be9b
feat(RemoteConfig): add feedItemClickBehavior configuration
fulleni Nov 24, 2025
bfc8d91
chore: delete absolete files
fulleni Nov 24, 2025
70b1c1c
fix(fixtures): add app settings demo data
fulleni Nov 24, 2025
99b8ecc
refactor(fixtures): update exports in fixtures.dart
fulleni Nov 24, 2025
81f4289
feat(core): add app settings model
fulleni Nov 24, 2025
d396d8e
feat(models): add feed settings model
fulleni Nov 24, 2025
d244fa3
refactor(user_settings): update exports and rename modules
fulleni Nov 24, 2025
09047da
fix: tests
fulleni Nov 24, 2025
2d793df
build(serialization); generate
fulleni Nov 24, 2025
0881c46
fix: sync headlines fixture
fulleni Nov 24, 2025
c140f8f
refactor(notifications): remove notification body field
fulleni Nov 24, 2025
5c122fc
build(serialization): generate
fulleni Nov 24, 2025
079cc75
fix: synced tests
fulleni Nov 24, 2025
c00d796
test(remote-config): re-add internal nav FeedItemClickBehavior to fix…
fulleni Nov 24, 2025
516b37b
feat(core): add AppConfig model
fulleni Nov 25, 2025
7185710
feat(core): add features_config model
fulleni Nov 25, 2025
e84b31e
feat(models): add FeedConfig class
fulleni Nov 25, 2025
980b0e7
feat(config): add GeneralAppConfig model
fulleni Nov 25, 2025
b5a9759
feat(config): add MaintenanceConfig model
fulleni Nov 25, 2025
3e086cb
refactor(core): migrate RemoteConfig to use AppConfig, FeaturesConfig…
fulleni Nov 25, 2025
51edb66
feat(core): add UserConfig model
fulleni Nov 25, 2025
6a821ce
feat(models): add UpdateConfig model
fulleni Nov 25, 2025
9fd32f6
feat(core): add UserLimitsConfig model
fulleni Nov 25, 2025
2757af6
refactor(remote_configs): update fixture to match new RemoteConfig st…
fulleni Nov 25, 2025
a2093fe
build(serialziation): generate
fulleni Nov 25, 2025
6f50b2e
feat(config): update GeneralAppConfig and remote configs fixtures
fulleni Nov 25, 2025
9c0cba0
build(serialization): generate
fulleni Nov 25, 2025
c4e974b
style: misc
fulleni Nov 25, 2025
4c0ed61
refactor(push_notifications): replace data map with typed fields
fulleni Nov 25, 2025
776d071
feat(utils): add export for nullable_date_time_converter
fulleni Nov 25, 2025
f1a67aa
fix(remote_configs): update ad platform configuration
fulleni Nov 25, 2025
bfece2a
test/config: update ad config test to reflect model changes
fulleni Nov 25, 2025
8d06743
test(ad_platform_identifiers): remove demo platform and update tests
fulleni Nov 25, 2025
3d2c9a6
chore: delete absolete files
fulleni Nov 25, 2025
e829092
test(remote_config): update tests to reflect model changes
fulleni Nov 25, 2025
0eed0c4
fix(models): update feed ad configuration path in test
fulleni Nov 25, 2025
fc0e1a9
test: update FeedDecoratorConfig tests to reflect new remote config s…
fulleni Nov 25, 2025
6d9ed14
test(config): update FeedDecoratorRoleConfig test to use correct prop…
fulleni Nov 25, 2025
4f4db0f
test(config): update feed ad frequency config test to match new struc…
fulleni Nov 25, 2025
154c911
test: update push notification config reference in tests
fulleni Nov 25, 2025
eabbd43
feat(models): add copyWith method to config models
fulleni Nov 25, 2025
34d32fc
style: indent copyWith method in GeneralAppConfig
fulleni Nov 25, 2025
fa0ecc4
test(core): add AppConfig unit tests
fulleni Nov 25, 2025
52c0d9d
test(core): add FeaturesConfig model tests
fulleni Nov 25, 2025
8215684
test(core): add FeedConfig model tests
fulleni Nov 25, 2025
1827eda
test(core): add GeneralAppConfig model tests
fulleni Nov 25, 2025
f082a24
test(core): add MaintenanceConfig model tests
fulleni Nov 25, 2025
32ae5be
test(core): add UpdateConfig model tests
fulleni Nov 25, 2025
06241b5
test(user_limits_config): rewrite tests for UserLimitsConfig
fulleni Nov 25, 2025
76edafa
test(user_limits_config): rewrite tests for UserLimitsConfig
fulleni Nov 25, 2025
ddde219
feat(models): add copyWith method to UserLimitsConfig
fulleni Nov 25, 2025
28a6170
feat(UserConfig): add copyWith method for easier configuration updates
fulleni Nov 25, 2025
5d3922a
test: update test cases to use new `Limits` model
fulleni Nov 25, 2025
88c83c0
feat(UpdateConfig): add copyWith method for updating fields
fulleni Nov 25, 2025
1c2ae70
test(push_notifications): improve PushNotificationPayload test
fulleni Nov 25, 2025
2087d58
test(headline): update props count and list in headline test
fulleni Nov 25, 2025
07e32df
fix(remote_configs): add missing demo AdPlatformType entries
fulleni Nov 25, 2025
70c7c3a
style: format
fulleni Nov 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions lib/src/enums/enums.dart
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ export 'dashboard_user_role.dart';
export 'device_platform.dart';
export 'feed_decorator_category.dart';
export 'feed_decorator_type.dart';
export 'headline_density.dart';
export 'headline_image_style.dart';
export 'in_article_ad_slot_type.dart';
export 'feed_item_click_behavior.dart';
export 'feed_item_density.dart';
export 'feed_item_image_style.dart';
export 'push_notification_provider.dart';
export 'push_notification_subscription_delivery_type.dart';
export 'sort_order.dart';
Expand Down
17 changes: 17 additions & 0 deletions lib/src/enums/feed_item_click_behavior.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import 'package:json_annotation/json_annotation.dart';

/// {@template feed_item_click_behavior}
/// Defines how a feed item click should be handled.
/// {@endtemplate}
@JsonEnum()
enum FeedItemClickBehavior {
/// Adhere to the behavior defined by the admin in the remote config.
@JsonValue('default')
defaultBehavior,

@JsonValue('internalNavigation')
internalNavigation,

@JsonValue('externalNavigation')
externalNavigation,
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/// Defines how densely headline information should be presented.
enum HeadlineDensity {
/// Defines how densely feed item information should be presented.
enum FeedItemDensity {
/// Minimal spacing, smaller title font.
compact,

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/// Defines how images should be displayed in the headline feed.
enum HeadlineImageStyle {
/// Defines how a feed item image should be displayed.
enum FeedItemImageStyle {
/// No image shown in the feed.
hidden,

Expand Down
10 changes: 0 additions & 10 deletions lib/src/enums/in_article_ad_slot_type.dart

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import 'package:core/core.dart';

/// User App Settings Demo Data
final List<UserAppSettings> userAppSettingsFixturesData = [
UserAppSettings(
/// App Settings Demo Data
final List<AppSettings> appSettingsFixturesData = [
AppSettings(
id: kAdminUserId,
displaySettings: const DisplaySettings(
baseTheme: AppBaseTheme.system,
Expand All @@ -20,14 +20,13 @@ final List<UserAppSettings> userAppSettingsFixturesData = [
updatedAt: DateTime.now(),
status: ContentStatus.active,
),
feedPreferences: const FeedDisplayPreferences(
headlineDensity: HeadlineDensity.standard,
headlineImageStyle: HeadlineImageStyle.smallThumbnail,
showSourceInHeadlineFeed: true,
showPublishDateInHeadlineFeed: true,
feedSettings: const FeedSettings(
feedItemDensity: FeedItemDensity.standard,
feedItemImageStyle: FeedItemImageStyle.smallThumbnail,
feedItemClickBehavior: FeedItemClickBehavior.defaultBehavior,
),
),
UserAppSettings(
AppSettings(
id: kUser1Id,
displaySettings: const DisplaySettings(
baseTheme: AppBaseTheme.system,
Expand All @@ -45,14 +44,13 @@ final List<UserAppSettings> userAppSettingsFixturesData = [
updatedAt: DateTime.now(),
status: ContentStatus.active,
),
feedPreferences: const FeedDisplayPreferences(
headlineDensity: HeadlineDensity.standard,
headlineImageStyle: HeadlineImageStyle.smallThumbnail,
showSourceInHeadlineFeed: true,
showPublishDateInHeadlineFeed: true,
feedSettings: const FeedSettings(
feedItemDensity: FeedItemDensity.standard,
feedItemImageStyle: FeedItemImageStyle.smallThumbnail,
feedItemClickBehavior: FeedItemClickBehavior.defaultBehavior,
),
),
UserAppSettings(
AppSettings(
id: kUser2Id,
displaySettings: const DisplaySettings(
baseTheme: AppBaseTheme.dark,
Expand All @@ -70,17 +68,16 @@ final List<UserAppSettings> userAppSettingsFixturesData = [
updatedAt: DateTime.now(),
status: ContentStatus.active,
),
feedPreferences: const FeedDisplayPreferences(
headlineDensity: HeadlineDensity.compact,
headlineImageStyle: HeadlineImageStyle.largeThumbnail,
showSourceInHeadlineFeed: true,
showPublishDateInHeadlineFeed: true,
feedSettings: const FeedSettings(
feedItemDensity: FeedItemDensity.compact,
feedItemImageStyle: FeedItemImageStyle.largeThumbnail,
feedItemClickBehavior: FeedItemClickBehavior.defaultBehavior,
),
),
// Add settings for users 3-10, copying the admin's settings for simplicity
...List.generate(
8,
(index) => UserAppSettings(
(index) => AppSettings(
id: [
kUser3Id,
kUser4Id,
Expand All @@ -107,11 +104,10 @@ final List<UserAppSettings> userAppSettingsFixturesData = [
updatedAt: DateTime.now(),
status: ContentStatus.active,
),
feedPreferences: const FeedDisplayPreferences(
headlineDensity: HeadlineDensity.standard,
headlineImageStyle: HeadlineImageStyle.smallThumbnail,
showSourceInHeadlineFeed: true,
showPublishDateInHeadlineFeed: true,
feedSettings: const FeedSettings(
feedItemDensity: FeedItemDensity.standard,
feedItemImageStyle: FeedItemImageStyle.smallThumbnail,
feedItemClickBehavior: FeedItemClickBehavior.defaultBehavior,
),
),
),
Expand Down
2 changes: 1 addition & 1 deletion lib/src/fixtures/fixtures.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export 'app_settings.dart';
export 'countries.dart';
export 'dashboard_summary.dart';
export 'fixture_ids.dart';
Expand All @@ -9,6 +10,5 @@ export 'saved_headline_filters.dart';
export 'saved_source_filters.dart';
export 'sources.dart';
export 'topics.dart';
export 'user_app_settings.dart';
export 'user_content_preferences.dart';
export 'users.dart';
Loading
Loading