diff options
| author | LLLL Colonq <llll@colonq> | 2025-12-16 14:24:17 -0500 |
|---|---|---|
| committer | LLLL Colonq <llll@colonq> | 2025-12-16 14:24:17 -0500 |
| commit | fbe045e102cd9e1c783df365ed939453bd6e5dad (patch) | |
| tree | dcc670b3301492ac29c064f7ca83c4a0114c6534 /fig-web/src/Fig/Web | |
| parent | 5c8a8efeddd53fb6bb824c5074c4e4cb9393e9fb (diff) | |
Debt clock
Diffstat (limited to 'fig-web/src/Fig/Web')
| -rw-r--r-- | fig-web/src/Fig/Web/Module/Debt.hs | 24 | ||||
| -rw-r--r-- | fig-web/src/Fig/Web/Public.hs | 2 |
2 files changed, 26 insertions, 0 deletions
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 |
