1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import { Dispatch, ReactElement, SetStateAction } from 'react';
- import { CollectionView } from '../pages/collections/Types';
- import { NavInfo } from '../router/Types';
- export type RootContextType = {
- openSnackBar: OpenSnackBarType;
- dialog: DialogType;
- setDialog: (params: DialogType) => void;
- handleCloseDialog: () => void;
- setDrawer: (params: any) => void;
- versionInfo: { attu: string; sdk: string };
- };
- // this is for any custom dialog
- export type DialogType = {
- open: boolean;
- type: 'notice' | 'custom';
- params: {
- title?: string;
- component?: React.ReactNode;
- confirm?: () => Promise<any>;
- cancel?: () => Promise<any>;
- confirmLabel?: string;
- cancelLabel?: string;
- confirmClass?: string;
- /**
- * Usually we control open status in root context,
- * if we need a hoc component depend on setDialog in context,
- * we may need control open status by ourself
- **/
- handleClose?: () => void;
- // used for dialog position
- containerClass?: string;
- };
- };
- export type SnackBarType = {
- open: boolean;
- message: string | ReactElement;
- type?: 'error' | 'info' | 'success' | 'warning';
- autoHideDuration?: number | null;
- horizontal: 'center' | 'left' | 'right';
- vertical: 'bottom' | 'top';
- };
- export type OpenSnackBarType = (
- message: string | ReactElement,
- type?: 'error' | 'info' | 'success' | 'warning',
- autoHideDuration?: number | null,
- position?: {
- horizontal: 'center' | 'left' | 'right';
- vertical: 'bottom' | 'top';
- }
- ) => void;
- export type AuthContextType = {
- isAuth: boolean;
- address: string;
- setAddress: Dispatch<SetStateAction<string>>;
- };
- export type NavContextType = {
- navInfo: NavInfo;
- setNavInfo: (param: NavInfo) => void;
- };
- export type WebSocketType = {
- collections: CollectionView[];
- setCollections: (data: CollectionView[]) => void;
- };
|