1
Fork 0
mirror of https://github.com/thegeneralist01/archivr synced 2026-07-22 11:15:41 +02:00

feat(ui/tags): tooltips, entry counts (direct + N Total), Create/Move flows, Esc handling

- Tooltips on all action buttons (pencil, ×, + New, Move, picker close/nodes)
- Tag rows show 'Name (own) (N Total)': own = direct assignments,
  Total = unique entries on this tag or any descendant (COUNT DISTINCT)
- + New flow: header button → TagPickerModal → inline CreateInput at chosen
  level; Enter saves, Escape cancels; identical UX to rename
- Move flow (2-step): Move button → source-select mode → click source →
  TagPickerModal minus the moving subtree → pick destination or root;
  onTagRenamed(oldPath, updated.full_path) keeps tag filter coherent
- Esc: document keydown in TagPickerModal + separate useEffect in TagsView
  for source-select mode only; both preventDefault+stopPropagation so
  App's window-level handler does not also clear selected entries
- TagsView.stories.jsx: 6 stories, fetch stub scoped to useEffect
- Rebuilt static assets
This commit is contained in:
TheGeneralist 2026-07-19 10:56:59 +02:00
parent af9db0e50d
commit 506d23f05f
Signed by: thegeneralist01
SSH key fingerprint: SHA256:pp9qddbCNmVNoSjevdvQvM5z0DHN7LTa8qBMbcMq/R4
8 changed files with 712 additions and 106 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-Db35_tmT.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-C0COQCCD.css">
<script type="module" crossorigin src="/assets/index-BpGwC-YY.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-DLdY9nrw.css">
</head>
<body>
<div id="root"></div>