feat: add companion API and Android APK shell

This commit is contained in:
Hermes Agent
2026-07-09 04:43:00 +00:00
parent bd0cf34aa3
commit 7eb9648eb7
92 changed files with 7907 additions and 877 deletions
+11 -11
View File
@@ -1,22 +1,22 @@
import { type ReactNode, useState } from 'react';
import { AppShell } from '../components/app-shell/AppShell.js';
import { ActivityScreen } from '../screens/ActivityScreen/ActivityScreen.js';
import { AskScreen } from '../screens/AskScreen/AskScreen.js';
import { CronScreen } from '../screens/CronScreen/CronScreen.js';
import { ChatScreen } from '../screens/AskScreen/ChatScreen.js';
import { FilesScreen } from '../screens/FilesScreen/FilesScreen.js';
import { SettingsScreen } from '../screens/SettingsScreen/SettingsScreen.js';
import { TerminalScreen } from '../screens/TerminalScreen/TerminalScreen.js';
import type { ScreenId } from './navigation.js';
const screens: Record<ScreenId, ReactNode> = {
ask: <AskScreen />,
activity: <ActivityScreen />,
cron: <CronScreen />,
files: <FilesScreen />,
settings: <SettingsScreen />,
};
export function App() {
const [activeScreen, setActiveScreen] = useState<ScreenId>('ask');
const [activeScreen, setActiveScreen] = useState<ScreenId>('chat');
const screens: Record<ScreenId, ReactNode> = {
chat: <ChatScreen />,
files: <FilesScreen />,
terminal: <TerminalScreen />,
activity: <ActivityScreen />,
settings: <SettingsScreen />,
};
return (
<AppShell activeScreen={activeScreen} onNavigate={setActiveScreen}>
+4 -4
View File
@@ -1,10 +1,10 @@
import { Activity, CalendarClock, Files, MessageCircle, Settings } from 'lucide-react';
import { Activity, Files, MessageCircle, Settings, TerminalSquare } from 'lucide-react';
export const navItems = [
{ id: 'ask', label: 'Ask', icon: MessageCircle },
{ id: 'activity', label: 'Activity', icon: Activity },
{ id: 'cron', label: 'Cron', icon: CalendarClock },
{ id: 'chat', label: 'Chat', icon: MessageCircle },
{ id: 'files', label: 'Files', icon: Files },
{ id: 'terminal', label: 'Terminal', icon: TerminalSquare },
{ id: 'activity', label: 'Status', icon: Activity },
{ id: 'settings', label: 'Settings', icon: Settings },
] as const;