Refactor lib

This commit is contained in:
MartinBraquet
2025-07-29 22:25:58 +02:00
parent 85b8860142
commit 4694edcc62
16 changed files with 50 additions and 37 deletions

View File

@@ -1,5 +1,5 @@
import NextAuth from "next-auth";
import {authOptions} from "@/lib/auth";
import {authOptions} from "@/lib/server/auth";
const authHandler = NextAuth(authOptions);
export {authHandler as GET, authHandler as POST};

View File

@@ -1,6 +1,6 @@
import bcrypt from "bcryptjs";
import {NextResponse} from "next/server";
import {prisma} from "@/lib/prisma";
import {prisma} from "@/lib/server/prisma";
import {v4 as uuidv4} from 'uuid';
// Helper function to generate a verification token

View File

@@ -1,5 +1,5 @@
import { NextResponse } from "next/server";
import { prisma } from "@/lib/prisma";
import { prisma } from "@/lib/server/prisma";
export async function GET(req: Request) {
try {

View File

@@ -1,5 +1,5 @@
import { NextResponse } from "next/server";
import { prisma } from "@/lib/prisma";
import { prisma } from "@/lib/server/prisma";
export async function GET(
request: Request,

View File

@@ -1,6 +1,6 @@
import { prisma }from "@/lib/prisma";
import { prisma }from "@/lib/server/prisma";
import { NextResponse } from "next/server";
import {getSession} from "@/lib/auth";
import {getSession} from "@/lib/server/auth";
export async function GET(request: Request) {
const url = new URL(request.url);

View File

@@ -1,5 +1,5 @@
import {NextResponse} from 'next/server';
import {getSession} from '@/lib/auth';
import {getSession} from '@/lib/server/auth';
import {v4 as uuidv4} from 'uuid';
import {GetObjectCommand, PutObjectCommand, S3Client} from '@aws-sdk/client-s3';
import {getSignedUrl} from "@aws-sdk/s3-request-presigner";

View File

@@ -1,6 +1,6 @@
import {NextResponse} from "next/server";
import {prisma} from "@/lib/prisma";
import {getSession} from "@/lib/auth";
import {prisma} from "@/lib/server/prisma";
import {getSession} from "@/lib/server/auth";
export async function POST(req: Request) {
try {

View File

@@ -3,19 +3,30 @@
import {useEffect, useState} from "react";
import {notFound, useParams} from "next/navigation";
import Image from "next/image";
import LoadingSpinner from "@/lib/LoadingSpinner";
import LoadingSpinner from "@/lib/client/LoadingSpinner";
// interface ProfileData {
// name?: string;
// image?: string;
// profile?: any;
// }
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 }[];
};
}
export const dynamic = "force-dynamic"; // This disables SSG and ISR
export default function Post() {
const {id} = useParams();
const [user, setUser] = useState<any>(null);
const [user, setUser] = useState<ProfileData | null>(null);
const [image, setImage] = useState(null);
const [loading, setLoading] = useState(true);
@@ -116,7 +127,7 @@ export default function Post() {
key={idx}
className="px-3 py-1 text-sm bg-gray-100 rounded-full hover:bg-gray-200 transition"
>
{value.connection.name}
{value?.connection?.name}
</li>
))}
</ul>
@@ -146,7 +157,7 @@ export default function Post() {
{user?.profile?.conflictStyle && (
<div>
<h2 className="text-sm font-medium text-gray-500 uppercase tracking-wider">Conflit Style</h2>
<h2 className="text-sm font-medium text-gray-500 uppercase tracking-wider">Conflict Style</h2>
<p className="mt-1 text-gray-800 whitespace-pre-line">{user.profile.conflictStyle}</p>
</div>
)}
@@ -161,7 +172,7 @@ export default function Post() {
key={idx}
className="px-3 py-1 text-sm bg-gray-100 rounded-full hover:bg-gray-200 transition"
>
{value.interest.name}
{value?.interest?.name}
</li>
))}
</ul>
@@ -178,7 +189,7 @@ export default function Post() {
key={idx}
className="px-3 py-1 text-sm bg-gray-100 rounded-full hover:bg-gray-200 transition"
>
{value.causeArea.name}
{value?.causeArea?.name}
</li>
))}
</ul>

View File

@@ -2,23 +2,23 @@
import Link from "next/link";
import {useEffect, useState} from "react";
import LoadingSpinner from "@/lib/LoadingSpinner";
import LoadingSpinner from "@/lib/client/LoadingSpinner";
// Disable static generation
export const dynamic = "force-dynamic";
// type Profile = {
// id: string;
// name: string;
// createdAt: string;
// profile: any;
// };
type Profile = {
id: string;
name: string;
createdAt: string;
profile: any;
};
export default function ProfilePage() {
const [profiles, setProfiles] = useState<any[]>([]);
const [profiles, setProfiles] = useState<Profile[]>([]);
useEffect(() => {

View File

@@ -1,7 +1,7 @@
import type {NextAuthOptions} from "next-auth";
import {getServerSession} from "next-auth";
import {PrismaAdapter} from "@auth/prisma-adapter";
import {prisma} from "@/lib/prisma";
import {prisma} from "@/lib/server/prisma";
import GoogleProvider from "next-auth/providers/google";
import CredentialsProvider from "next-auth/providers/credentials";
import bcrypt from "bcryptjs";

View File

@@ -1,6 +1,6 @@
"use server";
import {prisma} from "@/lib/prisma";
import {prisma} from "@/lib/server/prisma";
export async function checkUserTableExists(): Promise<boolean> {

View File

8
lib/server/supabase.ts Normal file
View File

@@ -0,0 +1,8 @@
"use server";
// import { createClient } from '@supabase/supabase-js';
//
// export const supabase = createClient(
// process.env.NEXT_PUBLIC_SUPABASE_URL!,
// process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!
// );

View File

@@ -1,6 +0,0 @@
import { createClient } from '@supabase/supabase-js';
export const supabase = createClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!
);

View File

@@ -1,4 +1,4 @@
import {prisma} from "@/lib/prisma";
import {prisma} from "@/lib/server/prisma";
async function main() {