aboutsummaryrefslogtreecommitdiff
path: root/components/anime/episode.js
diff options
context:
space:
mode:
authorFactiven <[email protected]>2023-09-26 23:35:35 +0700
committerFactiven <[email protected]>2023-09-26 23:35:35 +0700
commit20b8a7267827e3a07c1eef668c3b9c22fda43765 (patch)
tree2fec9006dfac5737d8b227bf5ccce73880800cc2 /components/anime/episode.js
parentUpdate release.md (diff)
downloadmoopa-4.1.2.tar.xz
moopa-4.1.2.zip
Update v4.1.2v4.1.2
Diffstat (limited to 'components/anime/episode.js')
-rw-r--r--components/anime/episode.js30
1 files changed, 18 insertions, 12 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) {