From 327581adaf499253d00bf3ae62c5b55dd034e7a0 Mon Sep 17 00:00:00 2001 From: talksik Date: Fri, 10 Jun 2022 07:30:39 -0500 Subject: [PATCH] adding zen provider --- .vscode/settings.json | 2 +- packages/core/requests/createLine.request.ts | 3 -- .../requests/updateLineMemberState.request.ts | 4 --- .../desktop/src/providers/SocketProvider.tsx | 22 ++----------- .../desktop/src/providers/ZenProvider.tsx | 32 +++++++++++++++++++ packages/desktop/src/tree/electronApp.tsx | 9 ++++-- 6 files changed, 41 insertions(+), 31 deletions(-) delete mode 100644 packages/core/requests/createLine.request.ts delete mode 100644 packages/core/requests/updateLineMemberState.request.ts diff --git a/.vscode/settings.json b/.vscode/settings.json index abfc7e4..8c3b864 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,7 +6,7 @@ "editor.tabSize": 2, "workbench.iconTheme": "material-icon-theme", "editor.defaultFormatter": "esbenp.prettier-vscode", - "workbench.colorTheme": "Default Light+", + "workbench.colorTheme": "Solarized Light", "javascript.format.semicolons": "insert", "window.zoomLevel": 1 diff --git a/packages/core/requests/createLine.request.ts b/packages/core/requests/createLine.request.ts deleted file mode 100644 index c5000ae..0000000 --- a/packages/core/requests/createLine.request.ts +++ /dev/null @@ -1,3 +0,0 @@ -export default class CreateLineRequest { - constructor(public otherMemberIds: string[], public lineName?: string) {} -} diff --git a/packages/core/requests/updateLineMemberState.request.ts b/packages/core/requests/updateLineMemberState.request.ts deleted file mode 100644 index 3e15af4..0000000 --- a/packages/core/requests/updateLineMemberState.request.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { LineMemberState } from '../models/line.model'; -export default class UpdateLineMemberState { - constructor(public newState: LineMemberState) {} -} diff --git a/packages/desktop/src/providers/SocketProvider.tsx b/packages/desktop/src/providers/SocketProvider.tsx index 645dfad..337e9ee 100644 --- a/packages/desktop/src/providers/SocketProvider.tsx +++ b/packages/desktop/src/providers/SocketProvider.tsx @@ -1,7 +1,6 @@ import React, { useCallback, useContext, useEffect, useState } from 'react'; import { Socket, io } from 'socket.io-client'; -import FlowState from '../tree/FlowState'; import toast from 'react-hot-toast'; import useAuth from './AuthProvider'; @@ -20,8 +19,6 @@ export function SocketProvider({ children }: { children: React.ReactNode }) { const [$ws, set$ws] = useState(null); - const [flowState, setFlowState] = useState(false); - const initiateSocketStabilityListeners = useCallback((socketConnection: Socket) => { socketConnection.on('connect', () => { toast.success('sockets connected'); @@ -64,19 +61,10 @@ export function SocketProvider({ children }: { children: React.ReactNode }) { }; }, [set$ws, jwtToken, initiateSocketStabilityListeners]); - const handleFlowState = useCallback(() => { - setFlowState(true); - - $ws.disconnect(); - $ws.removeAllListeners(); - }, [setFlowState, $ws]); - const handleReconnect = useCallback(() => { - setFlowState(false); - initiateSocketStabilityListeners($ws); $ws.connect(); - }, [setFlowState, $ws, initiateSocketStabilityListeners]); + }, [$ws, initiateSocketStabilityListeners]); if (!$ws) { return ( @@ -91,13 +79,7 @@ export function SocketProvider({ children }: { children: React.ReactNode }) { ); } - if (flowState) { - return ; - } - - return ( - {children} - ); + return {children}; } export default function useSockets() { diff --git a/packages/desktop/src/providers/ZenProvider.tsx b/packages/desktop/src/providers/ZenProvider.tsx index 09815b1..82cec59 100644 --- a/packages/desktop/src/providers/ZenProvider.tsx +++ b/packages/desktop/src/providers/ZenProvider.tsx @@ -1 +1,33 @@ // handle the flow state and other things + +import React, { useCallback, useContext, useState } from 'react'; + +import FlowState from '../tree/FlowState'; + +interface IZenContext { + handleFlowState?: () => void; +} + +const ZenContext = React.createContext({}); + +export function ZenProvider({ children }: { children: React.ReactNode }) { + const [flowState, setFlowState] = useState(false); + + const handleFlowState = useCallback(() => { + setFlowState(true); + }, [setFlowState]); + + const handleReconnect = useCallback(() => { + setFlowState(false); + }, [setFlowState]); + + if (flowState) { + return ; + } + + return {children}; +} + +export default function useZen() { + return useContext(ZenContext); +} diff --git a/packages/desktop/src/tree/electronApp.tsx b/packages/desktop/src/tree/electronApp.tsx index 84feea7..18964b9 100644 --- a/packages/desktop/src/tree/electronApp.tsx +++ b/packages/desktop/src/tree/electronApp.tsx @@ -5,6 +5,7 @@ import React from 'react'; import { SocketProvider } from '../providers/SocketProvider'; import { StabilityProvider } from '../providers/StabilityProvider'; import { Toaster } from 'react-hot-toast'; +import { ZenProvider } from '../providers/ZenProvider'; export default function ElectronApp() { return ( @@ -12,9 +13,11 @@ export default function ElectronApp() { - - <> - + + + <> + +