mirror of
https://github.com/movie-web/movie-web.git
synced 2024-12-28 16:22:00 +01:00
31 lines
910 B
TypeScript
31 lines
910 B
TypeScript
const CHROMECAST_SENDER_SDK =
|
|
"https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";
|
|
|
|
const callbacks: ((available: boolean) => void)[] = [];
|
|
let _available: boolean | null = null;
|
|
|
|
function init(available: boolean) {
|
|
_available = available;
|
|
callbacks.forEach((cb) => cb(available));
|
|
}
|
|
|
|
export function isChromecastAvailable(cb: (available: boolean) => void) {
|
|
if (_available !== null) return cb(_available);
|
|
callbacks.push(cb);
|
|
}
|
|
|
|
export function initializeChromecast() {
|
|
window.__onGCastApiAvailable = (isAvailable) => {
|
|
init(isAvailable);
|
|
};
|
|
|
|
// add script if doesnt exist yet
|
|
const exists = !!document.getElementById("chromecast-script");
|
|
if (!exists) {
|
|
const script = document.createElement("script");
|
|
script.setAttribute("src", CHROMECAST_SENDER_SDK);
|
|
script.setAttribute("id", "chromecast-script");
|
|
document.body.appendChild(script);
|
|
}
|
|
}
|