module Gargantext.Hooks.Session ( useSession ) where import Gargantext.Prelude import Data.Maybe (Maybe(..)) import Gargantext.Context.Session as SessionContext import Gargantext.Sessions (Session) import Gargantext.Utils.Reactix as R2 import Partial.Unsafe (unsafeCrashWith) import Reactix as R here :: R2.Here here = R2.here "Gargantext.Hooks.Session" useSession :: R.Hooks (Session) useSession = R.useContext SessionContext.context >>= case _ of Nothing -> do R.unsafeHooksEffect $ here.error $ "Trying to access to current `Session` but no one could " <> "be found. It could be an issue where a component uses this hook " <> "without a prior `R.provideContext`" unsafeCrashWith "no session found" Just s -> pure s