Skip to content

Conversation

@fulleni
Copy link
Member

@fulleni fulleni commented Dec 13, 2025

Status

READY

Description

This pull request significantly enhances the user interface and user experience of the application's configuration dashboard. The changes primarily involve a comprehensive refactoring of the UI to provide more context and visual cues for various settings. By integrating descriptive subtitles and relevant icons directly into expandable sections and toggle switches, the dashboard becomes more intuitive and easier to navigate. Additionally, localization updates ensure that these improvements are reflected accurately in multiple languages, offering clearer explanations for each configurable option.

Type of Change

  • ✨ New feature (non-breaking change which adds functionality)
  • 🛠️ Bug fix (non-breaking change which fixes an issue)
  • ❌ Breaking change (fix or feature that would cause existing functionality to change)
  • 🧹 Code refactor
  • ✅ Build configuration change
  • 📝 Documentation
  • 🗑️ Chore

- Added Arabic and English descriptions for various admin settings sections
- New descriptions include User Limits, App Status & Updates, Advertisements, Notifications, and Feed settings
- Also added descriptions for Ad Platform Configuration, Feed Ad Settings, and Navigation Ad Settings
- Updated existing entries to maintain consistency
- Add descriptions to expansion tiles for better user guidance
- Increase indentation of expansion tile children for visual hierarchy
- Improve type safety by specifying bool type in onExpansionChanged callback
…les and spacing adjustments

- Add descriptive subtitles to expansion tiles for better clarity
- Increase indentation of expansion tile children for improved visual hierarchy
- Utilize consistent styling for subtitles across different sections
…d content

- Update import statement for saved filter limits form
- Add description subtitle to user limits and content limits sections
- Increase indentation for expansion tile children
- Replace SavedFilterLimitsSection with SavedFilterLimitsForm for both headline and source filter types
- Add ExpansionTile to the ad platform configuration form
- Move the title and description into the ExpansionTile
- Adjust the layout of primary ad platform and ad unit identifiers sections
- Improve readability and usability of the ad platform configuration form
- Remove unused import of 'package:ui_kit/ui_kit.dart'
- Remove description text and spacing at the beginning of the form
- Removed Padding widgets around Text and SegmentedButton
- Improved layout consistency in EngagementSettingsForm
- Add a subtitle to the ExpansionTile in the FeedAdSettingsForm
- Use localized string for the subtitle text
- Apply styling to match the theme and improve readability
- Add a subtitle with description to the navigation ad settings form
- Use Theme text style for better consistency and readability
- Adjust opacity for better visual harmony with the existing theme
- Remove separate Text widget for description in both ExpansionTile widgets
- Add description as a subtitle to ExpansionTile, styled appropriately
- Remove extra SizedBox for spacing
- Wrap headline, source, and comment reporting switches in a conditional check
- Only display these options if reportingConfig.enabled is true
- Simplify the layout by removing unnecessary Padding and Column widgets
- Replace Column widget with ExpansionTile for better user experience
- Add title and description for headline and source filters
- Adjust layout and spacing of existing widgets
- Remove the Text widget displaying the user content limits description
- Remove the SizedBox creating space below the description text
- Adjust indentation of code block in community_filter_dialog.dart
- Improve readability and maintain consistency with surrounding code
- Add Arabic and English descriptions for new feed decorator prompts
- Include descriptions for 'Link Account', 'Upgrade', 'Rate App', 'Enable Notifications', 'Suggested Topics', and 'Suggested Sources' feed decorators
- Update both app_ar.arb and app_en.arb files
- Implement _getDecoratorDescription function to retrieve descriptions for each FeedDecoratorType
- Add subtitle to ExpansionTile in FeaturesConfigurationTab to display decorator descriptions
- Move description subtitles to ExpansionTile level for better visibility
- Remove separate Text widgets for descriptions to clean up layout
- Adjust spacing and alignment for a more consistent appearance
…xpansionTile

- Remove layout constraints check for mobile devices
- Set initiallyExpanded property to false for all ExpansionTiles
- Simplify the code structure for better maintainability
- Wrap engagement mode widgets with a Padding and Column
- Add conditional rendering based on engagementConfig.enabled
- Adjust layout to improve spacing and alignment
- Add horizontal padding of AppSpacing.lg and vertical padding of AppSpacing.sm to the SingleChildScrollView widget in the UserLimitsConfigForm
- Clarify feed item click behavior and community engagement descriptions
- Simplify positive interaction type labels
- Add descriptions for various advertisement and user interaction settings
- Explain role-based visibility and prompt logic configurations
- Added a subtitle to the SwitchListTile in AdConfigForm
- The subtitle provides a description for the global ads setting
- Add description subtitle to internal prompt logic section
- Add description subtitle to eligible positive interactions section
- Add description subtitle to follow-up actions section
- Add l10n description to positive interaction type switch tiles
- Add subtitle to enableFeedAdsLabel switch
- Add subtitle to visibleToRoleLabel switch
- Add subtitle to SwitchListTile in FeedDecoratorForm
- Improve user understanding of the enable decorator function
…witches

- Add subtitle to enableNavigationAdsLabel switch
- Add subtitle to visibleToRoleLabel switch
- Implement _getDeliveryTypeDescription method to provide descriptions for different delivery types
- Update _buildDeliveryTypesSection to include subtitle with delivery type description
- Add subtitle descriptions for headline, source, and comment reporting settings
- Improve clarity and user understanding of reporting options
- Add Icons.paid_outlined to advertisements tile
- Add Icons.notifications_active_outlined to push notifications tile
- Add Icons.dynamic_feed_outlined to feed tile
- Add Icons.groups_outlined to community and engagement tile
- Add system_update_alt_outlined icon to app status and updates tile
- Add link_outlined icon to app URLs tile
- Set icon color to onSurface with 70% opacity for both tiles
- Add Icons.manage_accounts_outlined to the leading of ExpansionTile
- Set icon color to onSurface with 70% opacity
- Update Arabic translations for app configuration terms
- Change "App Configuration" to "Remote Config" in English localization
- Update related page titles and navigation item labels
- Arabic: "تم حفظ الإعدادات عن بعد بنجاح. ستعتمد تطبيقات الجوال هذه التغييرات عند تشغيلها التالي."
- English: "Remote configuration saved successfully. Mobile clients will update on their next launch."

These changes provide more accurate information about how mobile clients will apply the new configuration.
@gemini-code-assist
Copy link

Summary of Changes

Hello @fulleni, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the user interface and user experience of the application's configuration dashboard. The changes primarily involve a comprehensive refactoring of the UI to provide more context and visual cues for various settings. By integrating descriptive subtitles and relevant icons directly into expandable sections and toggle switches, the dashboard becomes more intuitive and easier to navigate. Additionally, localization updates ensure that these improvements are reflected accurately in multiple languages, offering clearer explanations for each configurable option.

Highlights

  • UI Enhancements: Added leading icons and descriptive subtitles to numerous ExpansionTile and SwitchListTile widgets across various configuration forms (Features, System, User, Ads, Notifications, Reporting, App Review, Saved Filters) to improve clarity and user experience.
  • Localization Updates: Updated and added new localization strings (English and Arabic) to provide more detailed descriptions for configuration options, including renaming 'App Configuration' to 'Remote Config' for better accuracy.
  • Code Refactoring: Refactored several UI components, such as moving descriptive text into subtitle properties of ExpansionTiles, introducing helper methods for descriptions, and conditionally rendering sections based on enablement status.
  • Improved Saved Filter Limits: Replaced a single SavedFilterLimitsSection with two distinct SavedFilterLimitsForm instances, allowing separate configuration for headline and source filters.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request significantly enhances the user interface of the remote configuration screen by adding descriptive subtitles and icons to various settings. This greatly improves clarity and usability. The refactoring also includes moving descriptions from inside ExpansionTiles to their subtitle properties, which is a good pattern. The addition of many new localization strings is also well-handled.

I have a few suggestions to improve consistency and maintainability:

  • Centralizing repeated styling for subtitles and icons.
  • Using a consistent approach (extensions) for localization helper methods.
  • Avoiding hardcoded heights in TabBarViews where possible to make the UI more robust.

Overall, this is a solid refactoring effort that improves the user experience.

@fulleni fulleni self-assigned this Dec 13, 2025
@fulleni fulleni added this to the Market Contender Edition milestone Dec 13, 2025
@fulleni fulleni merged commit a9a1c04 into main Dec 13, 2025
2 of 3 checks passed
@fulleni fulleni deleted the refactor/app-config-ui-enhancement branch December 13, 2025 14:07
@github-project-automation github-project-automation bot moved this from Backlog to Done in Flutter News App Project Dec 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants