+ {getMessage("solve.governance.title")} +
++ {getMessage("solve.governance.description")} +
++ + {proposal.title} + +
+ ++ {proposal.description} +
+ +diff --git a/src/app/analytics/AnalyticsPageClient.tsx b/src/app/analytics/AnalyticsPageClient.tsx index 259e267..b8d17e2 100644 --- a/src/app/analytics/AnalyticsPageClient.tsx +++ b/src/app/analytics/AnalyticsPageClient.tsx @@ -7,7 +7,14 @@ import { useLiveIntents } from "@/hooks/useLiveIntents"; import { computeAnalytics, getStatusDistributionEntries, + computeShareSeries, + computeConcentration, + computeTopMovers, SLA_THRESHOLDS, + type ShareDimension, + type ShareSeriesPoint, + type TopMover, + type ConcentrationResult, type AnalyticsResult, type KpiCard, type KpiDeltaState, @@ -20,6 +27,7 @@ import { downloadBlob, svgToPng } from "@/lib/export/svgToPng"; import { downloadCsv } from "@/lib/csv"; import { secureLogger } from "@/lib/secureLogging"; import { useTranslation } from "@/lib/i18n/I18nProvider"; +import { Tooltip } from "@/components/Tooltip"; // ─── Inline format helper ───────────────────────────────────────────────────── @@ -1149,6 +1157,72 @@ export default function AnalyticsPageClient() { + {/* ── Issue #468: Market-share trends ────────────────────────────── */} +
+ {getMessage("solve.governance.description")} +
++ {proposal.description} +
+ +{error.message}
+ + ← Return to Governance Proposals + +- Proposed by {truncateAddress(proposal.proposer)} · Expires in {timeRemaining(proposal.deadline)} + Proposed by{" "} + {truncateAddress(proposal.proposer)}{" "} + · Expires in {timeRemaining(proposal.deadline)}
- {proposal.description} -
++ {proposal.description} +
@@ -459,7 +497,7 @@ export default function ProposalDetailClient({ proposalId }: { proposalId: strin )) )}
+ Something went wrong while fetching governance data. The backend + relay may be temporarily unavailable. +
+ {error.message && ( ++ {error.message} +
+ )} ++ You voted{" "} + {CHOICE_LABELS[confirmedChoice]}{" "} + on proposal {proposal.id}. +
++ Tally will update once the transaction is indexed by the relay. +
++ Votes are final and cannot be changed once submitted. Confirm your + choice carefully before signing. +
+ + {/* Submit */} + +No voting power for this proposal
++ Your governance token balance was zero at the snapshot taken on{" "} + {snapshotDate}. To participate in future proposals, + acquire governance tokens and ensure you hold them before a proposal + is created, or ask a token-holder to delegate their vote to you. +
+