"use client"
import { Button } from "@/components/ui/button"
import { useState } from "react"
import { getApiUrl } from "@/lib/api-config"
export function JoinGroupButton({ groupId }: { groupId: number }) {
const [joined, setJoined] = useState(false)
const [loading, setLoading] = useState(false)
const handleJoin = async () => {
const token = localStorage.getItem("token")
if (!token) {
alert("Please log in to join.")
return
}
setLoading(true)
try {
const res = await fetch(`${getApiUrl()}/groups/${groupId}/join`, {
method: "POST",
headers: { Authorization: `Bearer ${token}` }
})
if (res.ok) {
setJoined(true)
} else {
const data = await res.json()
if (data.detail === "Already a member") {
setJoined(true)
} else {
alert("Failed to join group")
}
}
} catch (err) {
console.error(err)
} finally {
setLoading(false)
}
}
if (joined) {
return
}
return (
)
}