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;