UX and motion: notes, share as image, Urdu confirm dialog, toasts, page transitions, moderation dashboard, timelines #74

Closed
anas wants to merge 0 commits from anas/ux-motion into main
Owner

Readers: notes on couplets and selected text (glyph beside the bookmark, note box, نوٹ in the selection menu); share a couplet as an image; couplets rise in; bookmark and note pop; word sidebar slides in. Everyone: page cross-fade with the logo held; an Urdu confirm dialog instead of the browser's English one; toasts; busy buttons; smooth menus and folding. Moderators: dashboard with count tiles and queue cards; activity as a timeline. Admins: the record as a filterable timeline. API: POST /api/library/note and notes in /api/library/state (tests). All motion off with reduced motion. Restart the API with this branch. 🤖 Generated with Claude Code (https://claude.com/claude-code)

Readers: notes on couplets and selected text (glyph beside the bookmark, note box, نوٹ in the selection menu); share a couplet as an image; couplets rise in; bookmark and note pop; word sidebar slides in. Everyone: page cross-fade with the logo held; an Urdu confirm dialog instead of the browser's English one; toasts; busy buttons; smooth menus and folding. Moderators: dashboard with count tiles and queue cards; activity as a timeline. Admins: the record as a filterable timeline. API: POST /api/library/note and notes in /api/library/state (tests). All motion off with reduced motion. Restart the API with this branch. 🤖 Generated with Claude Code (https://claude.com/claude-code)
anas added 3 commits 2026-10-09 15:20:04 +00:00
- Notes: a glyph below each couplet's bookmark opens a note box (filled gold when the couplet or a phrase in it has a note; the note shows on hover). Selected text gets نوٹ in the selection menu; a highlighted phrase with a note shows the note glyph and opens its note (with "remove highlight"). API: POST /api/library/note {poemId, couplet, phrase?, note} (bookmarks if needed; empty clears the note), notes in /api/library/state; tests added
- Confirm dialog in Urdu (destructive answer in red, named for what it does) in place of the browser's English confirm(); forms use data-confirm
- Toasts for "done" messages; errors stay by the form and nudge; a submitting button shows a spinner
- Motion: page cross-fade (View Transitions) with the logo held; couplets rise in on load; bookmark and note glyphs pop; the word sidebar slides in; menus and folding sections open smoothly; all off with reduced motion

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
anas added 1 commit 2026-10-09 15:22:09 +00:00
anas added 1 commit 2026-10-09 15:27:05 +00:00
- Bookmark, note, share and download sit in one row centred under each couplet on the ✤ line (bookmark and note on one side, share and download on the other), clear of the text, the same on phones
- Share always opens the share menu (the picture where the browser can share files, else the couplet and its link; with no share menu, both are copied); a new download button saves the picture
- The note box has the Urdu keyboard and Roman typing like the search box (the keyboard moves into the box while it is open); notes can be in any language (the box follows the typed direction)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
anas added 1 commit 2026-10-09 15:27:54 +00:00
anas added 1 commit 2026-10-09 15:32:18 +00:00
- A note never bookmarks: notes and bookmarks share a row, bookmarked false is a note only (db: library.bookmarked). Un-bookmarking keeps a note; clearing the note of a row that is not bookmarked removes it; ✕ on the saved page keeps a note
- A phrase with a note but no bookmark is underlined only, with the note glyph
- /notes: every note with where it is and its couplet (the noted phrase marked), editable in place with the Urdu keyboard, deleted after asking; from a note icon in the header and a نوٹس tab
- API tests for all of it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
anas closed this pull request 2026-10-09 15:32:42 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: anas/divan#74
No description provided.