Antigravity
261eee2953
CI / Lint, Unit Tests & Build (push) Successful in 6m6s
CI / Deploy production (on server) (push) Successful in 26s
refactor: factorisation peek panel — NotePeekPanel réutilisable
Architecture:
- components/note-peek/use-note-peek.ts: hook (fetch + state + events)
- components/note-peek/note-peek-content.tsx: rendu markdown/richtext/KaTeX
- components/note-peek/note-peek-panel.tsx: panel (overlay + inline modes)
- components/note-peek/index.ts: exports
- lib/use-scroll-to-block.ts: utilitaire scroll vers data-id
insights/page.tsx:
- ~95 lignes (state + fetch + KaTeX useEffect + AnimatePresence) → 10 lignes
- peek.open(noteId) remplace handleNoteClick complexe
- <NotePeekPanel mode=overlay /> remplace tout le JSX du panel
NotePeekPanel gère:
- markdown (MarkdownContent) + richtext (DOMPurify + KaTeX lazy)
- RTL (slide gauche pour fa/ar)
- prefers-reduced-motion
- role=dialog + aria-modal (overlay mode)
- loading spinner
- bouton Maximize2 + X
- renderContent prop pour custom (éditeur read-only)
2026-07-04 23:37:37 +00:00
..
2026-05-29 15:14:01 +00:00
2026-06-28 07:32:57 +00:00
2026-05-29 11:24:56 +00:00
2026-05-16 23:38:11 +00:00
2026-05-29 18:49:40 +00:00
2026-05-29 12:46:57 +00:00
2026-06-14 14:06:05 +00:00
2026-05-29 19:15:13 +00:00
2026-07-04 21:52:48 +00:00
2026-07-04 23:37:37 +00:00
2026-05-29 11:24:56 +00:00
2026-06-28 07:32:57 +00:00
2026-06-28 07:32:57 +00:00
2026-05-16 21:56:25 +00:00
2026-06-28 07:32:57 +00:00
2026-04-20 22:48:06 +02:00
2026-05-09 14:40:36 +00:00
2026-06-20 15:48:18 +00:00
2026-05-07 22:29:02 +00:00
2026-05-29 14:20:50 +00:00
2026-05-24 14:27:29 +00:00
2026-04-20 22:48:06 +02:00
2026-06-28 07:32:57 +00:00
2026-05-24 14:27:29 +00:00
2026-06-14 19:01:30 +00:00
2026-05-24 14:27:29 +00:00
2026-05-24 14:27:29 +00:00
2026-06-20 16:18:27 +00:00
2026-05-23 20:26:25 +00:00
2026-04-20 22:48:06 +02:00
2026-04-20 22:48:06 +02:00
2026-05-24 14:27:29 +00:00
2026-04-20 22:48:06 +02:00
2026-04-20 22:48:06 +02:00
2026-06-28 14:55:44 +00:00
2026-05-10 10:52:26 +00:00
2026-05-16 12:59:30 +00:00
2026-05-09 14:40:36 +00:00
2026-05-24 19:12:36 +00:00
2026-06-14 19:01:30 +00:00
2026-05-24 14:27:29 +00:00
2026-06-20 15:48:18 +00:00
2026-04-20 22:48:06 +02:00
2026-05-03 18:41:38 +00:00
2026-05-24 14:27:29 +00:00
2026-05-16 12:59:30 +00:00
2026-05-17 17:17:42 +00:00
2026-05-24 14:27:29 +00:00
2026-07-04 20:56:51 +00:00
2026-05-14 17:43:21 +00:00
2026-05-16 12:59:30 +00:00
2026-07-04 21:49:24 +00:00
2026-06-20 17:01:04 +00:00
2026-07-04 21:37:56 +00:00
2026-06-14 14:06:05 +00:00
2026-05-07 22:29:02 +00:00
2026-05-24 18:57:33 +00:00
2026-06-20 16:25:49 +00:00
2026-05-27 21:54:15 +00:00
2026-05-24 14:27:29 +00:00
2026-07-04 20:37:42 +00:00
2026-07-04 21:00:56 +00:00
2026-05-24 19:05:39 +00:00
2026-07-04 21:49:24 +00:00
2026-05-23 10:00:44 +00:00
2026-04-20 22:48:06 +02:00
2026-06-28 10:02:33 +00:00
2026-05-24 19:12:36 +00:00
2026-05-16 23:38:11 +00:00
2026-05-03 18:41:38 +00:00
2026-05-24 14:27:29 +00:00
2026-05-24 19:22:20 +00:00
2026-05-09 07:28:03 +00:00
2026-05-24 14:27:29 +00:00
2026-06-20 17:01:04 +00:00
2026-05-24 14:27:29 +00:00
2026-07-04 21:37:56 +00:00
2026-07-04 21:37:56 +00:00
2026-05-24 18:57:33 +00:00
2026-06-28 07:32:57 +00:00
2026-05-24 14:27:29 +00:00
2026-05-29 11:24:56 +00:00
2026-05-16 18:50:34 +00:00
2026-05-08 14:31:08 +00:00
2026-07-04 21:37:56 +00:00
2026-04-20 22:48:06 +02:00
2026-06-20 17:07:38 +00:00
2026-07-04 21:49:24 +00:00
2026-04-20 22:48:06 +02:00
2026-07-04 23:35:11 +00:00
2026-06-14 17:43:53 +00:00
2026-05-27 19:45:15 +00:00
2026-05-28 21:18:51 +00:00
2026-05-16 12:59:30 +00:00
2026-06-20 15:55:15 +00:00
2026-05-23 09:51:30 +00:00
2026-05-24 18:57:33 +00:00
2026-06-20 15:55:15 +00:00
2026-06-20 15:48:18 +00:00
2026-05-27 19:45:15 +00:00
2026-06-20 16:14:07 +00:00
2026-06-20 16:28:54 +00:00
2026-05-24 18:57:33 +00:00
2026-05-27 21:39:21 +00:00
2026-06-20 15:55:15 +00:00
2026-05-27 19:45:15 +00:00
2026-05-07 22:29:02 +00:00
2026-06-28 07:32:57 +00:00
2026-06-20 16:25:49 +00:00