diff --git a/components/core/footer.templ b/components/core/footer.templ new file mode 100644 index 0000000..465cffd --- /dev/null +++ b/components/core/footer.templ @@ -0,0 +1,9 @@ +package core + +templ Footer() { + +} \ No newline at end of file diff --git a/components/core/footer_templ.go b/components/core/footer_templ.go new file mode 100644 index 0000000..67a7e70 --- /dev/null +++ b/components/core/footer_templ.go @@ -0,0 +1,40 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package core + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +func Footer() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/components/core/header.templ b/components/core/header.templ new file mode 100644 index 0000000..456f813 --- /dev/null +++ b/components/core/header.templ @@ -0,0 +1,14 @@ +package core + +import "vctp/version" + +templ Header() { + + + + + Test Page + + + +} \ No newline at end of file diff --git a/components/core/header_templ.go b/components/core/header_templ.go new file mode 100644 index 0000000..224b938 --- /dev/null +++ b/components/core/header_templ.go @@ -0,0 +1,55 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.778 +package core + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import "vctp/version" + +func Header() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("Test Page") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/components/home/home.templ b/components/home/home.templ deleted file mode 100644 index 654e89e..0000000 --- a/components/home/home.templ +++ /dev/null @@ -1,18 +0,0 @@ -package home - -// Define the Home template, accepting a BuildInfo struct. -templ Home(buildTime string, sha1ver string, goVersion string) { - - - - - Build Information - - -

Build Information

-

Build Time: {buildTime}

-

SHA1 Version: {sha1ver}

-

Go Runtime Version: {goVersion}

- - -} \ No newline at end of file diff --git a/components/views/index.templ b/components/views/index.templ new file mode 100644 index 0000000..71a1d6d --- /dev/null +++ b/components/views/index.templ @@ -0,0 +1,29 @@ +package views + +import ( + "vctp/components/core" +) + +type BuildInfo struct { + BuildTime string + SHA1Ver string + GoVersion string +} + +templ Index(info BuildInfo) { + + + @core.Header() + +
+
+

Build Information

+

Build Time: {info.BuildTime}

+

SHA1 Version: {info.SHA1Ver}

+

Go Runtime Version: {info.GoVersion}

+
+
+ + @core.Footer() + +} \ No newline at end of file diff --git a/components/home/home_templ.go b/components/views/index_templ.go similarity index 63% rename from components/home/home_templ.go rename to components/views/index_templ.go index 47cc253..f830e0e 100644 --- a/components/home/home_templ.go +++ b/components/views/index_templ.go @@ -1,15 +1,24 @@ // Code generated by templ - DO NOT EDIT. // templ: version: v0.2.778 -package home +package views //lint:file-ignore SA4006 This context is only used if a nested component is present. import "github.com/a-h/templ" import templruntime "github.com/a-h/templ/runtime" -// Define the Home template, accepting a BuildInfo struct. -func Home(buildTime string, sha1ver string, goVersion string) templ.Component { +import ( + "vctp/components/core" +) + +type BuildInfo struct { + BuildTime string + SHA1Ver string + GoVersion string +} + +func Index(info BuildInfo) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { @@ -30,46 +39,62 @@ func Home(buildTime string, sha1ver string, goVersion string) templ.Component { templ_7745c5c3_Var1 = templ.NopComponent } ctx = templ.ClearChildren(ctx) - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("Build Information

Build Information

Build Time: ") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = core.Header().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

Build Information

Build Time: ") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } var templ_7745c5c3_Var2 string - templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(buildTime) + templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(info.BuildTime) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `home/home.templ`, Line: 13, Col: 54} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/index.templ`, Line: 21, Col: 80} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

SHA1 Version: ") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

SHA1 Version: ") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } var templ_7745c5c3_Var3 string - templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(sha1ver) + templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(info.SHA1Ver) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `home/home.templ`, Line: 14, Col: 54} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/index.templ`, Line: 22, Col: 80} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

Go Runtime Version: ") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

Go Runtime Version: ") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } var templ_7745c5c3_Var4 string - templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(goVersion) + templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(info.GoVersion) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `home/home.templ`, Line: 15, Col: 62} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/index.templ`, Line: 23, Col: 88} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = core.Footer().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } diff --git a/server/handler/home.go b/server/handler/home.go index b023389..853e06a 100644 --- a/server/handler/home.go +++ b/server/handler/home.go @@ -2,7 +2,7 @@ package handler import ( "net/http" - "vctp/components/home" + "vctp/components/views" ) // Home handles the home page. @@ -10,9 +10,21 @@ func (h *Handler) Home(w http.ResponseWriter, r *http.Request) { //h.html(r.Context(), w, http.StatusOK, core.HTML("Example Site", home.Home())) // Render the template - err := home.Home(h.BuildTime, h.SHA1Ver, h.GoVersion).Render(r.Context(), w) + /* + err := home.Home(h.BuildTime, h.SHA1Ver, h.GoVersion).Render(r.Context(), w) + if err != nil { + http.Error(w, "Failed to render template", http.StatusInternalServerError) + } + */ + + info := views.BuildInfo{ + BuildTime: h.BuildTime, + SHA1Ver: h.SHA1Ver, + GoVersion: h.GoVersion, + } + + err := views.Index(info).Render(r.Context(), w) if err != nil { http.Error(w, "Failed to render template", http.StatusInternalServerError) } - }