diff --git a/src/app/governance/[id]/page.tsx b/src/app/governance/[id]/page.tsx
index 19ab0cc..fd509cf 100644
--- a/src/app/governance/[id]/page.tsx
+++ b/src/app/governance/[id]/page.tsx
@@ -78,7 +78,7 @@ function ProposalContent({ propData }: { propData: MergedProposalData }) {
Browse proposals
{title}
-
+
{isLoading && !content &&
Loading proposal content}
{!isLoading && !content && (
diff --git a/src/features/governance/components/ProposalCard.tsx b/src/features/governance/components/ProposalCard.tsx
index 083661f..7e02ad2 100644
--- a/src/features/governance/components/ProposalCard.tsx
+++ b/src/features/governance/components/ProposalCard.tsx
@@ -82,19 +82,24 @@ export function ProposalCard({
export function ProposalBadgeRow({
propData,
showProposer,
+ showExecutedTime,
}: {
propData: MergedProposalData;
showProposer?: boolean;
+ showExecutedTime?: boolean;
}) {
const { stage, proposal, metadata, id } = propData;
const { timestamp, proposer, isApproved } = proposal || {};
- const { timestamp: cgpTimestamp, cgp } = metadata || {};
+ const { timestamp: cgpTimestamp, cgp, timestampExecuted } = metadata || {};
const proposedTimestamp = timestamp || cgpTimestamp;
const proposedTimeValue = proposedTimestamp
? new Date(proposedTimestamp).toLocaleDateString()
: undefined;
+ const executedTimeValue = timestampExecuted
+ ? new Date(timestampExecuted).toLocaleDateString()
+ : undefined;
return (
@@ -110,6 +115,13 @@ export function ProposalBadgeRow({
>
)}
+ {/* Show one of proposer or executedTimeValue but not both, too crowded */}
+ {showExecutedTime && executedTimeValue && !proposer && (
+ <>
+
•
+
{`Executed ${executedTimeValue}`}
+ >
+ )}
);
}