mirror of
				https://github.com/D4M13N-D3V/comissions-app-ui.git
				synced 2025-10-31 09:35:21 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			981 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			981 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { useEffect, useState } from "react";
 | |
| import { useUser } from "@auth0/nextjs-auth0/client";
 | |
| import Layout from "../../components/layout";
 | |
| 
 | |
| const ApiProfile = () => {
 | |
|   const { user, isLoading } = useUser();
 | |
| 
 | |
|   const [data, setData] = useState(null);
 | |
| 
 | |
|   useEffect(() => {
 | |
|     (async () => {
 | |
|       const res = await fetch("/api/protected-api");
 | |
| 
 | |
|       const data = await res.json();
 | |
| 
 | |
|       setData(data);
 | |
|     })();
 | |
|   }, []);
 | |
| 
 | |
|   return (
 | |
|     <Layout user={user} loading={isLoading}>
 | |
|       <h1>Profile</h1>
 | |
| 
 | |
|       <div>
 | |
|         <h3>Public page (client rendered)</h3>
 | |
|         <p>We are fetching data on the client-side :</p>
 | |
|         <p>By making request to '/api/protected-api' serverless function</p>
 | |
|         <p>so without a valid session cookie will fail</p>
 | |
|         <p>{JSON.stringify(data)}</p>
 | |
|       </div>
 | |
|     </Layout>
 | |
|   );
 | |
| };
 | |
| 
 | |
| // Public route.(CSR) also accessing API from the client-side.
 | |
| // data is not cached when redirecting between pages.
 | |
| export default ApiProfile;
 | 
