Skip to content
Snippets Groups Projects
following-button.tsx 1.38 KiB
Newer Older
Yusuf Akgül's avatar
Yusuf Akgül committed
"use client"

Yusuf Akgül's avatar
Yusuf Akgül committed
// import { PrismaClient } from '@prisma/client';
Yusuf Akgül's avatar
Yusuf Akgül committed
import { useState } from 'react';
import { Button } from './ui/button';
Yusuf Akgül's avatar
Yusuf Akgül committed
// Muss in die API route
// const prisma = new PrismaClient();
Yusuf Akgül's avatar
Yusuf Akgül committed
// async function getFollower(userId: number, followerId: number) {
//   const follower = await prisma.follows.findFirst({
//     where: {
//       followerId: followerId,
//       followingId: userId,
//     },
//   });
Yusuf Akgül's avatar
Yusuf Akgül committed

Yusuf Akgül's avatar
Yusuf Akgül committed
//   return follower;
// }
Yusuf Akgül's avatar
Yusuf Akgül committed

export default function FollowButton({ userId, followerId }: { userId: number; followerId: number }) {
  const [isFollowing, setIsFollowing] = useState(false);
  const handleFollow = async () => {
Yusuf Akgül's avatar
Yusuf Akgül committed
    // const follower = await getFollower(userId, followerId);

    // if (follower) {
    //   // User is already following, so unfollow
    //   await prisma.follows.delete({
    //     where: {
    //       followerId_followingId: {
    //         followerId: followerId,
    //         followingId: userId,
    //       },
    //     },
    //   });
    //   setIsFollowing(false);
    // } else {
    //   // User is not following, so follow
    //   await prisma.follows.create({
    //     data: {
    //       followerId: followerId,
    //       followingId: userId,
    //     },
    //   });
    //   setIsFollowing(true);
    // }
Yusuf Akgül's avatar
Yusuf Akgül committed
    <Button onClick={handleFollow}>
      {isFollowing ? 'Unfollow' : 'Follow'}
Yusuf Akgül's avatar
Yusuf Akgül committed
    </Button>
Yusuf Akgül's avatar
Yusuf Akgül committed
}