From 3a335950b5d4246240b9cf9fe2f412778add4911 Mon Sep 17 00:00:00 2001 From: 1ilit Date: Tue, 19 Sep 2023 15:49:14 +0300 Subject: [PATCH] im hungry --- src/components/control_panel.jsx | 7 +++- src/components/editor_panel.jsx | 42 +++++++++++---------- src/components/issues.jsx | 41 ++++++++++++++++---- src/pages/editor.jsx | 64 +++++++++++++++++--------------- 4 files changed, 97 insertions(+), 57 deletions(-) diff --git a/src/components/control_panel.jsx b/src/components/control_panel.jsx index 26313a0..64f89eb 100644 --- a/src/components/control_panel.jsx +++ b/src/components/control_panel.jsx @@ -23,7 +23,7 @@ import { import { toPng, toJpeg, toSvg } from "html-to-image"; import { saveAs } from "file-saver"; import { enterFullscreen, exitFullscreen } from "../utils"; -import { LayoutContext } from "../pages/editor"; +import { LayoutContext, SettingsContext } from "../pages/editor"; export default function ControlPanel(props) { const [visible, setVisible] = useState(false); @@ -33,6 +33,7 @@ export default function ControlPanel(props) { ); const [extension, setExtension] = useState(""); const { layout, setLayout } = useContext(LayoutContext); + const { setSettings } = useContext(SettingsContext); const menu = { File: { @@ -173,7 +174,9 @@ export default function ControlPanel(props) { }, "Strict mode": { children: [], - function: () => {}, + function: () => { + setSettings((prev) => ({ ...prev, strictMode: !prev.strictMode })); + }, }, "Reset view": { children: [], diff --git a/src/components/editor_panel.jsx b/src/components/editor_panel.jsx index e091f0d..4bc1b84 100644 --- a/src/components/editor_panel.jsx +++ b/src/components/editor_panel.jsx @@ -8,7 +8,7 @@ import TableOverview from "./table_overview"; import ReferenceOverview from "./reference_overview"; import AreaOverview from "./area_overview"; import { Tab } from "../data/data"; -import { TabContext } from "../pages/editor"; +import { LayoutContext, TabContext } from "../pages/editor"; import NotesOverview from "./notes_overview"; import Issues from "./issues"; @@ -29,6 +29,7 @@ const myTheme = createTheme({ const EditorPanel = (props) => { // const map = useRef(new Map()); const { tab, setTab } = useContext(TabContext); + const { layout } = useContext(LayoutContext); const tabList = [ { tab: "Tables", itemKey: Tab.tables }, @@ -58,28 +59,31 @@ const EditorPanel = (props) => { return (
-
+
-
- { - setTab(key); - }} - collapsible - > -
{contentList[parseInt(tab) - 1]}
-
+ { + setTab(key); + }} + collapsible + > +
{contentList[parseInt(tab) - 1]}
+
+
+ {layout.issues && ( +
+
-
-
- -
+ )}
props.setResize(true)} diff --git a/src/components/issues.jsx b/src/components/issues.jsx index be4fd25..c56f862 100644 --- a/src/components/issues.jsx +++ b/src/components/issues.jsx @@ -1,12 +1,39 @@ -import React from "react"; +import React, { useContext } from "react"; import { Collapse } from "@douyinfe/semi-ui"; +import { SettingsContext } from "../pages/editor"; export default function Issues() { - return
- - - hi + const { settings } = useContext(SettingsContext); + return ( +
+ + + {" "} + Issues +
+ } + itemKey="1" + > +
+ {settings.strictMode ? ( +
+ Strict mode is off so no issues will be displayed. +
+ ) : ( +
+
Issue 1
+
Issue 2
+
Issue 3
+
Issue 4
+
Issue 5
+
Issue 6
+
+ )} +
-
-
; + +
+ ); } diff --git a/src/pages/editor.jsx b/src/pages/editor.jsx index f0088fc..7e1d5e5 100644 --- a/src/pages/editor.jsx +++ b/src/pages/editor.jsx @@ -12,6 +12,7 @@ export const TableContext = createContext(); export const AreaContext = createContext(); export const TabContext = createContext(); export const NoteContext = createContext(); +export const SettingsContext = createContext(); export default function Editor(props) { const [code, setCode] = useState(""); @@ -20,7 +21,7 @@ export default function Editor(props) { const [areas, setAreas] = useState([]); const [notes, setNotes] = useState([]); const [resize, setResize] = useState(false); - const [width, setWidth] = useState(340); + const [width, setWidth] = useState(320); const [selectedTable, setSelectedTable] = useState(""); const [tab, setTab] = useState(Tab.tables); const [layout, setLayout] = useState({ @@ -35,11 +36,14 @@ export default function Editor(props) { notes: true, fullscreen: false, }); + const [settings, setSettings] = useState({ + strictMode: false, + }); const dragHandler = (e) => { if (!resize) return; const w = e.clientX; - if (w > 340) setWidth(w); + if (w > 320) setWidth(w); }; useEffect(() => { @@ -54,39 +58,41 @@ export default function Editor(props) { -
- -
setResize(false)} - onMouseMove={dragHandler} - > - - {layout.sidebar && ( - +
+ +
setResize(false)} + onMouseMove={dragHandler} + > + + {layout.sidebar && ( + + )} + - )} - - - {layout.services && } + + {layout.services && } +
-
+