| Server IP : 193.146.211.90 / Your IP : 10.85.6.55 Web Server : Apache System : Linux wordpress-gti-69dcdb54f7-n4wdq 6.11.8-arch1-2 #1 SMP PREEMPT_DYNAMIC Fri, 15 Nov 2024 15:35:07 +0000 x86_64 User : 1001 ( 1001) PHP Version : 8.2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /bitnami/wordpress/wp-content/plugins/presto-player/src/admin/settings/components/ |
Upload File : |
import { useState, useEffect } from "@wordpress/element";
import { ProgressBar } from "@wordpress/components";
export default ({ content, height, handleChange, editable }) => {
const [CodeMirror, setCodeMirror] = useState(null);
const [CSS, setCSS] = useState(null);
const [isLoading, setIsLoading] = useState(true);
useEffect(() => {
const loadModules = async () => {
try {
const [CodeMirrorModule, CSSModule] = await Promise.all([
import("@uiw/react-codemirror"),
import("@codemirror/lang-css"),
]);
setCodeMirror(() => CodeMirrorModule.default);
setCSS(() => CSSModule.css);
} catch (error) {
console.error("Error loading CodeMirror modules:", error);
} finally {
setIsLoading(false);
}
};
loadModules();
}, []);
return (
<>
{isLoading ? (
<ProgressBar />
) : CodeMirror && CSS ? (
<CodeMirror
value={content}
height={height}
extensions={[CSS()]}
onChange={handleChange}
editable={editable}
/>
) : (
<p>{__("Error loading Code Editor...", "presto-player")}</p>
)}
</>
);
};