Skip to content

Conversation

@ahmet-cetinkaya
Copy link
Owner

Summary

This PR improves the date picker UI components and refactors dialog utilities by migrating them to the ACore Flutter library for better reusability and consistency.

Key Changes

  • Date Picker Improvements: Enhanced quick selection functionality and UI components
  • ACore Migration: Migrated dialog utilities to ACore Flutter library for shared usage
  • Translation Updates: Updated NumericInput translation system and various locale files
  • UI Enhancements: Improved responsive layout and dialog components

Test Plan

  • Test date picker quick selection functionality
  • Verify dialog utility migration works correctly
  • Check responsive layout on different screen sizes
  • Validate translation updates for all supported languages
  • Run automated test suite

Files Changed

  • Updated ACore submodule with latest improvements
  • Enhanced date picker components with better UX
  • Migrated dialog utilities to shared library
  • Updated translation files for all supported locales
  • Improved responsive layout components

Breaking Changes

  • No breaking changes - internal refactoring only

Adds quick selection features to date picker including:
- Quick selection, refresh settings, and date ranges options
- Consistent action button radius styling
- Unified translation key mapping for date picker components
- Update NumericInput component usage across UI components
- Replace tooltip-based translations with comprehensive translations map
- Add new NumericInputTranslationKey support to shared translation keys
- Update acore submodule to support enhanced translation system
- Refactor _getNumericInputTranslations() method in multiple components
- Improve NumericInput translation system formatting consistency across UI components
- Simplify task date field translations using centralized mapping approach
- Enhance date range filter by removing redundant 3-month options and adding next_week selection
- Update submodule acore to latest commit

Relates to previous refactoring efforts for UI translation systems.
- Update ACore Flutter submodule to latest version
- Refactor import paths for numeric input components
- Add comprehensive tests for LRUCache, TimeSelector and QuickRangeSelector
- Improve date range filter logic and fix indentation issues
- Enhance performance benchmarks for date time picker components
…e filter

- Update ACore submodule to latest commit
- Add allowNullConfirm: true to DatePickerDialog to allow null selections
Move DialogSize enum and ResponsiveDialogHelper from local shared
utils to ACore library to centralize responsive dialog functionality
across the application
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 500000 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 focuses on a significant overhaul of UI components, particularly the date picker, and a strategic refactoring effort to centralize dialog utilities within the ACore Flutter library. These changes aim to improve user experience through enhanced functionality and responsiveness, while also streamlining the codebase for better maintainability and consistency. Additionally, the PR introduces a new comprehensive formatting script to ensure code quality and updates translation files to support the new features.

Highlights

  • Date Picker & UI Enhancements: The date picker UI components have been significantly improved, including enhanced quick selection functionality. General UI enhancements for responsive layouts and dialog components were also implemented.
  • ACore Library Migration: Dialog utilities have been refactored and migrated to the ACore Flutter library. This change promotes better reusability and consistency across the application, leading to the removal of redundant local utility files.
  • Translation System Update: The translation system for NumericInput components has been updated, along with various locale files across multiple languages, to support the new UI elements and migrated utilities.
  • New Formatting Script: A new shell script, format.sh, has been added to standardize code formatting across various file types (Dart, JSON, YAML, Markdown, Shell) using dedicated formatters like dart format, prettier, and shfmt.
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
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 structure and maintainability. The migration of date picker UI elements and dialog utilities to the ACore library is a great step towards reusability. I'm particularly impressed with the comprehensive test suite you've added, including unit, widget, and performance tests for the new components. The updates to the shell scripts for formatting and changelog generation are also solid improvements.

I have one piece of feedback regarding the new localization keys, where I've noted some inconsistency in the placeholder syntax. Addressing this will ensure consistency across all locales.

Overall, this is a very well-executed and high-quality contribution. Great work!

Resolved conflicts:
- Updated imports in habit_details_content.dart to use ACore NumericInput and proper sound manager service
- Combined imports from both branches to maintain functionality
Update import paths across UI components to align with the new ACore
library structure. The changes replace the verbose corePackages/acore/lib
paths with the cleaner acore/components format, improving code readability
and maintaining consistency with the updated package organization. This
affects multiple feature areas including habits, tasks, settings, and
shared components that utilize numeric input functionality.
- Replace double curly braces {{}} with single braces {} in ja.yaml, ko.yaml, tr.yaml
- Ensures consistent placeholder format across all locale files
- Addresses PR review feedback about i18n syntax inconsistency
- Prevents potential parsing issues and maintains standards compliance
@ahmet-cetinkaya ahmet-cetinkaya merged commit b8c6481 into main Nov 15, 2025
@ahmet-cetinkaya ahmet-cetinkaya deleted the feat/improve-date-picker-elements branch November 27, 2025 13:58
ahmet-cetinkaya added a commit that referenced this pull request Nov 30, 2025
…-elements

feat: improve date picker UI elements and utilities
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