mirror of
https://github.com/Radiquum/AniX.git
synced 2025-05-01 10:29:40 +05:00
feat: add Show Releases Pages. fix: hover handling on touchscreens
This commit is contained in:
parent
b0246aa4e5
commit
7f2b4f17a4
9 changed files with 168 additions and 43 deletions
56
app/page.js
56
app/page.js
|
@ -1,45 +1,53 @@
|
|||
"use client";
|
||||
import useSWR from "swr";
|
||||
import { ReleaseCourusel } from "./components/ReleaseCourusel/ReleaseCourusel";
|
||||
import { Spinner } from "./components/Spinner/Spinner";
|
||||
const fetcher = (...args) => fetch(...args).then((res) => res.json());
|
||||
|
||||
function fetchReleases(status) {
|
||||
const { data, error, isLoading } = useSWR(
|
||||
`/api/home?status=${status}`,
|
||||
fetcher
|
||||
);
|
||||
return [data, error, isLoading];
|
||||
const { data } = useSWR(`/api/home?status=${status}`, fetcher);
|
||||
return [data];
|
||||
}
|
||||
|
||||
export default function Home() {
|
||||
const [lastReleasesData, lastReleasesError, lastReleasesIsLoading] =
|
||||
fetchReleases("last");
|
||||
const [
|
||||
finishedReleasesData,
|
||||
finishedReleasesError,
|
||||
finishedReleasesIsLoading,
|
||||
] = fetchReleases("finished");
|
||||
const [ongoingReleasesData, ongoingReleasesError, ongoingReleasesIsLoading] =
|
||||
fetchReleases("ongoing");
|
||||
const [
|
||||
announceReleasesData,
|
||||
announceReleasesError,
|
||||
announceReleasesIsLoading,
|
||||
] = fetchReleases("announce");
|
||||
const [lastReleasesData] = fetchReleases("last");
|
||||
const [finishedReleasesData] = fetchReleases("finished");
|
||||
const [ongoingReleasesData] = fetchReleases("ongoing");
|
||||
const [announceReleasesData] = fetchReleases("announce");
|
||||
|
||||
return (
|
||||
<main className="flex flex-col pt-2 pb-16 sm:pt-4 sm:pb-0">
|
||||
{lastReleasesData && (
|
||||
<ReleaseCourusel id="home-courusel-last" sectionTitle="Последние релизы" showAllLink="/last" content={lastReleasesData.content} />
|
||||
{lastReleasesData ? (
|
||||
<ReleaseCourusel
|
||||
sectionTitle="Последние релизы"
|
||||
showAllLink="/home/last"
|
||||
content={lastReleasesData.content}
|
||||
/>
|
||||
) : (
|
||||
<div className="flex items-center justify-center min-w-full min-h-screen">
|
||||
<Spinner />
|
||||
</div>
|
||||
)}
|
||||
{finishedReleasesData && (
|
||||
<ReleaseCourusel id="home-courusel-finished" sectionTitle="Завершенные релизы" showAllLink="/finished" content={finishedReleasesData.content} />
|
||||
<ReleaseCourusel
|
||||
sectionTitle="Завершенные релизы"
|
||||
showAllLink="/home/finished"
|
||||
content={finishedReleasesData.content}
|
||||
/>
|
||||
)}
|
||||
{ongoingReleasesData && (
|
||||
<ReleaseCourusel id="home-courusel-ongoing" sectionTitle="В эфире" showAllLink="/ongoing" content={ongoingReleasesData.content} />
|
||||
<ReleaseCourusel
|
||||
sectionTitle="В эфире"
|
||||
showAllLink="/home/ongoing"
|
||||
content={ongoingReleasesData.content}
|
||||
/>
|
||||
)}
|
||||
{announceReleasesData && (
|
||||
<ReleaseCourusel id="home-courusel-announce" sectionTitle="Анонсированные релизы" showAllLink="/announce" content={announceReleasesData.content} />
|
||||
<ReleaseCourusel
|
||||
sectionTitle="Анонсированные релизы"
|
||||
showAllLink="/home/announce"
|
||||
content={announceReleasesData.content}
|
||||
/>
|
||||
)}
|
||||
</main>
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue