Files
cinny/src/app/components/message/placeholder/CompactPlaceholder.tsx
T

28 lines
924 B
TypeScript
Raw Normal View History

2024-12-16 21:55:15 +11:00
import React, { useMemo } from 'react';
import { as, ContainerColor, toRem } from 'folds';
2023-10-06 13:44:06 +11:00
import { randomNumberBetween } from '../../../utils/common';
import { LinePlaceholder } from './LinePlaceholder';
2024-12-16 21:55:15 +11:00
import { CompactLayout } from '../layout';
2023-10-06 13:44:06 +11:00
2024-12-16 21:55:15 +11:00
export const CompactPlaceholder = as<'div', { variant?: ContainerColor }>(
({ variant, ...props }, ref) => {
const nameSize = useMemo(() => randomNumberBetween(40, 100), []);
const msgSize = useMemo(() => randomNumberBetween(120, 500), []);
return (
<CompactLayout
{...props}
ref={ref}
before={
<>
<LinePlaceholder variant={variant} style={{ maxWidth: toRem(50) }} />
<LinePlaceholder variant={variant} style={{ maxWidth: toRem(nameSize) }} />
</>
}
>
<LinePlaceholder variant={variant} style={{ maxWidth: toRem(msgSize) }} />
</CompactLayout>
);
}
);