Skip to content

Add iOS context menu to video cards with preview and quick actions #45

@kmch4n

Description

@kmch4n

Summary

Replace the current long-press-enters-selection-mode interaction on VideoCard / VideoCardCompact with an iOS-style context menu that shows a thumbnail preview and quick actions (Favorite, Edit, Delete, Share, Select).

Motivation

  • iOS users expect long-press on any media thumbnail to produce a context menu (Photos, Files, Safari, Music all follow this convention).
  • The current long-press → selection-mode transition has no visual affordance and is hard to discover.
  • A context menu can host the multi-select entry point as a Select item, which is exactly the pattern Apple uses in Photos.

Proposal

  • Wrap the card with a native iOS context menu (candidate: react-native-ios-context-menu or RN core ContextMenu where available).
  • Context menu items:
    • Toggle Favorite
    • Edit (open video detail screen)
    • Share (native share sheet)
    • Delete
    • Select → enters existing bulk-selection mode
  • Tap interaction is unchanged (still opens video detail).
  • Android / Web keep the existing long-press-to-select flow as fallback.

Notes

  • react-native-ios-context-menu supports preview + menu items + haptics.
  • Selection mode itself does not need to be removed — it just stops being the default long-press outcome.
  • Coordinate with the haptic feedback work so menu invocation triggers the correct impact.

Acceptance criteria

  • Long-press on a video card shows a context menu with at least Favorite / Edit / Delete / Select.
  • Tap still opens the video detail screen.
  • Bulk selection mode remains reachable via the Select action.
  • Web / Android fall back to the current long-press selection behavior without crashing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:homeHome feed and primary video listenhancementNew feature or requestfeature-ideaUser-facing feature ideas and product explorationpriority:lowLow priority

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions