diff options
| author | Factiven <[email protected]> | 2023-10-28 22:50:51 +0700 |
|---|---|---|
| committer | Factiven <[email protected]> | 2023-10-28 22:50:51 +0700 |
| commit | a25282429761ff0670a50fd74f8c24bdb38e728c (patch) | |
| tree | 0cd14840e665f1912842967de7427a31556190e6 /components | |
| parent | Update v4.2.3 (diff) | |
| download | moopa-a25282429761ff0670a50fd74f8c24bdb38e728c.tar.xz moopa-a25282429761ff0670a50fd74f8c24bdb38e728c.zip | |
Update v4.2.4
Diffstat (limited to 'components')
| -rw-r--r-- | components/admin/dashboard/index.js | 3 | ||||
| -rw-r--r-- | components/admin/layout.js | 1 | ||||
| -rw-r--r-- | components/anime/episode.js | 72 | ||||
| -rw-r--r-- | components/home/content.js | 3 | ||||
| -rw-r--r-- | components/listEditor.js | 1 | ||||
| -rw-r--r-- | components/search/searchByImage.js | 2 | ||||
| -rw-r--r-- | components/searchPalette.js | 3 | ||||
| -rw-r--r-- | components/shared/NavBar.js | 1 |
8 files changed, 62 insertions, 24 deletions
diff --git a/components/admin/dashboard/index.js b/components/admin/dashboard/index.js index d0c9963..930b8e0 100644 --- a/components/admin/dashboard/index.js +++ b/components/admin/dashboard/index.js @@ -168,12 +168,14 @@ export default function AdminDashboard({ </div> <div className="flex font-karla font-semibold gap-2"> <button + title="Broadcast" type="submit" className="bg-image text-white py-2 px-4 rounded-md hover:bg-opacity-80 transition duration-300" > Broadcast </button> <button + title="Remove" type="button" onClick={handleRemove} className="bg-red-700 text-white py-2 px-4 rounded-md hover:bg-opacity-80 transition duration-300" @@ -247,6 +249,7 @@ export default function AdminDashboard({ )} <button type="button" + title="Resolved" onClick={() => { setReportId(i?.id); handleResolved(); diff --git a/components/admin/layout.js b/components/admin/layout.js index 3209dcf..85a5fe7 100644 --- a/components/admin/layout.js +++ b/components/admin/layout.js @@ -49,6 +49,7 @@ export default function AdminLayout({ children, page, setPage }) { <div className="flex flex-col px-1"> {Navigation.map((item, index) => ( <button + title="Dashboard" key={item.name} onClick={() => { setPage(item.page); diff --git a/components/anime/episode.js b/components/anime/episode.js index a42307f..3650944 100644 --- a/components/anime/episode.js +++ b/components/anime/episode.js @@ -6,6 +6,30 @@ import ThumbnailDetail from "./viewMode/thumbnailDetail"; import ListMode from "./viewMode/listMode"; import { toast } from "sonner"; +function allProvider(response, setMapProviders, setProviderId) { + const getMap = response.find((i) => i?.map === true); + let allProvider = response; + + if (getMap) { + allProvider = response.filter((i) => { + if (i?.providerId === "gogoanime" && i?.map !== true) { + return null; + } + return i; + }); + setMapProviders(getMap?.episodes); + } + + if (allProvider.length > 0) { + const defaultProvider = allProvider.find( + (x) => x.providerId === "gogoanime" || x.providerId === "9anime" + ); + setProviderId(defaultProvider?.providerId || allProvider[0].providerId); // set to first provider id + } + + return allProvider; +} + export default function AnimeEpisode({ info, session, @@ -34,29 +58,12 @@ export default function AnimeEpisode({ info.status === "RELEASING" ? "true" : "false" }${isDub ? "&dub=true" : ""}` ).then((res) => res.json()); - const getMap = response.find((i) => i?.map === true); - let allProvider = response; - if (getMap) { - allProvider = response.filter((i) => { - if (i?.providerId === "gogoanime" && i?.map !== true) { - return null; - } - return i; - }); - setMapProviders(getMap?.episodes); - } - - if (allProvider.length > 0) { - const defaultProvider = allProvider.find( - (x) => x.providerId === "gogoanime" || x.providerId === "9anime" - ); - setProviderId(defaultProvider?.providerId || allProvider[0].providerId); // set to first provider id - } + const providers = allProvider(response, setMapProviders, setProviderId); setView(Number(localStorage.getItem("view")) || 3); setArtStorage(JSON.parse(localStorage.getItem("artplayer_settings"))); - setProviders(allProvider); + setProviders(providers); setLoading(false); }; fetchData(); @@ -172,11 +179,32 @@ export default function AnimeEpisode({ }${isDub ? "&dub=true" : ""}&refresh=true` ); if (!res.ok) { - console.log(res); - toast.error("Something went wrong"); - setProviders([]); + const json = await res.json(); + if (res.status === 429) { + toast.error(json.error); + const resp = await fetch( + `/api/v2/episode/${info.id}?releasing=${ + info.status === "RELEASING" ? "true" : "false" + }${isDub ? "&dub=true" : ""}` + ).then((res) => res.json()); + + if (resp) { + const providers = allProvider( + resp, + setMapProviders, + setProviderId + ); + setProviders(providers); + } + } else { + toast.error("Something went wrong"); + setProviders([]); + } setLoading(false); } else { + const remainingRequests = res.headers.get("X-RateLimit-Remaining"); + toast.success("Remaining requests " + remainingRequests); + const data = await res.json(); const getMap = data.find((i) => i?.map === true) || data[0]; let allProvider = data; diff --git a/components/home/content.js b/components/home/content.js index a380e1f..1cf4c5f 100644 --- a/components/home/content.js +++ b/components/home/content.js @@ -13,6 +13,7 @@ import { ExclamationCircleIcon, PlayIcon } from "@heroicons/react/24/solid"; import { useRouter } from "next/router"; import HistoryOptions from "./content/historyOptions"; import { toast } from "sonner"; +import { truncateImgUrl } from "@/utils/imageUtils"; export default function Content({ ids, @@ -287,7 +288,7 @@ export default function Content({ anime.image || anime.coverImage?.extraLarge || anime.coverImage?.large || - anime?.coverImage || + truncateImgUrl(anime?.coverImage) || "https://cdn.discordapp.com/attachments/986579286397964290/1058415946945003611/gray_pfp.png" } alt={ diff --git a/components/listEditor.js b/components/listEditor.js index f4f46ea..7d30835 100644 --- a/components/listEditor.js +++ b/components/listEditor.js @@ -145,6 +145,7 @@ const ListEditor = ({ </div> <button type="submit" + title="Save" className="bg-[#363642] text-white rounded-sm mt-2 py-1 text-sm sm:text-base" > Save diff --git a/components/search/searchByImage.js b/components/search/searchByImage.js index f95c2ad..f61418f 100644 --- a/components/search/searchByImage.js +++ b/components/search/searchByImage.js @@ -65,7 +65,7 @@ export default function SearchByImage({ useEffect(() => { // Add a global event listener for the paste event const handlePaste = async (e) => { - e.preventDefault(); + // e.preventDefault(); const items = e.clipboardData.items; diff --git a/components/searchPalette.js b/components/searchPalette.js index 10b9003..b450423 100644 --- a/components/searchPalette.js +++ b/components/searchPalette.js @@ -149,6 +149,7 @@ export default function SearchPalette() { <Menu.Item> {({ active }) => ( <button + title="Anime" onClick={() => setType("ANIME")} className={`${ active @@ -164,6 +165,7 @@ export default function SearchPalette() { <Menu.Item> {({ active }) => ( <button + title="Manga" onClick={() => setType("MANGA")} className={`${ active @@ -239,6 +241,7 @@ export default function SearchPalette() { {nextPage && ( <button type="button" + title="View More" onClick={() => { router.push( `/en/search/${type.toLowerCase()}/${ diff --git a/components/shared/NavBar.js b/components/shared/NavBar.js index 034a06b..8cfdfc1 100644 --- a/components/shared/NavBar.js +++ b/components/shared/NavBar.js @@ -173,6 +173,7 @@ export function NewNavbar({ <div className="flex w-[20%] justify-end items-center gap-4"> <button type="button" + title="Search" onClick={() => setIsOpen(true)} className="flex-center w-[26px] h-[26px]" > |