Rearranged import orders for better visibility and readability. Also, cleaned up some of the typescript and JSX by adding appropriate line breaks and spaces, and ensuring the use of semicolons for better punctuation.
26 lines
728 B
TypeScript
26 lines
728 B
TypeScript
import type { IUserData } from "@/interfaces/userdata.interface";
|
|
import { useEncodedLocalStorage } from "@/services/localStorage";
|
|
import React from "react";
|
|
|
|
export interface IUserDataProvider {
|
|
userData: IUserData | undefined;
|
|
setUserData: React.Dispatch<React.SetStateAction<IUserData | undefined>>;
|
|
}
|
|
|
|
export const UserDataContext = React.createContext<IUserDataProvider | undefined>(
|
|
undefined,
|
|
);
|
|
|
|
export const UserDataProvider = ({ children }: { children: React.ReactNode }) => {
|
|
const [userData, setUserData] = useEncodedLocalStorage<IUserData | undefined>(
|
|
"user_data",
|
|
undefined,
|
|
);
|
|
|
|
return (
|
|
<UserDataContext.Provider value={{ userData, setUserData }}>
|
|
{children}
|
|
</UserDataContext.Provider>
|
|
);
|
|
};
|