From fbe045e102cd9e1c783df365ed939453bd6e5dad Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Tue, 16 Dec 2025 14:24:17 -0500 Subject: Debt clock --- fig-web/src/Fig/Web/Module/Debt.hs | 24 ++++++++++++++++++++++++ fig-web/src/Fig/Web/Public.hs | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 fig-web/src/Fig/Web/Module/Debt.hs (limited to 'fig-web/src/Fig/Web') diff --git a/fig-web/src/Fig/Web/Module/Debt.hs b/fig-web/src/Fig/Web/Module/Debt.hs new file mode 100644 index 0000000..b438832 --- /dev/null +++ b/fig-web/src/Fig/Web/Module/Debt.hs @@ -0,0 +1,24 @@ +module Fig.Web.Module.Debt + ( public + ) where + +import Fig.Prelude + +import Data.Maybe (mapMaybe) +import qualified Data.Map.Strict as Map +import qualified Data.ByteString as BS + +import Fig.Web.Utils +import Fig.Web.Types +import qualified Fig.Web.DB as DB + +public :: PublicModule +public a = do + onGet "/debt" $ respondBytes =<< liftIO (BS.readFile "/home/llll/src/debtclock/index.html") + onGet "/debtclonk.png" $ respondBytes =<< liftIO (BS.readFile "/home/llll/src/debtclock/debtclonk.png") + onGet "/api/debt" do + debts <- DB.hgetall a.db "debt" + respondJSON + $ Map.fromList + $ mapMaybe (\(k, v) -> (decodeUtf8 k,) <$> readMaybe @Double (unpack $ decodeUtf8 v)) + $ Map.toList debts diff --git a/fig-web/src/Fig/Web/Public.hs b/fig-web/src/Fig/Web/Public.hs index a5e6722..297dac1 100644 --- a/fig-web/src/Fig/Web/Public.hs +++ b/fig-web/src/Fig/Web/Public.hs @@ -26,6 +26,7 @@ import qualified Fig.Web.Module.User as User import qualified Fig.Web.Module.Shader as Shader import qualified Fig.Web.Module.HLS as HLS import qualified Fig.Web.Module.TCG as TCG +import qualified Fig.Web.Module.Debt as Debt allBusEvents :: PublicModuleArgs -> BusEventHandlers allBusEvents args = busEvents . mconcat $ fmap ($ args) @@ -95,6 +96,7 @@ app args = do Shader.public args HLS.public args TCG.public args + Debt.public args websocket $ mconcat [ Gizmo.publicWebsockets args , Circle.publicWebsockets args -- cgit v1.2.3