diff --git a/app/profiles/[id]/page.tsx b/app/profiles/[id]/page.tsx index 3e908421..dc9db76f 100644 --- a/app/profiles/[id]/page.tsx +++ b/app/profiles/[id]/page.tsx @@ -4,23 +4,7 @@ import {useEffect, useState} from "react"; import {notFound, useParams} from "next/navigation"; import Image from "next/image"; import LoadingSpinner from "@/lib/client/LoadingSpinner"; - -interface ProfileData { - name: string; - image: string; - profile: { - location: string; - gender: string; - personalityType: string; - conflictStyle: string; - description: string; - contactInfo: string; - intellectualInterests: { interest?: {name?: string} }[]; - causeAreas: { causeArea?: {name?: string} }[]; - desiredConnections: { connection?: {name?: string} }[]; - promptAnswers: { prompt?: string; answer?: string }[]; - }; -} +import {ProfileData} from "@/lib/client/schema"; export const dynamic = "force-dynamic"; // This disables SSG and ISR diff --git a/app/profiles/page.tsx b/app/profiles/page.tsx index cef2c557..f1c0a20f 100644 --- a/app/profiles/page.tsx +++ b/app/profiles/page.tsx @@ -3,22 +3,16 @@ import Link from "next/link"; import {useEffect, useState} from "react"; import LoadingSpinner from "@/lib/client/LoadingSpinner"; +import {ProfileData} from "@/lib/client/schema"; // Disable static generation export const dynamic = "force-dynamic"; -type Profile = { - id: string; - name: string; - createdAt: string; - profile: any; -}; - export default function ProfilePage() { - const [profiles, setProfiles] = useState([]); + const [profiles, setProfiles] = useState([]); useEffect(() => { diff --git a/lib/client/schema.ts b/lib/client/schema.ts new file mode 100644 index 00000000..50cf947e --- /dev/null +++ b/lib/client/schema.ts @@ -0,0 +1,17 @@ +export interface ProfileData { + id: string; + name: string; + image: string; + profile: { + location: string; + gender: string; + personalityType: string; + conflictStyle: string; + description: string; + contactInfo: string; + intellectualInterests: { interest?: { name?: string } }[]; + causeAreas: { causeArea?: { name?: string } }[]; + desiredConnections: { connection?: { name?: string } }[]; + promptAnswers: { prompt?: string; answer?: string }[]; + }; +} \ No newline at end of file diff --git a/lib/server/auth.ts b/lib/server/auth.ts index af0fb10e..cc8ed2f0 100644 --- a/lib/server/auth.ts +++ b/lib/server/auth.ts @@ -1,3 +1,5 @@ +import 'server-only'; + import type {NextAuthOptions} from "next-auth"; import {getServerSession} from "next-auth"; import {PrismaAdapter} from "@auth/prisma-adapter"; diff --git a/lib/server/db-utils.ts b/lib/server/db-utils.ts index 3c808651..6907f46a 100644 --- a/lib/server/db-utils.ts +++ b/lib/server/db-utils.ts @@ -1,4 +1,5 @@ "use server"; +import 'server-only'; import {prisma} from "@/lib/server/prisma"; diff --git a/lib/server/prisma.ts b/lib/server/prisma.ts index 35be7af1..a4b831ee 100644 --- a/lib/server/prisma.ts +++ b/lib/server/prisma.ts @@ -1,3 +1,5 @@ +import 'server-only'; + import { PrismaClient } from "@prisma/client"; import { withAccelerate } from '@prisma/extension-accelerate' diff --git a/lib/server/supabase.ts b/lib/server/supabase.ts index 550de1f8..95ce0de2 100644 --- a/lib/server/supabase.ts +++ b/lib/server/supabase.ts @@ -1,5 +1,7 @@ "use server"; +import 'server-only'; + // import { createClient } from '@supabase/supabase-js'; // // export const supabase = createClient(