Files
discord-decomp/modules/quests/native/VideoQuestModal/hooks/useVideoQuestCaptions.tsx
T
2026-11-01 12:12:55 +02:00

41 lines
1.1 KiB
TypeScript

// Metro module 14170 (f14171).
import { useState, useEffect } from "react";
import { getQuestAsset, QuestAssetType } from "../../../lib/AssetUtils";
import { HTTP } from "../../../../../_bundle/sendRequest";
import { parseVtt } from "../captions/VttParser";
let c9946_4 = {
NONE: "none",
LOADING: "loading",
SUCCESS: "success",
ERROR: "error"
};
export const useVideoQuestCaptions = (a0) => {
const url2 = getQuestAsset(a0, QuestAssetType.VIDEO_PLAYER_CAPTION, void 0, true)?.url;
const url = url2;
const [status, setState] = useState(c9946_4.NONE);
const [captions, setState2] = useState(null);
useEffect(() => {
if (url != null) {
HTTP.get({
url,
rejectWithError: true
}).then((result) => {
try {
setState2(parseVtt(result.text).cues);
setState(c9946_4.SUCCESS);
} catch ($e) {
setState(c9946_4.ERROR);
}
}).catch(() => {
setState(c9946_4.ERROR);
});
} else {
setState(c9946_4.NONE);
}
}, [url]);
return {
captions,
status
};
};