feat: add download page with SearchForm and ApkList

This commit is contained in:
2026-03-04 02:14:16 +08:00
parent 993ce520f0
commit 240fd8b528

55
app/download/page.tsx Normal file
View File

@@ -0,0 +1,55 @@
// app/download/page.tsx
'use client';
import { useState } from 'react';
import SearchForm from './SearchForm';
import ApkList from './ApkList';
export default function DownloadPage() {
const [searchParams, setSearchParams] = useState({
project: '',
version: '',
commitId: '',
});
const handleSearch = (project: string, version: string, commitId: string) => {
setSearchParams({ project, version, commitId });
};
return (
<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">
<h1 className="text-3xl font-bold text-gray-900 mb-8"></h1>
<div className="grid grid-cols-1 lg:grid-cols-3 gap-8">
<div className="lg:col-span-1">
<div className="bg-white rounded-lg shadow-md p-6 sticky top-8">
<h2 className="text-xl font-semibold text-gray-800 mb-6"></h2>
<SearchForm onSearch={handleSearch} />
</div>
</div>
<div className="lg:col-span-2">
{searchParams.project && searchParams.version ? (
<>
<h2 className="text-xl font-semibold text-gray-800 mb-4">
{searchParams.project} - {searchParams.version.replace('_', '.')}
{searchParams.commitId && ` (commit: ${searchParams.commitId})`}
</h2>
<ApkList
project={searchParams.project}
version={searchParams.version}
commitId={searchParams.commitId}
/>
</>
) : (
<div className="bg-white rounded-lg shadow-md p-12 text-center">
<p className="text-gray-500"></p>
</div>
)}
</div>
</div>
</div>
</div>
);
}