Refactor server and templates package
This commit is contained in:
parent
b6bf0a8900
commit
6ede99d7c6
105 changed files with 341 additions and 339 deletions
67
internal/dis/component/server/legal/legal.go
Normal file
67
internal/dis/component/server/legal/legal.go
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
package legal
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
|
||||
"github.com/FAU-CDI/wisski-distillery/internal/cli"
|
||||
"github.com/FAU-CDI/wisski-distillery/internal/dis/component"
|
||||
"github.com/FAU-CDI/wisski-distillery/internal/dis/component/server"
|
||||
"github.com/FAU-CDI/wisski-distillery/internal/dis/component/server/assets"
|
||||
"github.com/FAU-CDI/wisski-distillery/internal/dis/component/server/templates"
|
||||
|
||||
_ "embed"
|
||||
)
|
||||
|
||||
type Legal struct {
|
||||
component.Base
|
||||
Dependencies struct {
|
||||
Static *assets.Static
|
||||
Templating *templates.Templating
|
||||
}
|
||||
}
|
||||
|
||||
var (
|
||||
_ component.Routeable = (*Legal)(nil)
|
||||
)
|
||||
|
||||
//go:embed "legal.html"
|
||||
var legalHTML []byte
|
||||
var legalTemplate = templates.Parse[legalContext]("legal.html", legalHTML, assets.AssetsDefault)
|
||||
|
||||
type legalContext struct {
|
||||
templates.BaseContext
|
||||
|
||||
LegalNotices string
|
||||
|
||||
CSRFCookie string
|
||||
SessionCookie string
|
||||
AssetsDisclaimer string
|
||||
}
|
||||
|
||||
func (legal *Legal) Routes() component.Routes {
|
||||
return component.Routes{
|
||||
Prefix: "/legal/",
|
||||
Exact: true,
|
||||
|
||||
CSRF: false,
|
||||
}
|
||||
}
|
||||
|
||||
func (legal *Legal) HandleRoute(ctx context.Context, route string) (http.Handler, error) {
|
||||
tpl := legalTemplate.Prepare(legal.Dependencies.Templating, templates.BaseContextGaps{
|
||||
Crumbs: []component.MenuItem{
|
||||
{Title: "Legal", Path: "/legal/"},
|
||||
},
|
||||
})
|
||||
|
||||
return tpl.HTMLHandler(func(r *http.Request) (lc legalContext, err error) {
|
||||
lc.LegalNotices = cli.LegalNotices
|
||||
|
||||
lc.CSRFCookie = server.CSRFCookie
|
||||
lc.SessionCookie = server.SessionCookie
|
||||
lc.AssetsDisclaimer = assets.Disclaimer
|
||||
|
||||
return
|
||||
}), nil
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue