Files
coco-app/src/hooks/useScript.ts

35 lines
793 B
TypeScript
Raw Normal View History

import { useEffect } from "react";
2025-04-08 15:24:12 +08:00
const useScript = (src: string, onError?: () => void) => {
2025-04-08 15:24:12 +08:00
useEffect(() => {
if (document.querySelector(`script[src="${src}"]`)) {
return;
2025-04-08 15:24:12 +08:00
}
const script = document.createElement("script");
2025-04-08 15:24:12 +08:00
script.src = src;
script.async = true;
script.onerror = () => {
console.error(`Failed to load script: ${src}`);
onError?.();
};
2025-04-08 15:24:12 +08:00
document.body.appendChild(script);
return () => {
document.body.removeChild(script);
};
}, [src, onError]);
2025-04-08 15:24:12 +08:00
};
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");
2025-04-08 15:24:12 +08:00
};