summaryrefslogtreecommitdiff
path: root/src/Main/Pubnix.purs
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2024-12-10 14:28:30 -0500
committerLLLL Colonq <llll@colonq>2024-12-10 14:28:30 -0500
commit638bdddeb10b18dd35af5a6de2950aaa3c8a5e44 (patch)
tree4a995c6b740ef3ef2b5619c7e9ffb68a970ae156 /src/Main/Pubnix.purs
parentff56e27d4874f559a62bea5e6eeb258443e31936 (diff)
Initial mrgreen activities
Diffstat (limited to 'src/Main/Pubnix.purs')
-rw-r--r--src/Main/Pubnix.purs52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/Main/Pubnix.purs b/src/Main/Pubnix.purs
new file mode 100644
index 0000000..6d0fb1a
--- /dev/null
+++ b/src/Main/Pubnix.purs
@@ -0,0 +1,52 @@
+module Main.Pubnix where
+
+import Prelude
+
+import Audio as Audio
+import Auth (getToken)
+import Config as Config
+import Data.Array as Array
+import Data.Foldable (for_)
+import Data.Maybe (Maybe(..))
+import Data.Tuple (Tuple(..))
+import Effect (Effect)
+import Effect.Aff (Aff, launchAff_)
+import Effect.Class (liftEffect)
+import Effect.Console (log)
+import Fetch (fetch)
+import Model (startModel)
+import Utils (byId, checkAuth, listen, setText)
+
+updateSubtitle :: Aff Unit
+updateSubtitle = do
+ subtitle <- byId "lcolonq-pubnix-index-subtitle"
+ { text: catchphrase } <- fetch (Config.apiServer <> "/catchphrase") {}
+ catchphrase >>= setText subtitle
+
+main :: Effect Unit
+main = launchAff_ do
+ liftEffect $ log "hi"
+ startModel
+ marq <- byId "lcolonq-pubnix-index-marquee"
+ { text: motd } <- fetch (Config.apiServer <> "/motd") {}
+ motd >>= setText marq
+
+ getToken >>= case _ of
+ Just a@(Tuple t n) -> do
+ liftEffect $ log t
+ liftEffect $ log n
+ checkAuth a >>= log >>> liftEffect
+ _ -> pure unit
+
+ updateSubtitle
+ subtitle <- byId "lcolonq-pubnix-index-subtitle"
+ listen subtitle "click" \_ev -> do
+ -- startTwitchAuth
+ launchAff_ updateSubtitle
+
+ for_ (Array.range 0 6) \i -> do
+ letter <- byId $ "lcolonq-pubnix-index-letter-" <> show i
+ listen letter "click" \_ev -> do
+ Audio.playVoice true i
+ listen letter "mouseover" \_ev -> do
+ Audio.playVoice false i