Skip to content

Future feature ideas & backlog #25

Description

@merlin1de

Collection of feature ideas for future consideration. No commitment on timeline or implementation.


Folder statistics

A small summary badge when browsing folders: "12× ★★★★★, 3 Picks, 2 Rejects" — useful for getting a quick sense of a folder without opening it.

Fullscreen mode (Chrome/Edge only)

Browser-native Fullscreen API for Grid + Loupe + Slideshow — escapes the Nextcloud chrome (header, sidebar) so the gallery fills the entire screen, ideal for client presentations on a big display.

Design (orthogonal axes):

  • F toggles fullscreen on/off, regardless of current view (Grid, Loupe, or Slideshow).
  • Esc always means "Loupe → Grid", regardless of fullscreen state.
  • The two are independent: leaving fullscreen never closes the loupe; pressing Esc never toggles fullscreen.

Why Chrome/Edge only: the model requires the Keyboard Lock API (navigator.keyboard.lock(['Escape'])) so our Esc handler still fires inside fullscreen instead of the browser swallowing Esc to exit. Keyboard Lock is supported in Chrome and Edge (HTTPS). Firefox and Safari don't support it — there, Esc in fullscreen would exit the browser-level fullscreen first and then a second Esc would go to the grid (two-step). To keep the model truly clean and avoid double-paths in code, the feature is feature-gated: if navigator.keyboard?.lock is missing, the F shortcut and button are simply hidden. No fallback logic, no degraded UX leakage.

Implementation sketch:

  • Call requestFullscreen() on the Gallery root so both Grid and Loupe benefit.
  • Track state via document.fullscreenchange event.
  • Add an F keyboard shortcut + a small button (icon-only) in both Grid and Loupe.
  • On enter: navigator.keyboard.lock(['Escape']) + optional navigator.wakeLock.request('screen') for client-presentation no-sleep.
  • On exit: release Keyboard Lock + WakeLock.
  • iOS Safari: button hidden anyway because Keyboard Lock isn't there.

Bonus: wake-lock is most valuable here — long slideshow on a tablet at a client meeting won't have the screen sleep.

NC Files integration (sidebar)

Set ratings directly in the Nextcloud Files sidebar without opening StarRate. Would make StarRate feel more native to NC and reduce context switching.

Mobile selection via long-press

Long-press (~500ms) on thumbnails to enter multi-selection on touchscreens (no modifier keys available). Standard gesture from iOS/Google Photos.

Mobile-optimized batch bar is a separate question — current bar might be sufficient, but worth revisiting if mobile usage grows.

(Moved from #14)


Ideas that don't fit elsewhere can be added here as comments.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions