41 lines
1.1 KiB
TypeScript
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
|
|
};
|
|
};
|