AutoConnectProvider.tsx 734 B

123456789101112131415161718192021
  1. import { useLocalStorage } from '@solana/wallet-adapter-react';
  2. import { createContext, FC, useContext } from 'react';
  3. export interface AutoConnectContextState {
  4. autoConnect: boolean;
  5. setAutoConnect(autoConnect: boolean): void;
  6. }
  7. export const AutoConnectContext = createContext<AutoConnectContextState>({} as AutoConnectContextState);
  8. export function useAutoConnect(): AutoConnectContextState {
  9. return useContext(AutoConnectContext);
  10. }
  11. export const AutoConnectProvider: FC = ({ children }) => {
  12. const [autoConnect, setAutoConnect] = useLocalStorage('autoConnect', false);
  13. return (
  14. <AutoConnectContext.Provider value={{ autoConnect, setAutoConnect }}>{children}</AutoConnectContext.Provider>
  15. );
  16. };