diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml
index c3a008d..1db9d05 100644
--- a/.gitea/workflows/build.yaml
+++ b/.gitea/workflows/build.yaml
@@ -32,13 +32,6 @@ jobs:
with:
go-version: '1.22'
- - name: Generate templ code
- uses: capthiron/templ-generator-action@v1
- with:
- commit: "false"
- setup-go: "false"
- go-version: "1.22"
-
- name: Build
run: go build -o tijldev cmd/server/main.go
diff --git a/assets/icons/services.svg b/assets/icons/services.svg
new file mode 100644
index 0000000..8bc0982
--- /dev/null
+++ b/assets/icons/services.svg
@@ -0,0 +1,3 @@
+
diff --git a/internal/handlers/routes.go b/internal/handlers/routes.go
index d010443..5b36426 100644
--- a/internal/handlers/routes.go
+++ b/internal/handlers/routes.go
@@ -7,6 +7,7 @@ import (
"git.tijl.dev/tijl/tijl.dev-core/internal/config"
"git.tijl.dev/tijl/tijl.dev-core/internal/i18n"
"git.tijl.dev/tijl/tijl.dev-core/internal/oidc"
+ "git.tijl.dev/tijl/tijl.dev-core/internal/user"
"git.tijl.dev/tijl/tijl.dev-core/modules/web"
webf "git.tijl.dev/tijl/tijl.dev-core/web"
"github.com/gofiber/fiber/v2"
@@ -37,6 +38,15 @@ func routes(app *fiber.App) {
data["Title"] = i18n.Translate(c, "about")
return c.Render("about", data, "layouts/base")
})
+ app.Get("/services", func(c *fiber.Ctx) error {
+ _, err := user.GetSession(c)
+ if err != nil {
+ return c.Next()
+ }
+ data := *web.Common(c)
+ data["Title"] = i18n.Translate(c, "services")
+ return c.Render("services", data, "layouts/base")
+ })
app.Get("/login", loginHandler)
app.Get("/loggedin", loggedinHandler)
app.Get("/account", accountHandler)
diff --git a/locales/en.json b/locales/en.json
index 63c5de5..3c753a9 100644
--- a/locales/en.json
+++ b/locales/en.json
@@ -11,5 +11,6 @@
"login": "Login",
"settings": "Settings",
"page_not_found": "Page not found",
- "logged_in": "You are now logged in!"
+ "logged_in": "You are now logged in!",
+ "services": "Services"
}
diff --git a/locales/nl.json b/locales/nl.json
index c70668f..8603d1a 100644
--- a/locales/nl.json
+++ b/locales/nl.json
@@ -11,5 +11,6 @@
"login": "Login",
"settings": "Instellingen",
"page_not_found": "Pagina niet gevonden",
- "logged_in": "Je bent nu ingelogd!"
+ "logged_in": "Je bent nu ingelogd!",
+ "services": "Services"
}
diff --git a/web/views/about.html b/web/views/about.html
index e69de29..c2a0e55 100644
--- a/web/views/about.html
+++ b/web/views/about.html
@@ -0,0 +1,61 @@
+
+
Bitcoin Paynym
+ PM8TJh8YdsX67AWUFoHjEQUJ5amsBbWq1XqcygbVCPkEnwXw8b61z4JDFTLUaPKcnLwdwE9353f1YaAHgQVtXs8ZZ1SS3GqdsRvduYEUwB385BS7KcfD
+
+
Bitcoin bc1q4gp5yvskr4qk52ysztzanr696m3wvak52py4sq
+
Email contact@tijl.dev
+
Matrix tijl@tijl.dev
+
PGP
-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+ 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
+ =vRQX
+ -----END PGP PUBLIC KEY BLOCK-----
+
+
+
diff --git a/web/views/partials/menu.html b/web/views/partials/menu.html
index 9db54b5..99c400f 100644
--- a/web/views/partials/menu.html
+++ b/web/views/partials/menu.html
@@ -37,6 +37,16 @@
{{.T.projects}}
+ {{if .SignedIn}}
+
+
+
+ {{icon "services"}}
+
+ {{.T.services}}
+
+
+ {{end}}
diff --git a/web/views/projects.html b/web/views/projects.html
index e69de29..bdd4eda 100644
--- a/web/views/projects.html
+++ b/web/views/projects.html
@@ -0,0 +1 @@
+soon
diff --git a/web/views/services.html b/web/views/services.html
new file mode 100644
index 0000000..9682f0e
--- /dev/null
+++ b/web/views/services.html
@@ -0,0 +1,29 @@
+