Chuyển đến nội dung chính

Get Involved

Whether you are a developer, designer, writer, project builder, or just someone passionate about Cardano.

Funding Programs

FundingPrograms​

The building blocks of the grants and funding page. FundingPrograms renders the persona switcher: one tab per group ("I have an idea", "I have a product", "I contribute to open source") above one grid of program cards, with the group's title and one-line intro. Clicking a card's Details button opens the shared Modal with the program's details. FundingStats renders the headline figures above it.

All content comes from src/data/funding.js; see Add a funding program for the fields.

Basic Usage​

import FundingPrograms from '@site/src/components/FundingPrograms';
import FundingStats from '@site/src/components/FundingPrograms/FundingStats';

<FundingStats />
<FundingPrograms />

Props​

ComponentPropTypeDescription
FundingProgramsnoneThe switcher. Groups come from getFundingGroups() (tab order, persona label, title, intro), cards from getProgramsByGroup().
FundingStatsnoneOne elevated bar with the figures from getFundingStats(). The first carries an info button that opens the "How we count" breakdown in the shared Modal.
ProgramLogoprogram, sizeobject, 'card' | 'dialog'Square tile with the program's logo (logoDark in dark mode) or a monogram fallback.
ProgramCardprogramobjectOne program: tile and name, status and type tags, tagline, check facts (audience, funding), and the Details button.
ProgramDetailsprogramobjectThe modal body: pills, run by, description, and the apply button.

Status​

describeStatus(program, today, formatDate) in src/data/funding.js is the single place that turns cadence and window into the pill tone and label. useFundingStatus(program) is the only hook: it reads customFields.BUILD_DATE (so server and client agree on "today") and the current locale (for the date in "Open until") and calls that function. The components render what they get.

Anchors​

All panels render (forceRenderTabPanel), so every program is in the HTML and CSS hides the inactive panels. A URL hash selects a tab: #accelerators opens that group, and #program-<key> opens the program's group and scrolls to its card.

Files​

FileRole
src/components/FundingPrograms/index.jsPersona switcher: tabs, intro, grid, hash handling.
src/components/FundingPrograms/ProgramCard.jsCard with the Details button.
src/components/FundingPrograms/ProgramDetails.jsModal body.
src/components/FundingPrograms/FundingStats.jsStats bar with the breakdown dialog.
src/components/FundingPrograms/ProgramLogo.jsLogo tile with monogram fallback.
src/components/FundingPrograms/useFundingStatus.jsBuild date and locale, then describeStatus.
src/components/FundingPrograms/styles.module.cssComponent styles.