ghost-keychain/packages/extension-ui/src/components/contexts.tsx
Jaco Greeff 58b1320d41
Use type import (#556)
* Use type import

* Small updates
2020-12-01 14:18:19 +01:00

35 lines
1.4 KiB
TypeScript

// Copyright 2019-2020 @polkadot/extension-ui authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { AccountsContext, AuthorizeRequest, MetadataRequest, SigningRequest } from '@polkadot/extension-base/background/types';
import type { SettingsStruct } from '@polkadot/ui-settings/types';
import type { AvailableThemes } from './themes';
import React from 'react';
import settings from '@polkadot/ui-settings';
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const noop = (): void => undefined;
const AccountContext = React.createContext<AccountsContext>({ accounts: [], hierarchy: [], master: undefined });
const ActionContext = React.createContext<(to?: string) => void>(noop);
const AuthorizeReqContext = React.createContext<AuthorizeRequest[]>([]);
const MediaContext = React.createContext<boolean>(false);
const MetadataReqContext = React.createContext<MetadataRequest[]>([]);
const SettingsContext = React.createContext<SettingsStruct>(settings.get());
const SigningReqContext = React.createContext<SigningRequest[]>([]);
const ThemeSwitchContext = React.createContext<(theme: AvailableThemes) => void>(noop);
const ToastContext = React.createContext<({show: (message: string) => void})>({ show: noop });
export {
AccountContext,
ActionContext,
AuthorizeReqContext,
MediaContext,
MetadataReqContext,
SettingsContext,
SigningReqContext,
ThemeSwitchContext,
ToastContext
};