import { Anchor, Badge, Button, Code, Group, Paper, ScrollArea, Skeleton, Stack, Table, Text, Title } from "@mantine/core" import { ASSET_STATUS_COLORS, VARIANT_STATUS_COLORS } from "../../config/dashboard.config" import { formatDateTime } from "../../lib/format-date" import type { AssetDetailPanelProps } from "./types/asset-detail-panel-props.type" /** * Детали выбранного asset и его variants. * * Используется для: * - отображения source metadata * - отображения статусов generated variants */ export const AssetDetailPanel = (props: AssetDetailPanelProps) => { const { onCreateVersion, onGenerateVariants, overview, publicId } = props const { asset, variants } = overview if (!publicId) { return ( Asset detail Выберите asset из таблицы, чтобы увидеть source URL и variants. ) } return (
Asset detail {publicId}
{asset ? ( {asset.status} ) : null}
{overview.isLoading ? ( ) : asset ? ( Source URL {asset.sourceUrl} v{asset.currentVersion} {asset.sourceHost} updated {formatDateTime(asset.updatedAt)} Variants {variants.length} {variants.length > 0 ? ( Preset Format Size Status URL {variants.map((variant) => ( {variant.preset} {variant.format} {variant.width}x{variant.height || "auto"} q{variant.quality} {variant.status} open ))}
) : ( Variants для текущей версии пока не созданы. )}
) : ( Asset не найден или ещё загружается. )}
) }