emma-hermes/ui-tui/src/app.tsx

26 lines
805 B
TypeScript

import { useStore } from '@nanostores/react'
import { GatewayProvider } from './app/gatewayContext.js'
import { $uiState } from './app/uiStore.js'
import { useMainApp } from './app/useMainApp.js'
import { AppLayout } from './components/appLayout.js'
import type { GatewayClient } from './gatewayClient.js'
export function App({ gw }: { gw: GatewayClient }) {
const { appActions, appComposer, appProgress, appStatus, appTranscript, gateway } = useMainApp(gw)
const { mouseTracking } = useStore($uiState)
return (
<GatewayProvider value={gateway}>
<AppLayout
actions={appActions}
composer={appComposer}
mouseTracking={mouseTracking}
progress={appProgress}
status={appStatus}
transcript={appTranscript}
/>
</GatewayProvider>
)
}