From 01a0cfb683f98249558e6a7c5963e16ff82173a7 Mon Sep 17 00:00:00 2001 From: SethBurkart123 Date: Sun, 31 Mar 2024 17:56:14 +1100 Subject: [PATCH] refactor theme creator menu --- src/interface/components/Accordian.tsx | 19 +++++-- src/interface/components/Checkbox.tsx | 45 +++++++++++++++++ src/interface/components/CodeEditor.tsx | 4 +- src/interface/pages/ThemeCreator.tsx | 67 ++++++++++++++++--------- 4 files changed, 105 insertions(+), 30 deletions(-) create mode 100644 src/interface/components/Checkbox.tsx diff --git a/src/interface/components/Accordian.tsx b/src/interface/components/Accordian.tsx index 0337cdd5..0fef18e7 100644 --- a/src/interface/components/Accordian.tsx +++ b/src/interface/components/Accordian.tsx @@ -1,17 +1,28 @@ -import { useRef, useState } from 'react'; +import { useEffect, useRef, useState } from 'react'; import { ChevronDownIcon } from '@heroicons/react/24/outline'; -const Accordion = ({ children }: { children: React.ReactNode }) => { +const Accordion = ({ children, title, defaultOpened }: { children: React.ReactNode, title: string, defaultOpened?: boolean }) => { const ref = useRef(null); const [shown, setShown] = useState(false); + useEffect(() => { + const show = async () => { + if (defaultOpened) { + await new Promise(resolve => setTimeout(resolve, 100)); + setShown(true); + } + }; + + show(); + }, []) + return (
-
+
{children}
diff --git a/src/interface/components/Checkbox.tsx b/src/interface/components/Checkbox.tsx new file mode 100644 index 00000000..421f4640 --- /dev/null +++ b/src/interface/components/Checkbox.tsx @@ -0,0 +1,45 @@ +import React from 'react'; + +type CheckboxProps = { + value: boolean; + onChange: (e: React.ChangeEvent) => void; +}; + +const Checkbox: React.FC = ({ value, onChange }) => { + return ( +