@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,954 +0,0 @@
1
- "use strict";
2
- 'use client';
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.default = OperationsApprovalsPage;
5
- const entity_list_1 = require("@/components/entity-list");
6
- const button_1 = require("@/components/ui/button");
7
- const card_1 = require("@/components/ui/card");
8
- const dialog_1 = require("@/components/ui/dialog");
9
- const kpi_cards_grid_1 = require("@/components/ui/kpi-cards-grid");
10
- const sheet_1 = require("@/components/ui/sheet");
11
- const table_1 = require("@/components/ui/table");
12
- const textarea_1 = require("@/components/ui/textarea");
13
- const toggle_group_1 = require("@/components/ui/toggle-group");
14
- const next_app_provider_1 = require("@hed-hog/next-app-provider");
15
- const lucide_react_1 = require("lucide-react");
16
- const next_intl_1 = require("next-intl");
17
- const react_1 = require("react");
18
- const operations_calendar_view_1 = require("../_components/operations-calendar-view");
19
- const operations_header_1 = require("../_components/operations-header");
20
- const status_badge_1 = require("../_components/status-badge");
21
- const api_1 = require("../_lib/api");
22
- const use_operations_access_1 = require("../_lib/hooks/use-operations-access");
23
- const format_1 = require("../_lib/utils/format");
24
- const WEEKDAY_ORDER = [
25
- 'monday',
26
- 'tuesday',
27
- 'wednesday',
28
- 'thursday',
29
- 'friday',
30
- 'saturday',
31
- 'sunday',
32
- ];
33
- function formatTimeValue(t) {
34
- var _a, _b;
35
- if (t.includes('T'))
36
- return (_b = (_a = t.split('T')[1]) === null || _a === void 0 ? void 0 : _a.slice(0, 5)) !== null && _b !== void 0 ? _b : '--:--';
37
- return t.slice(0, 5);
38
- }
39
- function groupScheduleLines(days, locale) {
40
- var _a;
41
- if (!days.length)
42
- return [];
43
- const sorted = [...days].sort((a, b) => WEEKDAY_ORDER.indexOf(a.weekday.toLowerCase()) -
44
- WEEKDAY_ORDER.indexOf(b.weekday.toLowerCase()));
45
- const dayAbbr = (weekday) => (0, format_1.formatWeekdayLabel)(weekday, locale).slice(0, 3);
46
- const groups = [];
47
- for (const day of sorted) {
48
- const time = day.isWorkingDay && day.startTime && day.endTime
49
- ? `${formatTimeValue(day.startTime)}–${formatTimeValue(day.endTime)}`
50
- : null;
51
- const breakMin = day.isWorkingDay ? ((_a = day.breakMinutes) !== null && _a !== void 0 ? _a : null) : null;
52
- const isOff = !day.isWorkingDay;
53
- const last = groups[groups.length - 1];
54
- if (last &&
55
- last.isOff === isOff &&
56
- last.time === time &&
57
- last.break === breakMin) {
58
- last.days.push(dayAbbr(day.weekday));
59
- }
60
- else {
61
- groups.push({
62
- days: [dayAbbr(day.weekday)],
63
- time,
64
- break: breakMin,
65
- isOff,
66
- });
67
- }
68
- }
69
- return groups.map((g) => ({
70
- dayLabel: g.days.length > 1
71
- ? `${g.days[0]}–${g.days[g.days.length - 1]}`
72
- : g.days[0],
73
- time: g.time,
74
- break: g.break,
75
- isOff: g.isOff,
76
- }));
77
- }
78
- function SchedulePanel({ days, locale, emptyLabel, }) {
79
- const lines = groupScheduleLines(days, locale);
80
- if (!lines.length)
81
- return <p className="text-xs text-muted-foreground">{emptyLabel}</p>;
82
- return (<div className="space-y-1">
83
- {lines.map((line, i) => (<div key={i} className="flex items-center gap-2 text-xs">
84
- <span className={`inline-block size-2 shrink-0 rounded-full ${line.isOff ? 'bg-muted-foreground/30' : 'bg-emerald-500'}`}/>
85
- <span className="w-16 shrink-0 font-medium text-foreground">
86
- {line.dayLabel}
87
- </span>
88
- {line.isOff ? (<span className="text-muted-foreground">Folga</span>) : (<span className="text-foreground">
89
- {line.time}
90
- {line.break ? (<span className="ml-1 text-muted-foreground">
91
- ({line.break}min int.)
92
- </span>) : null}
93
- </span>)}
94
- </div>))}
95
- </div>);
96
- }
97
- function formatDateLabel(value) {
98
- if (!value)
99
- return '—';
100
- const match = String(value).match(/(\d{4}-\d{2}-\d{2})/);
101
- if (!match)
102
- return value;
103
- const date = new Date(`${match[1]}T12:00:00`);
104
- if (Number.isNaN(date.getTime()))
105
- return value;
106
- return new Intl.DateTimeFormat(undefined, {
107
- day: '2-digit',
108
- month: 'short',
109
- year: 'numeric',
110
- }).format(date);
111
- }
112
- function formatEntryDuration(minutes, hours) {
113
- if (typeof minutes === 'number' && Number.isFinite(minutes) && minutes > 0) {
114
- const h = Math.floor(minutes / 60);
115
- const m = minutes % 60;
116
- if (!h)
117
- return `${m}m`;
118
- if (!m)
119
- return `${h}h`;
120
- return `${h}h ${m}m`;
121
- }
122
- return (0, format_1.formatHours)(Number(hours !== null && hours !== void 0 ? hours : 0));
123
- }
124
- function OperationsApprovalsPage() {
125
- var _a, _b, _c, _d, _e, _f, _g, _h;
126
- const t = (0, next_intl_1.useTranslations)('operations.ApprovalsPage');
127
- const commonT = (0, next_intl_1.useTranslations)('operations.Common');
128
- const { request, showToastHandler, currentLocaleCode } = (0, next_app_provider_1.useApp)();
129
- const access = (0, use_operations_access_1.useOperationsAccess)();
130
- const [search, setSearch] = (0, react_1.useState)('');
131
- const [statusFilter, setStatusFilter] = (0, react_1.useState)('all');
132
- const [targetFilter, setTargetFilter] = (0, react_1.useState)('all');
133
- const [dateFrom, setDateFrom] = (0, react_1.useState)('');
134
- const [dateTo, setDateTo] = (0, react_1.useState)('');
135
- const [calendarYear, setCalendarYear] = (0, react_1.useState)(() => new Date().getFullYear());
136
- const [calendarMonth, setCalendarMonth] = (0, react_1.useState)(() => new Date().getMonth() + 1);
137
- const [page, setPage] = (0, react_1.useState)(1);
138
- const [pageSize, setPageSize] = (0, react_1.useState)(12);
139
- const [viewMode, setViewMode] = (0, react_1.useState)(() => {
140
- if (typeof window === 'undefined')
141
- return 'table';
142
- const saved = window.localStorage.getItem('operations-approvals-view-mode');
143
- return saved === 'cards' || saved === 'calendar' ? saved : 'table';
144
- });
145
- const [decisionNote, setDecisionNote] = (0, react_1.useState)('');
146
- const [pendingDecision, setPendingDecision] = (0, react_1.useState)(null);
147
- const [selectedApproval, setSelectedApproval] = (0, react_1.useState)(null);
148
- const [isDetailsOpen, setIsDetailsOpen] = (0, react_1.useState)(false);
149
- const [isDetailLoading, setIsDetailLoading] = (0, react_1.useState)(false);
150
- const getStatusLabel = (value) => {
151
- if (!value) {
152
- return '-';
153
- }
154
- const key = `options.statuses.${value}`;
155
- return t.has(key) ? t(key) : (0, format_1.formatEnumLabel)(value);
156
- };
157
- const getTargetTypeLabel = (value) => {
158
- if (!value) {
159
- return '-';
160
- }
161
- const key = `options.targetTypes.${value}`;
162
- return t.has(key) ? t(key) : (0, format_1.formatEnumLabel)(value);
163
- };
164
- const getTimeOffTypeLabel = (value) => {
165
- if (!value) {
166
- return '-';
167
- }
168
- const key = `options.timeOffTypes.${value}`;
169
- return t.has(key) ? t(key) : (0, format_1.formatEnumLabel)(value);
170
- };
171
- const getScheduleScopeLabel = (value) => {
172
- if (!value) {
173
- return '-';
174
- }
175
- const key = `options.scheduleScopes.${value}`;
176
- return t.has(key) ? t(key) : (0, format_1.formatEnumLabel)(value);
177
- };
178
- const getTypeColorClass = (targetType) => {
179
- switch (targetType) {
180
- case 'timesheet':
181
- return 'bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400';
182
- case 'time_off_request':
183
- return 'bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400';
184
- case 'schedule_adjustment_request':
185
- return 'bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400';
186
- default:
187
- return 'bg-muted text-muted-foreground';
188
- }
189
- };
190
- const getTypeIcon = (targetType) => {
191
- switch (targetType) {
192
- case 'timesheet':
193
- return <lucide_react_1.Clock className="size-3"/>;
194
- case 'time_off_request':
195
- return <lucide_react_1.CalendarOff className="size-3"/>;
196
- case 'schedule_adjustment_request':
197
- return <lucide_react_1.SlidersHorizontal className="size-3"/>;
198
- default:
199
- return null;
200
- }
201
- };
202
- const getTargetLabel = (approval) => {
203
- switch (approval.targetType) {
204
- case 'timesheet':
205
- return `${getTargetTypeLabel('timesheet')} ${(0, format_1.formatDate)(approval.timesheetWeekStartDate)}`;
206
- case 'time_off_request':
207
- return `${getTimeOffTypeLabel(approval.timeOffType)} ${(0, format_1.formatDate)(approval.timeOffStartDate)}`;
208
- case 'schedule_adjustment_request':
209
- return `${getScheduleScopeLabel(approval.scheduleRequestScope)} ${(0, format_1.formatDate)(approval.scheduleStartDate)}`;
210
- default:
211
- return getTargetTypeLabel(approval.targetType);
212
- }
213
- };
214
- const { data: approvalsResponse, refetch } = (0, next_app_provider_1.useQuery)({
215
- queryKey: [
216
- 'operations-approvals',
217
- currentLocaleCode,
218
- search,
219
- statusFilter,
220
- targetFilter,
221
- dateFrom,
222
- dateTo,
223
- page,
224
- pageSize,
225
- ],
226
- enabled: access.isSupervisor,
227
- queryFn: () => {
228
- const params = new URLSearchParams({
229
- page: String(page),
230
- pageSize: String(pageSize),
231
- });
232
- if (search.trim())
233
- params.set('search', search.trim());
234
- if (statusFilter !== 'all')
235
- params.set('status', statusFilter);
236
- if (targetFilter !== 'all')
237
- params.set('targetType', targetFilter);
238
- if (dateFrom)
239
- params.set('dateFrom', dateFrom);
240
- if (dateTo)
241
- params.set('dateTo', dateTo);
242
- return (0, api_1.fetchOperations)(request, `/operations/approvals?${params.toString()}`);
243
- },
244
- placeholderData: (previous) => previous,
245
- });
246
- const calendarDateFrom = `${String(calendarYear)}-${String(calendarMonth).padStart(2, '0')}-01`;
247
- const calendarDateTo = (() => {
248
- const lastDay = new Date(calendarYear, calendarMonth, 0).getDate();
249
- return `${String(calendarYear)}-${String(calendarMonth).padStart(2, '0')}-${String(lastDay).padStart(2, '0')}`;
250
- })();
251
- const { data: calendarApprovalsResponse } = (0, next_app_provider_1.useQuery)({
252
- queryKey: [
253
- 'operations-approvals-calendar',
254
- currentLocaleCode,
255
- search,
256
- statusFilter,
257
- calendarYear,
258
- calendarMonth,
259
- ],
260
- enabled: access.isSupervisor && viewMode === 'calendar',
261
- queryFn: () => {
262
- const params = new URLSearchParams({
263
- sortField: 'submittedAt',
264
- sortOrder: 'desc',
265
- dateFrom: calendarDateFrom,
266
- dateTo: calendarDateTo,
267
- });
268
- if (search.trim())
269
- params.set('search', search.trim());
270
- if (statusFilter !== 'all')
271
- params.set('status', statusFilter);
272
- return (0, api_1.fetchOperations)(request, `/operations/approvals?${params.toString()}`);
273
- },
274
- placeholderData: (previous) => previous,
275
- });
276
- const approvals = (_a = approvalsResponse === null || approvalsResponse === void 0 ? void 0 : approvalsResponse.data) !== null && _a !== void 0 ? _a : [];
277
- const calendarApprovals = (_b = calendarApprovalsResponse === null || calendarApprovalsResponse === void 0 ? void 0 : calendarApprovalsResponse.data) !== null && _b !== void 0 ? _b : [];
278
- const buildCalendarItem = (approval) => {
279
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
280
- return ({
281
- id: `approval-${approval.id}`,
282
- date: approval.targetType === 'timesheet'
283
- ? ((_b = String((_a = approval.timesheetWeekStartDate) !== null && _a !== void 0 ? _a : '').match(/(\d{4}-\d{2}-\d{2})/)) === null || _b === void 0 ? void 0 : _b[1]) ||
284
- ((_c = approval.submittedAt) === null || _c === void 0 ? void 0 : _c.slice(0, 10)) ||
285
- ''
286
- : approval.targetType === 'time_off_request'
287
- ? ((_e = String((_d = approval.timeOffStartDate) !== null && _d !== void 0 ? _d : '').match(/(\d{4}-\d{2}-\d{2})/)) === null || _e === void 0 ? void 0 : _e[1]) ||
288
- ((_f = approval.submittedAt) === null || _f === void 0 ? void 0 : _f.slice(0, 10)) ||
289
- ''
290
- : ((_h = String((_g = approval.scheduleStartDate) !== null && _g !== void 0 ? _g : '').match(/(\d{4}-\d{2}-\d{2})/)) === null || _h === void 0 ? void 0 : _h[1]) ||
291
- ((_j = approval.submittedAt) === null || _j === void 0 ? void 0 : _j.slice(0, 10)) ||
292
- '',
293
- title: approval.requesterName,
294
- subtitle: getTargetLabel(approval),
295
- kind: approval.targetType,
296
- meta: approval.status === 'pending'
297
- ? (0, format_1.formatDateTime)(approval.submittedAt)
298
- : (0, format_1.formatDateTime)(approval.decidedAt),
299
- statusLabel: getStatusLabel(approval.status),
300
- badgeClassName: (0, format_1.getStatusBadgeClass)(approval.status),
301
- });
302
- };
303
- const calendarItems = (0, react_1.useMemo)(() => (viewMode === 'calendar' ? calendarApprovals : approvals).map(buildCalendarItem),
304
- // eslint-disable-next-line react-hooks/exhaustive-deps
305
- [approvals, calendarApprovals, viewMode]);
306
- const calendarApprovalById = (0, react_1.useMemo)(() => new Map(calendarApprovals.map((a) => [`approval-${a.id}`, a])), [calendarApprovals]);
307
- const handleViewModeChange = (value) => {
308
- if (value !== 'table' && value !== 'cards' && value !== 'calendar')
309
- return;
310
- setViewMode(value);
311
- if (typeof window !== 'undefined') {
312
- window.localStorage.setItem('operations-approvals-view-mode', value);
313
- }
314
- };
315
- const cards = [
316
- {
317
- key: 'pending',
318
- title: t('cards.pending'),
319
- description: t('cards.pendingDescription'),
320
- value: approvals.filter((item) => item.status === 'pending').length,
321
- },
322
- {
323
- key: 'approved',
324
- title: t('cards.approved'),
325
- description: t('cards.approvedDescription'),
326
- value: approvals.filter((item) => item.status === 'approved').length,
327
- },
328
- {
329
- key: 'rejected',
330
- title: t('cards.rejected'),
331
- description: t('cards.rejectedDescription'),
332
- value: approvals.filter((item) => item.status === 'rejected').length,
333
- },
334
- ];
335
- const decide = async () => {
336
- if (!pendingDecision) {
337
- return;
338
- }
339
- try {
340
- await request({
341
- url: `/operations/approvals/${pendingDecision.approval.id}/${pendingDecision.action}`,
342
- method: 'POST',
343
- data: {
344
- note: decisionNote.trim() || undefined,
345
- },
346
- });
347
- showToastHandler === null || showToastHandler === void 0 ? void 0 : showToastHandler('success', pendingDecision.action === 'approve'
348
- ? t('messages.approveSuccess')
349
- : t('messages.rejectSuccess'));
350
- setPendingDecision(null);
351
- setDecisionNote('');
352
- await refetch();
353
- }
354
- catch (_a) {
355
- showToastHandler === null || showToastHandler === void 0 ? void 0 : showToastHandler('error', pendingDecision.action === 'approve'
356
- ? t('messages.approveError')
357
- : t('messages.rejectError'));
358
- }
359
- };
360
- const openDetails = async (approval) => {
361
- setSelectedApproval(approval);
362
- setIsDetailsOpen(true);
363
- if (approval.targetType === 'timesheet' ||
364
- approval.targetType === 'schedule_adjustment_request') {
365
- setIsDetailLoading(true);
366
- try {
367
- const detail = await (0, api_1.fetchOperations)(request, `/operations/approvals/${approval.id}`);
368
- setSelectedApproval(detail);
369
- }
370
- catch (_a) {
371
- // keep base data if detail fetch fails
372
- }
373
- finally {
374
- setIsDetailLoading(false);
375
- }
376
- }
377
- };
378
- if (!access.isSupervisor && !access.isLoading) {
379
- return (<entity_list_1.Page>
380
- <operations_header_1.OperationsHeader title={t('title')} description={t('description')} current={t('breadcrumb')}/>
381
- <entity_list_1.EmptyState icon={<lucide_react_1.ClipboardCheck className="size-12"/>} title={commonT('states.noAccessTitle')} description={t('noAccessDescription')} actionLabel={commonT('actions.refresh')} onAction={() => void refetch()}/>
382
- </entity_list_1.Page>);
383
- }
384
- return (<entity_list_1.Page>
385
- <operations_header_1.OperationsHeader title={t('title')} description={t('description')} current={t('breadcrumb')}/>
386
-
387
- <kpi_cards_grid_1.KpiCardsGrid items={cards} columns={3}/>
388
-
389
- <div className="flex min-w-0 flex-col gap-4 xl:flex-row xl:items-center">
390
- <div className="flex-1">
391
- <entity_list_1.SearchBar searchQuery={search} onSearchChange={(value) => {
392
- setSearch(value);
393
- setPage(1);
394
- }} showSearchButton={false} debounceMs={500} placeholder={t('searchPlaceholder')} controls={[
395
- {
396
- id: 'status',
397
- type: 'select',
398
- value: statusFilter,
399
- onChange: (value) => {
400
- setStatusFilter(value);
401
- setPage(1);
402
- },
403
- placeholder: commonT('labels.status'),
404
- options: [
405
- { value: 'all', label: commonT('filters.allStatuses') },
406
- { value: 'pending', label: getStatusLabel('pending') },
407
- { value: 'approved', label: getStatusLabel('approved') },
408
- { value: 'rejected', label: getStatusLabel('rejected') },
409
- ],
410
- },
411
- {
412
- id: 'target',
413
- type: 'select',
414
- value: targetFilter,
415
- onChange: (value) => {
416
- setTargetFilter(value);
417
- setPage(1);
418
- },
419
- placeholder: commonT('labels.requestType'),
420
- options: [
421
- { value: 'all', label: commonT('filters.allTypes') },
422
- {
423
- value: 'timesheet',
424
- label: getTargetTypeLabel('timesheet'),
425
- },
426
- {
427
- value: 'time_off_request',
428
- label: getTargetTypeLabel('time_off_request'),
429
- },
430
- {
431
- value: 'schedule_adjustment_request',
432
- label: getTargetTypeLabel('schedule_adjustment_request'),
433
- },
434
- ],
435
- },
436
- {
437
- id: 'dateFrom',
438
- type: 'date',
439
- value: dateFrom,
440
- onChange: (value) => {
441
- setDateFrom(value);
442
- setPage(1);
443
- },
444
- label: commonT('filters.dateFrom'),
445
- },
446
- {
447
- id: 'dateTo',
448
- type: 'date',
449
- value: dateTo,
450
- onChange: (value) => {
451
- setDateTo(value);
452
- setPage(1);
453
- },
454
- label: commonT('filters.dateTo'),
455
- },
456
- ]}/>
457
- </div>
458
-
459
- <div className="flex items-center justify-between gap-3 xl:justify-end">
460
- <span className="text-xs font-medium text-muted-foreground">
461
- {t('viewMode')}
462
- </span>
463
- <toggle_group_1.ToggleGroup type="single" value={viewMode} onValueChange={handleViewModeChange} variant="outline" size="sm">
464
- <toggle_group_1.ToggleGroupItem value="table" className="gap-1.5 px-2.5">
465
- <lucide_react_1.List className="h-4 w-4"/>
466
- <span className="hidden sm:inline">{t('viewModeTable')}</span>
467
- </toggle_group_1.ToggleGroupItem>
468
- <toggle_group_1.ToggleGroupItem value="cards" className="gap-1.5 px-2.5">
469
- <lucide_react_1.LayoutGrid className="h-4 w-4"/>
470
- <span className="hidden sm:inline">{t('viewModeCards')}</span>
471
- </toggle_group_1.ToggleGroupItem>
472
- <toggle_group_1.ToggleGroupItem value="calendar" className="gap-1.5 px-2.5">
473
- <lucide_react_1.CalendarDays className="h-4 w-4"/>
474
- <span className="hidden sm:inline">{t('viewModeCalendar')}</span>
475
- </toggle_group_1.ToggleGroupItem>
476
- </toggle_group_1.ToggleGroup>
477
- </div>
478
- </div>
479
-
480
- {(viewMode === 'calendar' ? true : approvals.length > 0) ? (viewMode === 'calendar' ? (<operations_calendar_view_1.OperationsCalendarView locale={currentLocaleCode} items={calendarItems.filter((item) => item.date)} emptyLabel={t('emptyDescription')} actionLabel={t('actions.viewDetails')} onMonthChange={(year, month) => {
481
- setCalendarYear(year);
482
- setCalendarMonth(month);
483
- }} onDateSelect={(_date, items) => {
484
- var _a;
485
- const approval = calendarApprovalById.get(String((_a = items[0]) === null || _a === void 0 ? void 0 : _a.id));
486
- if (approval)
487
- void openDetails(approval);
488
- }} onOpenItem={(item) => {
489
- const approval = calendarApprovalById.get(String(item.id));
490
- if (approval) {
491
- void openDetails(approval);
492
- }
493
- }}/>) : viewMode === 'cards' ? (<div className="grid gap-4 md:grid-cols-2 2xl:grid-cols-3">
494
- {approvals.map((approval) => (<card_1.Card key={approval.id} className="overflow-hidden border-border/60 py-0 shadow-sm">
495
- <card_1.CardContent className="space-y-3 p-4">
496
- <div className="flex items-start justify-between gap-3">
497
- <div className="min-w-0">
498
- <div className="truncate font-semibold">
499
- {approval.requesterName}
500
- </div>
501
- <div className="truncate text-xs text-muted-foreground">
502
- {getTargetLabel(approval)}
503
- </div>
504
- </div>
505
- <status_badge_1.StatusBadge label={getStatusLabel(approval.status)} className={(0, format_1.getStatusBadgeClass)(approval.status)}/>
506
- </div>
507
- <div className="grid grid-cols-2 gap-2 text-sm text-muted-foreground">
508
- <div>
509
- <span className="font-medium text-foreground">
510
- {commonT('labels.submittedAt')}:
511
- </span>
512
- <br />
513
- {(0, format_1.formatDateTime)(approval.submittedAt)}
514
- </div>
515
- <div>
516
- <span className="font-medium text-foreground">
517
- {commonT('labels.approver')}:
518
- </span>
519
- <br />
520
- {approval.approverName || commonT('labels.notAssigned')}
521
- </div>
522
- </div>
523
- {approval.status === 'pending' ? (<div className="flex flex-wrap justify-end gap-2 border-t border-border/60 pt-3">
524
- <button_1.Button size="sm" variant="outline" className="cursor-pointer" onClick={() => void openDetails(approval)}>
525
- <lucide_react_1.Eye className="size-4"/>
526
- {t('actions.viewDetails')}
527
- </button_1.Button>
528
- <button_1.Button size="sm" variant="outline" onClick={() => {
529
- setPendingDecision({ approval, action: 'reject' });
530
- setDecisionNote('');
531
- }}>
532
- <lucide_react_1.X className="size-4"/>
533
- {commonT('actions.reject')}
534
- </button_1.Button>
535
- <button_1.Button size="sm" onClick={() => {
536
- setPendingDecision({ approval, action: 'approve' });
537
- setDecisionNote('');
538
- }}>
539
- <lucide_react_1.Check className="size-4"/>
540
- {commonT('actions.approve')}
541
- </button_1.Button>
542
- </div>) : (<div className="flex items-center justify-between gap-2 border-t border-border/60 pt-3">
543
- <button_1.Button size="sm" variant="outline" className="cursor-pointer" onClick={() => void openDetails(approval)}>
544
- <lucide_react_1.Eye className="size-4"/>
545
- {t('actions.viewDetails')}
546
- </button_1.Button>
547
- <div className="text-right text-xs text-muted-foreground">
548
- {(0, format_1.formatDateTime)(approval.decidedAt)}
549
- </div>
550
- </div>)}
551
- </card_1.CardContent>
552
- </card_1.Card>))}
553
- </div>) : (<div className="overflow-x-auto rounded-md border">
554
- <table_1.Table>
555
- <table_1.TableHeader>
556
- <table_1.TableRow>
557
- <table_1.TableHead>{commonT('labels.requester')}</table_1.TableHead>
558
- <table_1.TableHead>{commonT('labels.requestType')}</table_1.TableHead>
559
- <table_1.TableHead>{commonT('labels.submittedAt')}</table_1.TableHead>
560
- <table_1.TableHead>{commonT('labels.approver')}</table_1.TableHead>
561
- <table_1.TableHead>{commonT('labels.status')}</table_1.TableHead>
562
- <table_1.TableHead className="w-45 text-right">
563
- {commonT('labels.actions')}
564
- </table_1.TableHead>
565
- </table_1.TableRow>
566
- </table_1.TableHeader>
567
- <table_1.TableBody>
568
- {approvals.map((approval) => (<table_1.TableRow key={approval.id}>
569
- <table_1.TableCell>
570
- <div className="font-medium">
571
- {approval.requesterName}
572
- </div>
573
- <div className="text-xs text-muted-foreground">
574
- {approval.decisionNote || commonT('labels.noNotes')}
575
- </div>
576
- </table_1.TableCell>
577
- <table_1.TableCell>{getTargetLabel(approval)}</table_1.TableCell>
578
- <table_1.TableCell>
579
- <div>{(0, format_1.formatDateTime)(approval.submittedAt)}</div>
580
- <div className="text-xs text-muted-foreground">
581
- {(0, format_1.formatDate)(approval.decidedAt)}
582
- </div>
583
- </table_1.TableCell>
584
- <table_1.TableCell>
585
- <div>
586
- {approval.approverName || commonT('labels.notAssigned')}
587
- </div>
588
- <div className="text-xs text-muted-foreground">
589
- {approval.targetType === 'timesheet'
590
- ? [
591
- approval.timesheetProjectNames,
592
- approval.timesheetTotalHours
593
- ? `${approval.timesheetTotalHours}h`
594
- : null,
595
- ]
596
- .filter(Boolean)
597
- .join(' • ') || commonT('labels.notAvailable')
598
- : approval.targetType === 'time_off_request'
599
- ? approval.timeOffReason ||
600
- commonT('labels.noNotes')
601
- : approval.scheduleReason ||
602
- commonT('labels.noNotes')}
603
- </div>
604
- </table_1.TableCell>
605
- <table_1.TableCell>
606
- <status_badge_1.StatusBadge label={getStatusLabel(approval.status)} className={(0, format_1.getStatusBadgeClass)(approval.status)}/>
607
- </table_1.TableCell>
608
- <table_1.TableCell>
609
- <div className="flex flex-wrap justify-end gap-2">
610
- <button_1.Button size="sm" variant="outline" className="cursor-pointer" onClick={() => void openDetails(approval)}>
611
- <lucide_react_1.Eye className="size-4"/>
612
- {t('actions.viewDetails')}
613
- </button_1.Button>
614
- {approval.status === 'pending' ? (<>
615
- <button_1.Button size="sm" variant="outline" onClick={() => {
616
- setPendingDecision({
617
- approval,
618
- action: 'reject',
619
- });
620
- setDecisionNote('');
621
- }}>
622
- <lucide_react_1.X className="size-4"/>
623
- {commonT('actions.reject')}
624
- </button_1.Button>
625
- <button_1.Button size="sm" onClick={() => {
626
- setPendingDecision({
627
- approval,
628
- action: 'approve',
629
- });
630
- setDecisionNote('');
631
- }}>
632
- <lucide_react_1.Check className="size-4"/>
633
- {commonT('actions.approve')}
634
- </button_1.Button>
635
- </>) : (<div className="flex items-center text-right text-xs text-muted-foreground">
636
- {(0, format_1.formatDateTime)(approval.decidedAt)}
637
- </div>)}
638
- </div>
639
- </table_1.TableCell>
640
- </table_1.TableRow>))}
641
- </table_1.TableBody>
642
- </table_1.Table>
643
- </div>)) : (<entity_list_1.EmptyState icon={<lucide_react_1.ClipboardCheck className="size-12"/>} title={commonT('states.emptyTitle')} description={t('emptyDescription')} actionLabel={commonT('actions.refresh')} onAction={() => void refetch()}/>)}
644
-
645
- <entity_list_1.PaginationFooter currentPage={page} pageSize={pageSize} totalItems={(_c = approvalsResponse === null || approvalsResponse === void 0 ? void 0 : approvalsResponse.total) !== null && _c !== void 0 ? _c : 0} pageSizeOptions={[12, 24, 48]} onPageChange={setPage} onPageSizeChange={(size) => {
646
- setPageSize(size);
647
- setPage(1);
648
- }}/>
649
-
650
- <sheet_1.Sheet open={isDetailsOpen} onOpenChange={setIsDetailsOpen}>
651
- <sheet_1.SheetContent className="w-full overflow-y-auto sm:max-w-2xl">
652
- <sheet_1.SheetHeader>
653
- <sheet_1.SheetTitle>{t('details.title')}</sheet_1.SheetTitle>
654
- <sheet_1.SheetDescription>{t('details.description')}</sheet_1.SheetDescription>
655
- </sheet_1.SheetHeader>
656
-
657
- {selectedApproval ? (<div className="mt-6 space-y-5 px-4 pb-8">
658
- <div className="rounded-lg border bg-muted/20 p-4">
659
- <div className="flex flex-wrap items-start justify-between gap-3">
660
- <div>
661
- <div className="text-lg font-semibold">
662
- {selectedApproval.requesterName}
663
- </div>
664
- <div className="mt-2 flex flex-wrap items-center gap-2">
665
- <span className={`inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-medium ${getTypeColorClass(selectedApproval.targetType)}`}>
666
- {getTypeIcon(selectedApproval.targetType)}
667
- {getTargetTypeLabel(selectedApproval.targetType)}
668
- </span>
669
- <span className="text-sm text-muted-foreground">
670
- {selectedApproval.targetType === 'timesheet'
671
- ? (0, format_1.formatDate)(selectedApproval.timesheetWeekStartDate)
672
- : selectedApproval.targetType === 'time_off_request'
673
- ? [
674
- (0, format_1.formatDate)(selectedApproval.timeOffStartDate),
675
- (0, format_1.formatDate)(selectedApproval.timeOffEndDate),
676
- ]
677
- .filter(Boolean)
678
- .join(' – ')
679
- : [
680
- (0, format_1.formatDate)(selectedApproval.scheduleStartDate),
681
- (0, format_1.formatDate)(selectedApproval.scheduleEndDate),
682
- ]
683
- .filter(Boolean)
684
- .join(' – ')}
685
- </span>
686
- </div>
687
- </div>
688
- <status_badge_1.StatusBadge label={getStatusLabel(selectedApproval.status)} className={(0, format_1.getStatusBadgeClass)(selectedApproval.status)}/>
689
- </div>
690
- </div>
691
-
692
- <div className="grid gap-4 sm:grid-cols-2">
693
- <div>
694
- <div className="text-xs font-medium uppercase text-muted-foreground">
695
- {commonT('labels.approver')}
696
- </div>
697
- <div className="mt-1 text-sm">
698
- {selectedApproval.approverName ||
699
- commonT('labels.notAssigned')}
700
- </div>
701
- </div>
702
- <div>
703
- <div className="text-xs font-medium uppercase text-muted-foreground">
704
- {commonT('labels.submittedAt')}
705
- </div>
706
- <div className="mt-1 text-sm">
707
- {(0, format_1.formatDateTime)(selectedApproval.submittedAt)}
708
- </div>
709
- </div>
710
- <div>
711
- <div className="text-xs font-medium uppercase text-muted-foreground">
712
- {t('details.decidedAt')}
713
- </div>
714
- <div className="mt-1 text-sm">
715
- {(_d = (0, format_1.formatDateTime)(selectedApproval.decidedAt)) !== null && _d !== void 0 ? _d : '-'}
716
- </div>
717
- </div>
718
- </div>
719
-
720
- <div className="flex items-center gap-3">
721
- <div className="flex-1 border-t"/>
722
- <span className="text-xs font-semibold uppercase tracking-wide text-muted-foreground">
723
- {selectedApproval.targetType === 'timesheet'
724
- ? t('details.timesheetSection')
725
- : selectedApproval.targetType === 'time_off_request'
726
- ? t('details.timeOffSection')
727
- : t('details.scheduleSection')}
728
- </span>
729
- <div className="flex-1 border-t"/>
730
- </div>
731
-
732
- {selectedApproval.targetType === 'timesheet' ? (<>
733
- <div className="grid gap-4 sm:grid-cols-2">
734
- <div>
735
- <div className="text-xs font-medium uppercase text-muted-foreground">
736
- {t('details.period')}
737
- </div>
738
- <div className="mt-1 text-sm">
739
- {(0, format_1.formatDate)(selectedApproval.timesheetWeekStartDate)}
740
- </div>
741
- </div>
742
- <div>
743
- <div className="text-xs font-medium uppercase text-muted-foreground">
744
- {commonT('labels.totalHours')}
745
- </div>
746
- <div className="mt-1 text-sm">
747
- {selectedApproval.timesheetTotalHours != null
748
- ? `${selectedApproval.timesheetTotalHours}h`
749
- : commonT('labels.notAvailable')}
750
- </div>
751
- </div>
752
- <div className="sm:col-span-2">
753
- <div className="text-xs font-medium uppercase text-muted-foreground">
754
- {t('details.projects')}
755
- </div>
756
- <div className="mt-1 rounded-lg border p-3 text-sm">
757
- {selectedApproval.timesheetProjectNames ||
758
- commonT('labels.notAvailable')}
759
- </div>
760
- </div>
761
- </div>
762
-
763
- <div>
764
- <div className="text-xs font-medium uppercase text-muted-foreground">
765
- {t('details.entriesTitle')}
766
- </div>
767
- {isDetailLoading ? (<div className="mt-3 flex items-center gap-2 text-sm text-muted-foreground">
768
- <lucide_react_1.Loader2 className="size-4 animate-spin"/>
769
- {t('details.loadingEntries')}
770
- </div>) : (<div className="mt-2 space-y-3">
771
- {((_e = selectedApproval.entries) !== null && _e !== void 0 ? _e : []).length ? (((_f = selectedApproval.entries) !== null && _f !== void 0 ? _f : []).map((entry) => (<div key={entry.id} className="rounded-lg border p-3">
772
- <div className="flex flex-wrap items-start justify-between gap-3">
773
- <div>
774
- <div className="font-medium">
775
- {entry.taskName ||
776
- entry.activityLabel ||
777
- commonT('labels.unassigned')}
778
- </div>
779
- <div className="text-xs text-muted-foreground">
780
- {[entry.projectName, entry.roleLabel]
781
- .filter(Boolean)
782
- .join(' • ') ||
783
- commonT('labels.unassigned')}
784
- </div>
785
- </div>
786
- <div className="text-sm text-muted-foreground">
787
- {formatEntryDuration(entry.durationMinutes, entry.hours)}
788
- </div>
789
- </div>
790
- <div className="mt-2 text-xs text-muted-foreground">
791
- {formatDateLabel(entry.workDate)}
792
- </div>
793
- <div className="mt-2 text-sm">
794
- {entry.description || commonT('labels.noNotes')}
795
- </div>
796
- </div>))) : (<div className="rounded-lg border p-3 text-sm text-muted-foreground">
797
- {t('details.noEntries')}
798
- </div>)}
799
- </div>)}
800
- </div>
801
- </>) : null}
802
-
803
- {selectedApproval.targetType === 'time_off_request' ? (<div className="grid gap-4 sm:grid-cols-2">
804
- <div className="sm:col-span-2">
805
- <div className="text-xs font-medium uppercase text-muted-foreground">
806
- {t('details.period')}
807
- </div>
808
- <div className="mt-1 text-sm">
809
- {[
810
- (0, format_1.formatDate)(selectedApproval.timeOffStartDate),
811
- (0, format_1.formatDate)(selectedApproval.timeOffEndDate),
812
- ]
813
- .filter(Boolean)
814
- .join(' – ') || '—'}
815
- </div>
816
- </div>
817
- <div>
818
- <div className="text-xs font-medium uppercase text-muted-foreground">
819
- {commonT('labels.requestType')}
820
- </div>
821
- <div className="mt-1 text-sm">
822
- {getTimeOffTypeLabel(selectedApproval.timeOffType)}
823
- </div>
824
- </div>
825
- <div className="sm:col-span-2">
826
- <div className="text-xs font-medium uppercase text-muted-foreground">
827
- {commonT('labels.reason')}
828
- </div>
829
- <div className="mt-1 rounded-lg border p-3 text-sm">
830
- {selectedApproval.timeOffReason ||
831
- commonT('labels.noNotes')}
832
- </div>
833
- </div>
834
- </div>) : null}
835
-
836
- {selectedApproval.targetType === 'schedule_adjustment_request' ? (<>
837
- <div className="grid gap-4 sm:grid-cols-2">
838
- <div className="sm:col-span-2">
839
- <div className="text-xs font-medium uppercase text-muted-foreground">
840
- {t('details.period')}
841
- </div>
842
- <div className="mt-1 text-sm">
843
- {[
844
- (0, format_1.formatDate)(selectedApproval.scheduleStartDate),
845
- (0, format_1.formatDate)(selectedApproval.scheduleEndDate),
846
- ]
847
- .filter(Boolean)
848
- .join(' – ') || '—'}
849
- </div>
850
- </div>
851
- <div>
852
- <div className="text-xs font-medium uppercase text-muted-foreground">
853
- {commonT('labels.requestScope')}
854
- </div>
855
- <div className="mt-1 text-sm">
856
- {getScheduleScopeLabel(selectedApproval.scheduleRequestScope)}
857
- </div>
858
- </div>
859
- <div className="sm:col-span-2">
860
- <div className="text-xs font-medium uppercase text-muted-foreground">
861
- {commonT('labels.reason')}
862
- </div>
863
- <div className="mt-1 rounded-lg border p-3 text-sm">
864
- {selectedApproval.scheduleReason ||
865
- commonT('labels.noNotes')}
866
- </div>
867
- </div>
868
- </div>
869
-
870
- {isDetailLoading ? (<div className="flex items-center gap-2 text-sm text-muted-foreground">
871
- <lucide_react_1.Loader2 className="size-4 animate-spin"/>
872
- {t('details.loadingSchedule')}
873
- </div>) : (<div className="grid gap-4 sm:grid-cols-2">
874
- <div>
875
- <div className="mb-2 text-xs font-medium uppercase tracking-wide text-muted-foreground">
876
- {t('details.currentSchedule')}
877
- </div>
878
- <div className="rounded-lg border p-3">
879
- <SchedulePanel days={(_g = selectedApproval.currentSchedule) !== null && _g !== void 0 ? _g : []} locale={currentLocaleCode} emptyLabel={commonT('labels.notAssigned')}/>
880
- </div>
881
- </div>
882
- <div>
883
- <div className="mb-2 text-xs font-medium uppercase tracking-wide text-muted-foreground">
884
- {t('details.requestedSchedule')}
885
- </div>
886
- <div className="rounded-lg border p-3">
887
- <SchedulePanel days={(_h = selectedApproval.days) !== null && _h !== void 0 ? _h : []} locale={currentLocaleCode} emptyLabel={commonT('labels.notAssigned')}/>
888
- </div>
889
- </div>
890
- </div>)}
891
- </>) : null}
892
-
893
- <div>
894
- <div className="text-xs font-medium uppercase text-muted-foreground">
895
- {commonT('labels.decisionNote')}
896
- </div>
897
- <div className="mt-1 rounded-lg border p-3 text-sm">
898
- {selectedApproval.decisionNote || commonT('labels.noNotes')}
899
- </div>
900
- </div>
901
- </div>) : null}
902
- </sheet_1.SheetContent>
903
- </sheet_1.Sheet>
904
-
905
- <dialog_1.Dialog open={Boolean(pendingDecision)} onOpenChange={(open) => {
906
- if (!open) {
907
- setPendingDecision(null);
908
- setDecisionNote('');
909
- }
910
- }}>
911
- <dialog_1.DialogContent className="max-w-150">
912
- <dialog_1.DialogHeader>
913
- <dialog_1.DialogTitle>
914
- {(pendingDecision === null || pendingDecision === void 0 ? void 0 : pendingDecision.action) === 'approve'
915
- ? t('dialog.approveTitle')
916
- : t('dialog.rejectTitle')}
917
- </dialog_1.DialogTitle>
918
- <dialog_1.DialogDescription>
919
- {pendingDecision
920
- ? t('dialog.description', {
921
- target: getTargetLabel(pendingDecision.approval),
922
- requester: pendingDecision.approval.requesterName,
923
- })
924
- : ''}
925
- </dialog_1.DialogDescription>
926
- </dialog_1.DialogHeader>
927
-
928
- <div className="space-y-2">
929
- <label className="text-sm font-medium">
930
- {commonT('labels.noteOptional')}
931
- </label>
932
- <textarea_1.Textarea rows={4} value={decisionNote} placeholder={t('dialog.notePlaceholder')} onChange={(event) => setDecisionNote(event.target.value)}/>
933
- </div>
934
-
935
- <dialog_1.DialogFooter>
936
- <button_1.Button variant="outline" onClick={() => {
937
- setPendingDecision(null);
938
- setDecisionNote('');
939
- }}>
940
- {commonT('actions.cancel')}
941
- </button_1.Button>
942
- <button_1.Button variant={(pendingDecision === null || pendingDecision === void 0 ? void 0 : pendingDecision.action) === 'approve'
943
- ? 'default'
944
- : 'destructive'} onClick={() => void decide()}>
945
- {(pendingDecision === null || pendingDecision === void 0 ? void 0 : pendingDecision.action) === 'approve'
946
- ? commonT('actions.approve')
947
- : commonT('actions.reject')}
948
- </button_1.Button>
949
- </dialog_1.DialogFooter>
950
- </dialog_1.DialogContent>
951
- </dialog_1.Dialog>
952
- </entity_list_1.Page>);
953
- }
954
- //# sourceMappingURL=page.js.map