divan/api/src
Anas Rashid 2efde6ee22 Notes apart from bookmarks, and a notes page
- 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>
2026-10-09 17:32:16 +02:00
..
admin-cli.ts Admin panel: users, password reset on request, disable, roles, delete, audit log (#27) 2026-10-08 23:08:19 +02:00
admin.test.ts User access redesign: the users list filters by role (with counts) and shows each user in one row (avatar, role badge, permissions, last seen); one page per user for role (one click, with what each role may do), permissions (cards, chips, a poet picked by name) and account actions. Libron for Latin text. Spacing: search-box icons, page action rows and list buttons no longer touch. Footer: grouped links with icons and notes. Headline: اردو کا کلاسیکی ادب. Four logo concepts in docs/logo-concepts 2026-10-09 16:22:03 +02:00
admin.ts User access redesign: the users list filters by role (with counts) and shows each user in one row (avatar, role badge, permissions, last seen); one page per user for role (one click, with what each role may do), permissions (cards, chips, a poet picked by name) and account actions. Libron for Latin text. Spacing: search-box icons, page action rows and list buttons no longer touch. Footer: grouped links with icons and notes. Headline: اردو کا کلاسیکی ادب. Four logo concepts in docs/logo-concepts 2026-10-09 16:22:03 +02:00
auth.test.ts Profile: full name and bio (#42) 2026-10-08 23:31:19 +02:00
auth.ts Publishing commits to divan-data git (#34); public names only; 'last edited' on poems 2026-10-09 00:37:39 +02:00
db.ts Divan v2: Node.js API + PostgreSQL (proof of concept) 2026-10-08 20:24:20 +02:00
dict-sync.ts Word dictionary: full Wiktionary data for Urdu, Persian and Arabic in PostgreSQL, kept in sync 2026-10-08 21:48:56 +02:00
dictionary.test.ts Word dictionary in full: all senses with usage examples, every IPA with dialect labels, every recording, full etymologies, synonyms, derived and related words 2026-10-08 22:27:37 +02:00
dictionary.ts Word dictionary in full: all senses with usage examples, every IPA with dialect labels, every recording, full etymologies, synonyms, derived and related words 2026-10-08 22:27:37 +02:00
diff.ts Moderation: versions of works and the L2 -> L1 -> admin pipeline (#31, #51) 2026-10-09 00:31:47 +02:00
divantext.test.ts Urdu content editor on Tiptap (#28): structured editing of Divan text, with the source view 2026-10-09 00:53:17 +02:00
divantext.ts Urdu content editor on Tiptap (#28): structured editing of Divan text, with the source view 2026-10-09 00:53:17 +02:00
ebooks.test.ts E-books as a section of every poet, with tabs and covers; a right-to-left PDF reader; page bookmarks; book details 2026-10-09 15:16:06 +02:00
ebooks.ts E-books as a section of every poet, with tabs and covers; a right-to-left PDF reader; page bookmarks; book details 2026-10-09 15:16:06 +02:00
git.ts Publishing commits to divan-data git (#34); public names only; 'last edited' on poems 2026-10-09 00:37:39 +02:00
import.ts Tags (#52): typed tags on poets, books/chapters, works and couplets; tag pages; tag: in search 2026-10-09 14:42:19 +02:00
library.test.ts Notes apart from bookmarks, and a notes page 2026-10-09 17:32:16 +02:00
library.ts Notes apart from bookmarks, and a notes page 2026-10-09 17:32:16 +02:00
moderation.test.ts Tags (#52): typed tags on poets, books/chapters, works and couplets; tag pages; tag: in search 2026-10-09 14:42:19 +02:00
moderation.ts Fix publishing: a constant named URL hid the global URL (default divan-data folder), so every publish failed with 'URL is not a constructor' 2026-10-09 14:58:56 +02:00
order.test.ts E-books: a poet's books as PDF, EPUB, text (DOCX made text) or archive.org items, uploaded with their own permission and approved like any change 2026-10-09 14:52:23 +02:00
order.ts Arranging content (#41): reorder a book or section's works and sub-sections, a poet's books 2026-10-09 14:02:26 +02:00
owned.ts Publishing commits to divan-data git (#34); public names only; 'last edited' on poems 2026-10-09 00:37:39 +02:00
permissions.test.ts Permissions (IAM): L2/L1 moderators and scoped grants (#29) 2026-10-08 23:13:06 +02:00
permissions.ts User access redesign: the users list filters by role (with counts) and shows each user in one row (avatar, role badge, permissions, last seen); one page per user for role (one click, with what each role may do), permissions (cards, chips, a poet picked by name) and account actions. Libron for Latin text. Spacing: search-box icons, page action rows and list buttons no longer touch. Footer: grouped links with icons and notes. Headline: اردو کا کلاسیکی ادب. Four logo concepts in docs/logo-concepts 2026-10-09 16:22:03 +02:00
search.test.ts Search: poets/writers and books separate from content; numbered pages; filter by authors with Urdu input 2026-10-09 00:14:26 +02:00
search.ts Search: poets/writers and books separate from content; numbered pages; filter by authors with Urdu input 2026-10-09 00:14:26 +02:00
server.ts E-books: a poet's books as PDF, EPUB, text (DOCX made text) or archive.org items, uploaded with their own permission and approved like any change 2026-10-09 14:52:23 +02:00
site.test.ts Home page sections (site permission): rename, add, remove and reorder sections; chosen poets; sort by hand, alphabetically or by timeline 2026-10-09 14:24:43 +02:00
site.ts Home page sections (site permission): rename, add, remove and reorder sections; chosen poets; sort by hand, alphabetically or by timeline 2026-10-09 14:24:43 +02:00
tags.test.ts Tags (#52): typed tags on poets, books/chapters, works and couplets; tag pages; tag: in search 2026-10-09 14:42:19 +02:00
tags.ts E-books as a section of every poet, with tabs and covers; a right-to-left PDF reader; page bookmarks; book details 2026-10-09 15:16:06 +02:00
urdu.test.ts Search: highlighted matches, matching couplet or prose excerpt, exact phrase first; opened pages keep the highlight (?hl=) 2026-10-08 21:30:42 +02:00
urdu.ts Search: highlighted matches, matching couplet or prose excerpt, exact phrase first; opened pages keep the highlight (?hl=) 2026-10-08 21:30:42 +02:00