aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Arakaki Giovanini <mail@gabrielgio.me>2023-07-19 20:24:19 +0200
committerGabriel Arakaki Giovanini <mail@gabrielgio.me>2023-07-19 21:00:27 +0200
commit52276ba99540d6c61195772ccdd50944e96f4959 (patch)
tree88f9ae39a76c063e99864bd8c4c84d63111ce3af
parentcd1fa849fb161d3bbc7c582aa2787315a1037db1 (diff)
downloadlens-52276ba99540d6c61195772ccdd50944e96f4959.tar.gz
lens-52276ba99540d6c61195772ccdd50944e96f4959.tar.bz2
lens-52276ba99540d6c61195772ccdd50944e96f4959.zip
feat: Move settings from `html/template` to qtpl
-rw-r--r--pkg/view/settings.go18
-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 %}