From c50d1858f28927653600c7ed0772402395ba3e3d Mon Sep 17 00:00:00 2001 From: William Petit Date: Sun, 15 Jun 2025 14:46:32 +0200 Subject: [PATCH] feat: initial commit --- internal/config/quiz.go | 11 +- .../webui/auth/component/login_page.templ | 1 - .../webui/auth/component/login_page_templ.go | 4 +- internal/http/handler/webui/auth/provider.go | 14 +- internal/http/handler/webui/auth/user.go | 2 +- .../handler/webui/common/assets/panda.svg | 326 +++++++++++++++++ .../webui/common/component/app_page.templ | 10 +- .../webui/common/component/app_page_templ.go | 41 ++- .../handler/webui/common/component/page.templ | 2 +- .../webui/common/component/page_templ.go | 2 +- .../quiz/component/leaderboard_page.templ | 127 +++++++ .../quiz/component/leaderboard_page_templ.go | 239 +++++++++++++ .../webui/quiz/component/quiz_page.templ | 132 ++++++- .../webui/quiz/component/quiz_page_templ.go | 337 +++++++++++++++++- .../webui/quiz/component/result_page.templ | 47 +++ .../webui/quiz/component/result_page_templ.go | 185 ++++++++++ internal/http/handler/webui/quiz/handler.go | 10 +- .../handler/webui/quiz/leaderboard_page.go | 76 ++++ internal/http/handler/webui/quiz/quiz_page.go | 205 +++++++++-- .../http/handler/webui/quiz/result_page.go | 91 +++++ internal/setup/quiz_handler.go | 2 +- internal/store/models.go | 7 +- internal/store/player.go | 46 ++- internal/store/quiz.go | 13 +- internal/timex/interval.go | 127 +++++++ 25 files changed, 2002 insertions(+), 55 deletions(-) create mode 100644 internal/http/handler/webui/common/assets/panda.svg create mode 100644 internal/http/handler/webui/quiz/component/leaderboard_page.templ create mode 100644 internal/http/handler/webui/quiz/component/leaderboard_page_templ.go create mode 100644 internal/http/handler/webui/quiz/component/result_page.templ create mode 100644 internal/http/handler/webui/quiz/component/result_page_templ.go create mode 100644 internal/http/handler/webui/quiz/leaderboard_page.go create mode 100644 internal/http/handler/webui/quiz/result_page.go create mode 100644 internal/timex/interval.go diff --git a/internal/config/quiz.go b/internal/config/quiz.go index 71e0738..f096b53 100644 --- a/internal/config/quiz.go +++ b/internal/config/quiz.go @@ -1,8 +1,13 @@ package config -import "time" +import ( + "time" + + "forge.cadoles.com/wpetit/kouiz/internal/timex" +) type Quiz struct { - Language string `env:"LANGUAGE" envDefault:"fr"` - PlayInterval time.Duration `env:"PLAY_INTERVAL" envDefault:"2h"` + Language string `env:"LANGUAGE" envDefault:"fr"` + PlayInterval time.Duration `env:"PLAY_INTERVAL" envDefault:"2h"` + PlayPeriod timex.PeriodType `env:"PLAY_PERIOD" envDefault:"daily"` } diff --git a/internal/http/handler/webui/auth/component/login_page.templ b/internal/http/handler/webui/auth/component/login_page.templ index d9c140d..c4b99ae 100644 --- a/internal/http/handler/webui/auth/component/login_page.templ +++ b/internal/http/handler/webui/auth/component/login_page.templ @@ -18,7 +18,6 @@ templ LoginPage(vmodel LoginPageVModel) {