import React from 'react';
import cx from 'classnames';
import { formatDateTime } from '@bundle-stats/utils';
import I18N from '../../i18n';
import { FlexStack } from '../../layout/flex-stack';
import { Icon } from '../../ui/icon';
import { Tag } from '../../ui/tag';
import css from './jobs-header.module.css';
interface ItemProps {
job: {
internalBuildNumber: number;
meta?: {
webpack?: {
builtAt?: string;
hash?: string;
};
};
};
tag: string;
}
export const Item = (props: ItemProps & React.ComponentProps<'div'>) => {
const { className, tag, job } = props;
const { builtAt, hash } = job.meta?.webpack || {};
const rootClassName = cx(css.item, className);
return (
{`#${job.internalBuildNumber}`}
{tag && {tag}}
{builtAt && (
{formatDateTime({ dateStyle: 'medium', timeStyle: 'medium' }, builtAt)}
)}
{hash && (
{hash.slice(0, 7)}
)}
);
};
interface JobsHeaderProps {
jobs?: Array | null;
}
export const JobsHeader = (props: JobsHeaderProps & React.ComponentProps<'header'>) => {
const { className, jobs } = props;
const rootClassName = cx(css.root, className);
return (
{jobs?.map((job, index) => (
))}
);
};