This commit is contained in:
IDONTSUDO 2024-07-03 15:25:51 +03:00
parent 559262db34
commit 50822a031d
65 changed files with 7738 additions and 1412 deletions

View file

@ -1,14 +1,13 @@
import * as React from "react";
import { DrawersSceneManager, SceneMangerStore, StoreMode } from "./scene_manager_store";
import { observer } from "mobx-react-lite";
import { Drawer, Popover } from "antd";
import { useNavigate, useParams } from "react-router-dom";
import { MainPage } from "../../../core/ui/pages/main_page";
import { CoreText, CoreTextType } from "../../../core/ui/text/text";
import { Drawer } from "antd";
import { CoreButton } from "../../../core/ui/button/button";
import { CoreInput } from "../../../core/ui/input/input";
import { DrawersDataset } from "../../dataset/dataset_store";
import { Popover } from "antd";
import { Icon } from "../../../core/ui/icons/icons";
import { sceneManagerForms } from "./forms/scene_manager_forms";
@ -34,6 +33,7 @@ export const SceneManger = observer(() => {
return (
<MainPage
page={"Сцена"}
panelStyle={{ display: store.storeMode.isEqual(StoreMode.sceneInstance) ? "" : "none" }}
panelChildren={
<div style={{ width: "100%", height: "100%" }}>
<div style={{ height: 260, width: "100%", padding: 10 }}>
@ -45,8 +45,8 @@ export const SceneManger = observer(() => {
content={
<div>
{store.popoverItems.map((el, i) => (
<div onClick={() => el.fn()}>
<CoreText key={i} text={el.name} type={CoreTextType.medium} color="white" />
<div key={i} onClick={() => el.fn()}>
<CoreText text={el.name} type={CoreTextType.medium} color="white" />
</div>
))}
</div>
@ -56,11 +56,33 @@ export const SceneManger = observer(() => {
<CoreButton text="Добавить" filled={true} />
</span>
</Popover>
<div style={{ position: "relative" }}>
<div style={{ position: "absolute" }}>
<div style={{ position: "relative", left: 20 }}>
{store.sceneHelperInstruments.map((el, i) => (
<div
key={i}
onClick={() => el.onClick()}
style={{
marginTop: 4,
width: 50,
height: 50,
backgroundColor: el.isSelected ? "rgba(160, 132, 255, 1)" : "rgba(99, 81, 159, 1)",
border: "1px solid",
borderRadius: 5,
}}
>
<Icon type={el.icon} />
</div>
))}
</div>
</div>
</div>
</div>
<div style={{ height: 10 }} />
<div
style={{
borderRadius: 22,
borderRadius: 7,
height: 200,
width: "-webkit-fill-available",
backgroundColor: "white",
@ -71,15 +93,29 @@ export const SceneManger = observer(() => {
<div
key={index}
style={{
paddingLeft: 20,
display: "flex",
backgroundColor: index.isEven() ? "rgba(217, 217, 217, 0.27)" : "",
backgroundColor: el.isSelected
? "rgba(104, 80, 164, 0.47)"
: index.isEven()
? "rgba(217, 217, 217, 0.27)"
: "",
alignItems: "center",
flexDirection: "row",
justifyContent: "space-between",
width: "100%",
}}
onClick={() => store.selectSceneItems(el.name, index, !el.isSelected)}
>
<Icon type={el.icon} />
<Icon width={13} height={13} type={el.icon} style={{ marginLeft: 10 }} />
<div style={{ width: 10 }} />
<CoreText text={el.name} type={CoreTextType.small} />
<Icon
type="DeleteCircle"
width={13}
height={13}
onClick={() => store.deleteSceneItem(el)}
style={{ marginRight: 10 }}
/>
</div>
))}
</div>
@ -92,12 +128,12 @@ export const SceneManger = observer(() => {
borderRadius: 7,
backgroundColor: "white",
margin: 10,
overflow: "auto",
}}
>
{sceneManagerForms(store.activeFormDependency ?? {}, store).map((el) => {
{sceneManagerForms(store.activeFormDependency ?? {}, store).map((el, i) => {
if (el.name.isEqual(store.activeFormType ?? "")) {
return <>{el.component}</>;
return <span key={i}>{el.component}</span>;
}
return <></>;
})}