@hed-hog/operations 0.0.332 → 0.0.338

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 (109) hide show
  1. package/dist/controllers/operations-collaborators.controller.d.ts +0 -54
  2. package/dist/controllers/operations-collaborators.controller.d.ts.map +1 -1
  3. package/dist/controllers/operations-collaborators.controller.js +0 -100
  4. package/dist/controllers/operations-collaborators.controller.js.map +1 -1
  5. package/dist/controllers/operations-contracts.controller.d.ts +12 -12
  6. package/dist/operations.service.d.ts +0 -76
  7. package/dist/operations.service.d.ts.map +1 -1
  8. package/dist/operations.service.js +7 -230
  9. package/dist/operations.service.js.map +1 -1
  10. package/dist/operations.service.spec.js +6 -0
  11. package/dist/operations.service.spec.js.map +1 -1
  12. package/hedhog/data/menu.yaml +8 -27
  13. package/hedhog/data/route.yaml +0 -72
  14. package/hedhog/frontend/app/_components/collaborator-details-screen.tsx.ejs +476 -0
  15. package/hedhog/frontend/app/_components/collaborator-form-screen.tsx.ejs +3 -39
  16. package/hedhog/frontend/app/_components/collaborator-select-with-create.tsx.ejs +261 -0
  17. package/hedhog/frontend/app/_components/collaborator-tasks-tab.tsx.ejs +358 -358
  18. package/hedhog/frontend/app/_components/collaborator-timesheets-tab.tsx.ejs +6 -6
  19. package/hedhog/frontend/app/_components/contract-content-editor.tsx.ejs +258 -0
  20. package/hedhog/frontend/app/_components/my-project-summary-screen.tsx.ejs +5 -4
  21. package/hedhog/frontend/app/_components/person-select-with-create.tsx.ejs +1 -0
  22. package/hedhog/frontend/app/_components/project-assignments-tab.tsx.ejs +10 -218
  23. package/hedhog/frontend/app/_components/project-cost-report-screen.tsx.ejs +23 -23
  24. package/hedhog/frontend/app/_components/project-details-screen.tsx.ejs +24 -708
  25. package/hedhog/frontend/app/_components/project-form-screen.tsx.ejs +38 -158
  26. package/hedhog/frontend/app/_components/task-detail-sheet.tsx.ejs +1 -5
  27. package/hedhog/frontend/app/_components/task-form-sheet.tsx.ejs +629 -629
  28. package/hedhog/frontend/app/_lib/api.ts.ejs +0 -151
  29. package/hedhog/frontend/app/_lib/types.ts.ejs +0 -1
  30. package/hedhog/frontend/app/_lib/utils/task-ui.ts.ejs +0 -18
  31. package/hedhog/frontend/app/my-projects/page.tsx.ejs +2 -16
  32. package/hedhog/frontend/app/my-tasks/page.tsx.ejs +86 -24
  33. package/hedhog/frontend/app/projects/page.tsx.ejs +6 -42
  34. package/hedhog/frontend/messages/en.json +2 -96
  35. package/hedhog/frontend/messages/operations/operations/en.json +2100 -0
  36. package/hedhog/frontend/messages/operations/operations/pt.json +2111 -0
  37. package/hedhog/frontend/messages/pt.json +2 -96
  38. package/hedhog/frontend/widgets/capacity-distribution.tsx.ejs +16 -16
  39. package/hedhog/frontend/widgets/effort-by-project.tsx.ejs +16 -16
  40. package/hedhog/frontend/widgets/headcount-by-area.tsx.ejs +16 -16
  41. package/hedhog/frontend/widgets/index.ts.ejs +25 -25
  42. package/hedhog/frontend/widgets/managed-projects-status.tsx.ejs +16 -16
  43. package/hedhog/frontend/widgets/my-hours-period-kpi.tsx.ejs +16 -16
  44. package/hedhog/frontend/widgets/my-open-requests-kpi.tsx.ejs +16 -16
  45. package/hedhog/frontend/widgets/my-pending-requests-list.tsx.ejs +16 -16
  46. package/hedhog/frontend/widgets/my-project-allocations-kpi.tsx.ejs +16 -16
  47. package/hedhog/frontend/widgets/my-quick-actions.tsx.ejs +16 -16
  48. package/hedhog/frontend/widgets/my-relevant-deadlines.tsx.ejs +16 -16
  49. package/hedhog/frontend/widgets/my-timesheet-status-kpi.tsx.ejs +16 -16
  50. package/hedhog/frontend/widgets/my-weekly-journey.tsx.ejs +16 -16
  51. package/hedhog/frontend/widgets/portfolio-costs-kpi.tsx.ejs +16 -16
  52. package/hedhog/frontend/widgets/portfolio-effort-kpi.tsx.ejs +16 -16
  53. package/hedhog/frontend/widgets/portfolio-projects-kpi.tsx.ejs +16 -16
  54. package/hedhog/frontend/widgets/portfolio-risk-kpi.tsx.ejs +16 -16
  55. package/hedhog/frontend/widgets/project-status-overview.tsx.ejs +16 -16
  56. package/hedhog/frontend/widgets/shared-operations-widget.tsx.ejs +169 -169
  57. package/hedhog/frontend/widgets/strategic-deadlines.tsx.ejs +16 -16
  58. package/hedhog/frontend/widgets/team-approval-queue.tsx.ejs +16 -16
  59. package/hedhog/frontend/widgets/team-capacity-kpi.tsx.ejs +16 -16
  60. package/hedhog/frontend/widgets/team-headcount-kpi.tsx.ejs +16 -16
  61. package/hedhog/frontend/widgets/team-hours-kpi.tsx.ejs +16 -16
  62. package/hedhog/frontend/widgets/team-pending-approvals-kpi.tsx.ejs +16 -16
  63. package/hedhog/frontend/widgets/team-utilization-overview.tsx.ejs +16 -16
  64. package/hedhog/frontend/widgets/team-workload-alerts.tsx.ejs +16 -16
  65. package/hedhog/table/operations_collaborator.yaml +8 -8
  66. package/hedhog/table/operations_task.yaml +76 -76
  67. package/hedhog/table/operations_task_activity.yaml +51 -51
  68. package/package.json +6 -6
  69. package/src/controllers/operations-collaborators.controller.ts +8 -117
  70. package/src/controllers/operations-tasks.controller.ts +156 -156
  71. package/src/dashboard/widgets/MyQuickActions.tsx +22 -22
  72. package/src/dto/create-collaborator.dto.ts +4 -4
  73. package/src/operations.service.spec.ts +1006 -988
  74. package/src/operations.service.ts +7 -323
  75. package/dist/dto/create-collaborator-invoice.dto.d.ts +0 -11
  76. package/dist/dto/create-collaborator-invoice.dto.d.ts.map +0 -1
  77. package/dist/dto/create-collaborator-invoice.dto.js +0 -55
  78. package/dist/dto/create-collaborator-invoice.dto.js.map +0 -1
  79. package/dist/dto/create-collaborator-payment.dto.d.ts +0 -10
  80. package/dist/dto/create-collaborator-payment.dto.d.ts.map +0 -1
  81. package/dist/dto/create-collaborator-payment.dto.js +0 -50
  82. package/dist/dto/create-collaborator-payment.dto.js.map +0 -1
  83. package/dist/dto/list-collaborator-invoice.dto.d.ts +0 -4
  84. package/dist/dto/list-collaborator-invoice.dto.d.ts.map +0 -1
  85. package/dist/dto/list-collaborator-invoice.dto.js +0 -8
  86. package/dist/dto/list-collaborator-invoice.dto.js.map +0 -1
  87. package/dist/dto/list-collaborator-payment.dto.d.ts +0 -4
  88. package/dist/dto/list-collaborator-payment.dto.d.ts.map +0 -1
  89. package/dist/dto/list-collaborator-payment.dto.js +0 -8
  90. package/dist/dto/list-collaborator-payment.dto.js.map +0 -1
  91. package/dist/dto/update-collaborator-invoice.dto.d.ts +0 -6
  92. package/dist/dto/update-collaborator-invoice.dto.d.ts.map +0 -1
  93. package/dist/dto/update-collaborator-invoice.dto.js +0 -9
  94. package/dist/dto/update-collaborator-invoice.dto.js.map +0 -1
  95. package/dist/dto/update-collaborator-payment.dto.d.ts +0 -6
  96. package/dist/dto/update-collaborator-payment.dto.d.ts.map +0 -1
  97. package/dist/dto/update-collaborator-payment.dto.js +0 -9
  98. package/dist/dto/update-collaborator-payment.dto.js.map +0 -1
  99. package/hedhog/frontend/app/_components/collaborator-invoices-tab.tsx.ejs +0 -443
  100. package/hedhog/frontend/app/_components/collaborator-payment-history-tab.tsx.ejs +0 -429
  101. package/hedhog/frontend/app/tasks-gantt/page.tsx.ejs +0 -953
  102. package/hedhog/table/operations_collaborator_invoice.yaml +0 -35
  103. package/hedhog/table/operations_collaborator_payment.yaml +0 -32
  104. package/src/dto/create-collaborator-invoice.dto.ts +0 -39
  105. package/src/dto/create-collaborator-payment.dto.ts +0 -35
  106. package/src/dto/list-collaborator-invoice.dto.ts +0 -3
  107. package/src/dto/list-collaborator-payment.dto.ts +0 -3
  108. package/src/dto/update-collaborator-invoice.dto.ts +0 -6
  109. package/src/dto/update-collaborator-payment.dto.ts +0 -6
@@ -304,11 +304,7 @@
304
304
  "projects": "Projetos",
305
305
  "tasks": "Tarefas",
306
306
  "timesheets": "Apontamentos",
307
- "salary": "Remuneração",
308
- "paymentHistory": "Histórico de Pagamentos",
309
- "paymentHistoryEmpty": "Nenhum registro de pagamento encontrado para este colaborador.",
310
- "invoices": "Notas Fiscais",
311
- "invoicesEmpty": "Nenhuma nota fiscal enviada por este colaborador ainda."
307
+ "salary": "Remuneração"
312
308
  },
313
309
  "sections": {
314
310
  "basicInfo": "Informações básicas",
@@ -343,7 +339,6 @@
343
339
  "collaboratorType": "Tipo de colaborador",
344
340
  "collaboratorTypeDescription": "Selecione a natureza da relação com a empresa. Função e participação societária permanecem separadas.",
345
341
  "weeklyCapacityHours": "Carga horária semanal",
346
- "hourlyRate": "Valor hora",
347
342
  "compensationAmount": "Valor da remuneração",
348
343
  "contract": "Contrato",
349
344
  "contractPlaceholder": "Pesquisar ou selecionar contrato…",
@@ -420,49 +415,7 @@
420
415
  "createSuccess": "Colaborador criado com sucesso.",
421
416
  "createError": "Não foi possível criar o colaborador.",
422
417
  "updateSuccess": "Colaborador atualizado com sucesso.",
423
- "updateError": "Não foi possível atualizar o colaborador.",
424
- "saveSuccess": "Salvo com sucesso.",
425
- "saveError": "Não foi possível salvar. Tente novamente.",
426
- "deleteSuccess": "Excluído com sucesso.",
427
- "deleteError": "Não foi possível excluir. Tente novamente."
428
- },
429
- "paymentHistory": {
430
- "add": "Adicionar pagamento",
431
- "editTitle": "Editar pagamento",
432
- "deleteConfirm": "Tem certeza que deseja excluir este pagamento?",
433
- "amount": "Valor",
434
- "paymentDate": "Data do pagamento",
435
- "referenceMonth": "Mês de referência",
436
- "paymentMethod": "Forma de pagamento",
437
- "notes": "Observações",
438
- "methodBankTransfer": "Transferência bancária",
439
- "methodPix": "Pix",
440
- "methodCheck": "Cheque",
441
- "methodOther": "Outro"
442
- },
443
- "invoices": {
444
- "add": "Adicionar NF",
445
- "editTitle": "Editar NF",
446
- "deleteConfirm": "Tem certeza que deseja excluir esta nota fiscal?",
447
- "invoiceNumber": "Número da NF",
448
- "amount": "Valor",
449
- "issueDate": "Data de emissão",
450
- "dueDate": "Vencimento",
451
- "status": "Status",
452
- "description": "Descrição",
453
- "statusPending": "Pendente",
454
- "statusPaid": "Pago",
455
- "statusCancelled": "Cancelado",
456
- "statusOverdue": "Vencido"
457
- },
458
- "projectAllocation": {
459
- "total": "Alocação total",
460
- "idle": "Ociosidade",
461
- "overloaded": "Sobrecarga",
462
- "distributeEqually": "Distribuir igualmente",
463
- "autoRebalance": "Auto-rebalancear",
464
- "autoRebalanceDescription": "Ajustar automaticamente os outros projetos ao editar a alocação",
465
- "distributing": "Distribuindo..."
418
+ "updateError": "Não foi possível atualizar o colaborador."
466
419
  },
467
420
  "chart": {
468
421
  "salaryHistory": "Histórico de salário",
@@ -690,47 +643,6 @@
690
643
  "done": "Concluída"
691
644
  }
692
645
  },
693
- "TasksGanttPage": {
694
- "title": "Gantt de Tarefas",
695
- "description": "Acompanhe tarefas de todos os projetos em execução em uma linha do tempo única.",
696
- "breadcrumb": "Gantt de Tarefas",
697
- "searchPlaceholder": "Buscar tarefa, projeto ou responsável...",
698
- "viewDescription": "Tarefas dos projetos ativos agrupadas por projeto.",
699
- "loading": "Montando visão de Gantt...",
700
- "emptyDescription": "Nenhuma tarefa encontrada para os projetos em execução com os filtros atuais.",
701
- "loadErrorDescription": "Não foi possível carregar o cronograma agora. Atualize para tentar novamente.",
702
- "noAccessDescription": "A visão consolidada de Gantt está disponível apenas para supervisores e diretores.",
703
- "actions": {
704
- "openProject": "Abrir projeto"
705
- },
706
- "filters": {
707
- "allProjects": "Todos os projetos",
708
- "allStatuses": "Todos os status",
709
- "clearDateRange": "Limpar período"
710
- },
711
- "cards": {
712
- "activeProjects": "Projetos em execução",
713
- "activeProjectsDescription": "Projetos ativos com tarefas no cronograma.",
714
- "tasks": "Tarefas no cronograma",
715
- "tasksDescription": "Itens exibidos conforme os filtros atuais.",
716
- "doing": "Em andamento",
717
- "doingDescription": "Tarefas sendo executadas agora.",
718
- "overdue": "Atrasadas",
719
- "overdueDescription": "Tarefas com prazo vencido e ainda abertas."
720
- },
721
- "labels": {
722
- "projectTask": "Projeto e tarefa",
723
- "range": "{from} até {to}",
724
- "tasksCount": "{count} tarefa(s)"
725
- },
726
- "legend": {
727
- "todo": "A fazer",
728
- "doing": "Em andamento",
729
- "review": "Em revisão",
730
- "done": "Concluída",
731
- "overdue": "Atrasada"
732
- }
733
- },
734
646
  "ProjectFormPage": {
735
647
  "newTitle": "Novo Projeto",
736
648
  "editTitle": "Editar Projeto",
@@ -1036,12 +948,6 @@
1036
948
  "usedHours": "Horas utilizadas",
1037
949
  "availability": "Disponibilidade",
1038
950
  "overloadWarning": "{value}% acima da capacidade recomendada.",
1039
- "addCollaborator": "Adicionar colaborador",
1040
- "addTitle": "Adicionar colaborador",
1041
- "editTitle": "Editar alocação",
1042
- "formDescription": "Configure os dados de alocação do colaborador neste projeto.",
1043
- "removeTitle": "Remover colaborador",
1044
- "removeDescription": "Tem certeza que deseja remover este colaborador do projeto?",
1045
951
  "status": {
1046
952
  "available": "Disponível",
1047
953
  "high": "Alta carga",
@@ -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
  }