jamtrack/internal/web/static.go
Frédéric G. MARAND 6f3321371d bug(ux): fix various front end bugs.
- Fixed song add form (3 HTMX bugs: reset on typeahead, wrong query param, artist-only find-or-create)
- Added Played checkbox to add form; inline edit (✎/Save/Cancel) for setlist rows
- View fixes: date format, location name instead of ID in jam list, notes on location detail, song count column, location name links to detail
- Title typeahead + cross-filtering (artist↔title filter each other)
- Fixed datalist accumulation bug: HTMX 2.0 inherits hx-swap from parent; added explicit hx-swap="innerHTML" on both inputs
- Setlist sort by id (ULID = insertion order); created rejected by PocketBase
- Location delete guard: OnRecordDelete hook blocks if jams exist; FK enforcement is app-level not SQLite-level

Loose ends to pick up:
- Focus-after-add not user-confirmed yet (setTimeout approach)
- jams.participants and setlist.position still in DB schema but unused in UI (optional migration to clean up)
- Logout flow and dashboard ranking not browser-tested
2026-06-15 14:12:57 +02:00

22 lines
570 B
Go

// Package web contains HTTP handlers, middleware, and embedded static assets.
package web
import (
"embed"
"io/fs"
"net/http"
"github.com/pocketbase/pocketbase/core"
)
//go:embed static
var staticFiles embed.FS
// RegisterStatic registers the /static/* route serving embedded Bulma and htmx assets.
func RegisterStatic(e *core.ServeEvent) {
sub, _ := fs.Sub(staticFiles, "static")
e.Router.GET("/static/{path...}", func(re *core.RequestEvent) error {
http.StripPrefix("/static", http.FileServerFS(sub)).ServeHTTP(re.Response, re.Request)
return nil
})
}