Skip to content

feat: add mobile compatibility#260

Open
grubmanItay wants to merge 1 commit intobacknotprop:mainfrom
grubmanItay:feat/mobile-compatibility
Open

feat: add mobile compatibility#260
grubmanItay wants to merge 1 commit intobacknotprop:mainfrom
grubmanItay:feat/mobile-compatibility

Conversation

@grubmanItay
Copy link
Contributor

Summary

  • Hamburger menu replaces header buttons on mobile (<768px)
  • Annotation panel renders as a full-screen overlay with backdrop and close button
  • Touch support for resize handles, pinpoint annotations, text selection, and toolstrip
  • Card action buttons are always visible on touch devices (no hover needed)
  • Settings modal uses horizontal tab bar on mobile
  • CommentPopover width capped to viewport
  • Desktop layout (>=768px) completely unchanged

Files Changed

  • New: useIsMobile hook, MobileMenu component
  • Modified: App.tsx, AnnotationPanel, AnnotationToolstrip, CommentPopover, EditorAnnotationCard, ModeToggle, ResizeHandle, Settings, Viewer, usePinpoint, useResizablePanel

Test plan

  • Desktop (>768px): verify no visual changes, all functionality works
  • Mobile (<768px): Chrome DevTools device toolbar
    • Panel starts closed
    • Hamburger menu shows all options
    • Panel opens as overlay with backdrop
    • Toolstrip labels visible without hover
    • Card edit/delete buttons visible without hover
    • Text selection creates annotations
    • Pinpoint tap-to-annotate works
    • Settings modal renders with horizontal tabs
    • CommentPopover fits screen width

🤖 Generated with Claude Code

- Add responsive hamburger menu with all header actions (MobileMenu)
- Annotation panel renders as full-screen overlay on mobile with backdrop and close button
- Panel starts closed on mobile (<768px)
- Touch support for resize handles, pinpoint annotations, and toolstrip buttons
- Mobile text selection creates annotations via highlighter.fromRange() bridge
- Card action buttons always visible on touch devices (hover:none media query)
- Settings modal uses horizontal tab bar on mobile
- CommentPopover width capped to viewport on small screens
- Replace mousedown with pointerdown for touch-compatible click-outside handling
- Add useIsMobile reactive hook for breakpoint detection
- Desktop layout (>=768px) unchanged

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@backnotprop
Copy link
Owner

Ah this was on the todo list, great stuff

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants