mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-22 16:11:13 -05:00
Refactor: Implement logging and JSONB cleanup
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { useState, useEffect } from 'react';
|
||||
import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar';
|
||||
import { cn } from '@/lib/utils';
|
||||
import { logger } from '@/lib/logger';
|
||||
|
||||
interface UserAvatarProps {
|
||||
avatarUrl?: string | null;
|
||||
@@ -43,7 +44,7 @@ export function UserAvatar({
|
||||
}, [avatarUrl]);
|
||||
|
||||
const handleImageError = () => {
|
||||
console.warn('[UserAvatar] Image load failed:', imageUrl, 'Retry count:', retryCount);
|
||||
logger.debug('UserAvatar image load failed', { imageUrl, retryCount });
|
||||
|
||||
if (retryCount < MAX_RETRIES && avatarUrl) {
|
||||
// Add cache-busting parameter and retry
|
||||
@@ -52,19 +53,19 @@ export function UserAvatar({
|
||||
? `${avatarUrl}&retry=${retryCount + 1}&t=${Date.now()}`
|
||||
: `${avatarUrl}${cacheBuster}`;
|
||||
|
||||
console.log('[UserAvatar] Retrying with cache buster:', urlWithCacheBuster);
|
||||
logger.debug('UserAvatar retrying with cache buster', { urlWithCacheBuster });
|
||||
setRetryCount(prev => prev + 1);
|
||||
setImageUrl(urlWithCacheBuster);
|
||||
} else {
|
||||
// All retries exhausted, show fallback
|
||||
console.warn('[UserAvatar] All retries exhausted, showing fallback');
|
||||
logger.debug('UserAvatar all retries exhausted, showing fallback');
|
||||
setHasError(true);
|
||||
setIsLoading(false);
|
||||
}
|
||||
};
|
||||
|
||||
const handleImageLoad = () => {
|
||||
console.log('[UserAvatar] Image loaded successfully:', imageUrl);
|
||||
logger.debug('UserAvatar image loaded successfully', { imageUrl });
|
||||
setIsLoading(false);
|
||||
setHasError(false);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user