import { useState, useCallback } from 'react'; import { supabaseService } from '@/hooks/supabaseService'; export const useTeamMembership = (teamId) => { const [loading, setLoading] = useState(false); const [memberships, setMemberships] = useState([]); const loadMemberships = useCallback(async () => { if (!teamId) return; setLoading(true); try { const result = await SupabaseService.select('team_memberships', { select: '*', relations: { user: 'id, email, name' }, match: { teamId } }); setMemberships(result.data || []); } catch (error) { console.error('获取成员列表失败:', error); } finally { setLoading(false); } }, [teamId]); const addMembership = async (values) => { const result = await supabaseService.insert('team_memberships', { ...values, teamId }); await loadMemberships(); return result[0]; }; const updateMembership = async (id, values) => { const result = await supabaseService.update('team_memberships', { id }, values ); await loadMemberships(); return result[0]; }; const deleteMembership = async (id) => { await supabaseService.delete('team_memberships', { id }); await loadMemberships(); }; return { loading, memberships, loadMemberships, addMembership, updateMembership, deleteMembership, }; };