From 1f2e453d0c9f8412b9032cb4e655713ecdcf1fa3 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Mon, 26 May 2025 04:43:38 -0400 Subject: web: Refactor major style --- fig-web/src/Fig/Web/Module/Misc.hs | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 fig-web/src/Fig/Web/Module/Misc.hs (limited to 'fig-web/src/Fig/Web/Module/Misc.hs') diff --git a/fig-web/src/Fig/Web/Module/Misc.hs b/fig-web/src/Fig/Web/Module/Misc.hs new file mode 100644 index 0000000..b193314 --- /dev/null +++ b/fig-web/src/Fig/Web/Module/Misc.hs @@ -0,0 +1,38 @@ +module Fig.Web.Module.Misc + ( public + ) where + +import Fig.Prelude + +import System.Random (randomRIO) + +import Control.Lens ((^?), Ixed (..)) + +import Fig.Web.Utils +import Fig.Web.Types +import qualified Fig.Web.DB as DB + +public :: Module +public a = do + onGet "/api/motd" do + DB.get a.db "motd" >>= \case + Nothing -> respondText "" + Just val -> respondText $ decodeUtf8 val + onGet "/api/catchphrase" do + let catchphrases = + [ "vtuber (male)" + , "man of letters" + , "cool guy, online" + , "internet clown man" + , "professional emacs fan" + , "web freak" + , "guy who really likes programming" + , "i use nixos btw" + , "(are these funny or cringe or both?)" + , "haha yay" + , "Joel" + ] :: [Text] + i <- randomRIO (0, length catchphrases - 1) + case catchphrases ^? ix i of + Nothing -> respondText "man of letters" + Just val -> respondText val -- cgit v1.2.3