From 0fd127885a96e6aebc1a5c8b47cdc38f3ffa3cc4 Mon Sep 17 00:00:00 2001 From: Beckett Frey Date: Thu, 20 Aug 2026 12:26:15 -0500 Subject: [PATCH] Rename DownloadButton to DownloadPanel The component renders a full OS-selection panel with release metadata and download links, not a single button. Rename the server component and its client counterpart, their files, and the stale DownloadButtonProps type so the names match what they actually render. Closes #2 --- .github/CONTRIBUTING.md | 2 +- app/download/page.tsx | 4 ++-- components/{DownloadButton.tsx => DownloadPanel.tsx} | 6 +++--- .../{DownloadButtonClient.tsx => DownloadPanelClient.tsx} | 6 +++--- lib/releases.ts | 2 +- types/releases.ts | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) rename components/{DownloadButton.tsx => DownloadPanel.tsx} (85%) rename components/{DownloadButtonClient.tsx => DownloadPanelClient.tsx} (98%) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 0031d45..18c7d78 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -96,7 +96,7 @@ Also in `Settings → General → Pull Requests`: ### Release data freshness -`/download` is **prerendered**, not fetched in the browser. `components/DownloadButton.tsx` is a server component that resolves GitHub releases at render time via `lib/releases.ts`, then hands the data to `DownloadButtonClient.tsx` for the interactive bits. Visitors never call GitHub, so the page costs one upstream request per day instead of one per visitor — comfortably under GitHub's 60/hour unauthenticated limit. +`/download` is **prerendered**, not fetched in the browser. `components/DownloadPanel.tsx` is a server component that resolves GitHub releases at render time via `lib/releases.ts`, then hands the data to `DownloadPanelClient.tsx` for the interactive bits. Visitors never call GitHub, so the page costs one upstream request per day instead of one per visitor — comfortably under GitHub's 60/hour unauthenticated limit. Refresh is driven by the cron in `vercel.json`: diff --git a/app/download/page.tsx b/app/download/page.tsx index 821e415..757ebba 100644 --- a/app/download/page.tsx +++ b/app/download/page.tsx @@ -1,6 +1,6 @@ import type { Metadata } from "next"; import { Footer, Navbar } from "../../layout"; -import DownloadButton from "../../components/DownloadButton"; +import DownloadPanel from "../../components/DownloadPanel"; export const metadata: Metadata = { title: "Download VoxKit", @@ -26,7 +26,7 @@ export default function DownloadPage() { Get the latest version of VoxKit for your operating system

- +