feat: update download page title to use display name

- Add Project interface with name and displayName
- Fetch projects via SWR
- Add getProjectDisplayName helper function
- Use display name in the download page title

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-04 21:40:31 +08:00
parent 585827c632
commit 08f9015101

View File

@@ -2,9 +2,15 @@
'use client'; 'use client';
import { useState } from 'react'; import { useState } from 'react';
import useSWR from 'swr';
import SearchForm from './SearchForm'; import SearchForm from './SearchForm';
import ApkList from './ApkList'; import ApkList from './ApkList';
interface Project {
name: string;
displayName: string;
}
export default function DownloadPage() { export default function DownloadPage() {
const [searchParams, setSearchParams] = useState({ const [searchParams, setSearchParams] = useState({
project: '', project: '',
@@ -12,10 +18,17 @@ export default function DownloadPage() {
commitId: '', commitId: '',
}); });
const { data: projects } = useSWR<Project[]>('/api/projects');
const handleSearch = (project: string, version: string, commitId: string) => { const handleSearch = (project: string, version: string, commitId: string) => {
setSearchParams({ project, version, commitId }); setSearchParams({ project, version, commitId });
}; };
const getProjectDisplayName = (projectName: string): string => {
const project = projects?.find(p => p.name === projectName);
return project?.displayName || projectName;
};
return ( return (
<div className="min-h-screen bg-gray-50"> <div className="min-h-screen bg-gray-50">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"> <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
@@ -33,7 +46,7 @@ export default function DownloadPage() {
{searchParams.project && searchParams.version ? ( {searchParams.project && searchParams.version ? (
<> <>
<h2 className="text-xl font-semibold text-gray-800 mb-4"> <h2 className="text-xl font-semibold text-gray-800 mb-4">
{searchParams.project} - {searchParams.version.replace('_', '.')} {getProjectDisplayName(searchParams.project)} - {searchParams.version.replace('_', '.')}
{searchParams.commitId && ` (commit: ${searchParams.commitId})`} {searchParams.commitId && ` (commit: ${searchParams.commitId})`}
</h2> </h2>
<ApkList <ApkList