package pages import ( "context" "github.com/a-h/templ" "github.com/ekzyis/echo-htmx-templ-tailwindcss/env" "github.com/ekzyis/echo-htmx-templ-tailwindcss/pages/components" pCtx "github.com/ekzyis/echo-htmx-templ-tailwindcss/pages/context" "github.com/labstack/echo/v4" ) func GetEnv(ctx context.Context) string { if u, ok := ctx.Value(pCtx.Env).(string); ok { return u } return "development" } func Render(t templ.Component, statusCode int, eCtx echo.Context) error { buf := templ.GetBuffer() defer templ.ReleaseBuffer(buf) rCtx := context.WithValue(eCtx.Request().Context(), pCtx.Env, env.Env) req := eCtx.Request() rCtx = context.WithValue(rCtx, pCtx.Origin, req.Pattern+req.Host) if err := t.Render(rCtx, buf); err != nil { return err } return eCtx.HTML(statusCode, buf.String()) } func RenderModal(child templ.Component, statusCode int, eCtx echo.Context) error { buf := templ.GetBuffer() defer templ.ReleaseBuffer(buf) rCtx := templ.WithChildren(eCtx.Request().Context(), child) if err := components.Modal(true).Render(rCtx, buf); err != nil { return err } return eCtx.HTML(statusCode, buf.String()) }