mirror of
https://github.com/D4M13N-D3V/comissions-app-ui.git
synced 2025-03-13 07:45:07 +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;
|