Skip to content

Conversation

@ahmet-cetinkaya
Copy link
Owner

Summary

  • Add task description input dialog to quick task add component in Floating Action Button (FAB)
  • Improves user experience by allowing detailed task descriptions during quick task creation
  • Maintains clean UI design with optional description field

Description

This enhancement adds a description dialog to the quick task add functionality, allowing users to add detailed descriptions to tasks immediately after creation. The feature includes:

  • Description Input Dialog: Clean, focused dialog for entering task descriptions
  • Optional Field: Description is optional, maintaining quick task creation speed
  • Consistent UI: Follows existing design patterns and theme
  • Responsive Design: Works across all supported platforms (mobile, desktop, web)

Key Changes

  • Enhanced quick task add component in FAB with description dialog option
  • Added translation support for description dialog elements
  • Improved user workflow for detailed task creation
  • Maintained backward compatibility with existing quick add functionality

Testing

  • ✅ Description dialog opens and closes correctly
  • ✅ Task creation works with and without descriptions
  • ✅ UI is responsive across different screen sizes
  • ✅ Translations load properly for supported languages
  • ✅ Integration with existing task management features verified

Screenshots

Note: Visual enhancements include the new description dialog with clean input interface

Type of Change

  • ✨ New feature (non-breaking change that adds functionality)
  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📝 Documentation update

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

- Create DescriptionBuilder with buildContent and buildSimpleInput methods
- Implement DescriptionDialogContent with markdown editor support
- Add description functionality to QuickAddTaskDialog with toggle support
- Include proper translation service integration for multilingual support
- Add markdown editor with toolbar and proper styling
Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Sorry @ahmet-cetinkaya, your pull request is larger than the review limit of 150000 diff characters

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @ahmet-cetinkaya, 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 quick task add functionality by integrating a new description dialog, enabling users to add detailed context to tasks during rapid creation. This feature is supported by a major architectural refactoring of the quick task add component into a modular structure, improving maintainability. Additionally, date pickers now offer more intuitive quick selection options, and several core UI components have been centralized, alongside expanded localization efforts to provide a more robust and user-friendly experience.

Highlights

  • Enhanced Quick Task Creation: Introduced a dedicated description input dialog to the quick task add component, allowing users to add detailed task descriptions immediately during quick task creation, significantly improving user experience.
  • Modular Refactoring of Quick Task Dialog: The QuickAddTaskDialog component has undergone extensive refactoring, breaking it down into smaller, more maintainable, and reusable builder and dialog components. This improves code organization and future extensibility.
  • Improved Date Picker Functionality: Date pickers now feature enhanced quick selection options, including 'Today', 'Tomorrow', 'This Weekend', 'Next Week', and 'Next Weekend', along with expanded localization support for date and time selection labels.
  • Centralized UI Components: Common UI components such as BorderFadeOverlay and NumericInput have been moved and centralized into the acore core package, promoting consistency and reusability across the application.
  • Expanded Localization: Added new translation keys across multiple languages for task-related fields, including descriptions for estimated time and priority, and various date picker elements, ensuring a more comprehensive localized experience.
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.

gemini-code-assist[bot]

This comment was marked as outdated.

- Resolved merge conflicts from main branch
- Updated imports to use new acore package structure
- Removed deprecated files (quick_add_task_dialog.dart, responsive_dialog_helper.dart)
- Updated format script to use centralized version
- Maintained feature branch changes while integrating main improvements
- Updated translation files and dependency structure
- Fixed duplicate 'gen' entry causing YAML parsing error
- Changed 'gen:icons' to 'gen-icons' to avoid conflict
- Updated format script reference to use centralized version
- Fixed missed conflict markers from previous merge
- Updated imports to use new acore package structure
- Added ISoundPlayer import through service abstraction
## Issues Fixed

### Translation Keys
- Added missing 'hoursShort', 'allDay', 'timePickerHourLabel', 'timePickerMinuteLabel' keys
- Extended SharedTranslationKeys with date picker related constants

### Import & Package Structure
- Fixed QuickAddTaskDialog imports to use acore package instead of deleted files
- Updated generated file imports to use package imports instead of relative paths
- Replaced deprecated ResponsiveDialogHelper and DialogSize with acore equivalents

### API Changes
- Updated date picker API calls to remove deprecated 'confirmButtonText' parameter
- Fixed DatePickerResult usage to check 'selectedDate' instead of 'isConfirmed'
- Resolved dead null-aware expression warnings

### Code Generation
- Fixed main.mapper.g.dart import paths for acore components
- Corrected package references to use 'package:acore/' prefix
- Resolved duplicate variable naming conflicts in generated files

## Results
- ✅ Flutter analyze: No issues found (reduced from 34 to 0)
- ✅ All imports resolved and working
- ✅ Translation keys properly defined
- ✅ Generated files fixed and compatible
- ✅ Ready for development and testing

Note: Web build fails due to SQLite FFI dependencies (expected for mobile app)
… improvements

- Replace localized UI strings with English equivalents for date/time pickers
- Update quick selection, refresh settings, and time display labels
- Standardize time picker labels and improve consistency across locales
- Add missing date picker configurations and field labels
- Update numeric input controls with improved accessibility labels
- Adjust date range validation messages and time constraints
- Standardize hour/minute labels and all-day options across locales
- Update tour and help text translations for consistency
@ahmet-cetinkaya
Copy link
Owner Author

/gemini review

Copy link
Contributor

@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 is an excellent pull request that significantly improves the codebase. The refactoring of the QuickAddTaskDialog into smaller, more manageable components is a fantastic change that greatly enhances maintainability and readability. The new feature to add a task description from the quick add dialog is also a valuable addition to the user experience.

However, I've found a critical issue in the localization files. It appears that many of the translation files for shared components (src/lib/presentation/ui/shared/assets/locales/) have been partially overwritten with English text, particularly in the numeric_input and date_time_picker sections. This will break translations for numerous languages and needs to be addressed before merging. I've left specific comments on a couple of the affected files to highlight the problem.

…translations

Updated Czech (cs.yaml) and German (de.yaml) translation files with new
date and time related strings, including date picker, time picker, and
date range selection components. Also updated some existing translation
strings for better accuracy.

fixes localization inconsistencies in date/time components across UI
…eaks

- Fixed DescriptionDialogContent constructor parameters mismatch causing dialog to not work
- Resolved TextEditingController memory leaks in description dialog components
- Restored proper description data flow from dialog to SaveTaskCommand
- Converted DescriptionDialogContent to StatefulWidget with proper controller lifecycle
- Fixed DescriptionBuilder SimpleDescriptionInput with proper memory management
- Updated QuickAddTaskDialog to use correct DescriptionDialogContent API
Add success notification when tasks are created successfully with localized
messages in 22 languages. Update icon sizing to use theme constants and
improve visual feedback for lock settings in the quick add task dialog.
- Introduce NotificationPosition enum with top and bottom options
- Add position parameter to OverlayNotificationHelper methods
- Configure error notifications to appear at top on mobile platforms
- Update AsyncErrorHandler to support configurable error notification position
- Modify quick add task dialog to use platform-appropriate notification positioning
@ahmet-cetinkaya ahmet-cetinkaya merged commit d15a0b6 into main Nov 27, 2025
@ahmet-cetinkaya ahmet-cetinkaya deleted the feat/improve-task-add-dialog branch November 27, 2025 13:59
ahmet-cetinkaya added a commit that referenced this pull request Nov 30, 2025
…alog

feat(tasks): add description dialog to quick task add component
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants