* fix(mobile): don't update search filters in-place
Search filters are currently modified in-place, which can feel quite
janky. The chips behind the bottom sheet update instantly, and the
search page gets confused because filters have been applied but no
search has been initiated. Filters should keep their own copy of the
filter when they're opened, and the commit + search on apply.
The previous filter and pre-filter concepts were also cleaned up. They
added complexity, and `search()` now owns the full life cycle of the
filter.
This now also reverts the changes from #27155, as this solution should
be cleaner.
* refactor & color tweak
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* fix(mobile): option padding on search dropdowns
* chore: prevent height fill up screen and block the bottom menu entry
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* Quick date picker
* Include current year in quick date picker
* Quick date picker: localization, fix datetime overflows
* Properly localized 'last_months'
* Move quick_date_picker.dart to lib/presentation/widgets/search
* Wrap the quick date picker state into its own class, improve the interaction patterns
* Fix last9Months value
* Improve method naming
* Subtitle for "custom range" in quick date picker
* Fix style warnings
* Fix lint warning
* fix: mobile unawaited_futures lint (#21661)
* chore: add unawaited_futures lint as warning
* remove unused dcm lints
They will be added back later on a case by case basis
* fix warning
* auto gen file
* review changes
* conflict resolution
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
* Quick date picker
* Wrap the quick date picker state into its own class, improve the interaction patterns
* chore: delete file from rebase
---------
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: bwees <brandonwees@gmail.com>
* chore(mobile): search field in separate widget
* fix: removed unnecessary use of context
* chore: minor styling tweak
* fix: controller not bound
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* fix(mobile): fix text search
* chore(mobile): add tests for SearchPage
* fix(mobile): fix render overflow for small screens
Needed for SearchPage test to not throw overflow error
* chore(mobile): update import_rule_openapi
* styling
* preserve styling and skip a test
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* fix(web): align search filter behavior to show all camera models
* fix(mobile): align search filter behavior to clear camera model when make is set
* (mobile) correctly clear the model controller
* fix(mobile) re-add text controller to dropdown
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* date time component
* rename to info_sheet
* simplify map info
* Edit datetime sheet
* fix janking when scroll on info sheet
* Location refactor
* refactor name
* Update date time after editing
* localize rebuild to smaller component
* restore advanced bottom sheet
* reassign EXIF back to local database
* remove print statements
* feat(mobile): add support for material themes
Added support for custom theming and updated all elements accordingly.
* fix(mobile): Restored immich brand colors to default theme
* fix(mobile): make ListTile titles bold in settings main page
* feat(mobile): update bottom nav and appbar colors
* small tweaks
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* refactor: asset media endpoints
* refactor: mobile upload livePhoto as separate request
* refactor: change mobile backup flow to use new asset upload endpoints
* chore: format and analyze dart code
* feat: mark motion as hidden when linked
* feat: upload video portion of live photo before image portion
* fix: incorrect assetApi calls in mobile code
* fix: download asset
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>