import React from 'react'; import { Slider, Stack, Text } from '@mantine/core'; import { DateTimePicker, DateValue } from '@mantine/dates'; import { Meta, StoryObj } from '@storybook/react'; import { fromNow, getMostRelevantTimeUnitFromNow } from './fromNow'; function PickerExample() { const [value, setValue] = React.useState(new Date('June 1, 2024, 12:00:00')); return ( Interactive DateTimePicker example Generated label from reference date to the current date:{' '} {fromNow(value)} ); } function SliderExample() { const [value, setValue] = React.useState(0); const transform = (v: number) => { return v >= 0 ? 2 ** v : -(2 ** -v); }; const d = new Date(new Date().getTime() + transform(value)); return ( Interactive Slider example `${Math.round(getMostRelevantTimeUnitFromNow(d)!.amount)} ${getMostRelevantTimeUnitFromNow(d)!.name}`} /> Generated label from current date -/+ the slider value:{' '} {fromNow(d)} ); } function TimeUtil() { return ( Some basic examples (see code) {fromNow(new Date(new Date().getTime() - 1000 * 60 * 60 * 24 * 3))} {fromNow(new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 7 * 3))} {fromNow(new Date(new Date().getTime() - 1000 * 60 * 60 * 2))} {fromNow(new Date(new Date().getTime() + 1000 * 60 * 2))} {fromNow(new Date(new Date().getTime() - 1000 * 5))} ); } const meta: Meta = { title: 'Components/Utils', component: TimeUtil, }; export default meta; type Story = StoryObj; export const TimeFromNow: Story = { args: { components: { aboutAppModal: { content: You can add some custom content to this about app modal. It should provide some meaningful description about the application., }, }, }, };