mirror of
https://github.com/Radiquum/AniX.git
synced 2025-05-01 02:19:41 +05:00
New Home page, New UI, Proxy api requests through next.js api routes
This commit is contained in:
parent
49b9ac069f
commit
a30ddcfc6a
20 changed files with 5385 additions and 0 deletions
46
app/page.js
Normal file
46
app/page.js
Normal file
|
@ -0,0 +1,46 @@
|
|||
"use client";
|
||||
import useSWR from "swr";
|
||||
import { ReleaseCourusel } from "./components/ReleaseCourusel/ReleaseCourusel";
|
||||
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];
|
||||
}
|
||||
|
||||
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");
|
||||
|
||||
return (
|
||||
<main className="flex flex-col sm:pt-4 sm:pb-0 pb-16">
|
||||
{lastReleasesData && (
|
||||
<ReleaseCourusel id="home-courusel-last" sectionTitle="Последние релизы" showAllLink="/last" content={lastReleasesData.content} />
|
||||
)}
|
||||
{finishedReleasesData && (
|
||||
<ReleaseCourusel id="home-courusel-finished" sectionTitle="Завершенные релизы" showAllLink="/finished" content={finishedReleasesData.content} />
|
||||
)}
|
||||
{ongoingReleasesData && (
|
||||
<ReleaseCourusel id="home-courusel-ongoing" sectionTitle="В эфире" showAllLink="/ongoing" content={ongoingReleasesData.content} />
|
||||
)}
|
||||
{announceReleasesData && (
|
||||
<ReleaseCourusel id="home-courusel-announce" sectionTitle="Анонсированные релизы" showAllLink="/announce" content={announceReleasesData.content} />
|
||||
)}
|
||||
</main>
|
||||
);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue