diff options
-rw-r--r-- | pkg/view/settings.go | 18 | ||||
-rw-r--r-- | templates/settings.qtpl (renamed from templates/settings.html) | 32 |
2 files changed, 28 insertions, 22 deletions
diff --git a/pkg/view/settings.go b/pkg/view/settings.go index 14f4e49..bee3dc2 100644 --- a/pkg/view/settings.go +++ b/pkg/view/settings.go @@ -3,9 +3,9 @@ package view import ( "github.com/valyala/fasthttp" - "git.sr.ht/~gabrielgio/img" "git.sr.ht/~gabrielgio/img/pkg/database/repository" "git.sr.ht/~gabrielgio/img/pkg/ext" + "git.sr.ht/~gabrielgio/img/templates" ) type ( @@ -14,11 +14,6 @@ type ( settingsRepository repository.SettingsRepository userRepository repository.UserRepository } - - SettingsPage struct { - Settings *repository.Settings - Users []*repository.User - } ) func NewSettingsView( @@ -42,13 +37,12 @@ func (self *SettingsView) Index(ctx *fasthttp.RequestCtx) error { return err } - return img.Render(ctx, "settings.html", &img.HTMLView[*SettingsPage]{ - Title: "Settings", - Data: &SettingsPage{ - Settings: s, - Users: users, - }, + templates.WritePageTemplate(ctx, &templates.SettingsPage{ + Settings: s, + Users: users, }) + + return nil } func (self *SettingsView) Save(ctx *fasthttp.RequestCtx) error { diff --git a/templates/settings.html b/templates/settings.qtpl index 8c08773..509cddd 100644 --- a/templates/settings.html +++ b/templates/settings.qtpl @@ -1,13 +1,22 @@ -{{template "layout.html" .}} -{{define "title"}} {{.Title}} {{end}} -{{define "content"}} +{% import "git.sr.ht/~gabrielgio/img/pkg/database/repository" %} + +{% code +type SettingsPage struct { + Settings *repository.Settings + Users []*repository.User +} +%} + +{% func (p *SettingsPage) Title() %}Settings{% endfunc %} + +{% func (p *SettingsPage) Content() %} <div class="columns"> <div class="column is-one-third"> <form action="/settings/", method="post"> <div class="field"> <div class="control"> <label class="checkbox"> - <input type="checkbox" id="showMode" name="showMode" {{if .Data.Settings.ShowMode}}checked{{end}}> + <input type="checkbox" id="showMode" name="showMode" {% if p.Settings.ShowMode %}checked{% endif %}> Show File Modes </label> </div> @@ -15,7 +24,7 @@ <div class="field"> <div class="control"> <label class="checkbox"> - <input type="checkbox" id="showOwner" name="showOwner" {{if .Data.Settings.ShowOwner}}checked{{end}}> + <input type="checkbox" id="showOwner" name="showOwner" {% if p.Settings.ShowOwner %}checked{% endif %}> Show File Owner </label> </div> @@ -26,19 +35,22 @@ </form> </div> <div class="column"> - {{range .Data.Users}} + {% for _, user := range p.Users %} <div class="panel-block"> <div class="columns wide-column is-gapless is-mobile"> <div class="column"> - {{.Username}} + {%s user.Username %} </div> <div class="column"> - {{.Path}} + {%s user.Path %} </div> <div class="column has-text-right"><a href="#">Edit</a> / <a href="#" class="is-danger">Delete</a></div> </div> </div> - {{end}} + {% endfor %} </div> </div> -{{end}} +{% endfunc %} + +{% func (p *SettingsPage) Script() %} +{% endfunc %} |