package handlers import ( "io/fs" "net/http" "git.tijl.dev/tijl/tijl.dev/internal/config" "git.tijl.dev/tijl/tijl.dev/internal/i18n" "git.tijl.dev/tijl/tijl.dev/internal/oidc" "git.tijl.dev/tijl/tijl.dev/modules/web" webf "git.tijl.dev/tijl/tijl.dev/web" "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/filesystem" ) func Setup() { web.RegisterAppSetupFunc(routes) } func routes(app *fiber.App) { app.Get("/", func(c *fiber.Ctx) error { data := *web.Common(c) data["Title"] = i18n.Translate(c, "home") return c.Render("index", data, "layouts/base") }) app.Get("/blog", func(c *fiber.Ctx) error { data := *web.Common(c) data["Title"] = i18n.Translate(c, "blog") return c.Render("blog", data, "layouts/base") }) app.Get("/projects", func(c *fiber.Ctx) error { data := *web.Common(c) data["Title"] = i18n.Translate(c, "projects") return c.Render("projects", data, "layouts/base") }) app.Get("/about", func(c *fiber.Ctx) error { data := *web.Common(c) data["Title"] = i18n.Translate(c, "about") return c.Render("about", data, "layouts/base") }) app.Get("/login", loginHandler) app.Get("/loggedin", loggedinHandler) app.Get("/account", accountHandler) app.Get("/logout", logoutHandler) app.Get("/settings", settingsHandler) app.Get("/auth", authHandler) app.Get(config.Config.Oidc.CallbackUrl, oidc.HandleCallback) /* Static */ static, _ := fs.Sub(webf.StaticEmbed, "static") app.Use("/static/", filesystem.New(filesystem.Config{ Root: http.FS(static), })) /* 404 */ app.Use(func(c *fiber.Ctx) error { data := *web.Common(c) return c.Render("404", data, "layouts/base") }) }