1
Fork 0
mirror of https://github.com/thegeneralist01/archivr synced 2026-07-21 18:55:36 +02:00

feat: inline entry title renaming (#14)

* feat: inline entry title renaming

- database.rs: add update_entry_title(conn, entry_uid, title) -> Result<bool>
  targets archived_entries table; returns false for unknown uid
- routes.rs: PATCH /api/archives/:archive_id/entries/:entry_uid (ROLE_USER)
  maps false -> 404; 3 tests (401 unauthed, 204+persists, 404 unknown uid)
- api.js: updateEntryTitle(archiveId, entryUid, title)
- ContextRail.jsx: click title h2 -> inline input; Enter/blur commits,
  Escape cancels (cancel ref prevents double-save on blur after Escape);
  pencil icon fades in on hover as edit affordance
- App.jsx: handleEntryTitleChange mutates entries + selectedEntry in-place
- styles.css: rail-title--editable cursor/hover, pencil icon show/hide,
  rail-title-input underline style
- rebuild frontend bundle

* chore: remove + prefix from Capture button label
This commit is contained in:
TheGeneralist 2026-07-03 13:01:34 +02:00 committed by GitHub
parent 1ff91956a1
commit 2502de45b6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 258 additions and 50 deletions

View file

@ -4,8 +4,8 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Archivr</title>
<script type="module" crossorigin src="/assets/index-DnX_j2fa.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-DXhicc6w.css">
<script type="module" crossorigin src="/assets/index-MmGgQJvV.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-CprXPmri.css">
</head>
<body>
<div id="root"></div>