The Sponsors page (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/asubap/website/llms.txt
Use this file to discover all available pages before exploring further.
/sponsors) publicly showcases every organization that supports the Beta Tau Chapter. It fetches live sponsor data from the backend on mount, maps the raw API response to a normalized internal shape, then buckets sponsors into four tiers — Platinum, Gold, Silver, and Bronze — rendering each tier in a responsive wrap layout using SponsorTier and SponsorCard sub-components. No authentication is required to view the page.
Data Flow
Data loading is split across twouseEffect hooks to keep concerns cleanly separated: the first fetches and normalizes data, the second reacts to sponsors state changes to sort into tier-specific arrays.
Fetch from public sponsors endpoint
ok the error is thrown and caught by the catch block, leaving sponsors as an empty array. No loading or error state is currently exposed to the UI.Normalize API response shape
The raw API fields
company_name and pfp_url are remapped to the component-internal name and imageUrl fields:TypeScript Interfaces
Tier Hierarchy
Tiers are rendered top-to-bottom in prestige order. A tier section is only mounted when it has at least one sponsor (sponsors.length > 0 guard), so empty tiers produce no DOM output.
Platinum
Highest tier.
SponsorCard receives shadow-xl for the most prominent card shadow. Tier heading color: text-bapgray (dark gray).Gold
Second tier.
SponsorCard receives shadow-lg. Tier heading color: text-yellow-600.Silver
Third tier.
SponsorCard receives shadow-md. Tier heading color: text-gray-400.Bronze
Fourth tier.
SponsorCard receives shadow (default Tailwind shadow). Tier heading color: text-amber-800.SponsorTier Component
SponsorTier renders a <section> with a centered tier heading and a flex flex-wrap justify-center container for its SponsorCard children. Each tier heading applies the tier-specific color class shown above.
SponsorCard Component
w-56 h-56 white rounded tile. The upper three-quarters hold the sponsor logo (object-contain); the lower quarter displays the company name. Cards have a hover:scale-105 scale transition.
Page-Level Layout
The sponsors endpoint (
https://asubap-backend.vercel.app/sponsors/) is called with a plain fetch — no Authorization header. This is intentional: sponsor data is public. The authenticated sponsors-network page (/sponsors-network) is a separate route available only to logged-in members.