import React, { useState, useEffect } from 'react'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { Button } from '@/components/ui/button'; import { LogOut, User } from 'lucide-react'; import { supabase } from '@/integrations/supabase/client'; import { useToast } from '@/hooks/use-toast'; import { useNavigate } from 'react-router-dom'; const UserProfileButton = () => { const [userEmail, setUserEmail] = useState(''); const [dropdownOpen, setDropdownOpen] = useState(false); const { toast } = useToast(); const navigate = useNavigate(); useEffect(() => { // Buscar dados do usuário logado const getUserData = async () => { const { data: { user } } = await supabase.auth.getUser(); if (user?.email) { setUserEmail(user.email); } }; getUserData(); }, []); const handleLogout = async () => { try { const { error } = await supabase.auth.signOut(); if (error) throw error; // Limpar localStorage localStorage.removeItem('userEmail'); toast({ title: "Logout realizado", description: "Você foi desconectado com sucesso" }); navigate('/auth'); } catch (error) { console.error('Erro no logout:', error); toast({ title: "Erro no logout", description: "Ocorreu um erro ao sair da conta", variant: "destructive" }); } }; return ( { e.preventDefault(); e.stopPropagation(); setDropdownOpen(false); handleLogout(); }} className="flex items-center gap-2 text-red-600 hover:text-red-700 hover:bg-red-50 cursor-pointer" > Sair ); }; export default UserProfileButton;