aboutsummaryrefslogtreecommitdiff
path: root/components/anime
diff options
context:
space:
mode:
Diffstat (limited to 'components/anime')
-rw-r--r--components/anime/episode.js30
-rw-r--r--components/anime/mobile/reused/description.js2
-rw-r--r--components/anime/viewMode/thumbnailDetail.js4
-rw-r--r--components/anime/viewMode/thumbnailOnly.js2
-rw-r--r--components/anime/viewSelector.js4
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