From ff9eccc88756165ea271548c217f7fe6be9389f8 Mon Sep 17 00:00:00 2001 From: Artemy Date: Sat, 29 Apr 2023 08:44:44 +0300 Subject: [PATCH] refactor: note inputs --- src/components/settingsInputs.jsx | 68 ++++++++++++++++++++++++++++++- src/pages/create.jsx | 58 ++++++-------------------- 2 files changed, 79 insertions(+), 47 deletions(-) diff --git a/src/components/settingsInputs.jsx b/src/components/settingsInputs.jsx index b457a1d..2a21e0f 100644 --- a/src/components/settingsInputs.jsx +++ b/src/components/settingsInputs.jsx @@ -14,9 +14,12 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ - +/* eslint-disable react-refresh/only-export-components */ import { CheckBox } from "./checkbox"; import { inputStyle, settingsAddInput } from "./styles"; +import { ButtonWithIcon } from "./button"; +import { Complete } from "../components/openai"; +import { DocumentTextIcon } from "@heroicons/react/24/outline"; function SettingsCheckBox({ label, title, className, settingName, onClick }) { return ( @@ -109,10 +112,73 @@ function SettingsSection({ name, children }) { ); } +function NoteNameInput({ value, onChange, preview }) { + return ( + + ); +} + +function NoteTextArea({ value, onChange, preview }) { + return ( + + ); +} + +function NotesAdditionalSettings() { + return ( + <> + {settings.additionalFeatures && ( +
+ + {!!settings.openAiKey && ( + { + Complete(setText, textUpdate); + }} + /> + )} + + +
+ )} + + ); +} + export { SettingsCheckBox, SettingsTextInput, SettingsSelectInput, SettingsSection, setSetting, + NoteNameInput, + NoteTextArea, + NotesAdditionalSettings, }; diff --git a/src/pages/create.jsx b/src/pages/create.jsx index 5c9dc40..f3f521d 100644 --- a/src/pages/create.jsx +++ b/src/pages/create.jsx @@ -16,10 +16,7 @@ */ import { ButtonWithIcon } from "../components/button"; -import { - ChevronDoubleRightIcon, - DocumentTextIcon, -} from "@heroicons/react/24/outline"; +import { ChevronDoubleRightIcon } from "@heroicons/react/24/outline"; import { CheckBox } from "../components/checkbox"; import { useState } from "react"; import RenderMarkdown from "../components/markdown"; @@ -33,11 +30,11 @@ import remarkStringify from "remark-stringify"; import remarkGfm from "remark-gfm"; import remarkMath from "remark-math"; import { + NoteNameInput, + NoteTextArea, + NotesAdditionalSettings, SettingsCheckBox, - SettingsSection, } from "../components/settingsInputs"; -import { inputStyle } from "../components/styles"; -import { Complete } from "../components/openai"; function nameUpdate(val, force) { if (Date.now() - window.lastSocketUpdate > window.socketTimeout || force) { @@ -127,13 +124,7 @@ function CreateNote() { /> - { setName(e.target.value); @@ -146,16 +137,11 @@ function CreateNote() { }, window.socketTimeout); } }} + preview={preview} /> - + preview={preview} + /> {preview && (
@@ -213,27 +199,7 @@ function CreateNote() { />
- {settings.additionalFeatures && ( -
- - {!!settings.openAiKey && ( - { - Complete(setText, textUpdate); - }} - /> - )} - - -
- )} + );