Inline
This commit is contained in:
parent
1d8be29bd6
commit
30464772e2
1 changed files with 9 additions and 24 deletions
|
@ -5,37 +5,22 @@ type Receiver = {
|
|||
cast: typeof cast;
|
||||
};
|
||||
|
||||
const load = (() => {
|
||||
let promise: Promise<Receiver> | null = null;
|
||||
|
||||
return () => {
|
||||
if (promise === null) {
|
||||
promise = new Promise((resolve) => {
|
||||
const script = document.createElement("script");
|
||||
script.src =
|
||||
"https://www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js";
|
||||
|
||||
script.addEventListener("load", () => {
|
||||
resolve({
|
||||
cast,
|
||||
});
|
||||
});
|
||||
document.body.appendChild(script);
|
||||
});
|
||||
}
|
||||
return promise;
|
||||
};
|
||||
})();
|
||||
|
||||
export const useCastReceiver = () => {
|
||||
const [receiver, setReceiver] = useState<Receiver | null>({
|
||||
cast: null,
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
load().then((receiver) => {
|
||||
setReceiver(receiver);
|
||||
const script = document.createElement("script");
|
||||
script.src =
|
||||
"https://www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js";
|
||||
|
||||
script.addEventListener("load", () => {
|
||||
setReceiver({
|
||||
cast,
|
||||
});
|
||||
});
|
||||
document.body.appendChild(script);
|
||||
}, []);
|
||||
|
||||
return receiver;
|
||||
|
|
Loading…
Add table
Reference in a new issue