summaryrefslogtreecommitdiff
path: root/internal/router/lang-map.go
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
authorGravatar SayaAndy <saya.andy@posteo.com> 2025-10-20 01:35:01 +0700
committerGravatar SayaAndy <saya.andy@posteo.com> 2025-10-20 01:35:01 +0700
commitf6c60d0a963817189854f5b42bc58a76ddb90d53 (patch)
treeff81251fd1cc24f8c28617b2d1ccaa4af232a4a4 /internal/router/lang-map.go
parentfdb8582f40168dbb0795358f1ea950a26f157b2d (diff)
downloadweb-f6c60d0a963817189854f5b42bc58a76ddb90d53.tar.gz
web-f6c60d0a963817189854f5b42bc58a76ddb90d53.zip
feat: redo language page with general page layout
Diffstat (limited to 'internal/router/lang-map.go')
-rw-r--r--internal/router/lang-map.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/internal/router/lang-map.go b/internal/router/lang-map.go
index e94d756..a744f02 100644
--- a/internal/router/lang-map.go
+++ b/internal/router/lang-map.go
@@ -3,10 +3,10 @@ package router
import (
"fmt"
"log/slog"
- "slices"
"strconv"
"strings"
+ "github.com/SayaAndy/saya-today-web/config"
"github.com/SayaAndy/saya-today-web/internal/b2"
"github.com/SayaAndy/saya-today-web/locale"
"github.com/gofiber/fiber/v2"
@@ -16,14 +16,17 @@ func init() {
tm.Add("global-map", "views/pages/global-map.html")
}
-func Lang_Map(l map[string]*locale.LocaleConfig, langs []string, b2Client *b2.B2Client) func(c *fiber.Ctx) error {
+func Lang_Map(l map[string]*locale.LocaleConfig, langs []config.AvailableLanguageConfig, b2Client *b2.B2Client) func(c *fiber.Ctx) error {
return func(c *fiber.Ctx) error {
lang := c.Params("lang")
- if !slices.Contains(langs, lang) {
- c.Set(fiber.HeaderContentType, fiber.MIMETextPlainCharsetUTF8)
- return c.Status(fiber.ErrNotFound.Code).SendString(fmt.Sprintf("server does not support '%s' language... yet??", lang))
+ for _, availableLang := range langs {
+ if availableLang.Name == lang {
+ goto langIsAvailable
+ }
}
+ return c.Status(fiber.ErrNotFound.Code).SendString(fmt.Sprintf("server does not support '%s' language", lang))
+ langIsAvailable:
pages, err := b2Client.Scan(lang + "/")
status := fiber.StatusOK
if err != nil {