build-a-squad/types.ts
Vadym Samoilenko 99ab7ddfce feat: add all-complexity scoping expansion and squad role delete
- Scoping tab: AI matches now auto-expand to show Simple/Medium/Complex
  sibling variants; toggle button to switch between All Complexities /
  AI Match Only view; row tracking keyed by catalogId (stable on toggle)
- Squad Breakdown: per-row checkboxes + trash icon, bulk "Delete Selected"
  action bar, "Restore Hidden Roles" button; excluded roles removed from
  FTE/hours totals and CSV export; excludedRoles persisted in scenarios

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 11:14:04 +01:00

49 lines
1,001 B
TypeScript

export interface Asset {
uniques: string; // Unique identifier: "Asset101 - Brand Communication Idea (BCI) - Simple"
catalogId: string;
category: string;
subCategory: string;
assetName: string;
complexityLevel: string;
description: string;
complexityDescription: string;
studioCaveats: string;
isMaster: boolean;
}
export interface RoleHours {
roleTitle: string;
discipline: string;
hours: number;
}
export interface SelectedAsset extends Asset {
volume: number;
}
export interface RoleProjection {
discipline: string;
roleTitle: string;
totalHours: number;
calculatedFte: number;
manualOverride?: number;
}
export interface ManualStaff {
discipline: string;
roleTitle: string;
quantity: number;
}
export interface Scenario {
id: string;
name: string;
selectedAssets: SelectedAsset[];
overrides: Record<string, number>;
manualStaff: ManualStaff[];
excludedRoles?: string[];
totalFte: number;
totalHours: number;
timestamp: number;
}