Skip to content

Conversation

@idubnori
Copy link
Contributor

@idubnori idubnori commented Nov 5, 2025

Description

  • Added a button order customization feature.
    • Long-pressing any button opens a setting modal to change the order.
    • Users can rearrange buttons via drag and drop, then save or reset the order.
  • So, users could be immediately access frequently used buttons
  • In addition to the existing buttons, in this PR, Remove from AlbumButton and Like (activity) Button can be configured.
    • In next PR, all buttons in the detail sheet will be configured
  • By default or reset, the existing button order and visibility conditions are preserved.
  • Details : please look at ScreenShots section below

Fixes # (issue)

  • N/A

How Has This Been Tested?

  • Unit tests
  • Manually tests on Simulator
    • Tested that the existing button order and display are preserved on the Timeline, Albums, and On This Device screens
    • Button order can be changed and reset
    • The selected order is saved as a setting
    • The conditions for available buttons remain consistent with the existing behavior

Screenshots (if appropriate)

screen-recording-immich-10.mp4

Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation if applicable
  • I have no unrelated changes in the PR.
  • I have confirmed that any new dependencies are strictly necessary.
  • I have written tests for new code (if applicable)
  • I have followed naming conventions/patterns in the surrounding code
  • All code in src/services/ uses repositories implementations for database calls, filesystem operations, etc.
  • All code in src/repositories/ is pretty basic/simple and does not have any immich specific logic (that belongs in src/services/)

Please describe to which degree, if any, an LLM was used in creating this pull request.

  • prototyping / initial implementation

@immich-push-o-matic
Copy link

immich-push-o-matic bot commented Nov 5, 2025

Label error. Requires exactly 1 of: changelog:.*. Found: 📱mobile. A maintainer will add the required label.

@idubnori idubnori force-pushed the feature/rearrange-buttons-2 branch from fddac40 to 74f90fe Compare November 5, 2025 12:54
@idubnori idubnori marked this pull request as ready for review November 5, 2025 14:56
@idubnori idubnori changed the title feat(mobile): configurable bottom buttons order in asset viewer feat(mobile): configurable bottom buttons in asset viewer Nov 6, 2025
@idubnori
Copy link
Contributor Author

idubnori commented Nov 12, 2025

Motivation: in Google Photos, the asset view for shared albums includes a Like (to album activity) button in the bottom button list. While I proposed an equivalent changes, a feedback suggests the current buttons is prefered. Since feature button usage frequency and preferences vary by user, imo, making this configurable might be better approach.

(Google Photos: asset view of shared album)
IMG_2144_PNG

@alextran1502
Copy link
Member

Would you happen to have any suggestion on the UI cue to let users know that these button position is configurable?

@idubnori
Copy link
Contributor Author

idubnori commented Nov 13, 2025

Thank you for the appropriate confirmation.

Plan A: Add a second entry point
expose “Configure quick buttons” in the overflow menu or within the detail bottom sheet. (In the future, will change the overflow menu to appear when click the kebab icon (...))
I think this follows Material policies or Google Photos patterns, making the customization feature discoverable without relying on gestures. also, in this case, it might be better to not use the long-press gesture.

Plan B: Add a toggle in Settings: “Enable configure quick bottons”
Since this feature mainly benefits power users, add a toggle into settings. Users can confirm the setting view and read setting description to discover and understand the feature. When disabled, the quick actions remain in their default fixed order and the long-press gesture is disabled. Users can confirm the setting view and opt-in(default is false) to discover and understand the feature.

Plan B+: Alternatively, if we prioritize maintaining consistency with the current immich settings UI, it may be appropriate to change the setting to be made within the settings screen rather than using long-press. In this case, the setting will be similar to the current theme -> primary color settings UI.

Plan C: First time only, announce it with a lightweight “feature discovery” tip (one-line hint + “Customize” button/snackbar).
I think Feature discovery is deprecated in the current material policy, is expensive to implement, and also doesn't fit the current immich UI mental model.

@idubnori
Copy link
Contributor Author

Added configurable AddActionButton. #23608

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants