• Hook to manage the app state and provide it to the app.

    Parameters

    • template: {
          dependencies: Pick<{
              sessionService: Pick<SessionService, "initialize" | "updateOpts" | "getSessionState" | "updateSessionState">;
          }, "sessionService">;
          opts: Pick<Required<TemplateOpts>, "logger" | "blockPages" | "errorMessageI18nHandler" | "notFound404Component" | "pageTitleConfiguration" | "toastConfiguration">;
      }
      • dependencies: Pick<{
            sessionService: Pick<SessionService, "initialize" | "updateOpts" | "getSessionState" | "updateSessionState">;
        }, "sessionService">
      • opts: Pick<Required<TemplateOpts>, "logger" | "blockPages" | "errorMessageI18nHandler" | "notFound404Component" | "pageTitleConfiguration" | "toastConfiguration">
    • urlForRoute: ((routeName, matchParams?) => string)
        • (routeName, matchParams?): string
        • Parameters

          • routeName: string
          • Optional matchParams: Record<string, undefined | string>

          Returns string

    Returns {
        appSessionState: SessionState;
        appStatus: AppStatus;
        blockProps: {
            errorMessageI18nHandler: ErrorMessageI18nHandler;
            logger: Logger;
            pageTitle: string;
            sessionState: SessionState;
            setPageTitle: ((newPageTitle) => void);
            setSessionState: ((sessionState) => void);
            showToast: ((message) => void);
            urlForRoute: ((routeName, matchParams?) => string);
        };
        currentToasts: {
            id: string;
            message: string;
        }[];
        routes: BlockRouteObject[];
        setAppSessionState: Dispatch<SetStateAction<SessionState>>;
        setAppStatus: Dispatch<SetStateAction<AppStatus>>;
    }

    • appSessionState: SessionState
    • appStatus: AppStatus
    • blockProps: {
          errorMessageI18nHandler: ErrorMessageI18nHandler;
          logger: Logger;
          pageTitle: string;
          sessionState: SessionState;
          setPageTitle: ((newPageTitle) => void);
          setSessionState: ((sessionState) => void);
          showToast: ((message) => void);
          urlForRoute: ((routeName, matchParams?) => string);
      }
      • errorMessageI18nHandler: ErrorMessageI18nHandler
      • logger: Logger
      • pageTitle: string
      • sessionState: SessionState
      • setPageTitle: ((newPageTitle) => void)
          • (newPageTitle): void
          • Parameters

            • newPageTitle: string

            Returns void

      • setSessionState: ((sessionState) => void)
      • showToast: ((message) => void)
          • (message): void
          • Parameters

            • message: string

            Returns void

      • urlForRoute: ((routeName, matchParams?) => string)
          • (routeName, matchParams?): string
          • Parameters

            • routeName: string
            • Optional matchParams: Record<string, undefined | string>

            Returns string

    • currentToasts: {
          id: string;
          message: string;
      }[]
    • routes: BlockRouteObject[]
    • setAppSessionState: Dispatch<SetStateAction<SessionState>>
    • setAppStatus: Dispatch<SetStateAction<AppStatus>>

Generated using TypeDoc