Skip to content

Conversation

@fulleni
Copy link
Member

@fulleni fulleni commented Nov 22, 2025

Status

READY

Description

This pull request introduces a significant new feature to the in-app notification center, allowing users to efficiently manage their notifications by deleting all read items in a given tab. This enhancement improves user experience by providing a clear mechanism for decluttering the notification list, backed by robust state management and a user-friendly confirmation flow.

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

- Implement a new getter in InAppNotificationCenterState to check for read items in the current tab
- This change will help optimize the notification center UI by allowing us to display read/unread status more effectively
- Add new event class `InAppNotificationCenterReadItemsDeleted`
- This event is dispatched when user requests to delete all read items in the active tab
…center

- Add event handler for deleting read notifications in the current tab
- Implement optimistic UI update to remove read items immediately
- Perform actual deletion in the background
- Handle empty read notifications scenario
- Log errors without reverting state to avoid UI flicker
…tons

- Add mark all as read button with tooltip
- Implement delete read notifications button with confirmation dialog
- Update button availability based on current notification state
- Add Arabic and English translations for new strings related to deleting read notifications
- Include tooltip, dialog content, and button label for the feature
- Adjust indentation and line breaks for better readability
- Remove unnecessary BlocBuilder widget
- Simplify AlertDialog content creation
…_bloc.dart

- Adjust line breaks and indentation for better readability
- Ensure consistent code style throughout the file
- Add new deleting state to InAppNotificationCenterStatus enum
- Update InAppNotificationCenterState documentation
…n center UI

- Add confirmation dialog before deleting read notifications
- Implement delete in progress UI blocking
- Improve app bar actions by disabling buttons when deleting
- Refactor UI using BlocBuilder for better state management
- Optimize the deletion process by adding a loading state
- Refetch the current tab's data after deletion to ensure consistency
- Improve error handling and state management
- Update UI immediately
- Replaced Container with ColoredBox in the in-app notification center page
- This change improves performance by using a more efficient widget for colored backgrounds
@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 introduces a significant new feature to the in-app notification center, allowing users to efficiently manage their notifications by deleting all read items in a given tab. This enhancement improves user experience by providing a clear mechanism for decluttering the notification list, backed by robust state management and a user-friendly confirmation flow.

Highlights

  • New Feature: Delete Read Notifications: Users can now delete all read notifications within the active tab of the in-app notification center.
  • UI Integration: A new delete button (Icons.delete_sweep_outlined) has been added to the AppBar of the notification center, accompanied by a confirmation dialog to prevent accidental deletions. A loading overlay is also displayed during the deletion process.
  • State Management Enhancements: A new InAppNotificationCenterReadItemsDeleted event and a 'deleting' status have been introduced to manage the deletion process, provide visual feedback, and disable UI interactions during the operation.
  • Localization Support: New localized strings have been added for the delete button's tooltip, the confirmation dialog's title and content, and the generic delete button label, supporting both English and Arabic.
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 introduces a feature to delete read notifications. The implementation is well-structured, covering BLoC logic, state management, UI updates, and localization. My review focuses on improving performance, robustness, and code clarity within the BLoC. I've identified a critical null-safety issue, a high-severity performance concern with the deletion process, and a medium-severity opportunity to refactor state emissions for better clarity.

@fulleni fulleni merged commit a641bd4 into main Nov 22, 2025
0 of 2 checks passed
@fulleni fulleni deleted the feat/Delete-Read-Notifications branch November 22, 2025 18:02
@github-project-automation github-project-automation bot moved this from Backlog to Done in Flutter News App Project Nov 22, 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