import clsx from 'clsx'
import { ReactNode } from 'react'
import { useTranslation } from 'react-i18next'
import TimeAgo from 'react-timeago'
import { UnstakingTask, UnstakingTaskStatus } from '@dao-dao/types'
import {
formatDate,
formatDateTimeTz,
humanReadableExpiration,
} from '@dao-dao/utils'
import { useTranslatedTimeDeltaFormatter } from '../../hooks'
import { Tooltip } from '../tooltip'
import { TokenAmountDisplay } from './TokenAmountDisplay'
import { UnstakingStatus } from './UnstakingStatus'
export interface UnstakingLineProps {
task: UnstakingTask
// If present, replace date with this node. This may be used to add a claim
// button to the claim task status.
dateReplacement?: ReactNode
}
const sharedClassNames = 'bg-background-secondary rounded-md'
export const UnstakingLine = ({
task: { status, amount, token, expiration },
dateReplacement,
}: UnstakingLineProps) => {
const { t } = useTranslation()
const timeAgoFormatter = useTranslatedTimeDeltaFormatter({ words: true })
const date =
'at_time' in expiration
? new Date(Number(expiration.at_time) / 1e6)
: undefined
const dateDisplay =
date && status === UnstakingTaskStatus.Unstaking ? (
{dateDisplay}
{dateDisplay}