diff --git a/messages/en/treasury.json b/messages/en/treasury.json index 9c38f434..2ef65684 100644 --- a/messages/en/treasury.json +++ b/messages/en/treasury.json @@ -87,7 +87,11 @@ "nameWarehouse": "Splits Warehouse", "nameVault": "Rider vault", "nameSplit": "Rider split", - "loadFailed": "Couldn't load more — try again" + "loadFailed": "Couldn't load more — try again", + "colFrom": "From", + "colSource": "Source", + "colAmount": "Amount", + "colAge": "Age" }, "allocation": { "title": "Allocation", diff --git a/messages/pt-br/treasury.json b/messages/pt-br/treasury.json index 1948b89c..6acc7024 100644 --- a/messages/pt-br/treasury.json +++ b/messages/pt-br/treasury.json @@ -87,7 +87,11 @@ "nameWarehouse": "Splits Warehouse", "nameVault": "Vault do rider", "nameSplit": "Split do rider", - "loadFailed": "Não deu pra carregar mais — tenta de novo" + "loadFailed": "Não deu pra carregar mais — tenta de novo", + "colFrom": "De", + "colSource": "Origem", + "colAmount": "Valor", + "colAge": "Idade" }, "allocation": { "title": "Alocação", diff --git a/src/app/[locale]/treasury/page.tsx b/src/app/[locale]/treasury/page.tsx index 207c4bd6..356e728a 100644 --- a/src/app/[locale]/treasury/page.tsx +++ b/src/app/[locale]/treasury/page.tsx @@ -130,7 +130,11 @@ export default async function TreasuryPage({ params }: { params: Promise<{ local are permissionless. Side by side because they are the two halves of the same question, and reading one without the other overstates or understates what the DAO has earned. */} -
+ {/* `items-start`, against the grid default: stretch forced the short + sponsorship card to the inflows card's full height, leaving a void + below its button. In the design reference it ends where its content + ends. */} +
}> diff --git a/src/components/treasury/TreasuryInflowsList.tsx b/src/components/treasury/TreasuryInflowsList.tsx index a7347c49..ac986a26 100644 --- a/src/components/treasury/TreasuryInflowsList.tsx +++ b/src/components/treasury/TreasuryInflowsList.tsx @@ -259,48 +259,39 @@ export function TreasuryInflowsList({ ) : null} + {/* Column headers, like the reference design — the grid below shares + this exact template, which is what actually aligns the columns. */} +
+ {t("colFrom")} + {t("colSource")} + {t("colAmount")} + {t("colAge")} + +
+
- - +{formatAmount(flow.amount, flow.asset, locale)}{" "} - {flow.asset} - + + +{formatAmount(flow.amount, flow.asset, locale)}{" "} + {flow.asset} + - - {ageLabel(flow.at, now)} - + + {ageLabel(flow.at, now)} + - - - - - ))} + + + + + ); + })} {/* Height reservation. `border-t-transparent` cancels the divider so the padding shows up as space, not as empty ruled lines. The `h-8` block