mirror of
				https://github.com/steveiliop56/tinyauth.git
				synced 2025-10-31 14:15:50 +00:00 
			
		
		
		
	wip
This commit is contained in:
		| @@ -1,42 +0,0 @@ | ||||
| import { useSuspenseQuery } from "@tanstack/react-query"; | ||||
| import React, { createContext, useContext } from "react"; | ||||
| import axios from "axios"; | ||||
| import { AppContextSchemaType } from "../schemas/app-context-schema"; | ||||
|  | ||||
| const AppContext = createContext<AppContextSchemaType | null>(null); | ||||
|  | ||||
| export const AppContextProvider = ({ | ||||
|   children, | ||||
| }: { | ||||
|   children: React.ReactNode; | ||||
| }) => { | ||||
|   const { | ||||
|     data: userContext, | ||||
|     isLoading, | ||||
|     error, | ||||
|   } = useSuspenseQuery({ | ||||
|     queryKey: ["appContext"], | ||||
|     queryFn: async () => { | ||||
|       const res = await axios.get("/api/app"); | ||||
|       return res.data; | ||||
|     }, | ||||
|   }); | ||||
|  | ||||
|   if (error && !isLoading) { | ||||
|     throw error; | ||||
|   } | ||||
|  | ||||
|   return ( | ||||
|     <AppContext.Provider value={userContext}>{children}</AppContext.Provider> | ||||
|   ); | ||||
| }; | ||||
|  | ||||
| export const useAppContext = () => { | ||||
|   const context = useContext(AppContext); | ||||
|  | ||||
|   if (context === null) { | ||||
|     throw new Error("useAppContext must be used within an AppContextProvider"); | ||||
|   } | ||||
|  | ||||
|   return context; | ||||
| }; | ||||
| @@ -1,42 +0,0 @@ | ||||
| import { useSuspenseQuery } from "@tanstack/react-query"; | ||||
| import React, { createContext, useContext } from "react"; | ||||
| import axios from "axios"; | ||||
| import { UserContextSchemaType } from "../schemas/user-context-schema"; | ||||
|  | ||||
| const UserContext = createContext<UserContextSchemaType | null>(null); | ||||
|  | ||||
| export const UserContextProvider = ({ | ||||
|   children, | ||||
| }: { | ||||
|   children: React.ReactNode; | ||||
| }) => { | ||||
|   const { | ||||
|     data: userContext, | ||||
|     isLoading, | ||||
|     error, | ||||
|   } = useSuspenseQuery({ | ||||
|     queryKey: ["userContext"], | ||||
|     queryFn: async () => { | ||||
|       const res = await axios.get("/api/user"); | ||||
|       return res.data; | ||||
|     }, | ||||
|   }); | ||||
|  | ||||
|   if (error && !isLoading) { | ||||
|     throw error; | ||||
|   } | ||||
|  | ||||
|   return ( | ||||
|     <UserContext.Provider value={userContext}>{children}</UserContext.Provider> | ||||
|   ); | ||||
| }; | ||||
|  | ||||
| export const useUserContext = () => { | ||||
|   const context = useContext(UserContext); | ||||
|  | ||||
|   if (context === null) { | ||||
|     throw new Error("useUserContext must be used within a UserContextProvider"); | ||||
|   } | ||||
|  | ||||
|   return context; | ||||
| }; | ||||
		Reference in New Issue
	
	Block a user