module Main where import Prelude import Aviary.FFI (removeSpinner) import Aviary.UI (component) import Aviary.Logic (fetch_and_decrypt_gallery, get_parameters) import Aviary.Model (Model(..)) import Data.Either (Either(..)) import Effect (Effect) import Effect.Aff (Aff, launchAff) import Effect.Class (liftEffect) import Halogen.Aff (awaitBody) import Halogen.VDom.Driver (runUI) main_aff :: Aff Unit main_aff = do body <- awaitBody parameters <- get_parameters gallery <- case parameters of Left e -> pure $ GError e Right parameters' -> fetch_and_decrypt_gallery parameters' _ <- liftEffect $ removeSpinner _ <- runUI (component gallery) unit body pure unit main :: Effect Unit main = launchAff main_aff $> unit