import { IconInformationCircle } from "@intersect.mbo/intersectmbo.org-icons-set"; import { Box, Icon } from "@mui/material"; import { GovernanceAction } from "../../types/api"; import { encodeCIP129Identifier, formatTimeStamp, getProposalStatus, } from "../../lib/utils"; import { Typography } from "../Atoms/Typography"; import { useScreenDimension } from "../../hooks/useDimensions"; import { useTranslation } from "../../contexts/I18nContext"; import { Tooltip } from "../Atoms/Tooltip"; interface GovActionDatesInfoProps { action: GovernanceAction; isCard?: boolean; } const GovActionDatesInfo = ({ action, isCard = false, }: GovActionDatesInfoProps) => { const { isMobile } = useScreenDimension(); const { t } = useTranslation(); const proposalStatus = getProposalStatus(action.status); const isExpired = ["Expired", "Not Ratified", "Enacted"].includes( proposalStatus ); const idCIP129 = encodeCIP129Identifier({ txID: action?.tx_hash, index: action?.index.toString(16).padStart(2, "0"), bech32Prefix: "gov_action", }); const renderSubmissionInfoTooltip = () => { return ( ); }; const renderExpirationInfoTooltip = () => { return ( ); }; return ( {t("outcome.dates.submitted")}{" "} {formatTimeStamp( action.time, isCard || isMobile ? "short" : "full" )} ({t("outcome.epoch")} {action.epoch_no}) {renderSubmissionInfoTooltip()} {isExpired ? t("outcome.dates.expired.label") : t("outcome.dates.expires")}{" "} {action.status.expired_epoch !== null ? formatTimeStamp( action.status_times.expired_time as string, isCard || isMobile ? "short" : "full" ) : formatTimeStamp( action.expiry_date, isCard || isMobile ? "short" : "full" )} ({t("outcome.epoch")}{" "} {action.status.expired_epoch !== null ? action.status.expired_epoch : action.expiration} ) {renderExpirationInfoTooltip()} ); }; export default GovActionDatesInfo;