feat: return additional env var for anilibria player parsing, that is rakes precedent before NEXT_PUBLIC_PLAYER_PARSER_URL, since it may be required

This commit is contained in:
Kentai Radiquum 2025-07-09 02:33:10 +05:00
parent f87ee16cbb
commit a3f1457721
Signed by: Radiquum
GPG key ID: 858E8EE696525EED

View file

@ -1,5 +1,5 @@
import { tryCatchPlayer, tryCatchAPI } from "#/api/utils"; import { tryCatchPlayer, tryCatchAPI } from "#/api/utils";
import { env } from 'next-runtime-env'; import { env } from "next-runtime-env";
export async function _fetchAPI( export async function _fetchAPI(
url: string, url: string,
@ -62,12 +62,11 @@ export async function _fetchPlayer(
return data; return data;
} }
export const _fetchKodikManifest = async ( export const _fetchKodikManifest = async (
url: string, url: string,
setPlayerError: (state) => void setPlayerError: (state) => void
) => { ) => {
const NEXT_PUBLIC_PLAYER_PARSER_URL = env("NEXT_PUBLIC_PLAYER_PARSER_URL") const NEXT_PUBLIC_PLAYER_PARSER_URL = env("NEXT_PUBLIC_PLAYER_PARSER_URL");
if (!NEXT_PUBLIC_PLAYER_PARSER_URL) { if (!NEXT_PUBLIC_PLAYER_PARSER_URL) {
setPlayerError({ setPlayerError({
message: "Плеер не настроен", message: "Плеер не настроен",
@ -82,15 +81,15 @@ export const _fetchKodikManifest = async (
); );
if (data) { if (data) {
let manifest: string = data.manifest let manifest: string = data.manifest;
if (!manifest.startsWith("http")) { if (!manifest.startsWith("http")) {
let file = new File([manifest], "manifest.m3u8", { let file = new File([manifest], "manifest.m3u8", {
type: "application/x-mpegURL", type: "application/x-mpegURL",
}); });
manifest = URL.createObjectURL(file); manifest = URL.createObjectURL(file);
}
return { manifest, poster: data.poster };
} }
return { manifest, poster: data.poster };
}
return { manifest: null, poster: null }; return { manifest: null, poster: null };
}; };
@ -98,8 +97,9 @@ export const _fetchAnilibriaManifest = async (
url: string, url: string,
setPlayerError: (state) => void setPlayerError: (state) => void
) => { ) => {
const NEXT_PUBLIC_PLAYER_PARSER_URL = env("NEXT_PUBLIC_PLAYER_PARSER_URL") const NEXT_PUBLIC_LIBRIA_PARSER_URL = env("NEXT_PUBLIC_LIBRIA_PARSER_URL") || null;
if (!NEXT_PUBLIC_PLAYER_PARSER_URL) { const NEXT_PUBLIC_PLAYER_PARSER_URL = env("NEXT_PUBLIC_PLAYER_PARSER_URL") || null;
if (!NEXT_PUBLIC_LIBRIA_PARSER_URL && !NEXT_PUBLIC_PLAYER_PARSER_URL) {
setPlayerError({ setPlayerError({
message: "Плеер не настроен", message: "Плеер не настроен",
detail: "переменная 'NEXT_PUBLIC_PLAYER_PARSER_URL' не обнаружена", detail: "переменная 'NEXT_PUBLIC_PLAYER_PARSER_URL' не обнаружена",
@ -108,7 +108,7 @@ export const _fetchAnilibriaManifest = async (
} }
const data = await _fetchPlayer( const data = await _fetchPlayer(
`${NEXT_PUBLIC_PLAYER_PARSER_URL}/?url=${encodeURIComponent(url)}&player=libria`, `${NEXT_PUBLIC_LIBRIA_PARSER_URL || NEXT_PUBLIC_PLAYER_PARSER_URL}/?url=${encodeURIComponent(url)}&player=libria`,
setPlayerError setPlayerError
); );
@ -126,7 +126,7 @@ export const _fetchSibnetManifest = async (
url: string, url: string,
setPlayerError: (state) => void setPlayerError: (state) => void
) => { ) => {
const NEXT_PUBLIC_PLAYER_PARSER_URL = env("NEXT_PUBLIC_PLAYER_PARSER_URL") const NEXT_PUBLIC_PLAYER_PARSER_URL = env("NEXT_PUBLIC_PLAYER_PARSER_URL");
if (!NEXT_PUBLIC_PLAYER_PARSER_URL) { if (!NEXT_PUBLIC_PLAYER_PARSER_URL) {
setPlayerError({ setPlayerError({
message: "Плеер не настроен", message: "Плеер не настроен",