UNPKG

@wener/console

Version:

Base console UI toolkit

62 lines (61 loc) 1.99 kB
import { getGlobalStates, setGlobalStates } from "@wener/utils"; import Emittery from "emittery"; import { useStore } from "zustand"; import { getSiteStore as _getSiteStore } from "../foundation/site/SiteStore.js"; import { createRouteStore } from "./store/RouteStore.js"; import { createUserStore } from "./store/UserStore.js"; export const ConsoleEvents = { Error: "Console:Error", SignIn: "Console:SignIn", SignOut: "Console:SignOut", Lock: "Console:Lock", Unlock: "Console:Unlock", RefreshProfile: "Console:RefreshProfile", ModuleLoad: "Console:Module:Load", LauncherToggle: "Console:Launcher:Toggle" }; function createConsoleContext({ emitter: _emitter }) { const emitter = _emitter || new Emittery(); const routeStore = createRouteStore(); const userStore = createUserStore(); const ctx = { getAccessToken: () => undefined, getEmitter: () => emitter, getRouteStore: () => routeStore, getSiteStore: _getSiteStore, getUserStore: () => userStore, useUserId: () => useStore(getUserStore(), (s) => s.id) }; return { emitter, context: ctx }; } const ConsoleContextKey = "ConsoleContext"; export function getConsoleContext() { return getGlobalStates(ConsoleContextKey, () => { return createConsoleContext({}).context; }); } export function setConsoleContext(context) { setGlobalStates(ConsoleContextKey, context); } export function getAccessToken() { return getConsoleContext().getAccessToken(); } export function useUserId() { return getConsoleContext().useUserId(); } export function getRouteStore() { return getConsoleContext().getRouteStore(); } export function getSiteStore() { return getConsoleContext().getSiteStore(); } export function getUserStore() { return getConsoleContext().getUserStore(); } export function getConsoleEmitter() { return getConsoleContext().getEmitter(); } //# sourceMappingURL=context.js.map