aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Arakaki Giovanini <mail@gabrielgio.me>2023-07-19 19:42:39 +0200
committerGabriel Arakaki Giovanini <mail@gabrielgio.me>2023-07-19 19:42:39 +0200
commit3e435fc0d032a6cac0bdd15cdb138905ecdb7267 (patch)
tree5fc429dfa2e416e7e94d2a4d7064140918008b1b
parent0acfc21f54745990d094b1e6e5de463d4d8a80a3 (diff)
downloadlens-3e435fc0d032a6cac0bdd15cdb138905ecdb7267.tar.gz
lens-3e435fc0d032a6cac0bdd15cdb138905ecdb7267.tar.bz2
lens-3e435fc0d032a6cac0bdd15cdb138905ecdb7267.zip
feat: Move error from `html/template` to qtpl
-rw-r--r--pkg/ext/responses.go25
-rw-r--r--templates/error.html5
-rw-r--r--templates/error.qtpl16
-rw-r--r--templates/media.html24
-rw-r--r--templates/media.qtpl1
5 files changed, 23 insertions, 48 deletions
diff --git a/pkg/ext/responses.go b/pkg/ext/responses.go
index 7354395..dbad5b2 100644
--- a/pkg/ext/responses.go
+++ b/pkg/ext/responses.go
@@ -6,21 +6,16 @@ import (
"github.com/valyala/fasthttp"
- "git.sr.ht/~gabrielgio/img"
+ "git.sr.ht/~gabrielgio/img/templates"
)
var (
- ContentTypeJSON = []byte("application/json")
- ContentTypeHTML = []byte("text/html")
- ContentTypeMARKDOWN = []byte("text/markdown")
- ContentTypeJPEG = []byte("image/jpeg")
+ ContentTypeHTML = []byte("text/html")
)
func NotFoundHTML(ctx *fasthttp.RequestCtx) {
- ctx.Response.Header.SetContentType("text/html")
- //nolint:errcheck
- img.Render(ctx, "error.html", &img.HTMLView[string]{
- Data: "NotFound",
+ templates.WritePageTemplate(ctx, &templates.ErrorPage{
+ Err: "Not Found",
})
}
@@ -33,16 +28,10 @@ func NotFound(ctx *fasthttp.RequestCtx) {
}
func InternalServerError(ctx *fasthttp.RequestCtx, err error) {
- ctx.Response.Header.SetContentType("text/html")
- message := fmt.Sprintf("Internal Server Error:\n%+v", err)
- //nolint:errcheck
- respErr := img.Render(ctx, "error.html", &img.HTMLView[string]{
- Data: message,
+ ctx.Response.SetStatusCode(500)
+ templates.WritePageTemplate(ctx, &templates.ErrorPage{
+ Err: fmt.Sprintf("Internal Server Error:\n%s", err.Error()),
})
-
- if respErr != nil {
- fmt.Println(respErr.Error())
- }
}
func NoContent(ctx *fasthttp.RequestCtx) {
diff --git a/templates/error.html b/templates/error.html
deleted file mode 100644
index cbde400..0000000
--- a/templates/error.html
+++ /dev/null
@@ -1,5 +0,0 @@
-{{template "layout.html" .}}
-{{define "title"}} Not Found {{end}}
-{{define "content"}}
-{{.}}
-{{end}}
diff --git a/templates/error.qtpl b/templates/error.qtpl
new file mode 100644
index 0000000..b71adc8
--- /dev/null
+++ b/templates/error.qtpl
@@ -0,0 +1,16 @@
+{% code
+type ErrorPage struct {
+ Err string
+}
+%}
+
+{% func (p *ErrorPage) Title() %}
+Error
+{% endfunc %}
+
+{% func (p *ErrorPage) Content() %}
+{%s p.Err %}
+{% endfunc %}
+
+{% func (p *ErrorPage) Script() %}
+{% endfunc %}
diff --git a/templates/media.html b/templates/media.html
deleted file mode 100644
index 188d5b4..0000000
--- a/templates/media.html
+++ /dev/null
@@ -1,24 +0,0 @@
-{{template "layout.html" .}}
-{{define "title"}} {{.Title}} {{end}}
-{{define "content"}}
-<div class="columns is-multiline">
-{{range .Data.Medias}}
-<div class="card">
- <div class="card-image">
- {{ if .IsVideo }}
- <video controls muted="true" poster="/media/thumbnail?path_hash={{.PathHash}}" preload="none">
- <source src="/media/image?path_hash={{.PathHash}}" type="{{.MIMEType}}">
- </video>
- {{ else }}
- <figure class="image is-fit">
- <img src="/media/thumbnail?path_hash={{.PathHash}}">
- </figure>
- {{ end }}
- </div>
-</div>
-{{end}}
-</div>
-<div class="row">
- <a href="/media?page={{.Data.Next.Page}}" class="button is-pulled-right">next</a>
-</div>
-{{end}}
diff --git a/templates/media.qtpl b/templates/media.qtpl
index 88ce582..b9b3bf5 100644
--- a/templates/media.qtpl
+++ b/templates/media.qtpl
@@ -11,7 +11,6 @@ type MediaPage struct {
Media
{% endfunc %}
-
{% func (p *MediaPage) Content() %}
<div class="columns is-multiline">
{% for _, media := range p.Medias %}