Refactor: Implement logging and JSONB cleanup

This commit is contained in:
gpt-engineer-app[bot]
2025-11-03 18:05:58 +00:00
parent b6179372e6
commit e9b9faa3e1
18 changed files with 430 additions and 142 deletions

View File

@@ -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);
};