diff --git a/README.md b/README.md index cc7ef10..65f6f84 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,9 @@ AniX is an unofficial web client for the Android application Anixart. It allows ## Changelog [RU] +- [3.7.0](./public/changelog/3.7.0.md) - [3.6.0](./public/changelog/3.6.0.md) - [3.5.0](./public/changelog/3.5.0.md) -- [3.4.0](./public/changelog/3.4.0.md) -- [3.3.0](./public/changelog/3.3.0.md) [other versions](./public/changelog) diff --git a/app/api/config.ts b/app/api/config.ts index 0746eb2..ec8fffd 100644 --- a/app/api/config.ts +++ b/app/api/config.ts @@ -1,4 +1,4 @@ -export const CURRENT_APP_VERSION = "3.6.0"; +export const CURRENT_APP_VERSION = "3.7.0"; export const API_URL = "https://api.anixart.tv"; export const API_PREFIX = "/api/proxy"; diff --git a/app/components/Comments/Comments.Comment.tsx b/app/components/Comments/Comments.Comment.tsx index 4b2953c..c19f561 100644 --- a/app/components/Comments/Comments.Comment.tsx +++ b/app/components/Comments/Comments.Comment.tsx @@ -84,9 +84,17 @@ export const CommentsComment = (props: { url += `&token=${props.token}`; } await fetch(url) - .then((res) => res.json()) + .then((res) => { + if (res.ok) { + return res.json(); + } else { + return { content: [] }; + } + }) .then((data) => { - setReplies(data.content); + if (data && data.content) { + setReplies(data.content); + } }); } if ( @@ -194,9 +202,9 @@ export const CommentsComment = (props: {
- {!props.comment.isDeleted - ? props.comment.message - : "Комментарий был удалён."} + {!props.comment.isDeleted ? + props.comment.message + : "Комментарий был удалён."}
{isHidden && (Эпизод
++ {epis.name ? + epis.name + : ["Sibnet"].includes(source.name) ? + `${epis.position + 1} Серия` + : `${epis.position} Серия`} +
+ {( + epis.is_watched || + Object.keys(watchedEpisodes).includes( + epis.position.toString() + ) + ) ? + + : + } +{error}
} + {!error ? +{error}
}Ошибка загрузки плеера
- )} + :Ошибка загрузки плеера
}Ошибка: {playerError.message}
- {!isErrorDetailsOpen ? -- {playerError.detail} -
- } -{playerError.message}
+ {!isErrorDetailsOpen ? ++ {playerError.detail} +
+ } + {voiceover.selected && source.selected && episode.selected ? +{props.title}
++ {voiceover.selected.name} +
+ : ""} + {episode.selected ? ++ |{" "} + {episode.selected.name ? + episode.selected.name + : ["Sibnet"].includes(source.selected.name) ? + `${episode.selected.position + 1} Серия` + : `${episode.selected.position} Серия`} +
+ : ""} +Нет доступных вариантов для выбора
+ : ""} +Выбор доступен только в горизонтальном режиме
+Ошибка: {playerError.message}
- {!isErrorDetailsOpen ? -- {playerError.detail} -
- } -{name}
- -{name}
-- {episodes_count}{" "} - {numberDeclension(episodes_count, "серия", "серии", "серий")} -
-Источник
+{name}
- {pinned && ( - - )} - -{name}
- {pinned && ( - - )} -- {episodes_count}{" "} - {numberDeclension(episodes_count, "серия", "серии", "серий")} -
-- {view_count}{" "} - {numberDeclension(view_count, "просмотр", "просмотра", "просмотров")} -
-Озвучка
+Сохранять историю просмотра
++ При отключении, история не будет сохранятся как локально, так и + на аккаунте +
+Отправка аналитики
diff --git a/app/components/Spinner/Spinner.tsx b/app/components/Spinner/Spinner.tsx index 6dffd42..95e0a64 100644 --- a/app/components/Spinner/Spinner.tsx +++ b/app/components/Spinner/Spinner.tsx @@ -1,10 +1,17 @@ -export const Spinner = () => { +export const Spinner = (props: { size?: "base" | "md" | "lg" }) => { + let size = "w-8 h-8"; + if (props.size == "md") { + size = "w-12 h-12"; + } + if (props.size == "lg") { + size = "w-16 h-16"; + } return (