diff options
Diffstat (limited to 'components/anime')
| -rw-r--r-- | components/anime/episode.js | 30 | ||||
| -rw-r--r-- | components/anime/mobile/reused/description.js | 2 | ||||
| -rw-r--r-- | components/anime/viewMode/thumbnailDetail.js | 4 | ||||
| -rw-r--r-- | components/anime/viewMode/thumbnailOnly.js | 2 | ||||
| -rw-r--r-- | components/anime/viewSelector.js | 4 |
5 files changed, 26 insertions, 16 deletions
diff --git a/components/anime/episode.js b/components/anime/episode.js index 6f96c98..25ed997 100644 --- a/components/anime/episode.js +++ b/components/anime/episode.js @@ -34,12 +34,16 @@ export default function AnimeEpisode({ info.status === "RELEASING" ? "true" : "false" }${isDub ? "&dub=true" : ""}` ).then((res) => res.json()); - const getMap = response.find((i) => i?.map === true); + const getMap = response.find((i) => i?.map === true) || response[0]; let allProvider = response; if (getMap) { allProvider = response.filter((i) => { - if (i?.providerId === "gogoanime" && i?.map !== true) { + if ( + i?.providerId === "gogoanime" && + i?.providerId === "9anime" && + i?.map !== true + ) { return null; } return i; @@ -122,7 +126,6 @@ export default function AnimeEpisode({ useEffect(() => { if (artStorage) { - // console.log({ artStorage }); const currentData = JSON.parse(localStorage.getItem("artplayer_settings")) || {}; @@ -138,15 +141,18 @@ export default function AnimeEpisode({ } if (!session?.user?.name) { - setProgress( - Object.keys(updatedData).length > 0 - ? Math.max( - ...Object.keys(updatedData).map( - (key) => updatedData[key].episode - ) - ) - : 0 + const maxWatchedEpisode = Object.keys(updatedData).reduce( + (maxEpisode, key) => { + const episodeData = updatedData[key]; + if (episodeData.timeWatched >= episodeData.duration * 0.9) { + return Math.max(maxEpisode, episodeData.episode); + } + return maxEpisode; + }, + 0 ); + + setProgress(maxWatchedEpisode); } else { return; } @@ -177,7 +183,7 @@ export default function AnimeEpisode({ setLoading(false); } else { const data = await res.json(); - const getMap = data.find((i) => i?.map === true); + const getMap = data.find((i) => i?.map === true) || data[0]; let allProvider = data; if (getMap) { diff --git a/components/anime/mobile/reused/description.js b/components/anime/mobile/reused/description.js index 99973d3..3b61c80 100644 --- a/components/anime/mobile/reused/description.js +++ b/components/anime/mobile/reused/description.js @@ -10,7 +10,7 @@ export default function Description({ className={`${ info?.description?.replace(/<[^>]*>/g, "").length > 240 ? "" - : "pointer-events-none" + : "pointer-events-none hidden" } ${ readMore ? "hidden" : "" } absolute z-30 flex items-end justify-center top-0 w-full h-full transition-all duration-200 ease-linear md:opacity-0 md:hover:opacity-100 bg-gradient-to-b from-transparent to-primary to-95%`} diff --git a/components/anime/viewMode/thumbnailDetail.js b/components/anime/viewMode/thumbnailDetail.js index c7d55a0..494a89f 100644 --- a/components/anime/viewMode/thumbnailDetail.js +++ b/components/anime/viewMode/thumbnailDetail.js @@ -41,9 +41,9 @@ export default function ThumbnailDetail({ className={`absolute bottom-0 left-0 h-[2px] bg-red-700`} style={{ width: - progress || (artStorage && epi?.number <= progress) + progress !== undefined && progress >= epi?.number ? "100%" - : artStorage?.[epi?.id] + : artStorage?.[epi?.id] !== undefined ? `${prog}%` : "0%", }} diff --git a/components/anime/viewMode/thumbnailOnly.js b/components/anime/viewMode/thumbnailOnly.js index 7259beb..1b403fa 100644 --- a/components/anime/viewMode/thumbnailOnly.js +++ b/components/anime/viewMode/thumbnailOnly.js @@ -29,7 +29,7 @@ export default function ThumbnailOnly({ className={`absolute bottom-7 left-0 h-[2px] bg-red-600`} style={{ width: - progress && artStorage && episode?.number <= progress + progress && episode?.number <= progress ? "100%" : artStorage?.[episode?.id] ? `${prog}%` diff --git a/components/anime/viewSelector.js b/components/anime/viewSelector.js index f114a8b..baa13b2 100644 --- a/components/anime/viewSelector.js +++ b/components/anime/viewSelector.js @@ -6,6 +6,7 @@ export default function ViewSelector({ view, setView, episode, map }) { episode?.length > 0 ? map?.every( (item) => + item?.img === null || item?.img?.includes("https://s4.anilist.co/") || item?.image?.includes("https://s4.anilist.co/") || item.title === null @@ -33,6 +34,7 @@ export default function ViewSelector({ view, setView, episode, map }) { episode?.length > 0 ? map?.every( (item) => + item?.img === null || item?.img?.includes("https://s4.anilist.co/") || item?.image?.includes("https://s4.anilist.co/") || item.title === null @@ -52,6 +54,7 @@ export default function ViewSelector({ view, setView, episode, map }) { episode?.length > 0 ? map?.every( (item) => + item?.img === null || item?.img?.includes("https://s4.anilist.co/") || item?.image?.includes("https://s4.anilist.co/") || item.title === null @@ -74,6 +77,7 @@ export default function ViewSelector({ view, setView, episode, map }) { episode?.length > 0 ? map?.every( (item) => + item?.img === null || item?.img?.includes("https://s4.anilist.co/") || item?.image?.includes("https://s4.anilist.co/") || item.title === null |