Started server

This commit is contained in:
Simon Martens
2026-02-19 15:09:44 +01:00
parent df79656c77
commit 59fb813c85
7 changed files with 115 additions and 94 deletions

View File

@@ -1,7 +1,5 @@
package app
import "sync"
type Route struct {
Path string
Kind string
@@ -12,28 +10,19 @@ type Route struct {
type Page interface {
Discover(app *App) ([]Route, error)
Model(app *App, route Route) (map[string]any, error)
Render(app *App, route Route, model map[string]any) ([]byte, error)
}
var (
pagesMu sync.RWMutex
pages []Page
)
var pages []Page
func RegisterPage(page Page) {
if page == nil {
panic("cannot register nil page")
}
pagesMu.Lock()
defer pagesMu.Unlock()
pages = append(pages, page)
}
func RegisteredPages() []Page {
pagesMu.RLock()
defer pagesMu.RUnlock()
ret := make([]Page, len(pages))
copy(ret, pages)
return ret