xtablo-source/backend/internal/web
Arthur Belleville a12c5abea6
feat(05-02): 3-tab layout + files templates + router + main.go S3 wiring
- tablos.templ: TabloDetailPage gains files+activeTab params, 3-tab nav with hx-push-url
- tablos.templ: TabloOverviewTabFragment + TasksTabFragment (wraps KanbanBoard) added
- files.templ: FilesTabFragment, FileUploadForm (hx-encoding=multipart/form-data),
  FileListRow, FileListEmpty, FileRowGone, UploadErrorFragment
- files_helpers.go: formatBytes() converts int64 bytes to human-readable string
- router.go: fileDeps FilesDeps param added; TabloTasksTabHandler + file routes wired
- handlers_tablos.go: both TabloDetailPage call sites updated (nil, 'overview')
- main.go: S3_ENDPOINT/S3_BUCKET/S3_REGION env vars read; files.NewStore constructed;
  fileDeps wired; nil filesStore allowed when S3 env unset (503 from handlers)
- All test routers updated to pass FilesDeps{} in new param position
2026-05-15 12:28:33 +02:00
..
ui chore(04-01): Sortable.js bootstrap and soft-danger button CSS 2026-05-15 09:24:44 +02:00
csrf_debug_test.go feat(02-07): gorilla/csrf integration — mount middleware, wire all forms, env-driven key 2026-05-14 22:59:06 +02:00
csrf_test.go feat(05-02): 3-tab layout + files templates + router + main.go S3 wiring 2026-05-15 12:28:33 +02:00
handlers.go feat(03-02): tablo handlers + router wiring — list/new/create green 2026-05-15 00:20:25 +02:00
handlers_auth.go feat(02-07): gorilla/csrf integration — mount middleware, wire all forms, env-driven key 2026-05-14 22:59:06 +02:00
handlers_auth_test.go feat(05-02): 3-tab layout + files templates + router + main.go S3 wiring 2026-05-15 12:28:33 +02:00
handlers_files.go feat(05-02): implement FilesDeps + FileUploadHandler + TabloFilesTabHandler + TabloTasksTabHandler 2026-05-15 12:28:07 +02:00
handlers_files_test.go test(05-02): add RED test scaffold for file upload and tab handlers 2026-05-15 12:24:40 +02:00
handlers_tablos.go feat(05-02): 3-tab layout + files templates + router + main.go S3 wiring 2026-05-15 12:28:33 +02:00
handlers_tablos_test.go feat(05-02): 3-tab layout + files templates + router + main.go S3 wiring 2026-05-15 12:28:33 +02:00
handlers_tasks.go fix(04-WR-04): guard against int32 overflow in TaskCreateHandler position arithmetic 2026-05-15 10:19:48 +02:00
handlers_tasks_test.go feat(05-02): 3-tab layout + files templates + router + main.go S3 wiring 2026-05-15 12:28:33 +02:00
handlers_test.go feat(05-02): 3-tab layout + files templates + router + main.go S3 wiring 2026-05-15 12:28:33 +02:00
middleware.go feat(01-03): pgxpool wrapper, RequestID/slog middleware, slog handler switch 2026-05-14 19:24:16 +02:00
router.go feat(05-02): 3-tab layout + files templates + router + main.go S3 wiring 2026-05-15 12:28:33 +02:00
slog.go feat(01-03): pgxpool wrapper, RequestID/slog middleware, slog handler switch 2026-05-14 19:24:16 +02:00
testdb_test.go feat(02-04): signup handler, router wiring, and integration tests 2026-05-14 22:17:50 +02:00