mirror of
https://github.com/infinilabs/coco-app.git
synced 2025-12-16 11:37:47 +01:00
Implements extension store so that users can install extensions from a GUI interface --------- Co-authored-by: ayang <473033518@qq.com>
35 lines
793 B
TypeScript
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");
|
|
};
|