feat(web): prioritize SMS operations workspace

This commit is contained in:
chick
2026-07-19 10:30:52 +08:00
parent 0112e3320a
commit f7d69a0fa7
10 changed files with 532 additions and 68 deletions
+11
View File
@@ -8,6 +8,10 @@ import { createEventStreamClient, type EventStreamClient } from './events/event-
import { FleetPage, type FleetDataSource, type FleetSnapshot } from './fleet/fleet-page.js';
import { createFleetApiDataSource } from './fleet/fleet-api-data-source.js';
import {
createFleetMessagesApiDataSource,
type FleetMessagesDataSource,
} from './fleet/fleet-messages-api-data-source.js';
import { AutomationModule, type AutomationDataSource } from './instances/automation-module.js';
import { CallsModule, type CallsDataSource } from './instances/calls-module.js';
import { CellularModule, type CellularDataSource } from './instances/cellular-module.js';
@@ -79,6 +83,7 @@ export interface AppShellProps {
version?: string;
instance?: InstanceContext;
fleetDataSource?: FleetDataSource;
fleetMessagesDataSource?: FleetMessagesDataSource;
fleetData?: FleetSnapshot;
instanceDataSource?: InstanceDataSource;
capabilities?: InstanceCapabilityMap;
@@ -156,6 +161,7 @@ function section(route: ResolvedRoute): GlobalSection | undefined {
function Page({
route,
fleetDataSource,
fleetMessagesDataSource,
fleetData,
instance,
instanceDataSource,
@@ -177,6 +183,7 @@ function Page({
}: {
route: ResolvedRoute;
fleetDataSource: FleetDataSource | undefined;
fleetMessagesDataSource: FleetMessagesDataSource | undefined;
fleetData: FleetSnapshot | undefined;
instance: InstanceContext | undefined;
instanceDataSource: InstanceDataSource | undefined;
@@ -200,6 +207,7 @@ function Page({
return (
<FleetPage
{...(fleetDataSource ? { dataSource: fleetDataSource } : {})}
{...(fleetMessagesDataSource ? { messagesDataSource: fleetMessagesDataSource } : {})}
{...(instanceDataSource ? { instanceDataSource } : {})}
{...(fleetData ? { initialData: fleetData } : {})}
refreshSignal={fleetRefreshSignal}
@@ -391,6 +399,7 @@ export function AppShell({
version = 'dev',
instance,
fleetDataSource,
fleetMessagesDataSource,
fleetData,
instanceDataSource,
capabilities,
@@ -410,6 +419,7 @@ export function AppShell({
}: AppShellProps) {
const defaultEventStreamClient = useMemo(() => createEventStreamClient(), []);
const defaultFleetDataSource = useMemo(() => createFleetApiDataSource(), []);
const defaultFleetMessagesDataSource = useMemo(() => createFleetMessagesApiDataSource(), []);
const defaultInstanceDataSource = useMemo(() => createInstanceApiDataSource(), []);
const defaultMessagesDataSource = useMemo(() => createMessagesApiDataSource(), []);
const resolvedJobsDataSource = useMemo(
@@ -512,6 +522,7 @@ export function AppShell({
<Page
route={route}
fleetDataSource={fleetDataSource ?? defaultFleetDataSource}
fleetMessagesDataSource={fleetMessagesDataSource ?? defaultFleetMessagesDataSource}
fleetData={fleetData}
instance={routeInstance}
instanceDataSource={resolvedInstanceDataSource}