From 6e921e82fba78a24a679cfc14b079e8614c0ca71 Mon Sep 17 00:00:00 2001 From: eeymoo Date: Fri, 21 Mar 2025 22:40:00 +0800 Subject: [PATCH] wip --- app/page.tsx | 4 +- app/signin/page.tsx | 2 +- components/ComponentPaletteDrawer.tsx | 40 ++++++++++++--- components/Draggable/Draggable.tsx | 6 +-- components/Draggable/Preview.tsx | 4 +- components/Draggable/utils/index.ts | 2 +- components/DraggablePanel.tsx | 2 +- hooks/useDynamicWidgets.ts | 68 ++++++++++++++++++++++++++ next.config.ts | 14 +++++- widgets/Logo/index copy.tsx | 15 ++++++ {components => widgets}/Logo/index.tsx | 3 ++ {components => widgets}/Text/index.tsx | 5 +- 12 files changed, 146 insertions(+), 19 deletions(-) create mode 100644 hooks/useDynamicWidgets.ts create mode 100644 widgets/Logo/index copy.tsx rename {components => widgets}/Logo/index.tsx (77%) rename {components => widgets}/Text/index.tsx (92%) diff --git a/app/page.tsx b/app/page.tsx index d95a0a5..5aadfc4 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,7 +1,7 @@ "use client"; import { useEffect, useState } from "react"; import DraggablePanel from "@/components/DraggablePanel"; -import Logo from "@/components/Logo"; +import Logo from "@/widgets/Logo"; import Preview from "@/components/Draggable/Preview"; import Draggable from "@/components/Draggable/Draggable"; import PreviewStore from "@/stores/previewStore"; @@ -94,7 +94,7 @@ export default function Home() { y={item.y} width={item.width} height={item.height} - component={() => } + componentsId={item.componentsId} /> ))} diff --git a/app/signin/page.tsx b/app/signin/page.tsx index 0812706..cb91ac7 100644 --- a/app/signin/page.tsx +++ b/app/signin/page.tsx @@ -1,5 +1,5 @@ import "@/app/globals.css"; -import Logo from "@/components/Logo"; +import Logo from "@/widgets/Logo"; export default function LoginPage() { return ( diff --git a/components/ComponentPaletteDrawer.tsx b/components/ComponentPaletteDrawer.tsx index 2ab963c..2250880 100644 --- a/components/ComponentPaletteDrawer.tsx +++ b/components/ComponentPaletteDrawer.tsx @@ -1,11 +1,19 @@ "use client"; import "@/app/globals.css"; -import { useRef } from "react"; +import { useRef, useState } from "react"; +import ComponentsStore from "@/stores/componentStore"; +import { componentsLibrary } from "./Draggable/Draggable"; +import { useDynamicWidgets } from "@/hooks/useDynamicWidgets"; + export default function ComponentPaletteDrawer() { const checkboxRef = useRef(null); + const [componentsId, setComponentsId] = useState("logo"); + const [data, setData] = useState(""); + const {widgets} = useDynamicWidgets(); const onSubmit = (e: SubmitEvent) => { e.preventDefault(); + ComponentsStore.addComponent(componentsId, data && JSON.parse(data)); checkboxRef.current?.click(); }; return ( @@ -25,7 +33,7 @@ export default function ComponentPaletteDrawer() { Add Component -
+