Files
coco-app/src/hooks/useScript.ts
SteveLauC b3f68697ce feat: impl extension store (#699)
Implements extension store so that users can install extensions from a GUI interface


---------

Co-authored-by: ayang <473033518@qq.com>
2025-06-26 18:40:33 +08:00

35 lines
793 B
TypeScript

import { useEffect } from "react";
const useScript = (src: string, onError?: () => void) => {
useEffect(() => {
if (document.querySelector(`script[src="${src}"]`)) {
return;
}
const script = document.createElement("script");
script.src = src;
script.async = true;
script.onerror = () => {
console.error(`Failed to load script: ${src}`);
onError?.();
};
document.body.appendChild(script);
return () => {
document.body.removeChild(script);
};
}, [src, onError]);
};
export default useScript;
export const useIconfontScript = () => {
// Coco Server Icons
useScript("https://at.alicdn.com/t/c/font_4878526_cykw3et0ezd.js");
// Coco App Icons
useScript("https://at.alicdn.com/t/c/font_4934333_80wr9yn2eup.js");
};