mirror of
https://github.com/LinoSchmidt/StickExporterTX.git
synced 2026-03-21 01:51:15 +01:00
Renamed every side to page
This commit is contained in:
@@ -2,11 +2,11 @@ import { blenderPath, blenderScriptPath, dataPath, templatePath } from "./paths"
|
|||||||
import {spawn} from "child_process";
|
import {spawn} from "child_process";
|
||||||
import logger from "./logger";
|
import logger from "./logger";
|
||||||
import { setBlenderLoading, setBlenderStatus } from "./ui/menu";
|
import { setBlenderLoading, setBlenderStatus } from "./ui/menu";
|
||||||
import { setLogNumber, setPastTime, setRemainingTime, setRenderDisplayProgress, setStatus, setPastTimeNow, setRemainingTimeNow } from "./ui/renderingSide";
|
import { setLogNumber, setPastTime, setRemainingTime, setRenderDisplayProgress, setStatus, setPastTimeNow, setRemainingTimeNow } from "./ui/renderingPage";
|
||||||
import {imageLoading, imageLoaded} from "./ui/settingsSide";
|
import {imageLoading, imageLoaded} from "./ui/settingsPage";
|
||||||
import { getLogList, getLogSize, settingList } from "./settings";
|
import { getLogList, getLogSize, settingList } from "./settings";
|
||||||
import isValid from "is-valid-path";
|
import isValid from "is-valid-path";
|
||||||
import { sideSetRendering, setProgress, openSide, Side } from "../renderer";
|
import { pageSetRendering, setProgress, openPage, Page } from "../renderer";
|
||||||
import { ipcRenderer } from "electron";
|
import { ipcRenderer } from "electron";
|
||||||
// import { getDoNotDisturb } from "electron-notification-state";
|
// import { getDoNotDisturb } from "electron-notification-state";
|
||||||
|
|
||||||
@@ -113,10 +113,10 @@ function startBlender() {
|
|||||||
setRenderProgress(parseInt(log), false, parseInt(frames), parseInt(lastFrame));
|
setRenderProgress(parseInt(log), false, parseInt(frames), parseInt(lastFrame));
|
||||||
}
|
}
|
||||||
if(dataStr.includes("Finished") && renderingVideo) {
|
if(dataStr.includes("Finished") && renderingVideo) {
|
||||||
sideSetRendering(false);
|
pageSetRendering(false);
|
||||||
renderInfo.endTime = new Date().getTime();
|
renderInfo.endTime = new Date().getTime();
|
||||||
if(lastFrame == frames) {
|
if(lastFrame == frames) {
|
||||||
openSide(Side.RenderFinish);
|
openPage(Page.RenderFinish);
|
||||||
// TODO: only show notification if not in do not disturb mode, currently not working. Details: https://github.com/felixrieseberg/macos-notification-state/issues/30
|
// TODO: only show notification if not in do not disturb mode, currently not working. Details: https://github.com/felixrieseberg/macos-notification-state/issues/30
|
||||||
new Notification("Render Finished", {
|
new Notification("Render Finished", {
|
||||||
body: "Rendering finished successfully!"
|
body: "Rendering finished successfully!"
|
||||||
@@ -140,7 +140,7 @@ function startBlender() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(dataStr.includes("Waiting for command")) {
|
if(dataStr.includes("Waiting for command")) {
|
||||||
sideSetRendering(false);
|
pageSetRendering(false);
|
||||||
setProgress();
|
setProgress();
|
||||||
|
|
||||||
if(renderingPicture) {
|
if(renderingPicture) {
|
||||||
@@ -170,7 +170,7 @@ function startBlender() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function restartBlender() {
|
function restartBlender() {
|
||||||
sideSetRendering(false);
|
pageSetRendering(false);
|
||||||
blenderConsole.kill();
|
blenderConsole.kill();
|
||||||
blenderConsole = spawn(blenderPath, blenderStartString);
|
blenderConsole = spawn(blenderPath, blenderStartString);
|
||||||
startBlender();
|
startBlender();
|
||||||
@@ -220,7 +220,7 @@ function blender(command:blenderCmd) {
|
|||||||
|
|
||||||
readyToAcceptCommand = false;
|
readyToAcceptCommand = false;
|
||||||
renderingVideo = true;
|
renderingVideo = true;
|
||||||
sideSetRendering(true);
|
pageSetRendering(true);
|
||||||
setBlenderStatus("Rendering");
|
setBlenderStatus("Rendering");
|
||||||
setBlenderLoading(true);
|
setBlenderLoading(true);
|
||||||
blenderConsole.stdin.write("startRendering\n");
|
blenderConsole.stdin.write("startRendering\n");
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {platformCharacter} from "../paths";
|
|||||||
import {getLogTime} from "../logReader";
|
import {getLogTime} from "../logReader";
|
||||||
import {formatDate} from "../dateFormat";
|
import {formatDate} from "../dateFormat";
|
||||||
|
|
||||||
function MainSide() {
|
function MainPage() {
|
||||||
const [logs, setLogs] = useState(settingList.log);
|
const [logs, setLogs] = useState(settingList.log);
|
||||||
const [output, setOutput] = useState(settingList.output);
|
const [output, setOutput] = useState(settingList.output);
|
||||||
const [logTable, setLogTable] = useState([<tr key={0}></tr>]);
|
const [logTable, setLogTable] = useState([<tr key={0}></tr>]);
|
||||||
@@ -143,4 +143,4 @@ function openVid(updateHook:React.Dispatch<React.SetStateAction<string>>) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export default MainSide;
|
export default MainPage;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import React, {useState} from "react";
|
import React, {useState} from "react";
|
||||||
import { openSide, Side } from "../../renderer";
|
import { openPage, Page } from "../../renderer";
|
||||||
import { platform, Platform } from "../platform";
|
import { platform, Platform } from "../platform";
|
||||||
import { ipcRenderer } from "electron";
|
import { ipcRenderer } from "electron";
|
||||||
|
|
||||||
@@ -20,8 +20,8 @@ const WinButtons = () => (
|
|||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
|
|
||||||
const MainSideButtonsWin = () => (
|
const MainPageButtonsWin = () => (
|
||||||
<div id="settings-button-win" onClick={() => openSide(Side.Settings)}>
|
<div id="settings-button-win" onClick={() => openPage(Page.Settings)}>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||||
{/* Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. */}
|
{/* Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. */}
|
||||||
<path
|
<path
|
||||||
@@ -29,8 +29,8 @@ const MainSideButtonsWin = () => (
|
|||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
const MainSideButtonsLinux = () => (
|
const MainPageButtonsLinux = () => (
|
||||||
<div id="settings-button-linux" onClick={() => openSide(Side.Settings)}>
|
<div id="settings-button-linux" onClick={() => openPage(Page.Settings)}>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||||
{/* Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. */}
|
{/* Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. */}
|
||||||
<path
|
<path
|
||||||
@@ -39,8 +39,8 @@ const MainSideButtonsLinux = () => (
|
|||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|
||||||
const SettingsSideButtonsWin = () => (
|
const SettingsPageButtonsWin = () => (
|
||||||
<div id="backButton-win" onClick={() => openSide(Side.Main)}>
|
<div id="backButton-win" onClick={() => openPage(Page.Main)}>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||||
{/* <!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --> */}
|
{/* <!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --> */}
|
||||||
<path d="M256 0C114.6 0 0 114.6 0 256c0 141.4 114.6 256 256 256s256-114.6 256-256C512 114.6 397.4 0 256 0zM310.6 345.4c12.5 12.5 12.5 32.75 0 45.25s-32.75 12.5-45.25 0l-112-112C147.1 272.4 144 264.2 144 256s3.125-16.38 9.375-22.62l112-112c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25L221.3 256L310.6 345.4z"/>
|
<path d="M256 0C114.6 0 0 114.6 0 256c0 141.4 114.6 256 256 256s256-114.6 256-256C512 114.6 397.4 0 256 0zM310.6 345.4c12.5 12.5 12.5 32.75 0 45.25s-32.75 12.5-45.25 0l-112-112C147.1 272.4 144 264.2 144 256s3.125-16.38 9.375-22.62l112-112c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25L221.3 256L310.6 345.4z"/>
|
||||||
@@ -48,8 +48,8 @@ const SettingsSideButtonsWin = () => (
|
|||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|
||||||
const SettingsSideButtonsLinux = () => (
|
const SettingsPageButtonsLinux = () => (
|
||||||
<button className="back-button-linux" onClick={() => openSide(Side.Main)}>Back</button>
|
<button className="back-button-linux" onClick={() => openPage(Page.Main)}>Back</button>
|
||||||
)
|
)
|
||||||
|
|
||||||
const BlenderLoadingSVG = () => (
|
const BlenderLoadingSVG = () => (
|
||||||
@@ -65,14 +65,14 @@ const BlenderReadySVG = () => (
|
|||||||
</svg>
|
</svg>
|
||||||
)
|
)
|
||||||
|
|
||||||
function WindowsMenu({side, blenderLoading, blenderStatus}:{side:Side, blenderLoading:boolean, blenderStatus:string}) {
|
function WindowsMenu({page, blenderLoading, blenderStatus}:{page:Page, blenderLoading:boolean, blenderStatus:string}) {
|
||||||
return (
|
return (
|
||||||
<header id="winHeader">
|
<header id="winHeader">
|
||||||
<h4>
|
<h4>
|
||||||
{(side == Side.Main)? "StickExporterTX" : null}
|
{(page == Page.Main)? "StickExporterTX" : null}
|
||||||
{(side == Side.Settings)? "Settings" : null}
|
{(page == Page.Settings)? "Settings" : null}
|
||||||
{(side == Side.Rendering)? "Rendering" : null}
|
{(page == Page.Rendering)? "Rendering" : null}
|
||||||
{(side == Side.RenderFinish)? "Render Finished" : null}
|
{(page == Page.RenderFinish)? "Render Finished" : null}
|
||||||
</h4>
|
</h4>
|
||||||
<div id="blender-info-win">
|
<div id="blender-info-win">
|
||||||
<div id="blender-icon-win">
|
<div id="blender-icon-win">
|
||||||
@@ -80,21 +80,21 @@ function WindowsMenu({side, blenderLoading, blenderStatus}:{side:Side, blenderLo
|
|||||||
</div>
|
</div>
|
||||||
<p>{blenderStatus}</p>
|
<p>{blenderStatus}</p>
|
||||||
</div>
|
</div>
|
||||||
{(side == Side.Main)? <MainSideButtonsWin/> : null}
|
{(page == Page.Main)? <MainPageButtonsWin/> : null}
|
||||||
{(side == Side.Settings)? <SettingsSideButtonsWin/> : null}
|
{(page == Page.Settings)? <SettingsPageButtonsWin/> : null}
|
||||||
<WinButtons/>
|
<WinButtons/>
|
||||||
</header>
|
</header>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
function LinuxMenu({side, blenderLoading, blenderStatus}:{side:Side, blenderLoading:boolean, blenderStatus:string}) {
|
function LinuxMenu({page, blenderLoading, blenderStatus}:{page:Page, blenderLoading:boolean, blenderStatus:string}) {
|
||||||
return (
|
return (
|
||||||
<header id="linuxHeader">
|
<header id="linuxHeader">
|
||||||
<h1>
|
<h1>
|
||||||
{(side == Side.Main)? "StickExporterTX" : null}
|
{(page == Page.Main)? "StickExporterTX" : null}
|
||||||
{(side == Side.Settings)? "Settings" : null}
|
{(page == Page.Settings)? "Settings" : null}
|
||||||
{(side == Side.Rendering)? "Rendering" : null}
|
{(page == Page.Rendering)? "Rendering" : null}
|
||||||
{(side == Side.RenderFinish)? "Render Finished" : null}
|
{(page == Page.RenderFinish)? "Render Finished" : null}
|
||||||
</h1>
|
</h1>
|
||||||
<div id="blender-info-linux">
|
<div id="blender-info-linux">
|
||||||
<div id="blender-icon-linux">
|
<div id="blender-icon-linux">
|
||||||
@@ -102,8 +102,8 @@ function LinuxMenu({side, blenderLoading, blenderStatus}:{side:Side, blenderLoad
|
|||||||
</div>
|
</div>
|
||||||
<p>{blenderStatus}</p>
|
<p>{blenderStatus}</p>
|
||||||
</div>
|
</div>
|
||||||
{(side == Side.Main)? <MainSideButtonsLinux/> : null}
|
{(page == Page.Main)? <MainPageButtonsLinux/> : null}
|
||||||
{(side == Side.Settings)? <SettingsSideButtonsLinux/> : null}
|
{(page == Page.Settings)? <SettingsPageButtonsLinux/> : null}
|
||||||
</header>
|
</header>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -111,7 +111,7 @@ function LinuxMenu({side, blenderLoading, blenderStatus}:{side:Side, blenderLoad
|
|||||||
let setBlenderLoading:React.Dispatch<React.SetStateAction<boolean>>;
|
let setBlenderLoading:React.Dispatch<React.SetStateAction<boolean>>;
|
||||||
let setBlenderStatus:React.Dispatch<React.SetStateAction<string>>;
|
let setBlenderStatus:React.Dispatch<React.SetStateAction<string>>;
|
||||||
|
|
||||||
function Menu({side}:{side:Side}) {
|
function Menu({page}:{page:Page}) {
|
||||||
|
|
||||||
const [blenderLoading, setBlenderLoadingInner] = useState(true);
|
const [blenderLoading, setBlenderLoadingInner] = useState(true);
|
||||||
setBlenderLoading = setBlenderLoadingInner;
|
setBlenderLoading = setBlenderLoadingInner;
|
||||||
@@ -120,8 +120,8 @@ function Menu({side}:{side:Side}) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{(platform === Platform.Windows)? <WindowsMenu side={side} blenderLoading={blenderLoading} blenderStatus={blenderStatus}/> : null}
|
{(platform === Platform.Windows)? <WindowsMenu page={page} blenderLoading={blenderLoading} blenderStatus={blenderStatus}/> : null}
|
||||||
{(platform === Platform.Linux)? <LinuxMenu side={side} blenderLoading={blenderLoading} blenderStatus={blenderStatus}/> : null}
|
{(platform === Platform.Linux)? <LinuxMenu page={page} blenderLoading={blenderLoading} blenderStatus={blenderStatus}/> : null}
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import React, { CSSProperties } from "react";
|
import React, { CSSProperties } from "react";
|
||||||
import {openSide, Side} from "../../renderer";
|
import {openPage, Page} from "../../renderer";
|
||||||
import {renderInfo} from "../blenderController";
|
import {renderInfo} from "../blenderController";
|
||||||
import openFolder from "../openFolder";
|
import openFolder from "../openFolder";
|
||||||
import {settingList} from "../settings";
|
import {settingList} from "../settings";
|
||||||
@@ -17,7 +17,7 @@ const detailsInnerStyle:CSSProperties = {
|
|||||||
marginRight: "5px",
|
marginRight: "5px",
|
||||||
}
|
}
|
||||||
|
|
||||||
function RenderFinishSide() {
|
function RenderFinishPage() {
|
||||||
const [logPlaying, setLogPlaying] = React.useState(path.join(settingList.output, settingList.log.substring(1).slice(0, -1).split('""')[0].split(platformCharacter())[settingList.log.substring(1).slice(0, -1).split('""')[0].split(platformCharacter()).length - 1].replace(".csv", "."+settingList.videoFormat)));
|
const [logPlaying, setLogPlaying] = React.useState(path.join(settingList.output, settingList.log.substring(1).slice(0, -1).split('""')[0].split(platformCharacter())[settingList.log.substring(1).slice(0, -1).split('""')[0].split(platformCharacter()).length - 1].replace(".csv", "."+settingList.videoFormat)));
|
||||||
|
|
||||||
const [logList, setLogList] = React.useState([<li key={0}></li>]);
|
const [logList, setLogList] = React.useState([<li key={0}></li>]);
|
||||||
@@ -75,7 +75,7 @@ function RenderFinishSide() {
|
|||||||
marginRight: "10px",
|
marginRight: "10px",
|
||||||
backgroundColor: "#00c24a",
|
backgroundColor: "#00c24a",
|
||||||
}} onClick={() => {
|
}} onClick={() => {
|
||||||
openSide(Side.Main);
|
openPage(Page.Main);
|
||||||
}}>Finish</button>
|
}}>Finish</button>
|
||||||
<button onClick={() => openFolder(settingList.output)}>Open Output Folder</button>
|
<button onClick={() => openFolder(settingList.output)}>Open Output Folder</button>
|
||||||
<div style={{
|
<div style={{
|
||||||
@@ -90,4 +90,4 @@ function RenderFinishSide() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default RenderFinishSide;
|
export default RenderFinishPage;
|
||||||
@@ -12,7 +12,7 @@ let setRemainingTime:React.Dispatch<React.SetStateAction<string>>;
|
|||||||
let pastTimeNow = "0m 0s";
|
let pastTimeNow = "0m 0s";
|
||||||
let remainingTimeNow = "calculating...";
|
let remainingTimeNow = "calculating...";
|
||||||
|
|
||||||
function RenderingSide() {
|
function RenderingPage() {
|
||||||
const [logNumber, setLogNumberInner] = useState("0");
|
const [logNumber, setLogNumberInner] = useState("0");
|
||||||
setLogNumber = setLogNumberInner;
|
setLogNumber = setLogNumberInner;
|
||||||
const [status, setStatusInner] = useState("Idle");
|
const [status, setStatusInner] = useState("Idle");
|
||||||
@@ -82,7 +82,7 @@ function setRemainingTimeNow(time:string) {
|
|||||||
remainingTimeNow = time;
|
remainingTimeNow = time;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default RenderingSide;
|
export default RenderingPage;
|
||||||
export {
|
export {
|
||||||
setLogNumber,
|
setLogNumber,
|
||||||
setStatus,
|
setStatus,
|
||||||
@@ -6,7 +6,7 @@ import path from "path";
|
|||||||
|
|
||||||
let setRenderImg:React.Dispatch<React.SetStateAction<string>>;
|
let setRenderImg:React.Dispatch<React.SetStateAction<string>>;
|
||||||
let setRenderLoading:React.Dispatch<React.SetStateAction<boolean>>;
|
let setRenderLoading:React.Dispatch<React.SetStateAction<boolean>>;
|
||||||
let sideLoaded = false;
|
let pageLoaded = false;
|
||||||
|
|
||||||
function picturePath() {
|
function picturePath() {
|
||||||
return path.join(dataPath, "render.png?t="+Date.now());
|
return path.join(dataPath, "render.png?t="+Date.now());
|
||||||
@@ -57,7 +57,7 @@ function VideoFormatWarning({videoFormat}:{videoFormat:VideoFormat}) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function SettingsSide() {
|
function SettingsPage() {
|
||||||
|
|
||||||
const [fps, setFps] = useState(settingList.fps);
|
const [fps, setFps] = useState(settingList.fps);
|
||||||
const [width, setWidth] = useState(settingList.width);
|
const [width, setWidth] = useState(settingList.width);
|
||||||
@@ -86,7 +86,7 @@ function SettingsSide() {
|
|||||||
return () => clearTimeout(timer);
|
return () => clearTimeout(timer);
|
||||||
}, [fps, videoFormat]);
|
}, [fps, videoFormat]);
|
||||||
|
|
||||||
sideLoaded = true;
|
pageLoaded = true;
|
||||||
|
|
||||||
const VideoFormatOptions = Object.keys(VideoFormat).filter((el) => { return isNaN(Number(el)) }).map(key => {
|
const VideoFormatOptions = Object.keys(VideoFormat).filter((el) => { return isNaN(Number(el)) }).map(key => {
|
||||||
return <option key={key} value={key}>{key}</option>;
|
return <option key={key} value={key}>{key}</option>;
|
||||||
@@ -158,16 +158,16 @@ function SettingsSide() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function imageLoading() {
|
function imageLoading() {
|
||||||
if(sideLoaded) setRenderLoading(true);
|
if(pageLoaded) setRenderLoading(true);
|
||||||
}
|
}
|
||||||
function imageLoaded() {
|
function imageLoaded() {
|
||||||
if(sideLoaded) {
|
if(pageLoaded) {
|
||||||
setRenderImg(picturePath());
|
setRenderImg(picturePath());
|
||||||
setRenderLoading(false);
|
setRenderLoading(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default SettingsSide;
|
export default SettingsPage;
|
||||||
export {
|
export {
|
||||||
imageLoading,
|
imageLoading,
|
||||||
imageLoaded
|
imageLoaded
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import ReactDOM from "react-dom/client";
|
import ReactDOM from "react-dom/client";
|
||||||
import Menu from "./components/ui/menu";
|
import Menu from "./components/ui/menu";
|
||||||
import MainSide from "./components/ui/mainSide";
|
import MainPage from "./components/ui/mainPage";
|
||||||
import SettingsSite from "./components/ui/settingsSide";
|
import SettingsPage from "./components/ui/settingsPage";
|
||||||
import RenderingSide from "./components/ui/renderingSide";
|
import RenderingPage from "./components/ui/renderingPage";
|
||||||
import RenderFinishSide from "./components/ui/renderFinishSide";
|
import RenderFinishPage from "./components/ui/renderFinishPage";
|
||||||
import "./index.css";
|
import "./index.css";
|
||||||
import "./toggle-switchy.css";
|
import "./toggle-switchy.css";
|
||||||
import { startBlender } from "./components/blenderController";
|
import { startBlender } from "./components/blenderController";
|
||||||
import {ipcRenderer} from "electron";
|
import {ipcRenderer} from "electron";
|
||||||
|
|
||||||
enum Side {
|
enum Page {
|
||||||
Main,
|
Main,
|
||||||
Rendering,
|
Rendering,
|
||||||
Settings,
|
Settings,
|
||||||
@@ -18,39 +18,39 @@ enum Side {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let rendering = false;
|
let rendering = false;
|
||||||
let currentSide = Side.Main;
|
let currentPage = Page.Main;
|
||||||
|
|
||||||
const root = ReactDOM.createRoot(document.getElementById("root") as HTMLElement);
|
const root = ReactDOM.createRoot(document.getElementById("root") as HTMLElement);
|
||||||
function openSide(side:Side) {
|
function openPage(page:Page) {
|
||||||
if(side == Side.Main && rendering) {
|
if(page == Page.Main && rendering) {
|
||||||
side = Side.Rendering;
|
page = Page.Rendering;
|
||||||
}
|
}
|
||||||
currentSide = side;
|
currentPage = page;
|
||||||
|
|
||||||
root.render(
|
root.render(
|
||||||
<React.StrictMode>
|
<React.StrictMode>
|
||||||
<Menu side={side}/>
|
<Menu page={page}/>
|
||||||
{(side === Side.Main)? <MainSide/> : null}
|
{(page === Page.Main)? <MainPage/> : null}
|
||||||
{(side === Side.Settings)? <SettingsSite/> : null}
|
{(page === Page.Settings)? <SettingsPage/> : null}
|
||||||
{(side === Side.Rendering)? <RenderingSide/> : null}
|
{(page === Page.Rendering)? <RenderingPage/> : null}
|
||||||
{(side === Side.RenderFinish)? <RenderFinishSide/> : null}
|
{(page === Page.RenderFinish)? <RenderFinishPage/> : null}
|
||||||
</React.StrictMode>
|
</React.StrictMode>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
openSide(currentSide);
|
openPage(currentPage);
|
||||||
|
|
||||||
startBlender();
|
startBlender();
|
||||||
|
|
||||||
function sideSetRendering(value:boolean) {
|
function pageSetRendering(value:boolean) {
|
||||||
rendering = value;
|
rendering = value;
|
||||||
if(value) {
|
if(value) {
|
||||||
if(currentSide === Side.Main) {
|
if(currentPage === Page.Main) {
|
||||||
openSide(Side.Rendering);
|
openPage(Page.Rendering);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(currentSide === Side.Rendering) {
|
if(currentPage === Page.Rendering) {
|
||||||
openSide(Side.Main);
|
openPage(Page.Main);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -64,8 +64,8 @@ function setProgress(value?:number) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
openSide,
|
openPage,
|
||||||
Side,
|
Page,
|
||||||
sideSetRendering,
|
pageSetRendering,
|
||||||
setProgress
|
setProgress
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user