From ad1a58ab5cda481c7efface198be05a1311f05f1 Mon Sep 17 00:00:00 2001 From: talksik Date: Tue, 31 May 2022 06:31:07 -0500 Subject: [PATCH] initial provider boilerplating...will be clean soon!!!! --- packages/desktop/src/app.tsx | 23 +++++++------ .../src/providers/CommunicationsProvider.tsx | 3 ++ .../src/providers/ConversationProvider.tsx | 13 +++++++ .../desktop/src/providers/RouteProvider.tsx | 0 .../desktop/src/providers/SearchProvider.tsx | 0 .../desktop/src/providers/ZenProvider.tsx | 34 +++++++++++++++++++ 6 files changed, 62 insertions(+), 11 deletions(-) create mode 100644 packages/desktop/src/providers/CommunicationsProvider.tsx create mode 100644 packages/desktop/src/providers/ConversationProvider.tsx create mode 100644 packages/desktop/src/providers/RouteProvider.tsx create mode 100644 packages/desktop/src/providers/SearchProvider.tsx create mode 100644 packages/desktop/src/providers/ZenProvider.tsx diff --git a/packages/desktop/src/app.tsx b/packages/desktop/src/app.tsx index 8d43899..a9b14d8 100644 --- a/packages/desktop/src/app.tsx +++ b/packages/desktop/src/app.tsx @@ -1,15 +1,14 @@ -import { ThemeProvider } from '@mui/material'; import * as React from 'react'; -import ReactDOM from 'react-dom/client'; -import { TerminalProvider } from './components/Terminal'; - -import { SnackbarProvider } from 'notistack'; -import { NirvanaTheme } from './mui/NirvanaTheme'; -import { ElectronProvider } from './providers/ElectronProvider'; import { AuthProvider } from './providers/AuthProvider'; - +import { ElectronProvider } from './providers/ElectronProvider'; import ErrorParent from './providers/ErrorBoundary'; +import { NirvanaTheme } from './mui/NirvanaTheme'; +import ReactDOM from 'react-dom/client'; +import { SnackbarProvider } from 'notistack'; +import { TerminalProvider } from './components/Terminal'; +import { ThemeProvider } from '@mui/material'; +import { ZenProvider } from './providers/ZenProvider'; import { connectCore } from '@nirvana/core/src/index'; connectCore(); @@ -27,9 +26,11 @@ root.render( - - <> - + + + <> + + diff --git a/packages/desktop/src/providers/CommunicationsProvider.tsx b/packages/desktop/src/providers/CommunicationsProvider.tsx new file mode 100644 index 0000000..d1ac213 --- /dev/null +++ b/packages/desktop/src/providers/CommunicationsProvider.tsx @@ -0,0 +1,3 @@ +interface CommunicationsProvider { + userLocalStream?: MediaStream; +} diff --git a/packages/desktop/src/providers/ConversationProvider.tsx b/packages/desktop/src/providers/ConversationProvider.tsx new file mode 100644 index 0000000..a6bffe2 --- /dev/null +++ b/packages/desktop/src/providers/ConversationProvider.tsx @@ -0,0 +1,13 @@ +import { ConversationContentMap, ConversationMap } from '../util/types'; + +import React from 'react'; + +interface IConversationContext { + conversationMap: ConversationMap; + conversationContentMap: ConversationContentMap; +} + +const ConversationContext = React.createContext({ + conversationContentMap: {}, + conversationMap: {}, +}); diff --git a/packages/desktop/src/providers/RouteProvider.tsx b/packages/desktop/src/providers/RouteProvider.tsx new file mode 100644 index 0000000..e69de29 diff --git a/packages/desktop/src/providers/SearchProvider.tsx b/packages/desktop/src/providers/SearchProvider.tsx new file mode 100644 index 0000000..e69de29 diff --git a/packages/desktop/src/providers/ZenProvider.tsx b/packages/desktop/src/providers/ZenProvider.tsx new file mode 100644 index 0000000..42d772c --- /dev/null +++ b/packages/desktop/src/providers/ZenProvider.tsx @@ -0,0 +1,34 @@ +import React, { useCallback, useContext, useState } from 'react'; + +interface IZenContext { + flowState: boolean; + toggleFlowState?: () => void; + + hasSecretAccess: boolean; + + handleEscape?: () => void; +} + +const ZenContext = React.createContext({ + flowState: false, + hasSecretAccess: false, +}); + +export function ZenProvider({ children }: { children: React.ReactNode }) { + const [flowState, setFlowState] = useState(false); + const [hasSecretAccess, setHasSecretAccess] = useState(false); + + const toggleFlowState = useCallback(() => { + console.log('toggling flow state'); + }, []); + + return ( + + {children} + + ); +} + +export default function useZen() { + return useContext(ZenContext); +}