Spaces:
Running
Running
| import { cookies } from "next/headers"; | |
| import { redirect } from "next/navigation"; | |
| import { apiServer } from "@/lib/api"; | |
| import MY_TOKEN_KEY from "@/lib/get-cookie-name"; | |
| import { MyProjects } from "@/components/my-projects"; | |
| async function getMyProjects() { | |
| const cookieStore = await cookies(); | |
| const token = cookieStore.get(MY_TOKEN_KEY())?.value; | |
| if (!token) return { redirectUrl: true, projects: [] }; | |
| try { | |
| const { data } = await apiServer.get("/me/projects", { | |
| headers: { | |
| Authorization: `Bearer ${token}`, | |
| }, | |
| }); | |
| return { | |
| projects: data.projects, | |
| }; | |
| } catch { | |
| return { projects: [] }; | |
| } | |
| } | |
| export default async function ProjectsPage() { | |
| const { redirectUrl, projects } = await getMyProjects(); | |
| if (redirectUrl) { | |
| redirect("/"); | |
| } | |
| return <MyProjects projects={projects} />; | |
| } | |