feat: Sprint 2 — snippets + keychain CRUD, standalone templates, clipboard/utils JS

This commit is contained in:
swanadiva
2026-07-07 13:26:56 +07:00
parent 8cfdec3980
commit c4b0d7d8c0
17 changed files with 691 additions and 112 deletions
+14 -14
View File
@@ -36,7 +36,7 @@ Lihat [ARCHITECTURE_HTMX.md](ARCHITECTURE_HTMX.md) untuk detail.
| Planning documents (HTMX) | DONE |
| Sprint 0 — Setup GoFiber + HTMX | DONE |
| Sprint 1 — Dashboard + Host List | DONE |
| Sprint 2 — Snippets + Keychain | IN PROGRESS |
| Sprint 2 — Snippets + Keychain | DONE |
| Sprint 3 — Settings + Brief | NOT STARTED |
| Sprint 4 — SFTP Dual-Pane | NOT STARTED |
| Sprint 5 — Terminal + xterm.js | NOT STARTED |
@@ -75,19 +75,18 @@ Lihat [ARCHITECTURE_HTMX.md](ARCHITECTURE_HTMX.md) untuk detail.
- **Verify**: Homepage renders with 8 hosts, search+filter works, create+delete CRUD
### Sprint 2 — Snippets + Keychain
- [ ] Model Snippet + SnippetStore (`internal/model/snippet.go`)
- [ ] Model Key + KeyStore (`internal/model/keychain.go`)
- [ ] Snippets handler (`internal/handler/snippets.go`)
- [ ] Keychain handler (`internal/handler/keychain.go`)
- [ ] Snippets template (`views/snippets.html`)
- [ ] Snippet grid partial (`views/snippet_grid.html`)
- [ ] Snippet modal (`views/snippet_modal.html`)
- [ ] Keychain template (`views/keychain.html`)
- [ ] Key grid partial (`views/key_grid.html`)
- [ ] Key modal (`views/key_modal.html`)
- [ ] Clipboard JS (`static/js/clipboard.js`)
- [ ] Passphrase reveal + strength (`static/js/utils.js`)
- **Verify**: Both pages render, CRUD works, clipboard copies, passphrase reveal toggles
- [x] Model Snippet + SnippetStore (`internal/model/snippet.go`)
- [x] Model Key + KeyStore (`internal/model/keychain.go`)
- [x] Snippets handler (`internal/handler/snippets.go`)
- [x] Keychain handler (`internal/handler/keychain.go`)
- [x] Snippets template (`views/snippets.html`) — standalone page (no layout inheritance)
- [x] Snippet grid partial (`views/snippet_grid.html`) — HTMX partial
- [x] Keychain template (`views/keychain.html`) — standalone page
- [x] Key grid partial (`views/key_grid.html`) — HTMX partial
- [x] Clipboard JS (`static/js/clipboard.js`)
- [x] Utils JS (`static/js/utils.js`)
- **Note**: Removed `layout.html` — all pages are now standalone (Go template `{{define}}` conflict)
- **Verify**: Both pages render, CRUD works, clipboard copies, strength badges display
### Sprint 3 — Settings + Brief
- [ ] Model Device + Config
@@ -143,6 +142,7 @@ Lihat [ARCHITECTURE_HTMX.md](ARCHITECTURE_HTMX.md) untuk detail.
| 2026-07-07 | Sprint 0: GoFiber+HTMX scaffolding, TailwindCSS, layout, nav, health | `43a19b7` |
| 2026-07-07 | Sprint 1: Host model+store, dashboard CRUD, HTMX partials (grid/list, search, filter, modal, delete), transfers panel | `d771925`, `86620b0` |
| 2026-07-07 | Sprint 2 dimulai: Snippet + Keychain models created | — |
| 2026-07-07 | Sprint 2 selesai: all CRUD, standalone templates, clipboard.js, utils.js, fix template {{define}} conflict | `(pending)` |
---