Commit Graph

222 Commits (7c3f1753f13a1b31e45362207c7b3c24f26012c2)

Author SHA1 Message Date
idubnori 7c3f1753f1 feat: add reorder buttons action button and integrate into viewer kebab menu 2025-12-11 01:45:45 +07:00
idubnori c136b5f6ee Merge branch 'main' into feature/rearrange-buttons-2 2025-12-11 00:46:59 +07:00
idubnori a604a0ad6d refactor: replace custom _ReorderableGrid with ReorderableDragDropGrid for improved drag-and-drop functionality 2025-12-10 14:00:36 +07:00
idubnori a84f4fc1bd refactor: remove debug print statements from _ReorderableGrid drag-and-drop handling 2025-12-10 13:47:24 +07:00
idubnori f91d5d7da8 fix: improve drag-and-drop handling in _ReorderableGrid with enhanced visual feedback and snap animation 2025-12-10 13:41:04 +07:00
idubnori 1517385704 refactor: enhance drag-and-drop functionality in _ReorderableGrid with visual feedback 2025-12-10 09:46:19 +07:00
idubnori 598e856322 refactor: replace flutter_reorderable_grid_view with custom _ReorderableGrid implementation 2025-12-10 09:11:57 +07:00
idubnori 7af99b8606
feat(mobile): move top bar buttons into kebabu menu in AssetViewer (#24461)
* chore(mobile):  i18n: "open_asset_info" in viewer kebab menu

* feat(mobile): move some top buttons into kebabu menu

* refactor(mobile): viewer kebab menu to use context-based button generation

* feat(mobile): refactor action button and kebab menu to use ConsumerWidget for improved state management

* feat(mobile): pass original theme to ViewerKebabMenu for consistent styling

* chore: styling

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-12-09 18:26:28 +07:00
idubnori 17361d189c refactor: clean up 2025-12-10 01:58:07 +07:00
idubnori 7473b959dc refactor: proper layer archtecture 2025-12-10 01:06:07 +07:00
Yaros 06e79703da
fix(mobile): timeline bottom padding on selection (#24480) 2025-12-09 09:19:41 +07:00
idubnori 1e5c3d7d37 Merge branch 'main' into feature/rearrange-buttons-2 2025-12-09 12:04:29 +07:00
idubnori 3700f9980f revert: viewer_kebab 2025-12-09 11:48:40 +07:00
idubnori 287f6d5c94
fix(mobile): buttons inside AddActionButton color is the same as background color (#24460)
* fix: icon & text color in AddActionButton

* fix: use Divider
2025-12-08 14:29:31 +07:00
idubnori 3c80049192
chore(mobile): add kebabu menu in asset viewer (#24387)
* feat(mobile): implement viewer kebab menu with about option

* feat: revert exisitng buttons, adjust label name

* unify MenuAnchor usage

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-12-05 19:51:59 +07:00
idubnori 7f3386c8d0 feat: add configurator button to viewer kebab menu 2025-12-04 23:47:41 +07:00
idubnori 80c1771cb2 Merge branch 'feature/kebab-menu-2' into feature/rearrange-buttons-2 2025-12-04 19:30:52 +07:00
idubnori c7c929b3b5 feat: revert exisitng buttons, adjust label name 2025-12-04 14:16:01 +07:00
idubnori 72f18183a1 Merge remote-tracking branch 'upstream/main' into feature/kebab-menu-2 2025-12-04 13:39:00 +07:00
Alex 75dde0d076
fix: exposure info and better readability (#24344)
fix: exposure info and better readabilit
2025-12-03 20:19:45 +07:00
Hai Sullivan b11aecd184
fix(mobile): use correct timezone displayed in the info sheet (#24310)
* fixed the timezone issue in the Immich mobile app's metadata sheet to match the web app's behavior

* format dart

* now uses the shared applyTimezoneOffset() utility function from mobile/lib/utils/timezone.dart

* add tests

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-12-02 16:37:19 +07:00
Yaros a32f450059
feat(mobile): persist album sorting & layout in settings (#22133)
* fix(mobile): persist album sorting in settings

* fix(mobile): persist album layout

* fix: fixed store model id

* fix: corrupted AppSettingsEnum

* chore: refactor to remove RemoteAlbumSortMode

* refactor: use t instead of tr
2025-12-01 20:51:35 +07:00
Alex e3ab16a5bd
chore: refactor mobile events (#24263)
chore: refactor mobile evets
2025-11-30 12:43:33 +07:00
Yaros f12f609038
fix(mobile): enable backup text overflows (#24227) 2025-11-28 10:18:44 +07:00
idubnori 7f9ba91c8d feat(mobile): implement viewer kebab menu with about option 2025-11-25 22:30:44 +07:00
Yaros 9f3eeed091
fix(mobile): first video memory on page doesn't play (#23906)
* fix(mobile): first video memory doesn't play

* refactor: moved logic to static method

* refactor: fix haptic feedback & empty check

* refactor: use DriftMemory on setMemory

* refactor: move video reset into if block
2025-11-21 09:11:30 +07:00
Brandon Wees ec2fa6e308
fix: disable animation "add to" action menu (#24040) 2025-11-20 11:54:15 +07:00
Brandon Wees 2a281e7906
feat(mobile): location edit from asset viewer (#23925)
* chore: break sheet tile into own file

* feat: set location from bottom sheet

* refactor: location picker

There was a lot of confusing controls here, simplified to 1 mode

* fix: local asset check

* chore: refactoring of location details widget

* fix: update currentAssetExifProvider when changing location

* chore: use SheetTile for location header

* chore: remove coordinate change check

* chore: remove comment
2025-11-18 21:06:51 +07:00
shenlong 38d4d1a573
chore: reset remote sync on app update (#23969)
reset remote sync on update

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-11-19 02:55:01 +07:00
idubnori d4df41dc38 Merge remote-tracking branch 'origin/main' into feature/rearrange-buttons-2 2025-11-17 09:35:03 +07:00
Christian e94eb5012f
feat(mobile): add to album from asset viewer (#23608)
* feat: add action button in photo viewer for adding assets to albums, archiving, and moving to locked folders

* fix: use const constructors for icons in action button menu

* Update mobile/lib/presentation/widgets/action_buttons/add_action_button.widget.dart

Co-authored-by: Brandon Wees <brandonwees@gmail.com>

* Update mobile/lib/presentation/widgets/asset_viewer/bottom_bar.widget.dart

Co-authored-by: Brandon Wees <brandonwees@gmail.com>

* remove de translation

* fixed PR comments: https://github.com/immich-app/immich/pull/23608

* menu styling

* menu styling

* i18n

---------

Co-authored-by: Brandon Wees <brandonwees@gmail.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-11-14 15:11:47 +07:00
exelix 7a2c8e0662
feat(mobile): Quick date picker in the search page (#22653)
* 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>
2025-11-10 13:55:09 +07:00
idubnori b0a0b7c2e1
feat(mobile): chat-style for asset activity view (#23347)
* feat(mobile): open assetviewer via album activities page

* adjust ui behavior: keep current asset & disable initial forcus

* init of v2...

* refactoring...

* refactor: remove _DismissibleWrapper

* feat: initial scrolling to bottom

* refactor: use feature toggle

* refactor: new route page

* fix: file name, dcm analyze

* fix: test failure

* fix: remove toggle and the exisitng style based on review feedback

* refactorr: rename methods for clarity in comment bubble widget

* feat: (mobile) chat-style asset activity timeline

* chore: extract as a new file

* chore: styling (based on 2c12bc56)

* chore: clean up

* fix: albumActivityProvider parameter

* fix: review point

* fix
2025-11-10 13:26:27 +07:00
Noel S d6307b262f
fix(mobile): Hide download button in asset viewer "immersive mode" (#23720)
* Hide download FAB in asset viewer immersive mode

* Remove commented out code

* Remove more comments
2025-11-10 12:13:04 +07:00
Viktor Mykhailiv b2cbefe41e
fix(mobile): Set dynamic height of actions row in BottomSheet (#23755)
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-11-10 12:03:12 +07:00
fabianbees 93ab42fa24
feat(mobile): Show lens model information in the asset viewer detail panel (#23601)
* feat(mobile): add lens info to details bottom sheet

* fix unrelated typo

* order same like in web app: first exposure time, than iso
2025-11-07 17:10:59 +07:00
idubnori 0eae657611 refactor: rename to QuickActionConfigurator 2025-11-05 23:14:24 +07:00
idubnori 74f90fe944 fix: dcm analyze fails 2025-11-05 21:54:01 +07:00
idubnori eb7813047b feat(mobile): init of add quick action configurator and settings for viewer actions 2025-11-05 21:35:21 +07:00
shenlong 2b33a58448
fix: show in timeline from search page (#23440)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-10-31 14:55:28 +07:00
Alex ceb36a304d
fix: view in timeline does not jump to the timeline correctly (#23428) 2025-10-31 17:24:41 +07:00
Alex c69786b039
fix: button condition rendering (#23400) 2025-10-31 08:42:01 +07:00
Viktor Mykhailiv 12bb39a111
feat(mobile): view similar photos (#22148)
* feat: view similar photos on mobile

# Conflicts:
#	mobile/lib/models/search/search_filter.model.dart
#	mobile/lib/utils/action_button.utils.dart

* fix: bottom sheet is unusable after navigating to search

* feat(mobile): open DriftSearchPage as root route

* reset search state on tab navigation

* fix tests

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-10-28 16:17:26 +07:00
Brandon Wees e0c2cdddd4
feat: show "appears in" albums on asset viewer bottom sheet (#21925)
* feat: show "appears in" albums on asset viewer bottom sheet

fix: multiple RemoteAlbumPages in navigation stack

this also allows us to not have to set the current album before navigating to RemoteAlbumPage

chore: clarification comments

handle nested album pages

fix: hide "appears in" when an asset is not in any albums

fix: way more bottom padding

for some reason we can't query the safe area here :/

* fix: bottom sheet now is usable when navigating to another asset viewer

* fix: rebase conflict

* fix: restore ancestors album to currentRemoteAlbumProvider when popping

* fix: view flashing when dismissing a album viewer

* chore: code review changes

* fix: styling and padding

* chore: rework currentRemoteAlbumProvider to be scoped by the Remote album page

* fix: override remote album provider on required pages

* chore: convert query to all SQL calls instead of matching in Dart

* fix: album query

* fix: unawaited future

* Update deep_link.service.dart

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-10-28 16:52:01 +07:00
shenlong ac0d646401
fix: mobile unawaited_futures lint (#21661)
* chore: add unawaited_futures lint as warning

# Conflicts:
#	mobile/analysis_options.yaml

* remove unused dcm lints

They will be added back later on a case by case basis

* fix warning

# Conflicts:
#	mobile/lib/presentation/pages/drift_remote_album.page.dart

* auto gen file

* review changes

* conflict resolution

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-10-27 09:32:52 +07:00
shenlong 664a8fa499
fix: fetch original name before upload (#21877)
* fix: fetch origin name before upload

* fix: Show correct photo name in buttom sheet and backup details page (#22978)

* add tests

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: FawenYo <40032648+FawenYo@users.noreply.github.com>
2025-10-27 09:32:24 +07:00
Mert c73e3dacea
feat(mobile): high precision seeking (#22346)
* millisecond precision video playback

* wrap in unawaited

* update commit
2025-10-24 18:59:30 +07:00
idubnori 2129f889f5
feat: (mobile) open asset viewer from album activity page (#23182)
* feat(mobile): open assetviewer via album activities page

* adjust ui behavior: keep current asset & disable initial forcus

* fix: Run 'make build' and 'make pigeon'
2025-10-24 09:02:56 +07:00
Lauritz Tieste 34bad1ce71
feat: improvements of thumbnail animations (#20300)
* feat: improve thumbnail border radius animation

feat: remove thin border between image and image selection container

feat: enhance selection icon in thumbnail image

feat: add animated selection indicator for multiselect in thumbnail image

feat: remove unnecessary widgets and variables

style: format code

fix: errors with formatting checks

* chore: port to new timeline

* chore: revert mobile/lib/widgets/asset_grid/thumbnail_image.dart

---------

Co-authored-by: bwees <brandonwees@gmail.com>
2025-10-23 22:36:49 +07:00
Brandon Wees 65cac118ca
fix: allow editing all images (#23144)
* fix: allow editing local asset

* chore: remove isOwner check
2025-10-22 10:12:32 +07:00