add skeleton
ci / build-backend (push) Successful in 1m32s
ci / build-frontend (push) Successful in 1m4s
ci / tests (push) Successful in 1m45s
ci / sonar (push) Successful in 4m48s

This commit is contained in:
Leonid Pershin
2026-07-29 07:45:10 +03:00
parent ac41111fa0
commit 3601404383
3 changed files with 92 additions and 1 deletions
+19
View File
@@ -0,0 +1,19 @@
import { type HTMLAttributes, forwardRef } from 'react'
import { cn } from '@/shared/lib/cn'
/**
* Заглушка блока на время загрузки. Только форма — размеры задаёт вызывающий код, чтобы скелетон
* повторял реальную вёрстку и страница не прыгала при появлении данных.
*/
export const Skeleton = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(
({ className, ...props }, ref) => (
<div
ref={ref}
// Скелетон — визуальный шум для скринридера: статус загрузки объявляет контейнер.
aria-hidden
className={cn('animate-pulse rounded-sm bg-muted-foreground/20', className)}
{...props}
/>
),
)
Skeleton.displayName = 'Skeleton'