@hed-hog/operations 0.0.332 → 0.0.347

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/controllers/operations-collaborators.controller.d.ts +55 -36
  2. package/dist/controllers/operations-collaborators.controller.d.ts.map +1 -1
  3. package/dist/controllers/operations-projects.controller.d.ts +3 -0
  4. package/dist/controllers/operations-projects.controller.d.ts.map +1 -1
  5. package/dist/operations.service.d.ts +58 -36
  6. package/dist/operations.service.d.ts.map +1 -1
  7. package/dist/operations.service.js +34 -34
  8. package/dist/operations.service.js.map +1 -1
  9. package/dist/operations.service.spec.js +6 -0
  10. package/dist/operations.service.spec.js.map +1 -1
  11. package/hedhog/data/menu.yaml +5 -3
  12. package/hedhog/data/route.yaml +7 -7
  13. package/hedhog/frontend/app/_components/collaborator-details-screen.tsx.ejs +476 -0
  14. package/hedhog/frontend/app/_components/collaborator-form-screen.tsx.ejs +3 -1
  15. package/hedhog/frontend/app/_components/collaborator-select-with-create.tsx.ejs +261 -0
  16. package/hedhog/frontend/app/_components/collaborator-tasks-tab.tsx.ejs +358 -358
  17. package/hedhog/frontend/app/_components/collaborator-timesheets-tab.tsx.ejs +6 -6
  18. package/hedhog/frontend/app/_components/contract-content-editor.tsx.ejs +258 -0
  19. package/hedhog/frontend/app/_components/my-project-summary-screen.tsx.ejs +5 -4
  20. package/hedhog/frontend/app/_components/person-select-with-create.tsx.ejs +1 -0
  21. package/hedhog/frontend/app/_components/project-assignments-tab.tsx.ejs +0 -6
  22. package/hedhog/frontend/app/_components/project-cost-report-screen.tsx.ejs +23 -23
  23. package/hedhog/frontend/app/_components/project-details-screen.tsx.ejs +23 -50
  24. package/hedhog/frontend/app/_components/project-form-screen.tsx.ejs +62 -28
  25. package/hedhog/frontend/app/_components/task-detail-sheet.tsx.ejs +23 -6
  26. package/hedhog/frontend/app/_components/task-form-sheet.tsx.ejs +629 -629
  27. package/hedhog/frontend/app/_lib/api.ts.ejs +2 -2
  28. package/hedhog/frontend/app/_lib/utils/task-ui.ts.ejs +1 -1
  29. package/hedhog/frontend/app/my-projects/page.tsx.ejs +2 -16
  30. package/hedhog/frontend/app/my-tasks/page.tsx.ejs +86 -24
  31. package/hedhog/frontend/app/projects/page.tsx.ejs +6 -42
  32. package/hedhog/frontend/messages/operations/operations/en.json +2100 -0
  33. package/hedhog/frontend/messages/operations/operations/pt.json +2111 -0
  34. package/hedhog/frontend/widgets/capacity-distribution.tsx.ejs +16 -16
  35. package/hedhog/frontend/widgets/effort-by-project.tsx.ejs +16 -16
  36. package/hedhog/frontend/widgets/headcount-by-area.tsx.ejs +16 -16
  37. package/hedhog/frontend/widgets/index.ts.ejs +25 -25
  38. package/hedhog/frontend/widgets/managed-projects-status.tsx.ejs +16 -16
  39. package/hedhog/frontend/widgets/my-hours-period-kpi.tsx.ejs +16 -16
  40. package/hedhog/frontend/widgets/my-open-requests-kpi.tsx.ejs +16 -16
  41. package/hedhog/frontend/widgets/my-pending-requests-list.tsx.ejs +16 -16
  42. package/hedhog/frontend/widgets/my-project-allocations-kpi.tsx.ejs +16 -16
  43. package/hedhog/frontend/widgets/my-quick-actions.tsx.ejs +16 -16
  44. package/hedhog/frontend/widgets/my-relevant-deadlines.tsx.ejs +16 -16
  45. package/hedhog/frontend/widgets/my-timesheet-status-kpi.tsx.ejs +16 -16
  46. package/hedhog/frontend/widgets/my-weekly-journey.tsx.ejs +16 -16
  47. package/hedhog/frontend/widgets/portfolio-costs-kpi.tsx.ejs +16 -16
  48. package/hedhog/frontend/widgets/portfolio-effort-kpi.tsx.ejs +16 -16
  49. package/hedhog/frontend/widgets/portfolio-projects-kpi.tsx.ejs +16 -16
  50. package/hedhog/frontend/widgets/portfolio-risk-kpi.tsx.ejs +16 -16
  51. package/hedhog/frontend/widgets/project-status-overview.tsx.ejs +16 -16
  52. package/hedhog/frontend/widgets/shared-operations-widget.tsx.ejs +169 -169
  53. package/hedhog/frontend/widgets/strategic-deadlines.tsx.ejs +16 -16
  54. package/hedhog/frontend/widgets/team-approval-queue.tsx.ejs +16 -16
  55. package/hedhog/frontend/widgets/team-capacity-kpi.tsx.ejs +16 -16
  56. package/hedhog/frontend/widgets/team-headcount-kpi.tsx.ejs +16 -16
  57. package/hedhog/frontend/widgets/team-hours-kpi.tsx.ejs +16 -16
  58. package/hedhog/frontend/widgets/team-pending-approvals-kpi.tsx.ejs +16 -16
  59. package/hedhog/frontend/widgets/team-utilization-overview.tsx.ejs +16 -16
  60. package/hedhog/frontend/widgets/team-workload-alerts.tsx.ejs +16 -16
  61. package/hedhog/table/operations_collaborator.yaml +8 -8
  62. package/hedhog/table/operations_task.yaml +76 -76
  63. package/hedhog/table/operations_task_activity.yaml +51 -51
  64. package/package.json +6 -6
  65. package/src/controllers/operations-collaborators.controller.ts +9 -9
  66. package/src/controllers/operations-tasks.controller.ts +156 -156
  67. package/src/dashboard/widgets/MyQuickActions.tsx +22 -22
  68. package/src/dto/create-collaborator.dto.ts +4 -4
  69. package/src/operations.service.spec.ts +1006 -988
  70. package/src/operations.service.ts +40 -42
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='capacity-distribution' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='capacity-distribution' />;
17
17
  }
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='effort-by-project' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='effort-by-project' />;
17
17
  }
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='headcount-by-area' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='headcount-by-area' />;
17
17
  }
@@ -1,25 +1,25 @@
1
- export { default as MyHoursPeriodKpi } from './operations.my-hours-period-kpi';
2
- export { default as MyTimesheetStatusKpi } from './operations.my-timesheet-status-kpi';
3
- export { default as MyProjectAllocationsKpi } from './operations.my-project-allocations-kpi';
4
- export { default as MyOpenRequestsKpi } from './operations.my-open-requests-kpi';
5
- export { default as MyWeeklyJourney } from './operations.my-weekly-journey';
6
- export { default as MyRelevantDeadlines } from './operations.my-relevant-deadlines';
7
- export { default as MyPendingRequestsList } from './operations.my-pending-requests-list';
8
- export { default as MyQuickActions } from './operations.my-quick-actions';
9
- export { default as TeamHeadcountKpi } from './operations.team-headcount-kpi';
10
- export { default as TeamPendingApprovalsKpi } from './operations.team-pending-approvals-kpi';
11
- export { default as TeamHoursKpi } from './operations.team-hours-kpi';
12
- export { default as TeamCapacityKpi } from './operations.team-capacity-kpi';
13
- export { default as TeamUtilizationOverview } from './operations.team-utilization-overview';
14
- export { default as TeamWorkloadAlerts } from './operations.team-workload-alerts';
15
- export { default as ManagedProjectsStatus } from './operations.managed-projects-status';
16
- export { default as TeamApprovalQueue } from './operations.team-approval-queue';
17
- export { default as PortfolioProjectsKpi } from './operations.portfolio-projects-kpi';
18
- export { default as PortfolioCostsKpi } from './operations.portfolio-costs-kpi';
19
- export { default as PortfolioEffortKpi } from './operations.portfolio-effort-kpi';
20
- export { default as PortfolioRiskKpi } from './operations.portfolio-risk-kpi';
21
- export { default as ProjectStatusOverview } from './operations.project-status-overview';
22
- export { default as EffortByProject } from './operations.effort-by-project';
23
- export { default as CapacityDistribution } from './operations.capacity-distribution';
24
- export { default as HeadcountByArea } from './operations.headcount-by-area';
25
- export { default as StrategicDeadlines } from './operations.strategic-deadlines';
1
+ export { default as MyHoursPeriodKpi } from './operations.my-hours-period-kpi';
2
+ export { default as MyTimesheetStatusKpi } from './operations.my-timesheet-status-kpi';
3
+ export { default as MyProjectAllocationsKpi } from './operations.my-project-allocations-kpi';
4
+ export { default as MyOpenRequestsKpi } from './operations.my-open-requests-kpi';
5
+ export { default as MyWeeklyJourney } from './operations.my-weekly-journey';
6
+ export { default as MyRelevantDeadlines } from './operations.my-relevant-deadlines';
7
+ export { default as MyPendingRequestsList } from './operations.my-pending-requests-list';
8
+ export { default as MyQuickActions } from './operations.my-quick-actions';
9
+ export { default as TeamHeadcountKpi } from './operations.team-headcount-kpi';
10
+ export { default as TeamPendingApprovalsKpi } from './operations.team-pending-approvals-kpi';
11
+ export { default as TeamHoursKpi } from './operations.team-hours-kpi';
12
+ export { default as TeamCapacityKpi } from './operations.team-capacity-kpi';
13
+ export { default as TeamUtilizationOverview } from './operations.team-utilization-overview';
14
+ export { default as TeamWorkloadAlerts } from './operations.team-workload-alerts';
15
+ export { default as ManagedProjectsStatus } from './operations.managed-projects-status';
16
+ export { default as TeamApprovalQueue } from './operations.team-approval-queue';
17
+ export { default as PortfolioProjectsKpi } from './operations.portfolio-projects-kpi';
18
+ export { default as PortfolioCostsKpi } from './operations.portfolio-costs-kpi';
19
+ export { default as PortfolioEffortKpi } from './operations.portfolio-effort-kpi';
20
+ export { default as PortfolioRiskKpi } from './operations.portfolio-risk-kpi';
21
+ export { default as ProjectStatusOverview } from './operations.project-status-overview';
22
+ export { default as EffortByProject } from './operations.effort-by-project';
23
+ export { default as CapacityDistribution } from './operations.capacity-distribution';
24
+ export { default as HeadcountByArea } from './operations.headcount-by-area';
25
+ export { default as StrategicDeadlines } from './operations.strategic-deadlines';
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='managed-projects-status' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='managed-projects-status' />;
17
17
  }
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='my-hours-period-kpi' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='my-hours-period-kpi' />;
17
17
  }
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='my-open-requests-kpi' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='my-open-requests-kpi' />;
17
17
  }
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='my-pending-requests-list' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='my-pending-requests-list' />;
17
17
  }
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='my-project-allocations-kpi' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='my-project-allocations-kpi' />;
17
17
  }
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='my-quick-actions' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='my-quick-actions' />;
17
17
  }
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='my-relevant-deadlines' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='my-relevant-deadlines' />;
17
17
  }
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='my-timesheet-status-kpi' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='my-timesheet-status-kpi' />;
17
17
  }
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='my-weekly-journey' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='my-weekly-journey' />;
17
17
  }
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='portfolio-costs-kpi' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='portfolio-costs-kpi' />;
17
17
  }
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='portfolio-effort-kpi' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='portfolio-effort-kpi' />;
17
17
  }
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='portfolio-projects-kpi' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='portfolio-projects-kpi' />;
17
17
  }
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='portfolio-risk-kpi' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='portfolio-risk-kpi' />;
17
17
  }
@@ -1,17 +1,17 @@
1
- 'use client';
2
-
3
- import SharedOperationsWidget from './operations.shared-operations-widget';
4
-
5
- interface WidgetLayoutLike {
6
- name?: string;
7
- slug?: string;
8
- }
9
-
10
- interface OperationsWidgetProps {
11
- widget?: WidgetLayoutLike;
12
- onRemove?: () => void;
13
- }
14
-
15
- export default function OperationsWidget(props: OperationsWidgetProps) {
16
- return <SharedOperationsWidget {...props} slug='project-status-overview' />;
1
+ 'use client';
2
+
3
+ import SharedOperationsWidget from './operations.shared-operations-widget';
4
+
5
+ interface WidgetLayoutLike {
6
+ name?: string;
7
+ slug?: string;
8
+ }
9
+
10
+ interface OperationsWidgetProps {
11
+ widget?: WidgetLayoutLike;
12
+ onRemove?: () => void;
13
+ }
14
+
15
+ export default function OperationsWidget(props: OperationsWidgetProps) {
16
+ return <SharedOperationsWidget {...props} slug='project-status-overview' />;
17
17
  }