cleaning out legacy and making it work

This commit is contained in:
talksik
2022-05-12 17:44:55 -05:00
parent dad50345a6
commit 07b90e12bc
24 changed files with 31 additions and 45 deletions
+2 -1
View File
@@ -9,5 +9,6 @@
"workbench.colorTheme": "Default Light+", "workbench.colorTheme": "Default Light+",
"javascript.format.semicolons": "insert", "javascript.format.semicolons": "insert",
"window.zoomLevel": 1, "window.zoomLevel": 1,
"trunk.trunkGrayOutNonBlockingIssues": false
"eslint.workingDirectories": ["./packages/desktop"]
} }
+2
View File
@@ -0,0 +1,2 @@
**/legacy/**
+4 -6
View File
@@ -1,12 +1,10 @@
import "./styles/index.css"; import './styles/index.css';
import * as React from "react"; import * as React from 'react';
import * as ReactDOM from "react-dom"; import * as ReactDOM from 'react-dom';
import NirvanaApp from "./pages/nirvanaApp";
function render() { function render() {
ReactDOM.render(<NirvanaApp />, document.getElementById("root")); ReactDOM.render(<div>test</div>, document.getElementById('root'));
} }
render(); render();
@@ -1,7 +0,0 @@
export default function IconButton({ children }) {
return (
<button className="bg-gray-800 shadow-md h-7 w-7 text-white text-xs flex items-center justify-center">
{children}
</button>
);
}
@@ -3,19 +3,16 @@ import {
$maxNumberActiveStreams, $maxNumberActiveStreams,
$numberActiveLines, $numberActiveLines,
$selectedLineId, $selectedLineId,
} from "../../controller/recoil"; } from '../../controller/recoil';
import Channels, { import Channels, { DEFAULT_APP_PRESET, Dimensions } from '../../electron/constants';
DEFAULT_APP_PRESET, import { useEffect, useState } from 'react';
Dimensions, import { useRecoilState, useRecoilValue } from 'recoil';
} from "../../electron/constants";
import { useCallback, useEffect, useState } from "react";
import { useRecoilState, useRecoilValue } from "recoil";
import FullMottoLogo from "../../../../components/logo/fullMotto"; import FullMottoLogo from '../../../../components/logo/fullMotto';
import { LineDataProvider } from "../../controller/lineDataProvider"; import { LineDataProvider } from '../../controller/lineDataProvider';
import { LogoType } from "@nirvana/components/logo/full"; import { LogoType } from '@nirvana/components/logo/full';
import NirvanaHeader from "../../components/header/index"; import NirvanaHeader from '../../components/header/index';
import NirvanaTerminal from "../terminal"; import NirvanaTerminal from '../terminal';
export default function NirvanaRouter() { export default function NirvanaRouter() {
const [selectedLineId, setSelectedLineId] = useRecoilState($selectedLineId); const [selectedLineId, setSelectedLineId] = useRecoilState($selectedLineId);
@@ -27,16 +24,16 @@ export default function NirvanaRouter() {
useEffect(() => { useEffect(() => {
// add dimensions if it's not overlay only mode // add dimensions if it's not overlay only mode
let finalDimensions: Dimensions = { height: 0, width: 0 }; let finalDimensions: Dimensions = { height: 0, width: 0 };
let finalPosition: "center" | "topRight"; let finalPosition: 'center' | 'topRight';
const setAlwaysOnTop = desktopMode === "overlayOnly"; const setAlwaysOnTop = desktopMode === 'overlayOnly';
// go hunting for which dimensions to have // go hunting for which dimensions to have
if (desktopMode === "terminal" || desktopMode == "flowState") { if (desktopMode === 'terminal' || desktopMode == 'flowState') {
finalDimensions = DEFAULT_APP_PRESET; finalDimensions = DEFAULT_APP_PRESET;
} }
if (desktopMode === "overlayOnly") { if (desktopMode === 'overlayOnly') {
finalDimensions = { finalDimensions = {
height: 68 + numberOfOverlayRows * 200, height: 68 + numberOfOverlayRows * 200,
width: 360 + 360 * numberOfOverlayColumns, width: 360 + 360 * numberOfOverlayColumns,
@@ -44,12 +41,12 @@ export default function NirvanaRouter() {
} }
console.log( console.log(
"setting new dimensions", 'setting new dimensions',
desktopMode, desktopMode,
numberOfOverlayColumns, numberOfOverlayColumns,
numberOfOverlayRows, numberOfOverlayRows,
finalDimensions, finalDimensions,
setAlwaysOnTop setAlwaysOnTop,
); );
// send the final dimensions to main process // send the final dimensions to main process
@@ -70,7 +67,7 @@ export default function NirvanaRouter() {
useEffect(() => { useEffect(() => {
window.electronAPI.on(Channels.ON_WINDOW_BLUR, () => { window.electronAPI.on(Channels.ON_WINDOW_BLUR, () => {
console.log( console.log(
"window blurring now, should be always on top and then ill tell main process to change dimensions" 'window blurring now, should be always on top and then ill tell main process to change dimensions',
); );
// TODO: testing mode... uncomment both instructions below // TODO: testing mode... uncomment both instructions below
// setDesktopMode("overlayOnly"); // setDesktopMode("overlayOnly");
@@ -83,14 +80,14 @@ export default function NirvanaRouter() {
return ( return (
<div className="flex flex-col flex-1"> <div className="flex flex-col flex-1">
<NirvanaHeader onHeaderFocus={() => setDesktopMode("terminal")} /> <NirvanaHeader onHeaderFocus={() => setDesktopMode('terminal')} />
{desktopMode === "flowState" && <FlowState />} {desktopMode === 'flowState' && <FlowState />}
{/* remount nirvana terminal */} {/* remount nirvana terminal */}
{(desktopMode === "terminal" || desktopMode === "overlayOnly") && ( {(desktopMode === 'terminal' || desktopMode === 'overlayOnly') && (
<LineDataProvider> <LineDataProvider>
<NirvanaTerminal overlayOnly={desktopMode === "overlayOnly"} /> <NirvanaTerminal overlayOnly={desktopMode === 'overlayOnly'} />
</LineDataProvider> </LineDataProvider>
)} )}
</div> </div>
@@ -109,7 +106,7 @@ function FlowState() {
const [quote, setQuote] = useState<Quote>(null); const [quote, setQuote] = useState<Quote>(null);
useEffect(() => { useEffect(() => {
fetch("https://api.quotable.io/random") fetch('https://api.quotable.io/random')
.then((res) => res.json()) .then((res) => res.json())
.then((data: Quote) => { .then((data: Quote) => {
console.warn(data); console.warn(data);
@@ -125,16 +122,11 @@ function FlowState() {
return ( return (
<div className="flex flex-col flex-1 justify-center items-center relative"> <div className="flex flex-col flex-1 justify-center items-center relative">
{/* <img src="https://source.unsplash.com/random/?nature" /> */} {/* <img src="https://source.unsplash.com/random/?nature" /> */}
<FullMottoLogo <FullMottoLogo type={LogoType.small} className={'absolute bottom-2 mx-auto'} />
type={LogoType.small}
className={"absolute bottom-2 mx-auto"}
/>
{quote && ( {quote && (
<span className="flex flex-col justify-center items-center max-w-screen-sm"> <span className="flex flex-col justify-center items-center max-w-screen-sm">
<span className="text-xl text-gray-800 font-semibold text-center"> <span className="text-xl text-gray-800 font-semibold text-center">"{quote.content}"</span>
"{quote.content}"
</span>
<span className="tex-md italic text-gray-400">{quote.author}</span> <span className="tex-md italic text-gray-400">{quote.author}</span>
</span> </span>
)} )}