@hed-hog/operations 0.0.327 → 0.0.329

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 (571) hide show
  1. package/dist/controllers/operations-tasks.controller.d.ts +3 -3
  2. package/dist/operations.service.d.ts +3 -3
  3. package/hedhog/frontend/app/_components/collaborator-form-screen.tsx.ejs +7 -7
  4. package/hedhog/frontend/app/_components/department-picker.tsx.ejs +125 -0
  5. package/hedhog/frontend/app/_components/department-select-with-create.tsx.ejs +64 -325
  6. package/hedhog/frontend/app/_components/project-form-screen.tsx.ejs +16 -16
  7. package/hedhog/frontend/app/_components/system-user-picker.tsx.ejs +198 -0
  8. package/hedhog/frontend/app/_components/system-user-select-with-create.tsx.ejs +107 -569
  9. package/hedhog/frontend/messages/en.json +79 -10
  10. package/hedhog/frontend/messages/operations/en.json +67 -3
  11. package/hedhog/frontend/messages/operations/pt.json +67 -3
  12. package/hedhog/frontend/messages/pt.json +77 -8
  13. package/package.json +5 -5
  14. package/hedhog/frontend/app/_components/collaborator-details-screen.tsx.ejs +0 -476
  15. package/hedhog/frontend/app/_components/collaborator-select-with-create.tsx.ejs +0 -261
  16. package/hedhog/frontend/app/_components/contract-content-editor.tsx.ejs +0 -258
  17. package/hedhog/frontend/app/_components/person-select-with-create.tsx.ejs +0 -1
  18. package/hedhog/frontend/messages/en.json.ejs +0 -2060
  19. package/hedhog/frontend/messages/operations/operations/en.json +0 -2102
  20. package/hedhog/frontend/messages/operations/operations/pt.json +0 -2111
  21. package/hedhog/frontend/messages/pt.json.ejs +0 -2067
  22. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/async-options-combobox.d.ts +0 -29
  23. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/async-options-combobox.d.ts.map +0 -1
  24. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/async-options-combobox.js +0 -95
  25. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/async-options-combobox.js.map +0 -1
  26. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/async-options-combobox.tsx +0 -233
  27. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-costs-section.d.ts +0 -10
  28. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-costs-section.d.ts.map +0 -1
  29. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-costs-section.js +0 -577
  30. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-costs-section.js.map +0 -1
  31. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-costs-section.tsx +0 -868
  32. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-details-screen.d.ts +0 -4
  33. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-details-screen.d.ts.map +0 -1
  34. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-details-screen.js +0 -337
  35. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-details-screen.js.map +0 -1
  36. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-details-screen.tsx +0 -476
  37. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-form-screen.d.ts +0 -9
  38. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-form-screen.d.ts.map +0 -1
  39. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-form-screen.js +0 -1348
  40. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-form-screen.js.map +0 -1
  41. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-form-screen.tsx +0 -2233
  42. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-select-with-create.d.ts +0 -12
  43. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-select-with-create.d.ts.map +0 -1
  44. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-select-with-create.js +0 -162
  45. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-select-with-create.js.map +0 -1
  46. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-select-with-create.tsx +0 -261
  47. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-content-editor.d.ts +0 -18
  48. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-content-editor.d.ts.map +0 -1
  49. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-content-editor.js +0 -145
  50. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-content-editor.js.map +0 -1
  51. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-content-editor.tsx +0 -258
  52. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-details-screen.d.ts +0 -4
  53. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-details-screen.d.ts.map +0 -1
  54. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-details-screen.js +0 -223
  55. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-details-screen.js.map +0 -1
  56. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-details-screen.tsx +0 -342
  57. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-form-screen.d.ts +0 -58
  58. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-form-screen.d.ts.map +0 -1
  59. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-form-screen.js +0 -438
  60. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-form-screen.js.map +0 -1
  61. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-form-screen.tsx +0 -698
  62. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/department-select-with-create.d.ts +0 -20
  63. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/department-select-with-create.d.ts.map +0 -1
  64. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/department-select-with-create.js +0 -233
  65. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/department-select-with-create.js.map +0 -1
  66. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/department-select-with-create.tsx +0 -392
  67. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/my-project-summary-screen.d.ts +0 -4
  68. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/my-project-summary-screen.d.ts.map +0 -1
  69. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/my-project-summary-screen.js +0 -814
  70. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/my-project-summary-screen.js.map +0 -1
  71. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/my-project-summary-screen.tsx +0 -1288
  72. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-calendar-view.d.ts +0 -21
  73. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-calendar-view.d.ts.map +0 -1
  74. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-calendar-view.js +0 -174
  75. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-calendar-view.js.map +0 -1
  76. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-calendar-view.tsx +0 -306
  77. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-header.d.ts +0 -10
  78. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-header.d.ts.map +0 -1
  79. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-header.js +0 -12
  80. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-header.js.map +0 -1
  81. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-header.tsx +0 -29
  82. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/person-select-with-create.d.ts +0 -15
  83. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/person-select-with-create.d.ts.map +0 -1
  84. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/person-select-with-create.js +0 -501
  85. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/person-select-with-create.js.map +0 -1
  86. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/person-select-with-create.tsx +0 -853
  87. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-costs-section.d.ts +0 -6
  88. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-costs-section.d.ts.map +0 -1
  89. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-costs-section.js +0 -847
  90. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-costs-section.js.map +0 -1
  91. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-costs-section.tsx +0 -1340
  92. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-details-screen.d.ts +0 -4
  93. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-details-screen.d.ts.map +0 -1
  94. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-details-screen.js +0 -2930
  95. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-details-screen.js.map +0 -1
  96. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-details-screen.tsx +0 -4378
  97. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-form-screen.d.ts +0 -9
  98. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-form-screen.d.ts.map +0 -1
  99. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-form-screen.js +0 -1013
  100. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-form-screen.js.map +0 -1
  101. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-form-screen.tsx +0 -1745
  102. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/section-card.d.ts +0 -13
  103. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/section-card.d.ts.map +0 -1
  104. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/section-card.js +0 -38
  105. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/section-card.js.map +0 -1
  106. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/section-card.tsx +0 -74
  107. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/status-badge.d.ts +0 -7
  108. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/status-badge.d.ts.map +0 -1
  109. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/status-badge.js +0 -11
  110. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/status-badge.js.map +0 -1
  111. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/status-badge.tsx +0 -15
  112. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/system-user-select-with-create.d.ts +0 -18
  113. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/system-user-select-with-create.d.ts.map +0 -1
  114. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/system-user-select-with-create.js +0 -406
  115. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/system-user-select-with-create.js.map +0 -1
  116. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/system-user-select-with-create.tsx +0 -660
  117. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-detail-sheet.d.ts +0 -26
  118. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-detail-sheet.d.ts.map +0 -1
  119. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-detail-sheet.js +0 -332
  120. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-detail-sheet.js.map +0 -1
  121. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-detail-sheet.tsx +0 -518
  122. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-file-attachments.d.ts +0 -6
  123. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-file-attachments.d.ts.map +0 -1
  124. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-file-attachments.js +0 -255
  125. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-file-attachments.js.map +0 -1
  126. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-file-attachments.tsx +0 -388
  127. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/timesheet-task-create-sheet.d.ts +0 -10
  128. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/timesheet-task-create-sheet.d.ts.map +0 -1
  129. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/timesheet-task-create-sheet.js +0 -131
  130. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/timesheet-task-create-sheet.js.map +0 -1
  131. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/timesheet-task-create-sheet.tsx +0 -214
  132. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/api.d.ts +0 -108
  133. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/api.d.ts.map +0 -1
  134. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/api.js +0 -162
  135. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/api.js.map +0 -1
  136. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/api.ts +0 -428
  137. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/hooks/use-operations-access.d.ts +0 -8
  138. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/hooks/use-operations-access.d.ts.map +0 -1
  139. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/hooks/use-operations-access.js +0 -36
  140. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/hooks/use-operations-access.js.map +0 -1
  141. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/hooks/use-operations-access.ts +0 -44
  142. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/types.d.ts +0 -837
  143. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/types.d.ts.map +0 -1
  144. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/types.js +0 -3
  145. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/types.js.map +0 -1
  146. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/types.ts +0 -861
  147. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/format.d.ts +0 -16
  148. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/format.d.ts.map +0 -1
  149. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/format.js +0 -182
  150. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/format.js.map +0 -1
  151. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/format.ts +0 -250
  152. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/forms.d.ts +0 -4
  153. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/forms.d.ts.map +0 -1
  154. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/forms.js +0 -51
  155. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/forms.js.map +0 -1
  156. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/forms.ts +0 -61
  157. package/hedhog/frontend/src/app/(app)/(libraries)/operations/approvals/page.d.ts +0 -2
  158. package/hedhog/frontend/src/app/(app)/(libraries)/operations/approvals/page.d.ts.map +0 -1
  159. package/hedhog/frontend/src/app/(app)/(libraries)/operations/approvals/page.js +0 -954
  160. package/hedhog/frontend/src/app/(app)/(libraries)/operations/approvals/page.js.map +0 -1
  161. package/hedhog/frontend/src/app/(app)/(libraries)/operations/approvals/page.tsx +0 -1277
  162. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborator-types/page.d.ts +0 -2
  163. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborator-types/page.d.ts.map +0 -1
  164. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborator-types/page.js +0 -488
  165. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborator-types/page.js.map +0 -1
  166. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborator-types/page.tsx +0 -805
  167. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/edit/page.d.ts +0 -6
  168. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/edit/page.d.ts.map +0 -1
  169. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/edit/page.js +0 -9
  170. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/edit/page.js.map +0 -1
  171. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/edit/page.tsx +0 -11
  172. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/page.d.ts +0 -6
  173. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/page.d.ts.map +0 -1
  174. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/page.js +0 -9
  175. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/page.js.map +0 -1
  176. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/page.tsx +0 -11
  177. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/new/page.d.ts +0 -2
  178. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/new/page.d.ts.map +0 -1
  179. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/new/page.js +0 -8
  180. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/new/page.js.map +0 -1
  181. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/new/page.tsx +0 -5
  182. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/page.d.ts +0 -2
  183. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/page.d.ts.map +0 -1
  184. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/page.js +0 -612
  185. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/page.js.map +0 -1
  186. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/page.tsx +0 -939
  187. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/edit/page.d.ts +0 -6
  188. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/edit/page.d.ts.map +0 -1
  189. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/edit/page.js +0 -9
  190. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/edit/page.js.map +0 -1
  191. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/edit/page.tsx +0 -11
  192. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/page.d.ts +0 -6
  193. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/page.d.ts.map +0 -1
  194. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/page.js +0 -9
  195. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/page.js.map +0 -1
  196. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/page.tsx +0 -11
  197. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/new/page.d.ts +0 -6
  198. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/new/page.d.ts.map +0 -1
  199. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/new/page.js +0 -9
  200. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/new/page.js.map +0 -1
  201. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/new/page.tsx +0 -17
  202. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/page.d.ts +0 -2
  203. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/page.d.ts.map +0 -1
  204. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/page.js +0 -348
  205. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/page.js.map +0 -1
  206. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/page.tsx +0 -536
  207. package/hedhog/frontend/src/app/(app)/(libraries)/operations/departments/page.d.ts +0 -2
  208. package/hedhog/frontend/src/app/(app)/(libraries)/operations/departments/page.d.ts.map +0 -1
  209. package/hedhog/frontend/src/app/(app)/(libraries)/operations/departments/page.js +0 -401
  210. package/hedhog/frontend/src/app/(app)/(libraries)/operations/departments/page.js.map +0 -1
  211. package/hedhog/frontend/src/app/(app)/(libraries)/operations/departments/page.tsx +0 -607
  212. package/hedhog/frontend/src/app/(app)/(libraries)/operations/layout.d.ts +0 -5
  213. package/hedhog/frontend/src/app/(app)/(libraries)/operations/layout.d.ts.map +0 -1
  214. package/hedhog/frontend/src/app/(app)/(libraries)/operations/layout.js +0 -7
  215. package/hedhog/frontend/src/app/(app)/(libraries)/operations/layout.js.map +0 -1
  216. package/hedhog/frontend/src/app/(app)/(libraries)/operations/layout.tsx +0 -9
  217. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/[id]/page.d.ts +0 -6
  218. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/[id]/page.d.ts.map +0 -1
  219. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/[id]/page.js +0 -9
  220. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/[id]/page.js.map +0 -1
  221. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/[id]/page.tsx +0 -11
  222. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/page.d.ts +0 -2
  223. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/page.d.ts.map +0 -1
  224. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/page.js +0 -321
  225. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/page.js.map +0 -1
  226. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/page.tsx +0 -440
  227. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-tasks/page.d.ts +0 -2
  228. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-tasks/page.d.ts.map +0 -1
  229. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-tasks/page.js +0 -939
  230. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-tasks/page.js.map +0 -1
  231. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-tasks/page.tsx +0 -1499
  232. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/async-options-combobox.d.ts +0 -29
  233. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/async-options-combobox.d.ts.map +0 -1
  234. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/async-options-combobox.js +0 -95
  235. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/async-options-combobox.js.map +0 -1
  236. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/async-options-combobox.tsx +0 -233
  237. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-costs-section.d.ts +0 -10
  238. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-costs-section.d.ts.map +0 -1
  239. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-costs-section.js +0 -577
  240. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-costs-section.js.map +0 -1
  241. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-costs-section.tsx +0 -868
  242. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-details-screen.d.ts +0 -4
  243. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-details-screen.d.ts.map +0 -1
  244. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-details-screen.js +0 -337
  245. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-details-screen.js.map +0 -1
  246. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-details-screen.tsx +0 -476
  247. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-form-screen.d.ts +0 -9
  248. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-form-screen.d.ts.map +0 -1
  249. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-form-screen.js +0 -1348
  250. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-form-screen.js.map +0 -1
  251. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-form-screen.tsx +0 -2233
  252. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-select-with-create.d.ts +0 -12
  253. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-select-with-create.d.ts.map +0 -1
  254. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-select-with-create.js +0 -162
  255. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-select-with-create.js.map +0 -1
  256. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-select-with-create.tsx +0 -261
  257. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-content-editor.d.ts +0 -18
  258. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-content-editor.d.ts.map +0 -1
  259. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-content-editor.js +0 -145
  260. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-content-editor.js.map +0 -1
  261. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-content-editor.tsx +0 -258
  262. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-details-screen.d.ts +0 -4
  263. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-details-screen.d.ts.map +0 -1
  264. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-details-screen.js +0 -223
  265. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-details-screen.js.map +0 -1
  266. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-details-screen.tsx +0 -342
  267. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-form-screen.d.ts +0 -58
  268. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-form-screen.d.ts.map +0 -1
  269. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-form-screen.js +0 -438
  270. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-form-screen.js.map +0 -1
  271. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-form-screen.tsx +0 -698
  272. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/department-select-with-create.d.ts +0 -20
  273. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/department-select-with-create.d.ts.map +0 -1
  274. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/department-select-with-create.js +0 -233
  275. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/department-select-with-create.js.map +0 -1
  276. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/department-select-with-create.tsx +0 -392
  277. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/my-project-summary-screen.d.ts +0 -4
  278. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/my-project-summary-screen.d.ts.map +0 -1
  279. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/my-project-summary-screen.js +0 -814
  280. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/my-project-summary-screen.js.map +0 -1
  281. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/my-project-summary-screen.tsx +0 -1288
  282. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-calendar-view.d.ts +0 -21
  283. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-calendar-view.d.ts.map +0 -1
  284. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-calendar-view.js +0 -174
  285. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-calendar-view.js.map +0 -1
  286. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-calendar-view.tsx +0 -306
  287. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-header.d.ts +0 -10
  288. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-header.d.ts.map +0 -1
  289. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-header.js +0 -12
  290. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-header.js.map +0 -1
  291. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-header.tsx +0 -29
  292. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/person-select-with-create.d.ts +0 -15
  293. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/person-select-with-create.d.ts.map +0 -1
  294. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/person-select-with-create.js +0 -501
  295. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/person-select-with-create.js.map +0 -1
  296. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/person-select-with-create.tsx +0 -853
  297. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-cost-report-screen.d.ts +0 -6
  298. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-cost-report-screen.d.ts.map +0 -1
  299. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-cost-report-screen.js +0 -459
  300. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-cost-report-screen.js.map +0 -1
  301. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-cost-report-screen.tsx +0 -598
  302. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-costs-section.d.ts +0 -6
  303. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-costs-section.d.ts.map +0 -1
  304. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-costs-section.js +0 -876
  305. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-costs-section.js.map +0 -1
  306. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-costs-section.tsx +0 -1368
  307. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-details-screen.d.ts +0 -4
  308. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-details-screen.d.ts.map +0 -1
  309. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-details-screen.js +0 -2930
  310. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-details-screen.js.map +0 -1
  311. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-details-screen.tsx +0 -4378
  312. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-form-screen.d.ts +0 -9
  313. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-form-screen.d.ts.map +0 -1
  314. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-form-screen.js +0 -1013
  315. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-form-screen.js.map +0 -1
  316. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-form-screen.tsx +0 -1745
  317. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/section-card.d.ts +0 -13
  318. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/section-card.d.ts.map +0 -1
  319. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/section-card.js +0 -38
  320. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/section-card.js.map +0 -1
  321. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/section-card.tsx +0 -74
  322. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/status-badge.d.ts +0 -7
  323. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/status-badge.d.ts.map +0 -1
  324. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/status-badge.js +0 -11
  325. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/status-badge.js.map +0 -1
  326. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/status-badge.tsx +0 -15
  327. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/system-user-select-with-create.d.ts +0 -18
  328. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/system-user-select-with-create.d.ts.map +0 -1
  329. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/system-user-select-with-create.js +0 -406
  330. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/system-user-select-with-create.js.map +0 -1
  331. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/system-user-select-with-create.tsx +0 -660
  332. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-detail-sheet.d.ts +0 -26
  333. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-detail-sheet.d.ts.map +0 -1
  334. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-detail-sheet.js +0 -332
  335. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-detail-sheet.js.map +0 -1
  336. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-detail-sheet.tsx +0 -518
  337. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-file-attachments.d.ts +0 -6
  338. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-file-attachments.d.ts.map +0 -1
  339. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-file-attachments.js +0 -255
  340. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-file-attachments.js.map +0 -1
  341. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-file-attachments.tsx +0 -388
  342. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/timesheet-task-create-sheet.d.ts +0 -10
  343. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/timesheet-task-create-sheet.d.ts.map +0 -1
  344. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/timesheet-task-create-sheet.js +0 -131
  345. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/timesheet-task-create-sheet.js.map +0 -1
  346. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/timesheet-task-create-sheet.tsx +0 -214
  347. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/api.d.ts +0 -108
  348. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/api.d.ts.map +0 -1
  349. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/api.js +0 -162
  350. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/api.js.map +0 -1
  351. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/api.ts +0 -428
  352. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/hooks/use-operations-access.d.ts +0 -8
  353. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/hooks/use-operations-access.d.ts.map +0 -1
  354. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/hooks/use-operations-access.js +0 -36
  355. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/hooks/use-operations-access.js.map +0 -1
  356. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/hooks/use-operations-access.ts +0 -44
  357. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/types.d.ts +0 -837
  358. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/types.d.ts.map +0 -1
  359. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/types.js +0 -3
  360. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/types.js.map +0 -1
  361. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/types.ts +0 -861
  362. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/format.d.ts +0 -16
  363. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/format.d.ts.map +0 -1
  364. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/format.js +0 -182
  365. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/format.js.map +0 -1
  366. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/format.ts +0 -250
  367. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/forms.d.ts +0 -4
  368. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/forms.d.ts.map +0 -1
  369. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/forms.js +0 -51
  370. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/forms.js.map +0 -1
  371. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/forms.ts +0 -61
  372. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/approvals/page.d.ts +0 -2
  373. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/approvals/page.d.ts.map +0 -1
  374. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/approvals/page.js +0 -954
  375. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/approvals/page.js.map +0 -1
  376. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/approvals/page.tsx +0 -1277
  377. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborator-types/page.d.ts +0 -2
  378. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborator-types/page.d.ts.map +0 -1
  379. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborator-types/page.js +0 -488
  380. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborator-types/page.js.map +0 -1
  381. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborator-types/page.tsx +0 -805
  382. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/edit/page.d.ts +0 -6
  383. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/edit/page.d.ts.map +0 -1
  384. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/edit/page.js +0 -9
  385. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/edit/page.js.map +0 -1
  386. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/edit/page.tsx +0 -11
  387. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/page.d.ts +0 -6
  388. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/page.d.ts.map +0 -1
  389. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/page.js +0 -9
  390. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/page.js.map +0 -1
  391. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/page.tsx +0 -11
  392. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/new/page.d.ts +0 -2
  393. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/new/page.d.ts.map +0 -1
  394. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/new/page.js +0 -8
  395. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/new/page.js.map +0 -1
  396. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/new/page.tsx +0 -5
  397. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/page.d.ts +0 -2
  398. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/page.d.ts.map +0 -1
  399. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/page.js +0 -612
  400. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/page.js.map +0 -1
  401. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/page.tsx +0 -939
  402. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/edit/page.d.ts +0 -6
  403. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/edit/page.d.ts.map +0 -1
  404. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/edit/page.js +0 -9
  405. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/edit/page.js.map +0 -1
  406. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/edit/page.tsx +0 -11
  407. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/page.d.ts +0 -6
  408. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/page.d.ts.map +0 -1
  409. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/page.js +0 -9
  410. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/page.js.map +0 -1
  411. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/page.tsx +0 -11
  412. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/new/page.d.ts +0 -6
  413. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/new/page.d.ts.map +0 -1
  414. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/new/page.js +0 -9
  415. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/new/page.js.map +0 -1
  416. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/new/page.tsx +0 -17
  417. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/page.d.ts +0 -2
  418. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/page.d.ts.map +0 -1
  419. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/page.js +0 -348
  420. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/page.js.map +0 -1
  421. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/page.tsx +0 -536
  422. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/departments/page.d.ts +0 -2
  423. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/departments/page.d.ts.map +0 -1
  424. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/departments/page.js +0 -401
  425. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/departments/page.js.map +0 -1
  426. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/departments/page.tsx +0 -607
  427. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/layout.d.ts +0 -5
  428. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/layout.d.ts.map +0 -1
  429. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/layout.js +0 -7
  430. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/layout.js.map +0 -1
  431. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/layout.tsx +0 -9
  432. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/[id]/page.d.ts +0 -6
  433. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/[id]/page.d.ts.map +0 -1
  434. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/[id]/page.js +0 -9
  435. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/[id]/page.js.map +0 -1
  436. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/[id]/page.tsx +0 -11
  437. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/page.d.ts +0 -2
  438. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/page.d.ts.map +0 -1
  439. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/page.js +0 -321
  440. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/page.js.map +0 -1
  441. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/page.tsx +0 -440
  442. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-tasks/page.d.ts +0 -2
  443. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-tasks/page.d.ts.map +0 -1
  444. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-tasks/page.js +0 -939
  445. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-tasks/page.js.map +0 -1
  446. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-tasks/page.tsx +0 -1499
  447. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/page.d.ts +0 -2
  448. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/page.d.ts.map +0 -1
  449. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/page.js +0 -8
  450. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/page.js.map +0 -1
  451. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/page.tsx +0 -5
  452. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-categories/page.d.ts +0 -2
  453. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-categories/page.d.ts.map +0 -1
  454. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-categories/page.js +0 -436
  455. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-categories/page.js.map +0 -1
  456. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-categories/page.tsx +0 -675
  457. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-types/page.d.ts +0 -2
  458. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-types/page.d.ts.map +0 -1
  459. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-types/page.js +0 -563
  460. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-types/page.js.map +0 -1
  461. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-types/page.tsx +0 -846
  462. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/costs-report/page.d.ts +0 -6
  463. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/costs-report/page.d.ts.map +0 -1
  464. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/costs-report/page.js +0 -9
  465. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/costs-report/page.js.map +0 -1
  466. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/costs-report/page.tsx +0 -10
  467. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/edit/page.d.ts +0 -6
  468. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/edit/page.d.ts.map +0 -1
  469. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/edit/page.js +0 -9
  470. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/edit/page.js.map +0 -1
  471. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/edit/page.tsx +0 -11
  472. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/page.d.ts +0 -6
  473. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/page.d.ts.map +0 -1
  474. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/page.js +0 -9
  475. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/page.js.map +0 -1
  476. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/page.tsx +0 -11
  477. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/new/page.d.ts +0 -2
  478. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/new/page.d.ts.map +0 -1
  479. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/new/page.js +0 -8
  480. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/new/page.js.map +0 -1
  481. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/new/page.tsx +0 -5
  482. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/page.d.ts +0 -2
  483. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/page.d.ts.map +0 -1
  484. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/page.js +0 -492
  485. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/page.js.map +0 -1
  486. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/page.tsx +0 -757
  487. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/collaborators/page.d.ts +0 -2
  488. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/collaborators/page.d.ts.map +0 -1
  489. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/collaborators/page.js +0 -342
  490. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/collaborators/page.js.map +0 -1
  491. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/collaborators/page.tsx +0 -430
  492. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/projects/page.d.ts +0 -2
  493. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/projects/page.d.ts.map +0 -1
  494. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/projects/page.js +0 -338
  495. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/projects/page.js.map +0 -1
  496. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/projects/page.tsx +0 -428
  497. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/schedule-adjustments/page.d.ts +0 -2
  498. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/schedule-adjustments/page.d.ts.map +0 -1
  499. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/schedule-adjustments/page.js +0 -660
  500. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/schedule-adjustments/page.js.map +0 -1
  501. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/schedule-adjustments/page.tsx +0 -992
  502. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/time-off/page.d.ts +0 -2
  503. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/time-off/page.d.ts.map +0 -1
  504. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/time-off/page.js +0 -515
  505. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/time-off/page.js.map +0 -1
  506. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/time-off/page.tsx +0 -707
  507. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/timesheets/page.d.ts +0 -2
  508. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/timesheets/page.d.ts.map +0 -1
  509. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/timesheets/page.js +0 -1141
  510. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/timesheets/page.js.map +0 -1
  511. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/timesheets/page.tsx +0 -1705
  512. package/hedhog/frontend/src/app/(app)/(libraries)/operations/page.d.ts +0 -2
  513. package/hedhog/frontend/src/app/(app)/(libraries)/operations/page.d.ts.map +0 -1
  514. package/hedhog/frontend/src/app/(app)/(libraries)/operations/page.js +0 -8
  515. package/hedhog/frontend/src/app/(app)/(libraries)/operations/page.js.map +0 -1
  516. package/hedhog/frontend/src/app/(app)/(libraries)/operations/page.tsx +0 -5
  517. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-categories/page.d.ts +0 -2
  518. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-categories/page.d.ts.map +0 -1
  519. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-categories/page.js +0 -436
  520. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-categories/page.js.map +0 -1
  521. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-categories/page.tsx +0 -675
  522. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-types/page.d.ts +0 -2
  523. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-types/page.d.ts.map +0 -1
  524. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-types/page.js +0 -563
  525. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-types/page.js.map +0 -1
  526. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-types/page.tsx +0 -846
  527. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/edit/page.d.ts +0 -6
  528. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/edit/page.d.ts.map +0 -1
  529. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/edit/page.js +0 -9
  530. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/edit/page.js.map +0 -1
  531. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/edit/page.tsx +0 -11
  532. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/page.d.ts +0 -6
  533. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/page.d.ts.map +0 -1
  534. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/page.js +0 -9
  535. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/page.js.map +0 -1
  536. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/page.tsx +0 -11
  537. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/new/page.d.ts +0 -2
  538. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/new/page.d.ts.map +0 -1
  539. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/new/page.js +0 -8
  540. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/new/page.js.map +0 -1
  541. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/new/page.tsx +0 -5
  542. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/page.d.ts +0 -2
  543. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/page.d.ts.map +0 -1
  544. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/page.js +0 -492
  545. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/page.js.map +0 -1
  546. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/page.tsx +0 -757
  547. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/collaborators/page.d.ts +0 -2
  548. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/collaborators/page.d.ts.map +0 -1
  549. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/collaborators/page.js +0 -342
  550. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/collaborators/page.js.map +0 -1
  551. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/collaborators/page.tsx +0 -430
  552. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/projects/page.d.ts +0 -2
  553. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/projects/page.d.ts.map +0 -1
  554. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/projects/page.js +0 -338
  555. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/projects/page.js.map +0 -1
  556. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/projects/page.tsx +0 -428
  557. package/hedhog/frontend/src/app/(app)/(libraries)/operations/schedule-adjustments/page.d.ts +0 -2
  558. package/hedhog/frontend/src/app/(app)/(libraries)/operations/schedule-adjustments/page.d.ts.map +0 -1
  559. package/hedhog/frontend/src/app/(app)/(libraries)/operations/schedule-adjustments/page.js +0 -660
  560. package/hedhog/frontend/src/app/(app)/(libraries)/operations/schedule-adjustments/page.js.map +0 -1
  561. package/hedhog/frontend/src/app/(app)/(libraries)/operations/schedule-adjustments/page.tsx +0 -992
  562. package/hedhog/frontend/src/app/(app)/(libraries)/operations/time-off/page.d.ts +0 -2
  563. package/hedhog/frontend/src/app/(app)/(libraries)/operations/time-off/page.d.ts.map +0 -1
  564. package/hedhog/frontend/src/app/(app)/(libraries)/operations/time-off/page.js +0 -515
  565. package/hedhog/frontend/src/app/(app)/(libraries)/operations/time-off/page.js.map +0 -1
  566. package/hedhog/frontend/src/app/(app)/(libraries)/operations/time-off/page.tsx +0 -707
  567. package/hedhog/frontend/src/app/(app)/(libraries)/operations/timesheets/page.d.ts +0 -2
  568. package/hedhog/frontend/src/app/(app)/(libraries)/operations/timesheets/page.d.ts.map +0 -1
  569. package/hedhog/frontend/src/app/(app)/(libraries)/operations/timesheets/page.js +0 -1141
  570. package/hedhog/frontend/src/app/(app)/(libraries)/operations/timesheets/page.js.map +0 -1
  571. package/hedhog/frontend/src/app/(app)/(libraries)/operations/timesheets/page.tsx +0 -1705
@@ -1,992 +0,0 @@
1
- 'use client';
2
-
3
- import {
4
- EmptyState,
5
- Page,
6
- PaginationFooter,
7
- SearchBar,
8
- } from '@/components/entity-list';
9
- import { Badge } from '@/components/ui/badge';
10
- import { Button } from '@/components/ui/button';
11
- import { FormActions } from '@/components/ui/form-actions';
12
- import { Input } from '@/components/ui/input';
13
- import { KpiCardsGrid } from '@/components/ui/kpi-cards-grid';
14
- import {
15
- Select,
16
- SelectContent,
17
- SelectItem,
18
- SelectTrigger,
19
- SelectValue,
20
- } from '@/components/ui/select';
21
- import {
22
- Sheet,
23
- SheetContent,
24
- SheetDescription,
25
- SheetHeader,
26
- SheetTitle,
27
- } from '@/components/ui/sheet';
28
- import { Switch } from '@/components/ui/switch';
29
- import {
30
- Table,
31
- TableBody,
32
- TableCell,
33
- TableHead,
34
- TableHeader,
35
- TableRow,
36
- } from '@/components/ui/table';
37
- import { Textarea } from '@/components/ui/textarea';
38
- import { ToggleGroup, ToggleGroupItem } from '@/components/ui/toggle-group';
39
- import { useApp, useQuery } from '@hed-hog/next-app-provider';
40
- import {
41
- CalendarRange,
42
- Clock,
43
- Eye,
44
- LayoutGrid,
45
- List,
46
- Plus,
47
- User,
48
- } from 'lucide-react';
49
- import { useTranslations } from 'next-intl';
50
- import { useMemo, useState } from 'react';
51
- import { OperationsHeader } from '../_components/operations-header';
52
- import { StatusBadge } from '../_components/status-badge';
53
- import { fetchOperations, mutateOperations } from '../_lib/api';
54
- import { useOperationsAccess } from '../_lib/hooks/use-operations-access';
55
- import type {
56
- OperationsScheduleAdjustmentDay,
57
- OperationsScheduleAdjustmentRequest,
58
- PaginatedResponse,
59
- } from '../_lib/types';
60
- import {
61
- formatDateRange,
62
- formatEnumLabel,
63
- formatWeekdayLabel,
64
- getStatusBadgeClass,
65
- } from '../_lib/utils/format';
66
- import { parseNumberInput, trimToNull } from '../_lib/utils/forms';
67
-
68
- const weekdays = [
69
- 'monday',
70
- 'tuesday',
71
- 'wednesday',
72
- 'thursday',
73
- 'friday',
74
- 'saturday',
75
- 'sunday',
76
- ] as const;
77
-
78
- type ScheduleDay = {
79
- weekday: string;
80
- isWorkingDay: boolean;
81
- startTime?: string | null;
82
- endTime?: string | null;
83
- breakMinutes?: number | null;
84
- };
85
-
86
- const WEEKDAY_ORDER = [
87
- 'monday',
88
- 'tuesday',
89
- 'wednesday',
90
- 'thursday',
91
- 'friday',
92
- 'saturday',
93
- 'sunday',
94
- ];
95
-
96
- function formatTimeValue(t: string) {
97
- // Handle full ISO datetime (e.g. "1970-01-01T09:00:00.000Z") returned by pg driver
98
- if (t.includes('T')) {
99
- return t.split('T')[1]?.slice(0, 5) ?? '--:--';
100
- }
101
- return t.slice(0, 5);
102
- }
103
-
104
- function groupScheduleLines(days: ScheduleDay[], locale: string) {
105
- if (!days.length) return [];
106
-
107
- // Sort by canonical weekday order before grouping
108
- const sorted = [...days].sort(
109
- (a, b) =>
110
- WEEKDAY_ORDER.indexOf(a.weekday.toLowerCase()) -
111
- WEEKDAY_ORDER.indexOf(b.weekday.toLowerCase())
112
- );
113
-
114
- const dayAbbr = (weekday: string) => {
115
- const full = formatWeekdayLabel(weekday, locale);
116
- return full.slice(0, 3);
117
- };
118
-
119
- type Group = {
120
- days: string[];
121
- time: string | null;
122
- break: number | null;
123
- isOff: boolean;
124
- };
125
- const groups: Group[] = [];
126
-
127
- for (const day of sorted) {
128
- const time =
129
- day.isWorkingDay && day.startTime && day.endTime
130
- ? `${formatTimeValue(day.startTime)}–${formatTimeValue(day.endTime)}`
131
- : null;
132
- const breakMin = day.isWorkingDay ? (day.breakMinutes ?? null) : null;
133
- const isOff = !day.isWorkingDay;
134
-
135
- const last = groups[groups.length - 1];
136
- if (
137
- last &&
138
- last.isOff === isOff &&
139
- last.time === time &&
140
- last.break === breakMin
141
- ) {
142
- last.days.push(dayAbbr(day.weekday));
143
- } else {
144
- groups.push({
145
- days: [dayAbbr(day.weekday)],
146
- time,
147
- break: breakMin,
148
- isOff,
149
- });
150
- }
151
- }
152
-
153
- return groups.map((g) => {
154
- const dayLabel =
155
- g.days.length > 1
156
- ? `${g.days[0]}–${g.days[g.days.length - 1]}`
157
- : g.days[0];
158
- return { dayLabel, time: g.time, break: g.break, isOff: g.isOff };
159
- });
160
- }
161
-
162
- function SchedulePanel({
163
- days,
164
- locale,
165
- emptyLabel,
166
- }: {
167
- days: ScheduleDay[];
168
- locale: string;
169
- emptyLabel: string;
170
- }) {
171
- const lines = groupScheduleLines(days, locale);
172
- if (!lines.length)
173
- return <p className="text-xs text-muted-foreground">{emptyLabel}</p>;
174
- return (
175
- <div className="space-y-1">
176
- {lines.map((line, i) => (
177
- <div key={i} className="flex items-center gap-2 text-xs">
178
- <span
179
- className={`inline-block size-2 shrink-0 rounded-full ${line.isOff ? 'bg-muted-foreground/30' : 'bg-emerald-500'}`}
180
- />
181
- <span className="w-16 shrink-0 font-medium text-foreground">
182
- {line.dayLabel}
183
- </span>
184
- {line.isOff ? (
185
- <span className="text-muted-foreground">Folga</span>
186
- ) : (
187
- <span className="text-foreground">
188
- {line.time}
189
- {line.break ? (
190
- <span className="ml-1 text-muted-foreground">
191
- ({line.break}min int.)
192
- </span>
193
- ) : null}
194
- </span>
195
- )}
196
- </div>
197
- ))}
198
- </div>
199
- );
200
- }
201
-
202
- type ScheduleFormState = {
203
- requestScope: string;
204
- effectiveStartDate: string;
205
- effectiveEndDate: string;
206
- reason: string;
207
- days: Array<{
208
- weekday: string;
209
- isWorkingDay: boolean;
210
- startTime: string;
211
- endTime: string;
212
- breakMinutes: string;
213
- }>;
214
- };
215
-
216
- const emptyForm: ScheduleFormState = {
217
- requestScope: 'temporary',
218
- effectiveStartDate: '',
219
- effectiveEndDate: '',
220
- reason: '',
221
- days: weekdays.map((weekday) => ({
222
- weekday,
223
- isWorkingDay: !['saturday', 'sunday'].includes(weekday),
224
- startTime: '09:00',
225
- endTime: '18:00',
226
- breakMinutes: '60',
227
- })),
228
- };
229
-
230
- export default function OperationsScheduleAdjustmentsPage() {
231
- const t = useTranslations('operations.ScheduleAdjustmentsPage');
232
- const commonT = useTranslations('operations.Common');
233
- const { request, showToastHandler, currentLocaleCode } = useApp();
234
- const access = useOperationsAccess();
235
- const [search, setSearch] = useState('');
236
- const [statusFilter, setStatusFilter] = useState('all');
237
- const [page, setPage] = useState(1);
238
- const [pageSize, setPageSize] = useState(12);
239
- const [viewMode, setViewMode] = useState<'table' | 'cards'>(() => {
240
- if (typeof window === 'undefined') return 'cards';
241
- const saved = window.localStorage.getItem(
242
- 'operations-schedule-adjustments-view-mode'
243
- );
244
- return saved === 'table' ? 'table' : 'cards';
245
- });
246
- const [isSheetOpen, setIsSheetOpen] = useState(false);
247
- const [isDetailsOpen, setIsDetailsOpen] = useState(false);
248
- const [selectedRequest, setSelectedRequest] =
249
- useState<OperationsScheduleAdjustmentRequest | null>(null);
250
- const [form, setForm] = useState<ScheduleFormState>(emptyForm);
251
-
252
- const getRequestScopeLabel = (value?: string | null) => {
253
- if (!value) {
254
- return '-';
255
- }
256
-
257
- const key = `options.requestScopes.${value}`;
258
- return t.has(key) ? t(key) : formatEnumLabel(value);
259
- };
260
-
261
- const getStatusLabel = (value?: string | null) => {
262
- if (!value) {
263
- return '-';
264
- }
265
-
266
- const key = `options.statuses.${value}`;
267
- return t.has(key) ? t(key) : formatEnumLabel(value);
268
- };
269
-
270
- const getStatusDescription = (value?: string | null) => {
271
- if (!value) {
272
- return null;
273
- }
274
-
275
- const key = `statusHelp.${value}`;
276
- return t.has(key) ? t(key) : null;
277
- };
278
-
279
- const { data: requestsResponse, refetch } = useQuery<
280
- PaginatedResponse<OperationsScheduleAdjustmentRequest>
281
- >({
282
- queryKey: [
283
- 'operations-schedule-adjustments',
284
- currentLocaleCode,
285
- search,
286
- statusFilter,
287
- page,
288
- pageSize,
289
- ],
290
- enabled: access.isCollaborator,
291
- queryFn: () => {
292
- const params = new URLSearchParams({
293
- page: String(page),
294
- pageSize: String(pageSize),
295
- });
296
- if (search.trim()) params.set('search', search.trim());
297
- if (statusFilter !== 'all') params.set('status', statusFilter);
298
- return fetchOperations<
299
- PaginatedResponse<OperationsScheduleAdjustmentRequest>
300
- >(request, `/operations/schedule-adjustments?${params.toString()}`);
301
- },
302
- placeholderData: (previous) => previous,
303
- });
304
-
305
- const requests = requestsResponse?.data ?? [];
306
-
307
- const handleViewModeChange = (value: string) => {
308
- if (value !== 'table' && value !== 'cards') return;
309
- setViewMode(value as 'table' | 'cards');
310
- if (typeof window !== 'undefined') {
311
- window.localStorage.setItem(
312
- 'operations-schedule-adjustments-view-mode',
313
- value
314
- );
315
- }
316
- };
317
-
318
- const cards = [
319
- {
320
- key: 'submitted',
321
- title: t('cards.submitted'),
322
- description: t('cards.submittedDescription'),
323
- value: requests.filter((item) => item.status === 'submitted').length,
324
- },
325
- {
326
- key: 'approved',
327
- title: t('cards.approved'),
328
- description: t('cards.approvedDescription'),
329
- value: requests.filter((item) => item.status === 'approved').length,
330
- },
331
- {
332
- key: 'permanent',
333
- title: t('cards.permanent'),
334
- description: t('cards.permanentDescription'),
335
- value: requests.filter((item) => item.requestScope === 'permanent')
336
- .length,
337
- },
338
- ];
339
-
340
- const requestedScheduleSummary = useMemo(
341
- () =>
342
- groupScheduleLines(
343
- form.days.map((day) => ({
344
- ...day,
345
- breakMinutes: day.isWorkingDay
346
- ? parseNumberInput(day.breakMinutes)
347
- : null,
348
- })),
349
- currentLocaleCode
350
- )
351
- .filter((line) => !line.isOff)
352
- .map((line) => `${line.dayLabel}: ${line.time}`)
353
- .join(', ') || '-',
354
- [form.days, currentLocaleCode]
355
- );
356
-
357
- const workingDaysCount = useMemo(
358
- () => form.days.filter((day) => day.isWorkingDay).length,
359
- [form.days]
360
- );
361
-
362
- const updateDay = (
363
- weekday: string,
364
- patch: Partial<ScheduleFormState['days'][number]>
365
- ) => {
366
- setForm((current) => ({
367
- ...current,
368
- days: current.days.map((day) =>
369
- day.weekday === weekday ? { ...day, ...patch } : day
370
- ),
371
- }));
372
- };
373
-
374
- const onSubmit = async () => {
375
- if (!form.effectiveStartDate) {
376
- showToastHandler?.('error', t('messages.requiredFields'));
377
- return;
378
- }
379
-
380
- try {
381
- await mutateOperations(
382
- request,
383
- '/operations/schedule-adjustments',
384
- 'POST',
385
- {
386
- requestScope: form.requestScope,
387
- effectiveStartDate: form.effectiveStartDate,
388
- effectiveEndDate: trimToNull(form.effectiveEndDate),
389
- reason: trimToNull(form.reason),
390
- days: form.days.map((day) => ({
391
- weekday: day.weekday,
392
- isWorkingDay: day.isWorkingDay,
393
- startTime: day.isWorkingDay ? trimToNull(day.startTime) : null,
394
- endTime: day.isWorkingDay ? trimToNull(day.endTime) : null,
395
- breakMinutes: day.isWorkingDay
396
- ? parseNumberInput(day.breakMinutes)
397
- : 0,
398
- })),
399
- }
400
- );
401
-
402
- showToastHandler?.('success', t('messages.saveSuccess'));
403
- setIsSheetOpen(false);
404
- setForm(emptyForm);
405
- await refetch();
406
- } catch {
407
- showToastHandler?.('error', t('messages.saveError'));
408
- }
409
- };
410
-
411
- const openDetails = (requestItem: OperationsScheduleAdjustmentRequest) => {
412
- setSelectedRequest(requestItem);
413
- setIsDetailsOpen(true);
414
- };
415
-
416
- return (
417
- <Page>
418
- <OperationsHeader
419
- title={t('title')}
420
- description={t('description')}
421
- current={t('breadcrumb')}
422
- actions={
423
- access.isCollaborator ? (
424
- <Button size="sm" onClick={() => setIsSheetOpen(true)}>
425
- <Plus className="size-4" />
426
- {commonT('actions.create')}
427
- </Button>
428
- ) : undefined
429
- }
430
- />
431
-
432
- <KpiCardsGrid items={cards} columns={3} />
433
-
434
- <div className="flex min-w-0 flex-col gap-4 xl:flex-row xl:items-center">
435
- <div className="flex-1">
436
- <SearchBar
437
- searchQuery={search}
438
- onSearchChange={(value) => {
439
- setSearch(value);
440
- setPage(1);
441
- }}
442
- showSearchButton={false}
443
- debounceMs={500}
444
- placeholder={t('searchPlaceholder')}
445
- controls={[
446
- {
447
- id: 'status',
448
- type: 'select',
449
- value: statusFilter,
450
- onChange: (value) => {
451
- setStatusFilter(value);
452
- setPage(1);
453
- },
454
- placeholder: commonT('labels.status'),
455
- options: [
456
- { value: 'all', label: commonT('filters.allStatuses') },
457
- { value: 'submitted', label: getStatusLabel('submitted') },
458
- { value: 'approved', label: getStatusLabel('approved') },
459
- { value: 'rejected', label: getStatusLabel('rejected') },
460
- ],
461
- },
462
- ]}
463
- />
464
- </div>
465
-
466
- <div className="flex items-center justify-between gap-3 xl:justify-end">
467
- <span className="text-xs font-medium text-muted-foreground">
468
- {t('viewMode')}
469
- </span>
470
- <ToggleGroup
471
- type="single"
472
- value={viewMode}
473
- onValueChange={handleViewModeChange}
474
- variant="outline"
475
- size="sm"
476
- >
477
- <ToggleGroupItem value="table" className="gap-1.5 px-2.5">
478
- <List className="h-4 w-4" />
479
- <span className="hidden sm:inline">{t('viewModeTable')}</span>
480
- </ToggleGroupItem>
481
- <ToggleGroupItem value="cards" className="gap-1.5 px-2.5">
482
- <LayoutGrid className="h-4 w-4" />
483
- <span className="hidden sm:inline">{t('viewModeCards')}</span>
484
- </ToggleGroupItem>
485
- </ToggleGroup>
486
- </div>
487
- </div>
488
-
489
- {requests.length > 0 ? (
490
- viewMode === 'cards' ? (
491
- <div className="space-y-3">
492
- {requests.map((requestItem) => (
493
- <div
494
- key={requestItem.id}
495
- className="rounded-lg border bg-card shadow-sm"
496
- >
497
- {/* Card header */}
498
- <div className="flex flex-wrap items-start justify-between gap-3 border-b px-4 py-3">
499
- <div className="space-y-1">
500
- <div className="flex items-center gap-2">
501
- <User className="size-4 shrink-0 text-muted-foreground" />
502
- <span className="font-semibold">
503
- {requestItem.collaboratorName}
504
- </span>
505
- <Badge variant="outline" className="text-xs">
506
- {getRequestScopeLabel(requestItem.requestScope)}
507
- </Badge>
508
- </div>
509
- <div className="flex items-center gap-1.5 text-sm text-muted-foreground">
510
- <CalendarRange className="size-3.5 shrink-0" />
511
- <span>
512
- {formatDateRange(
513
- requestItem.effectiveStartDate,
514
- requestItem.effectiveEndDate
515
- )}
516
- </span>
517
- </div>
518
- </div>
519
- <div className="flex flex-col items-end gap-1">
520
- <StatusBadge
521
- label={getStatusLabel(requestItem.status)}
522
- className={getStatusBadgeClass(requestItem.status)}
523
- />
524
- {getStatusDescription(requestItem.status) ? (
525
- <p className="text-xs text-muted-foreground">
526
- {getStatusDescription(requestItem.status)}
527
- </p>
528
- ) : null}
529
- </div>
530
- </div>
531
-
532
- {/* Schedule comparison */}
533
- <div className="grid gap-px bg-border sm:grid-cols-2">
534
- <div className="bg-card px-4 py-3">
535
- <p className="mb-2 text-xs font-medium uppercase tracking-wide text-muted-foreground">
536
- {t('table.currentSchedule')}
537
- </p>
538
- <SchedulePanel
539
- days={requestItem.currentSchedule ?? []}
540
- locale={currentLocaleCode}
541
- emptyLabel={commonT('labels.notAssigned')}
542
- />
543
- </div>
544
- <div className="bg-card px-4 py-3">
545
- <p className="mb-2 text-xs font-medium uppercase tracking-wide text-muted-foreground">
546
- {t('table.requestedSchedule')}
547
- </p>
548
- <SchedulePanel
549
- days={
550
- (requestItem.days ??
551
- []) as OperationsScheduleAdjustmentDay[]
552
- }
553
- locale={currentLocaleCode}
554
- emptyLabel={commonT('labels.notAssigned')}
555
- />
556
- </div>
557
- </div>
558
-
559
- {/* Card footer */}
560
- <div className="flex flex-wrap items-start justify-between gap-3 border-t bg-muted/20 px-4 py-2.5 text-sm">
561
- <div className="space-y-2">
562
- <div className="flex items-center gap-1.5 text-muted-foreground">
563
- <Clock className="size-3.5 shrink-0" />
564
- <span className="font-medium">
565
- {commonT('labels.approver')}:
566
- </span>
567
- <span>
568
- {requestItem.approverName ||
569
- commonT('labels.notAssigned')}
570
- </span>
571
- </div>
572
- <div>
573
- <Button
574
- variant="outline"
575
- size="sm"
576
- className="cursor-pointer"
577
- onClick={() => openDetails(requestItem)}
578
- >
579
- <Eye className="size-4" />
580
- {t('actions.viewDetails')}
581
- </Button>
582
- </div>
583
- </div>
584
- {requestItem.approverNote ? (
585
- <div className="text-xs text-muted-foreground">
586
- <span className="font-medium">
587
- {commonT('labels.notes')}:
588
- </span>{' '}
589
- {requestItem.approverNote}
590
- </div>
591
- ) : null}
592
- {requestItem.reason ? (
593
- <div className="text-xs text-muted-foreground">
594
- <span className="font-medium">
595
- {commonT('labels.reason')}:
596
- </span>{' '}
597
- {requestItem.reason}
598
- </div>
599
- ) : null}
600
- </div>
601
- </div>
602
- ))}
603
- </div>
604
- ) : (
605
- <div className="overflow-x-auto rounded-md border">
606
- <Table>
607
- <TableHeader>
608
- <TableRow>
609
- <TableHead>{commonT('labels.collaborator')}</TableHead>
610
- <TableHead>{t('table.scope')}</TableHead>
611
- <TableHead>{commonT('labels.timeline')}</TableHead>
612
- <TableHead>{commonT('labels.approver')}</TableHead>
613
- <TableHead>{commonT('labels.status')}</TableHead>
614
- <TableHead className="text-right">
615
- {commonT('labels.actions')}
616
- </TableHead>
617
- </TableRow>
618
- </TableHeader>
619
- <TableBody>
620
- {requests.map((requestItem) => (
621
- <TableRow key={requestItem.id} className="hover:bg-muted/30">
622
- <TableCell className="font-medium">
623
- {requestItem.collaboratorName}
624
- </TableCell>
625
- <TableCell>
626
- <Badge variant="outline" className="text-xs">
627
- {getRequestScopeLabel(requestItem.requestScope)}
628
- </Badge>
629
- </TableCell>
630
- <TableCell>
631
- {formatDateRange(
632
- requestItem.effectiveStartDate,
633
- requestItem.effectiveEndDate
634
- )}
635
- </TableCell>
636
- <TableCell>
637
- {requestItem.approverName ||
638
- commonT('labels.notAssigned')}
639
- </TableCell>
640
- <TableCell>
641
- <StatusBadge
642
- label={getStatusLabel(requestItem.status)}
643
- className={getStatusBadgeClass(requestItem.status)}
644
- />
645
- </TableCell>
646
- <TableCell>
647
- <div className="flex justify-end">
648
- <Button
649
- variant="outline"
650
- size="sm"
651
- className="cursor-pointer"
652
- onClick={() => openDetails(requestItem)}
653
- >
654
- <Eye className="size-4" />
655
- {t('actions.viewDetails')}
656
- </Button>
657
- </div>
658
- </TableCell>
659
- </TableRow>
660
- ))}
661
- </TableBody>
662
- </Table>
663
- </div>
664
- )
665
- ) : (
666
- <EmptyState
667
- icon={<CalendarRange className="size-12" />}
668
- title={commonT('states.emptyTitle')}
669
- description={t('emptyDescription')}
670
- actionLabel={
671
- access.isCollaborator
672
- ? commonT('actions.create')
673
- : commonT('actions.refresh')
674
- }
675
- onAction={
676
- access.isCollaborator
677
- ? () => setIsSheetOpen(true)
678
- : () => void refetch()
679
- }
680
- />
681
- )}
682
-
683
- <PaginationFooter
684
- currentPage={page}
685
- pageSize={pageSize}
686
- totalItems={requestsResponse?.total ?? 0}
687
- pageSizeOptions={[12, 24, 48]}
688
- onPageChange={setPage}
689
- onPageSizeChange={(size) => {
690
- setPageSize(size);
691
- setPage(1);
692
- }}
693
- />
694
-
695
- <Sheet open={isSheetOpen} onOpenChange={setIsSheetOpen}>
696
- <SheetContent className="w-full overflow-y-auto sm:max-w-3xl">
697
- <SheetHeader>
698
- <SheetTitle>{t('sheet.title')}</SheetTitle>
699
- <SheetDescription>{t('sheet.description')}</SheetDescription>
700
- </SheetHeader>
701
-
702
- <div className="mt-6 grid gap-4 px-4 pb-20">
703
- <div className="grid gap-4 md:grid-cols-3">
704
- <div className="space-y-2">
705
- <label className="text-sm font-medium">
706
- {commonT('labels.requestScope')}
707
- </label>
708
- <Select
709
- value={form.requestScope}
710
- onValueChange={(value) =>
711
- setForm((current) => ({ ...current, requestScope: value }))
712
- }
713
- >
714
- <SelectTrigger className="w-full">
715
- <SelectValue />
716
- </SelectTrigger>
717
- <SelectContent>
718
- <SelectItem value="temporary">
719
- {getRequestScopeLabel('temporary')}
720
- </SelectItem>
721
- <SelectItem value="permanent">
722
- {getRequestScopeLabel('permanent')}
723
- </SelectItem>
724
- </SelectContent>
725
- </Select>
726
- </div>
727
- <div className="space-y-2">
728
- <label className="text-sm font-medium">
729
- {commonT('labels.startDate')}
730
- </label>
731
- <Input
732
- type="date"
733
- value={form.effectiveStartDate}
734
- onChange={(event) =>
735
- setForm((current) => ({
736
- ...current,
737
- effectiveStartDate: event.target.value,
738
- }))
739
- }
740
- />
741
- </div>
742
- <div className="space-y-2">
743
- <label className="text-sm font-medium">
744
- {commonT('labels.endDate')}
745
- </label>
746
- <Input
747
- type="date"
748
- value={form.effectiveEndDate}
749
- onChange={(event) =>
750
- setForm((current) => ({
751
- ...current,
752
- effectiveEndDate: event.target.value,
753
- }))
754
- }
755
- />
756
- </div>
757
- </div>
758
-
759
- <div className="space-y-2">
760
- <label className="text-sm font-medium">
761
- {commonT('labels.reason')}
762
- </label>
763
- <Textarea
764
- rows={3}
765
- placeholder={t('sheet.reasonPlaceholder')}
766
- value={form.reason}
767
- onChange={(event) =>
768
- setForm((current) => ({
769
- ...current,
770
- reason: event.target.value,
771
- }))
772
- }
773
- />
774
- </div>
775
-
776
- <div className="space-y-3">
777
- <div className="text-sm font-medium">
778
- {commonT('labels.weeklySchedule')}
779
- </div>
780
- <div className="rounded-lg border bg-muted/30 p-3 text-sm">
781
- <div className="font-medium text-foreground">
782
- {t('scheduleEditor.summaryLabel')}
783
- </div>
784
- <p className="mt-1 text-muted-foreground">
785
- {requestedScheduleSummary}
786
- </p>
787
- <p className="mt-2 text-xs text-muted-foreground">
788
- {t('scheduleEditor.daysPerWeek', {
789
- count: workingDaysCount,
790
- })}
791
- </p>
792
- </div>
793
- <p className="text-sm text-muted-foreground">
794
- {t('scheduleEditor.helper')}
795
- </p>
796
- <div className="space-y-3">
797
- {form.days.map((day) => (
798
- <div
799
- key={day.weekday}
800
- className="grid gap-3 rounded-lg border p-4 lg:grid-cols-[minmax(0,1fr)_minmax(0,2fr)]"
801
- >
802
- <div className="space-y-2">
803
- <div>
804
- <div className="font-medium">
805
- {formatWeekdayLabel(day.weekday, currentLocaleCode)}
806
- </div>
807
- <div className="text-xs text-muted-foreground">
808
- {day.isWorkingDay
809
- ? `${commonT('labels.workingDay')} • ${day.startTime || '--:--'}-${day.endTime || '--:--'}`
810
- : commonT('labels.dayOff')}
811
- </div>
812
- </div>
813
- <label className="flex items-center gap-2 text-sm text-muted-foreground">
814
- <Switch
815
- checked={day.isWorkingDay}
816
- onCheckedChange={(checked) =>
817
- updateDay(day.weekday, { isWorkingDay: checked })
818
- }
819
- />
820
- <span>
821
- {day.isWorkingDay
822
- ? commonT('labels.workingDay')
823
- : commonT('labels.dayOff')}
824
- </span>
825
- </label>
826
- </div>
827
- <div className="grid gap-3 sm:grid-cols-3">
828
- <div className="space-y-1">
829
- <div className="text-xs text-muted-foreground">
830
- {t('scheduleEditor.startTime')}
831
- </div>
832
- <Input
833
- type="time"
834
- value={day.startTime}
835
- disabled={!day.isWorkingDay}
836
- onChange={(event) =>
837
- updateDay(day.weekday, {
838
- startTime: event.target.value,
839
- })
840
- }
841
- />
842
- </div>
843
- <div className="space-y-1">
844
- <div className="text-xs text-muted-foreground">
845
- {t('scheduleEditor.endTime')}
846
- </div>
847
- <Input
848
- type="time"
849
- value={day.endTime}
850
- disabled={!day.isWorkingDay}
851
- onChange={(event) =>
852
- updateDay(day.weekday, {
853
- endTime: event.target.value,
854
- })
855
- }
856
- />
857
- </div>
858
- <div className="space-y-1">
859
- <div className="text-xs text-muted-foreground">
860
- {t('scheduleEditor.breakMinutes')}
861
- </div>
862
- <Input
863
- type="number"
864
- value={day.breakMinutes}
865
- disabled={!day.isWorkingDay}
866
- onChange={(event) =>
867
- updateDay(day.weekday, {
868
- breakMinutes: event.target.value,
869
- })
870
- }
871
- />
872
- </div>
873
- </div>
874
- </div>
875
- ))}
876
- </div>
877
- </div>
878
- </div>
879
-
880
- <FormActions
881
- sheet
882
- cancelLabel={commonT('actions.cancel')}
883
- onCancel={() => setIsSheetOpen(false)}
884
- onSubmit={() => void onSubmit()}
885
- submitLabel={commonT('actions.save')}
886
- />
887
- </SheetContent>
888
- </Sheet>
889
-
890
- <Sheet open={isDetailsOpen} onOpenChange={setIsDetailsOpen}>
891
- <SheetContent className="w-full overflow-y-auto sm:max-w-3xl">
892
- <SheetHeader>
893
- <SheetTitle>{t('details.title')}</SheetTitle>
894
- <SheetDescription>{t('details.description')}</SheetDescription>
895
- </SheetHeader>
896
-
897
- {selectedRequest ? (
898
- <div className="mt-6 space-y-5 px-4 pb-8">
899
- <div className="rounded-lg border bg-muted/20 p-4">
900
- <div className="flex flex-wrap items-start justify-between gap-3">
901
- <div>
902
- <div className="text-lg font-semibold">
903
- {selectedRequest.collaboratorName}
904
- </div>
905
- <div className="mt-1 text-sm text-muted-foreground">
906
- {getRequestScopeLabel(selectedRequest.requestScope)}
907
- </div>
908
- </div>
909
- <StatusBadge
910
- label={getStatusLabel(selectedRequest.status)}
911
- className={getStatusBadgeClass(selectedRequest.status)}
912
- />
913
- </div>
914
- </div>
915
-
916
- <div className="grid gap-4 sm:grid-cols-2">
917
- <div>
918
- <div className="text-xs font-medium uppercase text-muted-foreground">
919
- {commonT('labels.timeline')}
920
- </div>
921
- <div className="mt-1 text-sm">
922
- {formatDateRange(
923
- selectedRequest.effectiveStartDate,
924
- selectedRequest.effectiveEndDate
925
- )}
926
- </div>
927
- </div>
928
- <div>
929
- <div className="text-xs font-medium uppercase text-muted-foreground">
930
- {commonT('labels.approver')}
931
- </div>
932
- <div className="mt-1 text-sm">
933
- {selectedRequest.approverName ||
934
- commonT('labels.notAssigned')}
935
- </div>
936
- </div>
937
- </div>
938
-
939
- <div className="grid gap-4 sm:grid-cols-2">
940
- <div>
941
- <div className="mb-2 text-xs font-medium uppercase tracking-wide text-muted-foreground">
942
- {t('table.currentSchedule')}
943
- </div>
944
- <div className="rounded-lg border p-3">
945
- <SchedulePanel
946
- days={selectedRequest.currentSchedule ?? []}
947
- locale={currentLocaleCode}
948
- emptyLabel={commonT('labels.notAssigned')}
949
- />
950
- </div>
951
- </div>
952
- <div>
953
- <div className="mb-2 text-xs font-medium uppercase tracking-wide text-muted-foreground">
954
- {t('table.requestedSchedule')}
955
- </div>
956
- <div className="rounded-lg border p-3">
957
- <SchedulePanel
958
- days={
959
- (selectedRequest.days ??
960
- []) as OperationsScheduleAdjustmentDay[]
961
- }
962
- locale={currentLocaleCode}
963
- emptyLabel={commonT('labels.notAssigned')}
964
- />
965
- </div>
966
- </div>
967
- </div>
968
-
969
- <div>
970
- <div className="text-xs font-medium uppercase text-muted-foreground">
971
- {commonT('labels.reason')}
972
- </div>
973
- <div className="mt-1 rounded-lg border p-3 text-sm">
974
- {selectedRequest.reason || commonT('labels.noNotes')}
975
- </div>
976
- </div>
977
-
978
- <div>
979
- <div className="text-xs font-medium uppercase text-muted-foreground">
980
- {commonT('labels.notes')}
981
- </div>
982
- <div className="mt-1 rounded-lg border p-3 text-sm">
983
- {selectedRequest.approverNote || commonT('labels.noNotes')}
984
- </div>
985
- </div>
986
- </div>
987
- ) : null}
988
- </SheetContent>
989
- </Sheet>
990
- </Page>
991
- );
992
- }