veza/apps/web/src/components/ui/optimized-image/OptimizedImageSkeleton.tsx
senke b04336129a ui(components): migrate remaining 27 skeleton files to Skeleton shimmer
Complete the migration of all inline `animate-pulse bg-muted` patterns
to the shared `<Skeleton>` component with premium shimmer animation.

Covers: UserProfilePage, SearchPage, CourseDetailView, ProductDetailView,
NotificationsPage, ChatMessages, SessionsPage, RegisterPage, AudioPlayer,
DataList, AccountSettings, Dialog, CourseLearningView, TwoFactorSetup,
ProjectsManager, GoLiveView, ConnectivityView, AIToolsView,
CloudSettingsView, EquipmentDetailView, NotificationMenu, PlaybackHeatmap,
ProjectDetailView, AvatarUpload, ShareLinkManager, OptimizedImage, BlurPlaceholder.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-08 23:21:33 +01:00

26 lines
561 B
TypeScript

import { Skeleton } from '@/components/ui/skeleton';
import { cn } from '@/lib/utils';
interface OptimizedImageSkeletonProps {
width?: number;
height?: number;
className?: string;
}
/**
* Skeleton pour l'état Loading d'OptimizedImage.
* Utilise les layout primitives (pas de valeurs arbitraires).
*/
export function OptimizedImageSkeleton({
width,
height,
className,
}: OptimizedImageSkeletonProps) {
return (
<Skeleton
className={cn('rounded-lg', className)}
style={{ width, height }}
aria-hidden="true"
/>
);
}