Files
lenz-web/app/pages.go
Simon Martens 59fb813c85 Started server
2026-02-19 15:09:44 +01:00

30 lines
438 B
Go

package app
type Route struct {
Path string
Kind string
ID string
page Page
}
type Page interface {
Discover(app *App) ([]Route, error)
Model(app *App, route Route) (map[string]any, error)
}
var pages []Page
func RegisterPage(page Page) {
if page == nil {
panic("cannot register nil page")
}
pages = append(pages, page)
}
func RegisteredPages() []Page {
ret := make([]Page, len(pages))
copy(ret, pages)
return ret
}