Didn't have the chance to migrate //all// templates just yet. We'll get there.
* Implement yet another template system
* Move orphans to the new system and fix a bug in it
* Link orphans in the admin panel
* Move the backlink handlers to the web package
* Move auth routing to web
* Move /user-list to the new system
* Move change password and translate it
* Move stuff
* Move admin-related stuff to the web
* Move a lot of files into internal dir
Outside of it are web and stuff that needs further refactoring
* Fix static not loading and de-qtpl tree
* Move tree to internal
* Keep the globe on the same line #230
* Revert "Keep the globe on the same line #230"
This reverts commit ae78e5e459.
* Migrate templates from hypview: delete, edit, start empty and existing WIP
The delete media view was removed, I didn't even know it still existed as a GET. A rudiment.
* Make views multi-file and break compilation
* Megarefactoring of hypha views
* Auth-related stuffs
* Fix some of those weird imports
* Migrate cat views
* Fix cat js
* Lower standards
* Internalize trauma
40 lines
780 B
Go
40 lines
780 B
Go
package viewutil
|
|
|
|
import (
|
|
"github.com/bouncepaw/mycorrhiza/internal/user"
|
|
"github.com/bouncepaw/mycorrhiza/l18n"
|
|
"html/template"
|
|
"io"
|
|
"net/http"
|
|
)
|
|
|
|
// Meta is a bundle of common stuffs used by views, templates.
|
|
type Meta struct {
|
|
Lc *l18n.Localizer
|
|
U *user.User
|
|
W io.Writer
|
|
Addr string
|
|
|
|
// New template additions
|
|
HeadElements []template.HTML
|
|
BodyAttributes map[string]string
|
|
}
|
|
|
|
// MetaFrom makes a Meta from the given data. You are meant to further modify it.
|
|
func MetaFrom(w http.ResponseWriter, rq *http.Request) Meta {
|
|
return Meta{
|
|
Lc: l18n.FromRequest(rq),
|
|
U: user.FromRequest(rq),
|
|
W: w,
|
|
Addr: rq.URL.Path,
|
|
}
|
|
}
|
|
|
|
func (m Meta) Locale() string {
|
|
return m.Lc.Locale
|
|
}
|
|
|
|
func (m Meta) LocaleIsRussian() bool {
|
|
return m.Locale() == "ru"
|
|
}
|