feat(web): connect mobile workspace to live data

This commit is contained in:
sai karthik
2026-07-24 00:52:19 +05:30
parent 0607d13d4b
commit b49ca236cf
12 changed files with 1178 additions and 506 deletions

View File

@@ -5,4 +5,12 @@ export {
MobileWorkListScreen,
MobileWorkUnitDetailScreen,
} from "./mobile-workspace/index";
export type { MobileWorkspaceScreenProps } from "./mobile-workspace/index";
export type {
MobileAssistantMessageView,
MobileAssistantView,
MobileSignalView,
MobileWorkspaceScreenProps,
MobileWorkspaceView,
MobileWorkUnitTone,
MobileWorkUnitView,
} from "./mobile-workspace/index";

File diff suppressed because it is too large Load Diff

View File

@@ -3,4 +3,12 @@ export { MobileExpandedWorkScreen } from "./mobile-expanded-work-screen";
export { MobileHomeScreen } from "./mobile-home-screen";
export { MobileWorkListScreen } from "./mobile-work-list-screen";
export { MobileWorkUnitDetailScreen } from "./mobile-work-unit-detail-screen";
export type { MobileWorkspaceScreenProps } from "./types";
export type {
MobileAssistantMessageView,
MobileAssistantView,
MobileSignalView,
MobileWorkspaceScreenProps,
MobileWorkspaceView,
MobileWorkUnitTone,
MobileWorkUnitView,
} from "./types";

View File

@@ -0,0 +1,50 @@
export type MobileWorkUnitTone = "blue" | "green" | "orange" | "purple";
export interface MobileWorkUnitView {
readonly artifactCount: number;
readonly code: string;
readonly id: string;
readonly nextAction: string;
readonly progress: number;
readonly statusLabel: string;
readonly summary: string;
readonly title: string;
readonly tone: MobileWorkUnitTone;
readonly updatedLabel: string;
}
export interface MobileSignalView {
readonly desiredOutcome: string;
readonly id: string;
readonly summary: string;
readonly title: string;
}
export interface MobileAssistantMessageView {
readonly id: string;
readonly role: "assistant" | "user";
readonly text: string;
}
export interface MobileAssistantView {
readonly isBusy: boolean;
readonly messages: readonly MobileAssistantMessageView[];
readonly statusLabel: string;
readonly statusTone: "amber" | "green" | "red";
}
export interface MobileWorkspaceView {
readonly activeCount: number;
readonly activityCount: number;
readonly artifactCount: number;
readonly assistant: MobileAssistantView;
readonly isLoading: boolean;
readonly latestSignal?: MobileSignalView;
readonly needsAttentionCount: number;
readonly organizationLabel: string;
readonly projectName?: string;
readonly selectedWorkUnit?: MobileWorkUnitView;
readonly shippedCount: number;
readonly totalCount: number;
readonly workUnits: readonly MobileWorkUnitView[];
}

View File

@@ -4,3 +4,12 @@ export type MobileWorkspaceScreenProps = Omit<
MobileWorkspaceRendererProps,
"variant"
>;
export type {
MobileAssistantMessageView,
MobileAssistantView,
MobileSignalView,
MobileWorkspaceView,
MobileWorkUnitTone,
MobileWorkUnitView,
} from "./models";