Rebuild AgentCompany-New renderer to match design spec
- Port design tokens, sidebar, topbar, and icons to inline SVG set - Rewrite each page (Home/Team/Work/Chat/Files/Approvals/Social/Settings) to drive real snapshot data and match the bento, kanban, three-pane chat, file tree + pinned cards, approval queue, social schedule + calendar, and settings sub-nav layouts - Split Chat and Settings into per-concern subcomponents so every file stays under 500 lines - Add schema v4 for pinned files and scheduled posts plus IPC + service wiring; cover new behavior in unit tests - Update onboarding labels and Hire form to remove ambiguity for the expanded e2e suite (all settings tabs + 8 routes at 1280 and 980)
This commit is contained in:
1 parent
00736d5719
commit
74266566b7
47 files changed
+4609
-1552
No files matched your search
@@ -143,6 +143,27 @@ export interface CreateMigrationReportInput {
|
||||
sourceDatabasePath: string;
|
||||
}
|
||||
|
||||
export interface CreateScheduledPostInput {
|
||||
orgId: string;
|
||||
socialAccountId: string;
|
||||
bodyMd: string;
|
||||
scheduledFor: string;
|
||||
state: "draft" | "scheduled";
|
||||
createdByEmployeeId: string | null;
|
||||
}
|
||||
|
||||
export interface SetScheduledPostStateInput {
|
||||
orgId: string;
|
||||
scheduledPostId: string;
|
||||
state: "draft" | "scheduled" | "published" | "cancelled";
|
||||
}
|
||||
|
||||
export interface SetFilePinnedInput {
|
||||
orgId: string;
|
||||
fileId: string;
|
||||
pinned: boolean;
|
||||
}
|
||||
|
||||
export interface BootstrapOnboardingInput {
|
||||
companyName: string;
|
||||
companyDescription: string;
|
||||
|
||||
@@ -10,6 +10,7 @@ import type {
|
||||
CreateMigrationReportInput,
|
||||
CreateOrganizationInput,
|
||||
CreateProviderResponseInput,
|
||||
CreateScheduledPostInput,
|
||||
CreateSocialAccountInput,
|
||||
CreateTaskInput,
|
||||
DecideApprovalInput,
|
||||
@@ -19,6 +20,8 @@ import type {
|
||||
ResolveAgentSkillsInput,
|
||||
SaveProviderCredentialInput,
|
||||
SendMessageInput,
|
||||
SetFilePinnedInput,
|
||||
SetScheduledPostStateInput,
|
||||
UpdateTaskStatusInput,
|
||||
} from "./commands";
|
||||
|
||||
@@ -44,7 +47,10 @@ export interface DesktopApi {
|
||||
resolveAgentSkills(input: ResolveAgentSkillsInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
createSocialAccount(input: CreateSocialAccountInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
launchSocialLogin(input: LaunchSocialLoginInput): Promise<DesktopResult<null>>;
|
||||
createScheduledPost(input: CreateScheduledPostInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
setScheduledPostState(input: SetScheduledPostStateInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
importFile(input: ImportFileInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
setFilePinned(input: SetFilePinnedInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
createMigrationReport(input: CreateMigrationReportInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
subscribe(callback: (event: RendererEvent) => void): () => void;
|
||||
platform: "win32" | "darwin" | "linux";
|
||||
|
||||
@@ -234,7 +234,23 @@ export interface FileObjectRecord {
|
||||
storagePath: string;
|
||||
ownerType: "employee" | "agent" | "system";
|
||||
ownerId: string | null;
|
||||
spaceId: string | null;
|
||||
pinned: boolean;
|
||||
createdAt: string;
|
||||
updatedAt: string | null;
|
||||
}
|
||||
|
||||
export interface ScheduledPostRecord {
|
||||
id: string;
|
||||
orgId: string;
|
||||
socialAccountId: string;
|
||||
bodyMd: string;
|
||||
scheduledFor: string;
|
||||
state: "draft" | "scheduled" | "published" | "cancelled";
|
||||
approvalId: string | null;
|
||||
createdByEmployeeId: string | null;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export interface ProviderRecord {
|
||||
@@ -392,6 +408,7 @@ export interface AppSnapshot {
|
||||
chatAttachments: ChatAttachmentRecord[];
|
||||
chatPresence: ChatPresenceRecord[];
|
||||
files: FileObjectRecord[];
|
||||
scheduledPosts: ScheduledPostRecord[];
|
||||
providers: ProviderRecord[];
|
||||
providerCatalog: ProviderCatalogEntry[];
|
||||
providerRequests: ProviderRequestRecord[];
|
||||
|
||||
@@ -16,7 +16,10 @@ export const IPC_CHANNELS = {
|
||||
resolveAgentSkills: "agentcompany:resolve-agent-skills",
|
||||
createSocialAccount: "agentcompany:create-social-account",
|
||||
launchSocialLogin: "agentcompany:launch-social-login",
|
||||
createScheduledPost: "agentcompany:create-scheduled-post",
|
||||
setScheduledPostState: "agentcompany:set-scheduled-post-state",
|
||||
importFile: "agentcompany:import-file",
|
||||
setFilePinned: "agentcompany:set-file-pinned",
|
||||
createMigrationReport: "agentcompany:create-migration-report",
|
||||
rendererEvent: "agentcompany:renderer-event",
|
||||
windowMinimize: "agentcompany:window-minimize",
|
||||
|
||||
Reference in new issue
Block a user