Compare commits

..

1 Commits

Author SHA1 Message Date
60268e600f Convert about page to Templ 2024-07-17 17:01:38 -07:00
5 changed files with 14 additions and 97 deletions

View File

@ -3,15 +3,12 @@ package handlers
import ( import (
"net/http" "net/http"
"github.com/a-h/templ"
"github.com/labstack/echo/v4" "github.com/labstack/echo/v4"
"git.grosinger.net/tgrosinger/saasitone/pkg/context" "git.grosinger.net/tgrosinger/saasitone/pkg/context"
"git.grosinger.net/tgrosinger/saasitone/pkg/log" "git.grosinger.net/tgrosinger/saasitone/pkg/log"
"git.grosinger.net/tgrosinger/saasitone/pkg/page" "git.grosinger.net/tgrosinger/saasitone/pkg/page"
"git.grosinger.net/tgrosinger/saasitone/pkg/services" "git.grosinger.net/tgrosinger/saasitone/pkg/services"
"git.grosinger.net/tgrosinger/saasitone/templ/layouts"
"git.grosinger.net/tgrosinger/saasitone/templ/pages"
"git.grosinger.net/tgrosinger/saasitone/templates" "git.grosinger.net/tgrosinger/saasitone/templates"
) )
@ -41,18 +38,13 @@ func (e *Error) Page(err error, ctx echo.Context) {
// Render the error page // Render the error page
p := page.New(ctx) p := page.New(ctx)
p.Layout = templates.LayoutMain
p.Name = templates.PageError p.Name = templates.PageError
p.Title = http.StatusText(code) p.Title = http.StatusText(code)
p.StatusCode = code p.StatusCode = code
p.HTMX.Request.Enabled = false p.HTMX.Request.Enabled = false
component := pages.Error(p) if err = e.RenderPage(ctx, p); err != nil {
p.LayoutComponent = func(content templ.Component) templ.Component {
return layouts.Main(p, content)
}
if err = e.RenderPageTempl(ctx, p, component); err != nil {
log.Ctx(ctx).Error("failed to render error page", log.Ctx(ctx).Error("failed to render error page",
"error", err, "error", err,
) )

View File

@ -162,7 +162,7 @@ func tabs(t []AboutTab) templ.Component {
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><p>") _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><p>NOT WORKING YET")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }

View File

@ -1,19 +0,0 @@
package pages
import (
"net/http"
"git.grosinger.net/tgrosinger/saasitone/pkg/page"
)
templ Error(p page.Page) {
if p.StatusCode >= 500 {
<p>Please try again.</p>
} else if p.StatusCode == http.StatusUnauthorized || p.StatusCode == http.StatusForbidden {
<p>You are not authorized to view the requested page.</p>
} else if p.StatusCode == http.StatusNotFound {
<p>Click <a href={ templ.URL(p.ToURL("home")) }>here</a> to return home</p>
} else {
<p>Something went wrong</p>
}
}

View File

@ -1,67 +0,0 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.707
package pages
//lint:file-ignore SA4006 This context is only used if a nested component is present.
import "github.com/a-h/templ"
import "context"
import "io"
import "bytes"
import (
"net/http"
"git.grosinger.net/tgrosinger/saasitone/pkg/page"
)
func Error(p page.Page) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
if templ_7745c5c3_Var1 == nil {
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
if p.StatusCode >= 500 {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<p>Please try again.</p>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else if p.StatusCode == http.StatusUnauthorized || p.StatusCode == http.StatusForbidden {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<p>You are not authorized to view the requested page.</p>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else if p.StatusCode == http.StatusNotFound {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<p>Click <a href=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var2 templ.SafeURL = templ.URL(p.ToURL("home"))
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var2)))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">here</a> to return home</p>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<p>Something went wrong</p>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}

View File

@ -0,0 +1,11 @@
{{define "content"}}
{{if ge .StatusCode 500}}
<p>Please try again.</p>
{{else if or (eq .StatusCode 403) (eq .StatusCode 401)}}
<p>You are not authorized to view the requested page.</p>
{{else if eq .StatusCode 404}}
<p>Click {{link (url "home") "here" .Path}} to return home</p>
{{else}}
<p>Something went wrong</p>
{{end}}
{{end}}