diff --git a/.gitignore b/.gitignore
index 7a57f1f..1faeedb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,5 @@
tmp/
projectreshoot
-node_modules/
static/css/output.css
-view/*/*_templ.go
-view/*/*_templ.txt
+view/**/*_templ.go
+view/**/*_templ.txt
diff --git a/view/component/footer/footer.templ b/view/component/footer/footer.templ
new file mode 100644
index 0000000..8ca10b3
--- /dev/null
+++ b/view/component/footer/footer.templ
@@ -0,0 +1,116 @@
+package footer
+
+type FooterItem struct {
+ name string
+ href string
+}
+
+func getFooterItems() []FooterItem {
+ return []FooterItem{
+ {
+ name: "About",
+ href: "/about",
+ },
+ {
+ name: "Github",
+ href: "https://github.com/haelnorr/projectreshoot",
+ },
+ }
+}
+
+templ Footer() {
+
+}
diff --git a/view/component/nav/navbar.templ b/view/component/nav/navbar.templ
index eadf5e7..c9a39d2 100644
--- a/view/component/nav/navbar.templ
+++ b/view/component/nav/navbar.templ
@@ -1,5 +1,19 @@
package nav
+type NavItem struct {
+ name string
+ href string
+}
+
+func getNavItems() []NavItem {
+ return []NavItem{
+ {
+ name: "Movies",
+ href: "/movies",
+ },
+ }
+}
+
templ Navbar() {
{{ navItems := getNavItems() }}
diff --git a/view/component/nav/navbar_templ.go b/view/component/nav/navbar_templ.go
deleted file mode 100644
index 07196b6..0000000
--- a/view/component/nav/navbar_templ.go
+++ /dev/null
@@ -1,61 +0,0 @@
-// Code generated by templ - DO NOT EDIT.
-
-// templ: version: v0.3.833
-package nav
-
-//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 Navbar() 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)
- navItems := getNavItems()
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "
")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = sideNav(navItems).Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "
")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
-}
-
-var _ = templruntime.GeneratedTemplate
diff --git a/view/component/nav/navbar_templ.txt b/view/component/nav/navbar_templ.txt
deleted file mode 100644
index 6a904a0..0000000
--- a/view/component/nav/navbar_templ.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-
\ No newline at end of file
diff --git a/view/component/nav/navbaritems.go b/view/component/nav/navbaritems.go
deleted file mode 100644
index 124d6a5..0000000
--- a/view/component/nav/navbaritems.go
+++ /dev/null
@@ -1,15 +0,0 @@
-package nav
-
-type NavItem struct {
- name string
- href string
-}
-
-func getNavItems() []NavItem {
- return []NavItem{
- {
- name: "Movies",
- href: "/movies",
- },
- }
-}
diff --git a/view/component/nav/navbarleft_templ.go b/view/component/nav/navbarleft_templ.go
deleted file mode 100644
index c026fee..0000000
--- a/view/component/nav/navbarleft_templ.go
+++ /dev/null
@@ -1,72 +0,0 @@
-// Code generated by templ - DO NOT EDIT.
-
-// templ: version: v0.3.833
-package nav
-
-//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 navLeft(navItems []NavItem) 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 = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "
")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
-}
-
-var _ = templruntime.GeneratedTemplate
diff --git a/view/component/nav/navbarleft_templ.txt b/view/component/nav/navbarleft_templ.txt
deleted file mode 100644
index 91a59e4..0000000
--- a/view/component/nav/navbarleft_templ.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/view/component/nav/navbarright_templ.go b/view/component/nav/navbarright_templ.go
deleted file mode 100644
index 7b2c338..0000000
--- a/view/component/nav/navbarright_templ.go
+++ /dev/null
@@ -1,40 +0,0 @@
-// Code generated by templ - DO NOT EDIT.
-
-// templ: version: v0.3.833
-package nav
-
-//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 navRight() 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 = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "
")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
-}
-
-var _ = templruntime.GeneratedTemplate
diff --git a/view/component/nav/navbarright_templ.txt b/view/component/nav/navbarright_templ.txt
deleted file mode 100644
index 3f87a43..0000000
--- a/view/component/nav/navbarright_templ.txt
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/view/component/nav/sidenav_templ.go b/view/component/nav/sidenav_templ.go
deleted file mode 100644
index 0a35d7c..0000000
--- a/view/component/nav/sidenav_templ.go
+++ /dev/null
@@ -1,72 +0,0 @@
-// Code generated by templ - DO NOT EDIT.
-
-// templ: version: v0.3.833
-package nav
-
-//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 sideNav(navItems []NavItem) 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 = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "
")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- for _, item := range navItems {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "- ")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var3 string
- templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(item.name)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `view/component/nav/sidenav.templ`, Line: 18, Col: 18}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "
")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "
")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
-}
-
-var _ = templruntime.GeneratedTemplate
diff --git a/view/component/nav/sidenav_templ.txt b/view/component/nav/sidenav_templ.txt
deleted file mode 100644
index b004ee4..0000000
--- a/view/component/nav/sidenav_templ.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/view/layout/global.templ b/view/layout/global.templ
index 1d9f227..6c0254e 100644
--- a/view/layout/global.templ
+++ b/view/layout/global.templ
@@ -1,10 +1,19 @@
package layout
import "projectreshoot/view/component/nav"
+import "projectreshoot/view/component/footer"
templ Global() {
-
+
@@ -13,23 +22,24 @@ templ Global() {
+ document.documentElement.classList.toggle(
+ "dark",
+ localStorage.currentTheme === "dark" ||
+ (
+ !("theme" in localStorage) &&
+ window.matchMedia("(prefers-color-scheme: dark)").matches
+ ),
+ );
+
- @nav.Navbar()
- { children... }
+
+ @nav.Navbar()
+
+ { children... }
+
+ @footer.Footer()
+
}
diff --git a/view/page/index.templ b/view/page/index.templ
index 3729a2f..71b55db 100644
--- a/view/page/index.templ
+++ b/view/page/index.templ
@@ -4,6 +4,6 @@ import "projectreshoot/view/layout"
templ Index() {
@layout.Global() {
- This is my index page
+
}
}