diff --git a/src/components/reviews/ProductReviews.tsx b/src/components/reviews/ProductReviews.tsx index 1c46690..1e37028 100644 --- a/src/components/reviews/ProductReviews.tsx +++ b/src/components/reviews/ProductReviews.tsx @@ -41,6 +41,8 @@ export function ProductReviews({ productId, type }: ProductReviewsProps) { const { data } = await query.order('created_at', { ascending: false }).limit(3); + console.log('Raw reviews data:', data); + if (data && data.length > 0) { const typedData = data as unknown as Review[]; setReviews(typedData); diff --git a/src/components/reviews/ReviewModal.tsx b/src/components/reviews/ReviewModal.tsx index 76bb108..a818509 100644 --- a/src/components/reviews/ReviewModal.tsx +++ b/src/components/reviews/ReviewModal.tsx @@ -38,13 +38,27 @@ export function ReviewModal({ useEffect(() => { const fetchUserName = async () => { if (!userId) return; - const { data } = await supabase + + // Try to get name from profiles table first + const { data: profileData } = await supabase .from('profiles') .select('name') .eq('id', userId) - .single(); - if (data?.name) { - setUserName(data.name); + .maybeSingle(); + + if (profileData?.name) { + setUserName(profileData.name); + return; + } + + // Fallback: get from auth metadata + const { data: { user } } = await supabase.auth.getUser(); + if (user?.user_metadata?.name) { + setUserName(user.user_metadata.name); + } else if (user?.email) { + // Use email username as last resort + const emailUsername = user.email.split('@')[0]; + setUserName(emailUsername); } }; fetchUserName();