import React, { useState, ReactNode } from 'react'; import { CoursesPageContext, ProfilePageContext, StoreContext, UsersPageContext } from 'contexts'; import { ProfilePageDataType, ProfilePageStatusType, SearchingRoleStateType } from 'types'; import RootStore from 'stores/RootStore'; import { ICategory, IUser } from 'interfaces'; import { CourseStatusEnum } from 'enums'; /** * Root store context provider */ export const RootStoreProvider = ({ children }: { children: ReactNode }) => { const store = new RootStore(); return {children}; }; /** * Profile page context provider */ export const ProfilePageContextProvider: React.FC = ({ children }) => { const [statusPageView, setStatusPageView] = useState('default'); const [pageData, setPageData] = useState({}); return ( {children} ); }; /** * Users page context provider */ export const UsersPageContextProvider: React.FC = ({ children }) => { const [searchingRole, setSearchingRole] = useState(undefined); const [loading, setLoading] = useState(false); const [search, setSearch] = useState(undefined); const [editingUser, setEditingUser] = useState(undefined); const [deletingUser, setDeletingUser] = useState(undefined); return ( {children} ); }; /** * Courses page context provider */ export const CoursesPageContextProvider: React.FC = ({ children }) => { const [selectedCategory, setSelectedCategory] = useState(undefined); const [courseStatus, setCourseStatus] = useState(undefined); return ( {children} ); };