box-ui-elements
Version:
Box UI Elements
60 lines (52 loc) • 1.67 kB
JavaScript
import * as React from 'react';
import ReadableTime from './ReadableTime';
import notes from './ReadableTime.stories.md';
const MILLISECONDS_PER_HOUR = 60 * 60 * 1000;
const MILLISECONDS_PER_DAY = MILLISECONDS_PER_HOUR * 24;
const MILLISECONDS_PER_WEEK = MILLISECONDS_PER_DAY * 7;
export const relativeTimestamps = () => (
<div>
<div>
<ReadableTime
timestamp={Date.now() - MILLISECONDS_PER_HOUR + 30 * 60 * 1000}
relativeThreshold={MILLISECONDS_PER_HOUR}
/>
</div>
<div>
<ReadableTime
timestamp={Date.now() - 2 * MILLISECONDS_PER_HOUR}
relativeThreshold={MILLISECONDS_PER_HOUR}
/>
</div>
<div>
<ReadableTime timestamp={Date.now() - MILLISECONDS_PER_DAY} relativeThreshold={MILLISECONDS_PER_HOUR} />
</div>
</div>
);
export const dateWithoutTime = () => (
<ReadableTime timestamp={Date.now() - MILLISECONDS_PER_WEEK} relativeThreshold={MILLISECONDS_PER_HOUR} />
);
export const dateWithTime = () => (
<ReadableTime
timestamp={Date.now() - MILLISECONDS_PER_WEEK}
relativeThreshold={MILLISECONDS_PER_HOUR}
alwaysShowTime
/>
);
export const dateInTheFutureWhenNotAllowed = () => (
<ReadableTime
timestamp={Date.now() + 70 * MILLISECONDS_PER_DAY}
relativeThreshold={MILLISECONDS_PER_HOUR}
allowFutureTimestamps={false}
/>
);
export default {
title: 'Components/ReadableTime',
component: ReadableTime,
parameters: {
notes,
chromatic: {
disableSnapshot: true,
},
},
};