import { createClient } from "@/utils/supabase/server"; import Link from "next/link"; import { redirect, useRouter } from "next/navigation"; import crypto from 'crypto'; import { headers } from "next/headers"; export default async function AuthButton() { const supabase = createClient(); const { data: { user }, } = await supabase.auth.getUser(); const signOut = async () => { "use server"; const supabase = createClient(); await supabase.auth.signOut(); return redirect("/login"); }; const heads = headers() const currentPage = heads.get('x-path') const getGravatarUrl = () => { if (user == null) { return; } let email = user.email; if (email != null) { const emailHash = crypto.createHash('md5').update(email.trim().toLowerCase()).digest('hex'); return `https://www.gravatar.com/avatar/${emailHash}`; } return ""; } const url = getGravatarUrl(); const admins = await supabase.from('admins').select('user_id'); let isAdmin = false; if(!admins.error) { for (const admin of admins.data) { if (admin.user_id == user?.id) { isAdmin = true; break; } } } return (
) }