summaryrefslogtreecommitdiffci
path: root/internal/router/root.go
blob: f4a0692a472975f3723f187a9d8a5b5d9feb4449 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package router

import (
	"log/slog"

	"github.com/SayaAndy/saya-today-web/config"
	"github.com/gofiber/fiber/v2"
)

func init() {
	tm.Add("index", "views/index.html")
}

func Root(localeCfg []config.AvailableLanguageConfig) func(c *fiber.Ctx) error {
	return func(c *fiber.Ctx) error {
		content, err := tm.Render("index", fiber.Map{
			"AvailableLanguages": localeCfg,
		})
		if err != nil {
			slog.Warn("failed to generate page", slog.String("page", "/"), slog.String("error", err.Error()))
			c.Set(fiber.HeaderContentType, fiber.MIMETextPlainCharsetUTF8)
			return c.Status(fiber.ErrInternalServerError.Code).SendString("failed to generate page")
		}

		return c.Type("html").Send(content)
	}
}