From 0ee1139cf193556cbefc7c9cf435813b5e27e75d Mon Sep 17 00:00:00 2001
From: Kentai Radiquum <kentai.waah@gmail.com>
Date: Sat, 13 Jul 2024 22:26:02 +0500
Subject: [PATCH] feat: add titles to metadata

---
 app/favicon.ico             | Bin 25931 -> 67646 bytes
 app/home/[slug]/page.js     |  77 +++--------------
 app/layout.js               |   5 +-
 app/page.js                 |  57 ++-----------
 app/pages/Index.jsx         |  54 ++++++++++++
 app/pages/IndexCategory.jsx |  70 ++++++++++++++++
 app/pages/Search.jsx        | 154 ++++++++++++++++++++++++++++++++++
 app/search/page.js          | 162 ++----------------------------------
 8 files changed, 310 insertions(+), 269 deletions(-)
 create mode 100644 app/pages/Index.jsx
 create mode 100644 app/pages/IndexCategory.jsx
 create mode 100644 app/pages/Search.jsx

diff --git a/app/favicon.ico b/app/favicon.ico
index 718d6fea4835ec2d246af9800eddb7ffb276240c..46ba2194b77391175204bd582750e21976fc431c 100644
GIT binary patch
literal 67646
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

literal 25931
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
LrJugUA?W`A8`#=m

diff --git a/app/home/[slug]/page.js b/app/home/[slug]/page.js
index e2c04ec..e982c2b 100644
--- a/app/home/[slug]/page.js
+++ b/app/home/[slug]/page.js
@@ -1,22 +1,4 @@
-"use client";
-import useSWRInfinite from "swr/infinite";
-import { ReleaseSection } from "../../components/ReleaseSection/ReleaseSection";
-import { Spinner } from "../../components/Spinner/Spinner";
-import { useState, useEffect } from "react";
-import { useScrollPosition } from "@/app/hooks/useScrollPosition";
-
-const fetcher = async url => {
-  const res = await fetch(url);
-
-  if (!res.ok) {
-    const error = new Error("An error occurred while fetching the data.");
-    error.info = await res.json();
-    error.status = res.status;
-    throw error;
-  }
-
-  return res.json();
-};
+import { IndexCategoryPage } from "@/app/pages/IndexCategory";
 
 const SectionTitleMapping = {
   last: "Последние релизы",
@@ -25,53 +7,20 @@ const SectionTitleMapping = {
   announce: "Анонсированные релизы",
 };
 
-export default function HomeStatus({ params }) {
-  const getKey = (pageIndex, previousPageData) => {
-    if (previousPageData && !previousPageData.content.length) return null;
-    return `/api/home?status=${params.slug}&page=${pageIndex}`;
+export async function generateMetadata({ params }) {
+  return {
+    title: SectionTitleMapping[params.slug],
   };
+}
 
-  const { data, error, isLoading, size, setSize } = useSWRInfinite(
-    getKey,
-    fetcher,
-    {"initialSize": 2, "revalidateFirstPage": false}
-  );
-
-  const [content, setContent] = useState(null);
-  useEffect(() => {
-    if (data) {
-      let allReleases = [];
-      for (let i = 0; i < data.length; i++) {
-        allReleases.push(...data[i].content);
-      }
-      setContent(allReleases);
-    }
-  }, [data]);
-
-  const scrollPosition = useScrollPosition();
-  useEffect(() => {
-    if (scrollPosition >= 98 && scrollPosition <= 99) {
-        setSize(size + 1)
-    }
-    }, [scrollPosition]);
-
-  if (error) return <div>failed to load</div>;
-  if (isLoading)
-    return (
-      <main className="flex flex-col items-center justify-center min-w-full min-h-screen">
-        <Spinner />
-      </main>
-    );
-
+export default function Index({ params }) {
+  const metadata = {
+    title: "AniX | " + SectionTitleMapping[params.slug],
+  };
   return (
-    <main className="pt-2 pb-16 sm:pt-4 sm:pb-0">
-      {content && (
-        <ReleaseSection
-          sectionTitle={SectionTitleMapping[params.slug]}
-          content={content}
-        />
-      )}
-      <button className="mx-auto w-[calc(100%-10rem)] border border-black rounded-lg p-2 mb-6 flex items-center justify-center gap-2 hover:bg-black hover:text-white transition" onClick={() => setSize(size + 1)}> <span className="w-10 h-10 iconify mdi--plus"> </span> <span className="text-lg">Загрузить ещё</span></button>
-    </main>
+    <IndexCategoryPage
+      slug={params.slug}
+      SectionTitleMapping={SectionTitleMapping}
+    />
   );
 }
diff --git a/app/layout.js b/app/layout.js
index 0df3186..b13a990 100644
--- a/app/layout.js
+++ b/app/layout.js
@@ -2,7 +2,10 @@ import "./globals.css";
 import { App } from "@/app/App";
 
 export const metadata = {
-  title: "Create Next App",
+  title: {
+    template: 'AniX | %s',
+    default: 'AniX',
+  },
   description: "Generated by create next app",
 };
 
diff --git a/app/page.js b/app/page.js
index cf1643c..b4797ec 100644
--- a/app/page.js
+++ b/app/page.js
@@ -1,54 +1,9 @@
-"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());
+export const metadata = {
+  title: "AniX | Домашняя",
+};
 
-export default function Home() {
-  function useFetchReleases(status) {
-    const { data } = useSWR(`/api/home?status=${status}`, fetcher);
-    return [data];
-  }
+import { IndexPage } from "./pages/Index";
 
-  const [lastReleasesData] = useFetchReleases("last");
-  const [finishedReleasesData] = useFetchReleases("finished");
-  const [ongoingReleasesData] = useFetchReleases("ongoing");
-  const [announceReleasesData] = useFetchReleases("announce");
-
-  return (
-    <main className="flex flex-col pt-2 pb-16 sm:pt-4 sm:pb-0">
-      {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
-          sectionTitle="Завершенные релизы"
-          showAllLink="/home/finished"
-          content={finishedReleasesData.content}
-        />
-      )}
-      {ongoingReleasesData && (
-        <ReleaseCourusel
-          sectionTitle="В эфире"
-          showAllLink="/home/ongoing"
-          content={ongoingReleasesData.content}
-        />
-      )}
-      {announceReleasesData && (
-        <ReleaseCourusel
-          sectionTitle="Анонсированные релизы"
-          showAllLink="/home/announce"
-          content={announceReleasesData.content}
-        />
-      )}
-    </main>
-  );
+export default function Index() {
+  return <IndexPage />;
 }
diff --git a/app/pages/Index.jsx b/app/pages/Index.jsx
new file mode 100644
index 0000000..c9e9ff4
--- /dev/null
+++ b/app/pages/Index.jsx
@@ -0,0 +1,54 @@
+"use client";
+import useSWR from "swr";
+import { ReleaseCourusel } from "@/app/components/ReleaseCourusel/ReleaseCourusel";
+import { Spinner } from "@/app/components/Spinner/Spinner";
+const fetcher = (...args) => fetch(...args).then((res) => res.json());
+
+export function IndexPage() {
+  function useFetchReleases(status) {
+    const { data } = useSWR(`/api/home?status=${status}`, fetcher);
+    return [data];
+  }
+
+  const [lastReleasesData] = useFetchReleases("last");
+  const [finishedReleasesData] = useFetchReleases("finished");
+  const [ongoingReleasesData] = useFetchReleases("ongoing");
+  const [announceReleasesData] = useFetchReleases("announce");
+
+  return (
+    <main className="flex flex-col pt-2 pb-16 sm:pt-4 sm:pb-0">
+      {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
+          sectionTitle="Завершенные релизы"
+          showAllLink="/home/finished"
+          content={finishedReleasesData.content}
+        />
+      )}
+      {ongoingReleasesData && (
+        <ReleaseCourusel
+          sectionTitle="В эфире"
+          showAllLink="/home/ongoing"
+          content={ongoingReleasesData.content}
+        />
+      )}
+      {announceReleasesData && (
+        <ReleaseCourusel
+          sectionTitle="Анонсированные релизы"
+          showAllLink="/home/announce"
+          content={announceReleasesData.content}
+        />
+      )}
+    </main>
+  );
+}
diff --git a/app/pages/IndexCategory.jsx b/app/pages/IndexCategory.jsx
new file mode 100644
index 0000000..265e948
--- /dev/null
+++ b/app/pages/IndexCategory.jsx
@@ -0,0 +1,70 @@
+"use client";
+import useSWRInfinite from "swr/infinite";
+import { ReleaseSection } from "@/app/components/ReleaseSection/ReleaseSection";
+import { Spinner } from "@/app/components/Spinner/Spinner";
+import { useState, useEffect } from "react";
+import { useScrollPosition } from "@/app/hooks/useScrollPosition";
+
+const fetcher = async url => {
+  const res = await fetch(url);
+
+  if (!res.ok) {
+    const error = new Error("An error occurred while fetching the data.");
+    error.info = await res.json();
+    error.status = res.status;
+    throw error;
+  }
+
+  return res.json();
+};
+
+export function IndexCategoryPage(props) {
+  const getKey = (pageIndex, previousPageData) => {
+    if (previousPageData && !previousPageData.content.length) return null;
+    return `/api/home?status=${props.slug}&page=${pageIndex}`;
+  };
+
+  const { data, error, isLoading, size, setSize } = useSWRInfinite(
+    getKey,
+    fetcher,
+    {"initialSize": 2, "revalidateFirstPage": false}
+  );
+
+  const [content, setContent] = useState(null);
+  useEffect(() => {
+    if (data) {
+      let allReleases = [];
+      for (let i = 0; i < data.length; i++) {
+        allReleases.push(...data[i].content);
+      }
+      setContent(allReleases);
+    }
+  }, [data]);
+
+  const scrollPosition = useScrollPosition();
+  useEffect(() => {
+    if (scrollPosition >= 98 && scrollPosition <= 99) {
+        setSize(size + 1)
+    }
+    }, [scrollPosition]);
+
+  if (error) return <div>failed to load</div>;
+  if (isLoading)
+    return (
+      <main className="flex flex-col items-center justify-center min-w-full min-h-screen">
+        <Spinner />
+      </main>
+    );
+
+  return (
+    <main className="pt-2 pb-16 sm:pt-4 sm:pb-0">
+      {content && (
+        <ReleaseSection
+          sectionTitle={props.SectionTitleMapping[props.slug]}
+          content={content}
+        />
+      )}
+      <button className="mx-auto w-[calc(100%-10rem)] border border-black rounded-lg p-2 mb-6 flex items-center justify-center gap-2 hover:bg-black hover:text-white transition" onClick={() => setSize(size + 1)}> <span className="w-10 h-10 iconify mdi--plus"> </span> <span className="text-lg">Загрузить ещё</span></button>
+    </main>
+  );
+}
diff --git a/app/pages/Search.jsx b/app/pages/Search.jsx
new file mode 100644
index 0000000..047a62d
--- /dev/null
+++ b/app/pages/Search.jsx
@@ -0,0 +1,154 @@
+"use client";
+import useSWRInfinite from "swr/infinite";
+import { ReleaseSection } from "@/app/components/ReleaseSection/ReleaseSection";
+import { Spinner } from "@/app/components/Spinner/Spinner";
+import { useState, useEffect } from "react";
+import { useScrollPosition } from "@/app/hooks/useScrollPosition";
+import { useRouter } from "next/navigation";
+import { useSearchParams } from "next/navigation";
+
+const fetcher = async (url) => {
+  const res = await fetch(url);
+
+  if (!res.ok) {
+    const error = new Error("An error occurred while fetching the data.");
+    error.info = await res.json();
+    error.status = res.status;
+    throw error;
+  }
+
+  return res.json();
+};
+
+export function SearchPage() {
+  const router = useRouter();
+  const searchParams = useSearchParams();
+  const [query, setQuery] = useState(searchParams.get("q") || null);
+
+  const getKey = (pageIndex, previousPageData) => {
+    if (previousPageData && !previousPageData.content.length) return null;
+
+    const url = new URL("/api/search", window.location.origin);
+    url.searchParams.set("page", pageIndex);
+
+    if (query) {
+      url.searchParams.set("q", query);
+      return url.toString();
+    }
+    return;
+  };
+
+  const { data, error, isLoading, size, setSize } = useSWRInfinite(
+    getKey,
+    fetcher,
+    { initialSize: 2, revalidateFirstPage: false }
+  );
+
+  const [content, setContent] = useState(null);
+  useEffect(() => {
+    if (data) {
+      let allReleases = [];
+      for (let i = 0; i < data.length; i++) {
+        allReleases.push(...data[i].content);
+      }
+      setContent(allReleases);
+    }
+  }, [data]);
+
+  const scrollPosition = useScrollPosition();
+  useEffect(() => {
+    if (scrollPosition >= 98 && scrollPosition <= 99) {
+      setSize(size + 1);
+    }
+  }, [scrollPosition]);
+
+  if (error) return <div>failed to load</div>;
+
+  return (
+    <main className="px-2 pt-2 pb-16 sm:pt-4 sm:pb-0">
+      <div>
+        <form
+          className="max-w-md mx-auto"
+          onSubmit={(e) => {
+            e.preventDefault();
+            setQuery(e.target[0].value.trim());
+            router.push(`/search?q=${e.target[0].value.trim()}`);
+          }}
+        >
+          <label
+            htmlFor="default-search"
+            className="mb-2 text-sm font-medium text-gray-900 sr-only dark:text-white"
+          >
+            Search
+          </label>
+          <div className="relative">
+            <div className="absolute inset-y-0 flex items-center pointer-events-none start-0 ps-3">
+              <svg
+                className="w-4 h-4 text-gray-500 dark:text-gray-400"
+                aria-hidden="true"
+                xmlns="http://www.w3.org/2000/svg"
+                fill="none"
+                viewBox="0 0 20 20"
+              >
+                <path
+                  stroke="currentColor"
+                  strokeLinecap="round"
+                  strokeLinejoin="round"
+                  strokeWidth="2"
+                  d="m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z"
+                />
+              </svg>
+            </div>
+            <input
+              type="search"
+              id="default-search"
+              className="block w-full p-4 text-sm text-gray-900 border border-gray-300 rounded-lg ps-10 bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
+              placeholder="Поиск аниме..."
+              required
+              defaultValue={query || ""}
+            />
+            <button
+              type="submit"
+              className="text-white absolute end-2.5 bottom-2.5 bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-4 py-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"
+            >
+              Search
+            </button>
+          </div>
+        </form>
+      </div>
+      <div className="mt-2">
+        {content ? (
+          content.length > 0 ? (
+            <ReleaseSection sectionTitle="Найденные релизы" content={content} />
+          ) : (
+            <div className="flex flex-col items-center justify-center min-w-full gap-4 mt-12 text-xl">
+              <span className="w-24 h-24 iconify-color twemoji--crying-cat"></span>
+              <p>Странно, аниме не найдено, попробуйте другой запрос...</p>
+            </div>
+          )
+        ) : (
+          isLoading && (
+            <div className="flex items-center justify-center min-w-full min-h-screen">
+              <Spinner />
+            </div>
+          )
+        )}
+        {!content && !isLoading && !query && (
+          <div className="flex flex-col items-center justify-center min-w-full gap-2 mt-12 text-xl">
+            <span className="w-16 h-16 iconify mdi--arrow-up animate-bounce"></span>
+            <p>Введите ваш запрос что-бы найти любимый тайтл</p>
+          </div>
+        )}
+      </div>
+      {data && data[data.length - 1].content.length == 25 && (
+        <button
+          className="mx-auto w-[calc(100%-10rem)] border border-black rounded-lg p-2 mb-6 flex items-center justify-center gap-2 hover:bg-black hover:text-white transition"
+          onClick={() => setSize(size + 1)}
+        >
+          <span className="w-10 h-10 iconify mdi--plus"> </span>
+          <span className="text-lg">Загрузить ещё</span>
+        </button>
+      )}
+    </main>
+  );
+}
diff --git a/app/search/page.js b/app/search/page.js
index 755407b..229a4d2 100644
--- a/app/search/page.js
+++ b/app/search/page.js
@@ -1,160 +1,16 @@
-"use client";
-import useSWRInfinite from "swr/infinite";
-import { ReleaseSection } from "@/app/components/ReleaseSection/ReleaseSection";
-import { Spinner } from "@/app/components/Spinner/Spinner";
-import { useState, useEffect } from "react";
-import { useScrollPosition } from "@/app/hooks/useScrollPosition";
-import { usePathname, useRouter } from "next/navigation";
-import { useSearchParams } from "next/navigation";
 import dynamic from "next/dynamic";
+import { SearchPage } from "@/app/pages/Search";
 
-const fetcher = async (url) => {
-  const res = await fetch(url);
-
-  if (!res.ok) {
-    const error = new Error("An error occurred while fetching the data.");
-    error.info = await res.json();
-    error.status = res.status;
-    throw error;
-  }
-
-  return res.json();
-};
-
-function Search() {
-  const router = useRouter();
-  const searchParams = useSearchParams();
-  const [query, setQuery] = useState(searchParams.get("q") || null);
-
-  const getKey = (pageIndex, previousPageData) => {
-    if (previousPageData && !previousPageData.content.length) return null;
-
-    const url = new URL("/api/search", window.location.origin);
-    url.searchParams.set("page", pageIndex);
-
-    if (query) {
-      url.searchParams.set("q", query);
-      return url.toString();
-    }
-    return;
+export async function generateMetadata({ searchParams }) {
+  const query = searchParams.q;
+  return {
+    title: query || "Поиск",
   };
-
-  const { data, error, isLoading, size, setSize } = useSWRInfinite(
-    getKey,
-    fetcher,
-    { initialSize: 2, revalidateFirstPage: false }
-  );
-
-  const [content, setContent] = useState(null);
-  useEffect(() => {
-    if (data) {
-      let allReleases = [];
-      for (let i = 0; i < data.length; i++) {
-        allReleases.push(...data[i].content);
-      }
-      setContent(allReleases);
-    }
-  }, [data]);
-
-  const scrollPosition = useScrollPosition();
-  useEffect(() => {
-    if (scrollPosition >= 98 && scrollPosition <= 99) {
-      setSize(size + 1);
-    }
-  }, [scrollPosition]);
-
-  if (error) return <div>failed to load</div>;
-
-  return (
-    <main className="px-2 pt-2 pb-16 sm:pt-4 sm:pb-0">
-      <div>
-        <form
-          className="max-w-md mx-auto"
-          onSubmit={(e) => {
-            e.preventDefault();
-            setQuery(e.target[0].value.trim());
-            router.push(`/search?q=${e.target[0].value.trim()}`);
-          }}
-        >
-          <label
-            htmlFor="default-search"
-            className="mb-2 text-sm font-medium text-gray-900 sr-only dark:text-white"
-          >
-            Search
-          </label>
-          <div className="relative">
-            <div className="absolute inset-y-0 flex items-center pointer-events-none start-0 ps-3">
-              <svg
-                className="w-4 h-4 text-gray-500 dark:text-gray-400"
-                aria-hidden="true"
-                xmlns="http://www.w3.org/2000/svg"
-                fill="none"
-                viewBox="0 0 20 20"
-              >
-                <path
-                  stroke="currentColor"
-                  strokeLinecap="round"
-                  strokeLinejoin="round"
-                  strokeWidth="2"
-                  d="m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z"
-                />
-              </svg>
-            </div>
-            <input
-              type="search"
-              id="default-search"
-              className="block w-full p-4 text-sm text-gray-900 border border-gray-300 rounded-lg ps-10 bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
-              placeholder="Поиск аниме..."
-              required
-              defaultValue={query || ""}
-            />
-            <button
-              type="submit"
-              className="text-white absolute end-2.5 bottom-2.5 bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-4 py-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"
-            >
-              Search
-            </button>
-          </div>
-        </form>
-      </div>
-      <div className="mt-2">
-        {content ? (
-          content.length > 0 ? (
-            <ReleaseSection sectionTitle="Найденные релизы" content={content} />
-          ) : (
-            <div className="flex flex-col items-center justify-center min-w-full gap-4 mt-12 text-xl">
-              <span className="w-24 h-24 iconify-color twemoji--crying-cat"></span>
-              <p>Странно, аниме не найдено, попробуйте другой запрос...</p>
-            </div>
-          )
-        ) : (
-          isLoading && (
-            <div className="flex items-center justify-center min-w-full min-h-screen">
-              <Spinner />
-            </div>
-          )
-        )}
-        {!content && !isLoading && !query && (
-          <div className="flex flex-col items-center justify-center min-w-full gap-2 mt-12 text-xl">
-            <span className="w-16 h-16 iconify mdi--arrow-up animate-bounce"></span>
-            <p>Введите ваш запрос что-бы найти любимый тайтл</p>
-          </div>
-        )}
-      </div>
-      {data && data[data.length - 1].content.length == 25 && (
-        <button
-          className="mx-auto w-[calc(100%-10rem)] border border-black rounded-lg p-2 mb-6 flex items-center justify-center gap-2 hover:bg-black hover:text-white transition"
-          onClick={() => setSize(size + 1)}
-        >
-          <span className="w-10 h-10 iconify mdi--plus"> </span>
-          <span className="text-lg">Загрузить ещё</span>
-        </button>
-      )}
-    </main>
-  );
 }
 
-const SearchDynamic = dynamic(() => Promise.resolve(Search), { ssr: false });
-export default function SearchPage() {
+const SearchDynamic = dynamic(() => Promise.resolve(SearchPage), {
+  ssr: false,
+});
+export default function Search() {
   return <SearchDynamic />;
 }