adding some overlay stuff but still need better ux

This commit is contained in:
talksik
2022-05-01 16:04:58 -05:00
parent 78e247732c
commit 38061e3545
10 changed files with 120 additions and 39 deletions
@@ -1,4 +1,5 @@
import { ILineDetails } from "../router";
import LineIcon from "../../components/lines/lineIcon/index";
export default function LineDetailsTerminal({
selectedLine,
@@ -6,8 +7,28 @@ export default function LineDetailsTerminal({
selectedLine: ILineDetails;
}) {
return (
<div className="flex flex-col flex-1">
this is the line details for {selectedLine.name}
<div
id={`${selectedLine.lineId}-lineDetailsTerminal`}
className="flex flex-col flex-1 bg-gray-100 h-full"
>
{/* line overview header */}
<div className="flex flex-row p-3 items-center gap-1">
<LineIcon sourceImages={selectedLine.profilePictures} />
<span className="flex flex-col items-start gap-1">
<h2
className={`text-inherit text-md truncate ${
selectedLine.hasNewActivity ? "font-semibold" : ""
}`}
>
{selectedLine.name}
</h2>
<span className="text-xs text-gray-300">
{`${selectedLine.numberMembers} members`}
</span>
</span>
</div>
</div>
);
}
+5 -1
View File
@@ -66,7 +66,11 @@ function NirvanaApp() {
<ProtectedRoute>
<NirvanaRouter />
</ProtectedRoute>
<ReactQueryDevtools initialIsOpen={true} position={"bottom-left"} />
<ReactQueryDevtools
initialIsOpen={false}
position={"bottom-left"}
/>
</RecoilRoot>
</ThemeProvider>
<Toaster />
+3 -1
View File
@@ -1,3 +1,5 @@
export default function Overlay() {
return <div className="flex flex-col flex-1">this is the overlay</div>;
return (
<div className="flex flex-col bg-transparent">this is the overlay</div>
);
}
+27 -9
View File
@@ -1,4 +1,7 @@
import { DimensionPresets, Dimensions } from "../../electron/constants";
import Channels, {
DimensionPresets,
Dimensions,
} from "../../electron/constants";
import React, { useState } from "react";
import { useCallback, useEffect, useMemo } from "react";
@@ -224,12 +227,23 @@ const testLines: ILineDetails[] = [
),
];
type DesktopMode = "overlay" | "terminal" | "terminalAndDetails";
export default function NirvanaRouter() {
const [selectedLineId, setSelectedLineId] = useState<string>(null);
const [desktopMode, setDesktopMode] = useState<Dimensions>(
DimensionPresets.terminal
);
useEffect(() => {
window.electronAPI.on(Channels.ON_WINDOW_BLUR, () => {
console.log(
"window blurring now, should be always on top and then ill tell main process to change dimensions"
);
setDesktopMode(DimensionPresets.overlayOnlyMode);
});
}, []);
useEffect(() => {
window.electronAPI.window.resizeWindow(desktopMode);
}, [desktopMode]);
@@ -237,12 +251,12 @@ export default function NirvanaRouter() {
useEffect(() => {
if (selectedLineId) {
setSelectedLineId(selectedLineId);
setDesktopMode(DimensionPresets.terminalDetailOverlay);
setDesktopMode(DimensionPresets.terminalAndDetails);
} else {
setSelectedLineId(null);
setDesktopMode(DimensionPresets.terminal);
}
}, [selectedLineId, desktopMode, setDesktopMode]);
}, [selectedLineId, setDesktopMode]);
/** show user line details */
const handleSelectLine = useCallback(
@@ -262,14 +276,18 @@ export default function NirvanaRouter() {
<NirvanaHeader />
<div className="flex flex-row">
<NirvanaTerminal
handleSelectLine={handleSelectLine}
allLines={testLines}
/>
{(desktopMode === DimensionPresets.terminal ||
desktopMode === DimensionPresets.terminalAndDetails) && (
<NirvanaTerminal
handleSelectLine={handleSelectLine}
allLines={testLines}
/>
)}
{selectedLine && <LineDetailsTerminal selectedLine={selectedLine} />}
{desktopMode === DimensionPresets.terminalAndDetails &&
selectedLine && <LineDetailsTerminal selectedLine={selectedLine} />}
{/* <Overlay /> */}
<Overlay />
</div>
</div>
);
@@ -12,6 +12,8 @@ export default function NirvanaTerminal({
handleSelectLine: (lineId: string) => void;
allLines: ILineDetails[];
}) {
// todo: sort/order based on activity and activity date and currently broadcasting/live
const toggleTunedLines = useMemo(
() => allLines.filter((line) => line.isUserToggleTunedIn),
[]