feat: Sprint 4 — SFTP dual-pane with per-type icons, breadcrumb, drop-zone, create/delete, toast

This commit is contained in:
swanadiva
2026-07-07 13:35:01 +07:00
parent c5ac07e27f
commit 941a67b6ea
8 changed files with 364 additions and 10 deletions
+10 -8
View File
@@ -38,7 +38,7 @@ Lihat [ARCHITECTURE_HTMX.md](ARCHITECTURE_HTMX.md) untuk detail.
| Sprint 1 — Dashboard + Host List | DONE |
| Sprint 2 — Snippets + Keychain | DONE |
| Sprint 3 — Settings + Brief | DONE |
| Sprint 4 — SFTP Dual-Pane | NOT STARTED |
| Sprint 4 — SFTP Dual-Pane | DONE |
| Sprint 5 — Terminal + xterm.js | NOT STARTED |
| Sprint 6 — Storage Integration | NOT STARTED |
@@ -99,12 +99,13 @@ Lihat [ARCHITECTURE_HTMX.md](ARCHITECTURE_HTMX.md) untuk detail.
- **Verify**: Settings page renders with tabs, toggles work via Alpine, brief page shows shortcuts
### Sprint 4 — SFTP Dual-Pane
- [ ] Model FileItem + Transfer
- [ ] SFTP handler
- [ ] SFTP template with dual-pane layout
- [ ] Breadcrumb navigation
- [ ] Folder create + delete
- [ ] Toast notification
- [x] Model FileItem + Transfer (`internal/model/file.go`, `internal/model/transfer.go`)
- [x] SFTP handler (`internal/handler/sftp.go`) — page, pane partial, create folder, delete file
- [x] SFTP template (`views/sftp.html`) — dual-pane (local/remote), breadcrumb, search, drop-zone, toast, folder modal
- [x] SFTP pane partial (`views/sftp_pane.html`) — file table with icons by type, hover actions
- [x] `dict` helper fungsitambah di template engine (`main.go`)
- [x] Folder create (Alpine modal + POST) + delete (hx-delete)
- **Verify**: Dual-pane renders, file list per type icons, CRUD works, drop-zone + toast present
### Sprint 5 — Terminal + xterm.js
- [ ] Download xterm.js
@@ -144,7 +145,8 @@ Lihat [ARCHITECTURE_HTMX.md](ARCHITECTURE_HTMX.md) untuk detail.
| 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 | `c4b0d7d` |
| 2026-07-07 | Sprint 3 selesai: settings page, tabs, toggles, connected devices, danger zone, brief page | `(pending)` |
| 2026-07-07 | Sprint 3 selesai: settings page, tabs, toggles, connected devices, danger zone, brief page | `c5ac07e` |
| 2026-07-07 | Sprint 4 selesai: SFTP dual-pane, breadcrumb, per-type icons, create/delete, toast, drop-zone | `(pending)` |
---