MCPcopy Create free account
hub / github.com/GrapesJS/react / App

Function App

packages/grapesjs-react-app-19/src/App.tsx:19–89  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

17}
18
19function App() {
20 const [editor, setEditor] = useState<Editor>();
21 const [ready, setReady] = useState<Editor>();
22 const [projectData, setProjectData] = useState<ProjectData>();
23 const [projectDataDate, setProjectDataDate] = useState<Date>();
24 const [selectedExample, setSelectedExample] = useState(Examples.Custom);
25 const mountedIconCls = `inline-block ${editor ? 'text-green-400' : 'text-red-400'}`;
26 const readyIconCls = `inline-block ${ready ? 'text-green-400' : 'text-red-400'}`;
27
28 const onProjectUpdate = useCallback<Required<EditorProps>['onUpdate']>(pd => {
29 setProjectData(pd);
30 setProjectDataDate(new Date());
31 projectData;
32 }, []);
33
34 const exampleOptions = useMemo(
35 () =>
36 Object.entries(Examples).map(([key, value]) => (
37 <option key={key} value={value}>
38 {value}
39 </option>
40 )),
41 []
42 );
43
44 const onExampleChange = (ev: React.ChangeEvent<HTMLSelectElement>) => {
45 setSelectedExample(ev.target.value as Examples);
46 setEditor(undefined);
47 setReady(undefined);
48 };
49
50 let EditorToRender = DefaultEditor;
51
52 switch (selectedExample) {
53 case Examples.Custom:
54 EditorToRender = CustomEditor;
55 break;
56 case Examples.DefaultCustom:
57 EditorToRender = DefaultCustomEditor;
58 break;
59 case Examples.WaitReady:
60 EditorToRender = EditorWaitReady;
61 break;
62 }
63
64 (window as any).editor = editor;
65
66 return (
67 <div className="flex flex-col h-screen text-sm text-white bg-slate-900">
68 <div className="flex gap-3 p-3 items-center">
69 <div>
70 <select className="rounded-sm bg-slate-700 p-1" value={selectedExample} onChange={onExampleChange}>
71 {exampleOptions}
72 </select>
73 </div>
74 <div className="flex gap-2 items-center">
75 Mounted:
76 <Icon size={0.7} path={editor ? mdiCheckBold : mdiClose} className={mountedIconCls} />

Callers

nothing calls this directly

Calls 1

getDateStringFunction · 0.90

Tested by

no test coverage detected