@lokalise/harmony 1.29.5-exp-teamSwitch.1 → 1.29.5-exp-teamSwitch.2

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 (367) hide show
  1. package/dist/harmony.cjs +15 -13
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +15 -13
  4. package/dist/harmony.mjs.map +1 -1
  5. package/dist/harmony100.cjs +130 -12
  6. package/dist/harmony100.cjs.map +1 -1
  7. package/dist/harmony100.mjs +130 -12
  8. package/dist/harmony100.mjs.map +1 -1
  9. package/dist/harmony101.cjs +12 -132
  10. package/dist/harmony101.cjs.map +1 -1
  11. package/dist/harmony101.mjs +11 -131
  12. package/dist/harmony101.mjs.map +1 -1
  13. package/dist/harmony102.cjs +6 -13
  14. package/dist/harmony102.cjs.map +1 -1
  15. package/dist/harmony102.mjs +5 -12
  16. package/dist/harmony102.mjs.map +1 -1
  17. package/dist/harmony103.cjs +40 -5
  18. package/dist/harmony103.cjs.map +1 -1
  19. package/dist/harmony103.mjs +40 -5
  20. package/dist/harmony103.mjs.map +1 -1
  21. package/dist/harmony104.cjs +53 -33
  22. package/dist/harmony104.cjs.map +1 -1
  23. package/dist/harmony104.mjs +54 -34
  24. package/dist/harmony104.mjs.map +1 -1
  25. package/dist/harmony105.cjs +6 -59
  26. package/dist/harmony105.cjs.map +1 -1
  27. package/dist/harmony105.mjs +6 -59
  28. package/dist/harmony105.mjs.map +1 -1
  29. package/dist/harmony106.cjs +6 -7
  30. package/dist/harmony106.cjs.map +1 -1
  31. package/dist/harmony106.mjs +5 -6
  32. package/dist/harmony106.mjs.map +1 -1
  33. package/dist/harmony107.cjs +5 -6
  34. package/dist/harmony107.cjs.map +1 -1
  35. package/dist/harmony107.mjs +5 -6
  36. package/dist/harmony108.cjs +6 -97
  37. package/dist/harmony108.cjs.map +1 -1
  38. package/dist/harmony108.mjs +5 -96
  39. package/dist/harmony108.mjs.map +1 -1
  40. package/dist/harmony109.cjs +62 -13
  41. package/dist/harmony109.cjs.map +1 -1
  42. package/dist/harmony109.mjs +61 -12
  43. package/dist/harmony109.mjs.map +1 -1
  44. package/dist/harmony110.cjs +87 -13
  45. package/dist/harmony110.cjs.map +1 -1
  46. package/dist/harmony110.mjs +87 -13
  47. package/dist/harmony110.mjs.map +1 -1
  48. package/dist/harmony111.cjs +19 -37
  49. package/dist/harmony111.cjs.map +1 -1
  50. package/dist/harmony111.mjs +18 -36
  51. package/dist/harmony111.mjs.map +1 -1
  52. package/dist/harmony112.cjs +87 -19
  53. package/dist/harmony112.cjs.map +1 -1
  54. package/dist/harmony112.mjs +87 -19
  55. package/dist/harmony112.mjs.map +1 -1
  56. package/dist/harmony113.cjs +12 -12
  57. package/dist/harmony113.cjs.map +1 -1
  58. package/dist/harmony113.mjs +12 -12
  59. package/dist/harmony113.mjs.map +1 -1
  60. package/dist/harmony114.cjs +13 -14
  61. package/dist/harmony114.cjs.map +1 -1
  62. package/dist/harmony114.mjs +13 -14
  63. package/dist/harmony114.mjs.map +1 -1
  64. package/dist/harmony115.cjs +34 -14
  65. package/dist/harmony115.cjs.map +1 -1
  66. package/dist/harmony115.mjs +34 -14
  67. package/dist/harmony115.mjs.map +1 -1
  68. package/dist/harmony116.cjs +28 -62
  69. package/dist/harmony116.cjs.map +1 -1
  70. package/dist/harmony116.mjs +27 -61
  71. package/dist/harmony116.mjs.map +1 -1
  72. package/dist/harmony117.cjs +6 -87
  73. package/dist/harmony117.cjs.map +1 -1
  74. package/dist/harmony117.mjs +6 -87
  75. package/dist/harmony117.mjs.map +1 -1
  76. package/dist/harmony118.cjs +57 -18
  77. package/dist/harmony118.cjs.map +1 -1
  78. package/dist/harmony118.mjs +56 -17
  79. package/dist/harmony118.mjs.map +1 -1
  80. package/dist/harmony119.cjs +60 -11
  81. package/dist/harmony119.cjs.map +1 -1
  82. package/dist/harmony119.mjs +60 -11
  83. package/dist/harmony119.mjs.map +1 -1
  84. package/dist/harmony120.cjs +19 -17
  85. package/dist/harmony120.cjs.map +1 -1
  86. package/dist/harmony120.mjs +18 -16
  87. package/dist/harmony120.mjs.map +1 -1
  88. package/dist/harmony121.cjs +12 -20
  89. package/dist/harmony121.cjs.map +1 -1
  90. package/dist/harmony121.mjs +12 -20
  91. package/dist/harmony121.mjs.map +1 -1
  92. package/dist/harmony122.cjs +13 -10
  93. package/dist/harmony122.cjs.map +1 -1
  94. package/dist/harmony122.mjs +13 -10
  95. package/dist/harmony122.mjs.map +1 -1
  96. package/dist/harmony123.cjs +15 -5
  97. package/dist/harmony123.cjs.map +1 -1
  98. package/dist/harmony123.mjs +15 -5
  99. package/dist/harmony123.mjs.map +1 -1
  100. package/dist/harmony124.cjs +10 -11
  101. package/dist/harmony124.cjs.map +1 -1
  102. package/dist/harmony124.mjs +10 -11
  103. package/dist/harmony124.mjs.map +1 -1
  104. package/dist/harmony125.cjs +13 -29
  105. package/dist/harmony125.cjs.map +1 -1
  106. package/dist/harmony125.mjs +13 -29
  107. package/dist/harmony125.mjs.map +1 -1
  108. package/dist/harmony126.cjs +19 -12
  109. package/dist/harmony126.cjs.map +1 -1
  110. package/dist/harmony126.mjs +19 -12
  111. package/dist/harmony126.mjs.map +1 -1
  112. package/dist/harmony127.cjs +12 -7
  113. package/dist/harmony127.cjs.map +1 -1
  114. package/dist/harmony127.mjs +12 -7
  115. package/dist/harmony127.mjs.map +1 -1
  116. package/dist/harmony128.cjs +6 -57
  117. package/dist/harmony128.cjs.map +1 -1
  118. package/dist/harmony128.mjs +6 -57
  119. package/dist/harmony128.mjs.map +1 -1
  120. package/dist/harmony129.cjs +12 -60
  121. package/dist/harmony129.cjs.map +1 -1
  122. package/dist/harmony129.mjs +12 -60
  123. package/dist/harmony129.mjs.map +1 -1
  124. package/dist/harmony130.cjs +33 -19
  125. package/dist/harmony130.cjs.map +1 -1
  126. package/dist/harmony130.mjs +32 -18
  127. package/dist/harmony130.mjs.map +1 -1
  128. package/dist/harmony131.cjs +14 -46
  129. package/dist/harmony131.cjs.map +1 -1
  130. package/dist/harmony131.mjs +14 -46
  131. package/dist/harmony131.mjs.map +1 -1
  132. package/dist/harmony132.cjs +46 -12
  133. package/dist/harmony132.cjs.map +1 -1
  134. package/dist/harmony132.mjs +45 -11
  135. package/dist/harmony132.mjs.map +1 -1
  136. package/dist/harmony133.cjs +15 -0
  137. package/dist/harmony133.cjs.map +1 -0
  138. package/dist/harmony133.mjs +15 -0
  139. package/dist/harmony133.mjs.map +1 -0
  140. package/dist/harmony15.cjs +1 -1
  141. package/dist/harmony15.mjs +1 -1
  142. package/dist/harmony22.cjs +1 -1
  143. package/dist/harmony22.mjs +1 -1
  144. package/dist/harmony23.cjs +1 -1
  145. package/dist/harmony23.mjs +1 -1
  146. package/dist/harmony26.cjs +2 -2
  147. package/dist/harmony26.mjs +2 -2
  148. package/dist/harmony27.cjs +2 -2
  149. package/dist/harmony27.mjs +2 -2
  150. package/dist/harmony28.cjs +2 -2
  151. package/dist/harmony28.mjs +2 -2
  152. package/dist/harmony29.cjs +1 -1
  153. package/dist/harmony29.mjs +1 -1
  154. package/dist/harmony3.cjs +3 -3
  155. package/dist/harmony3.mjs +3 -3
  156. package/dist/harmony30.cjs +2 -2
  157. package/dist/harmony30.mjs +2 -2
  158. package/dist/harmony31.cjs +1 -1
  159. package/dist/harmony31.mjs +1 -1
  160. package/dist/harmony32.cjs +1 -1
  161. package/dist/harmony32.mjs +1 -1
  162. package/dist/harmony33.cjs +1 -1
  163. package/dist/harmony33.mjs +1 -1
  164. package/dist/harmony4.cjs +10 -10
  165. package/dist/harmony4.mjs +10 -10
  166. package/dist/harmony5.cjs +1 -1
  167. package/dist/harmony5.mjs +1 -1
  168. package/dist/harmony51.cjs +5 -6
  169. package/dist/harmony51.cjs.map +1 -1
  170. package/dist/harmony51.mjs +5 -6
  171. package/dist/harmony51.mjs.map +1 -1
  172. package/dist/harmony52.cjs +14 -56
  173. package/dist/harmony52.cjs.map +1 -1
  174. package/dist/harmony52.mjs +14 -56
  175. package/dist/harmony52.mjs.map +1 -1
  176. package/dist/harmony53.cjs +48 -72
  177. package/dist/harmony53.cjs.map +1 -1
  178. package/dist/harmony53.mjs +47 -71
  179. package/dist/harmony53.mjs.map +1 -1
  180. package/dist/harmony54.cjs +78 -4
  181. package/dist/harmony54.cjs.map +1 -1
  182. package/dist/harmony54.mjs +78 -4
  183. package/dist/harmony54.mjs.map +1 -1
  184. package/dist/harmony55.cjs +4 -21
  185. package/dist/harmony55.cjs.map +1 -1
  186. package/dist/harmony55.mjs +4 -21
  187. package/dist/harmony55.mjs.map +1 -1
  188. package/dist/harmony56.cjs +20 -34
  189. package/dist/harmony56.cjs.map +1 -1
  190. package/dist/harmony56.mjs +20 -34
  191. package/dist/harmony56.mjs.map +1 -1
  192. package/dist/harmony57.cjs +35 -120
  193. package/dist/harmony57.cjs.map +1 -1
  194. package/dist/harmony57.mjs +34 -119
  195. package/dist/harmony57.mjs.map +1 -1
  196. package/dist/harmony58.cjs +121 -28
  197. package/dist/harmony58.cjs.map +1 -1
  198. package/dist/harmony58.mjs +121 -28
  199. package/dist/harmony58.mjs.map +1 -1
  200. package/dist/harmony59.cjs +28 -25
  201. package/dist/harmony59.cjs.map +1 -1
  202. package/dist/harmony59.mjs +28 -25
  203. package/dist/harmony59.mjs.map +1 -1
  204. package/dist/harmony6.cjs +4 -4
  205. package/dist/harmony6.mjs +4 -4
  206. package/dist/harmony60.cjs +24 -6
  207. package/dist/harmony60.cjs.map +1 -1
  208. package/dist/harmony60.mjs +24 -6
  209. package/dist/harmony60.mjs.map +1 -1
  210. package/dist/harmony61.cjs +6 -88
  211. package/dist/harmony61.cjs.map +1 -1
  212. package/dist/harmony61.mjs +6 -88
  213. package/dist/harmony61.mjs.map +1 -1
  214. package/dist/harmony62.cjs +86 -20
  215. package/dist/harmony62.cjs.map +1 -1
  216. package/dist/harmony62.mjs +86 -20
  217. package/dist/harmony62.mjs.map +1 -1
  218. package/dist/harmony63.cjs +22 -16
  219. package/dist/harmony63.cjs.map +1 -1
  220. package/dist/harmony63.mjs +22 -16
  221. package/dist/harmony63.mjs.map +1 -1
  222. package/dist/harmony64.cjs +19 -16
  223. package/dist/harmony64.cjs.map +1 -1
  224. package/dist/harmony64.mjs +18 -15
  225. package/dist/harmony64.mjs.map +1 -1
  226. package/dist/harmony65.cjs +15 -18
  227. package/dist/harmony65.cjs.map +1 -1
  228. package/dist/harmony65.mjs +15 -18
  229. package/dist/harmony65.mjs.map +1 -1
  230. package/dist/harmony66.cjs +18 -61
  231. package/dist/harmony66.cjs.map +1 -1
  232. package/dist/harmony66.mjs +18 -61
  233. package/dist/harmony66.mjs.map +1 -1
  234. package/dist/harmony67.cjs +61 -6
  235. package/dist/harmony67.cjs.map +1 -1
  236. package/dist/harmony67.mjs +61 -6
  237. package/dist/harmony67.mjs.map +1 -1
  238. package/dist/harmony68.cjs +7 -10
  239. package/dist/harmony68.cjs.map +1 -1
  240. package/dist/harmony68.mjs +6 -9
  241. package/dist/harmony68.mjs.map +1 -1
  242. package/dist/harmony69.cjs +8 -17
  243. package/dist/harmony69.cjs.map +1 -1
  244. package/dist/harmony69.mjs +7 -16
  245. package/dist/harmony69.mjs.map +1 -1
  246. package/dist/harmony70.cjs +13 -18
  247. package/dist/harmony70.cjs.map +1 -1
  248. package/dist/harmony70.mjs +13 -18
  249. package/dist/harmony70.mjs.map +1 -1
  250. package/dist/harmony71.cjs +22 -4
  251. package/dist/harmony71.cjs.map +1 -1
  252. package/dist/harmony71.mjs +22 -4
  253. package/dist/harmony71.mjs.map +1 -1
  254. package/dist/harmony72.cjs +4 -31
  255. package/dist/harmony72.cjs.map +1 -1
  256. package/dist/harmony72.mjs +5 -32
  257. package/dist/harmony72.mjs.map +1 -1
  258. package/dist/harmony73.cjs +26 -26
  259. package/dist/harmony73.cjs.map +1 -1
  260. package/dist/harmony73.mjs +27 -27
  261. package/dist/harmony73.mjs.map +1 -1
  262. package/dist/harmony74.cjs +25 -12
  263. package/dist/harmony74.cjs.map +1 -1
  264. package/dist/harmony74.mjs +25 -12
  265. package/dist/harmony74.mjs.map +1 -1
  266. package/dist/harmony75.cjs +12 -24
  267. package/dist/harmony75.cjs.map +1 -1
  268. package/dist/harmony75.mjs +13 -25
  269. package/dist/harmony75.mjs.map +1 -1
  270. package/dist/harmony76.cjs +27 -55
  271. package/dist/harmony76.cjs.map +1 -1
  272. package/dist/harmony76.mjs +29 -57
  273. package/dist/harmony76.mjs.map +1 -1
  274. package/dist/harmony77.cjs +60 -10
  275. package/dist/harmony77.cjs.map +1 -1
  276. package/dist/harmony77.mjs +59 -9
  277. package/dist/harmony77.mjs.map +1 -1
  278. package/dist/harmony78.cjs +10 -9
  279. package/dist/harmony78.cjs.map +1 -1
  280. package/dist/harmony78.mjs +9 -8
  281. package/dist/harmony78.mjs.map +1 -1
  282. package/dist/harmony79.cjs +5 -26
  283. package/dist/harmony79.cjs.map +1 -1
  284. package/dist/harmony79.mjs +8 -29
  285. package/dist/harmony79.mjs.map +1 -1
  286. package/dist/harmony80.cjs +29 -3
  287. package/dist/harmony80.cjs.map +1 -1
  288. package/dist/harmony80.mjs +29 -3
  289. package/dist/harmony80.mjs.map +1 -1
  290. package/dist/harmony81.cjs +3 -11
  291. package/dist/harmony81.cjs.map +1 -1
  292. package/dist/harmony81.mjs +3 -11
  293. package/dist/harmony81.mjs.map +1 -1
  294. package/dist/harmony82.cjs +12 -22
  295. package/dist/harmony82.cjs.map +1 -1
  296. package/dist/harmony82.mjs +11 -21
  297. package/dist/harmony82.mjs.map +1 -1
  298. package/dist/harmony83.cjs +20 -5
  299. package/dist/harmony83.cjs.map +1 -1
  300. package/dist/harmony83.mjs +20 -5
  301. package/dist/harmony83.mjs.map +1 -1
  302. package/dist/harmony84.cjs +3 -6
  303. package/dist/harmony84.cjs.map +1 -1
  304. package/dist/harmony84.mjs +3 -6
  305. package/dist/harmony84.mjs.map +1 -1
  306. package/dist/harmony85.cjs +6 -6
  307. package/dist/harmony85.mjs +6 -6
  308. package/dist/harmony86.cjs +9 -57
  309. package/dist/harmony86.cjs.map +1 -1
  310. package/dist/harmony86.mjs +8 -56
  311. package/dist/harmony86.mjs.map +1 -1
  312. package/dist/harmony87.cjs +51 -36
  313. package/dist/harmony87.cjs.map +1 -1
  314. package/dist/harmony87.mjs +52 -37
  315. package/dist/harmony87.mjs.map +1 -1
  316. package/dist/harmony88.cjs +42 -5
  317. package/dist/harmony88.cjs.map +1 -1
  318. package/dist/harmony88.mjs +42 -5
  319. package/dist/harmony88.mjs.map +1 -1
  320. package/dist/harmony89.cjs +6 -10
  321. package/dist/harmony89.cjs.map +1 -1
  322. package/dist/harmony89.mjs +5 -9
  323. package/dist/harmony89.mjs.map +1 -1
  324. package/dist/harmony90.cjs +6 -21
  325. package/dist/harmony90.cjs.map +1 -1
  326. package/dist/harmony90.mjs +6 -21
  327. package/dist/harmony90.mjs.map +1 -1
  328. package/dist/harmony91.cjs +21 -3
  329. package/dist/harmony91.cjs.map +1 -1
  330. package/dist/harmony91.mjs +21 -3
  331. package/dist/harmony91.mjs.map +1 -1
  332. package/dist/harmony92.cjs +6 -21
  333. package/dist/harmony92.cjs.map +1 -1
  334. package/dist/harmony92.mjs +5 -20
  335. package/dist/harmony92.mjs.map +1 -1
  336. package/dist/harmony93.cjs +21 -12
  337. package/dist/harmony93.cjs.map +1 -1
  338. package/dist/harmony93.mjs +20 -11
  339. package/dist/harmony93.mjs.map +1 -1
  340. package/dist/harmony94.cjs +12 -99
  341. package/dist/harmony94.cjs.map +1 -1
  342. package/dist/harmony94.mjs +11 -81
  343. package/dist/harmony94.mjs.map +1 -1
  344. package/dist/harmony95.cjs +19 -22
  345. package/dist/harmony95.cjs.map +1 -1
  346. package/dist/harmony95.mjs +18 -21
  347. package/dist/harmony95.mjs.map +1 -1
  348. package/dist/harmony96.cjs +13 -5
  349. package/dist/harmony96.cjs.map +1 -1
  350. package/dist/harmony96.mjs +13 -5
  351. package/dist/harmony96.mjs.map +1 -1
  352. package/dist/harmony97.cjs +100 -6
  353. package/dist/harmony97.cjs.map +1 -1
  354. package/dist/harmony97.mjs +82 -5
  355. package/dist/harmony97.mjs.map +1 -1
  356. package/dist/harmony98.cjs +21 -5
  357. package/dist/harmony98.cjs.map +1 -1
  358. package/dist/harmony98.mjs +21 -5
  359. package/dist/harmony98.mjs.map +1 -1
  360. package/dist/harmony99.cjs +6 -18
  361. package/dist/harmony99.cjs.map +1 -1
  362. package/dist/harmony99.mjs +6 -18
  363. package/dist/harmony99.mjs.map +1 -1
  364. package/dist/types/src/features/publicApi/node.d.ts +1 -0
  365. package/dist/types/src/features/publicApi/team.d.ts +1 -1
  366. package/dist/types/src/features/publicApi/types/teamTypes.d.ts +1 -1
  367. package/package.json +1 -1
@@ -1,91 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const louis = require("@lokalise/louis");
5
- const text = require("./harmony8.cjs");
6
- const url = require("./harmony9.cjs");
7
- const date = require("./harmony10.cjs");
8
- const dateFns = require("date-fns");
9
- const index = require("./harmony127.cjs");
10
- const TaskLanguage = require("./harmony128.cjs");
11
- const TasksContext = require("./harmony103.cjs");
12
- const content = require("./harmony129.cjs");
13
- const TaskOverview_module = require("./harmony130.cjs");
14
- const TaskOverview = ({ task }) => {
15
- const { getProjectUrl, taskTitleOnClick } = TasksContext.useTasks();
16
- const taskLanguages = content.getTaskLanguages(task.langs);
17
- const handleDownloadStyleGuide = (styleGuide) => {
18
- window.open(
19
- `/style-guide/${task.team_id}/download/${styleGuide.id}/link`,
20
- "_blank",
21
- "noopener,noreferrer"
22
- );
23
- };
24
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: TaskOverview_module.default.taskContainer, children: [
25
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-row gap-1 items-center", children: [
26
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-row gap-1 items-start flex-wrap", children: [
27
- /* @__PURE__ */ jsxRuntime.jsx(louis.Tag, { color: content.tagColor[task.task_type], variant: "solid", children: task.task_type.toLocaleUpperCase() }),
28
- task.due_date && /* @__PURE__ */ jsxRuntime.jsxs(louis.Tag, { color: "#EAB308", children: [
29
- "DUE ",
30
- date.formatDate(dateFns.parseISO(task.due_date), "yyyy-MM-dd")
31
- ] })
32
- ] }),
33
- task.style_guides.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-row", children: task.style_guides.length === 1 ? /* @__PURE__ */ jsxRuntime.jsx(
34
- louis.Button,
35
- {
36
- size: "sm",
37
- variant: "secondary",
38
- onClick: () => handleDownloadStyleGuide(task.style_guides[0]),
39
- children: "Download style guide"
40
- }
41
- ) : /* @__PURE__ */ jsxRuntime.jsx(
42
- louis.Menu,
43
- {
44
- menuButton: /* @__PURE__ */ jsxRuntime.jsx(louis.Button, { variant: "secondary", size: "sm", children: "Download style guide" }),
45
- children: /* @__PURE__ */ jsxRuntime.jsx(louis.MenuList, { children: task.style_guides.map((styleGuide) => /* @__PURE__ */ jsxRuntime.jsx(
46
- louis.MenuItem,
47
- {
48
- onClick: () => handleDownloadStyleGuide(styleGuide),
49
- children: index.splitFileName(styleGuide.name).name
50
- },
51
- styleGuide.id
52
- )) })
53
- }
54
- ) })
55
- ] }),
56
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: TaskOverview_module.default.taskTitle, children: /* @__PURE__ */ jsxRuntime.jsx(
57
- louis.Link,
58
- {
59
- href: getProjectUrl({ task, view: "multi" }),
60
- onClick: () => {
61
- taskTitleOnClick == null ? void 0 : taskTitleOnClick({ task });
62
- },
63
- children: task.title
64
- }
65
- ) }),
66
- task.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: TaskOverview_module.default.taskDescription, children: text.convertNewLineToBreakTag(url.makeUrlClickable(task.description)) }),
67
- /* @__PURE__ */ jsxRuntime.jsxs("table", { className: TaskOverview_module.default.languagesTable, children: [
68
- /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
69
- /* @__PURE__ */ jsxRuntime.jsx("th", { children: "Languages" }),
70
- /* @__PURE__ */ jsxRuntime.jsx("th", { children: "Words to do" }),
71
- /* @__PURE__ */ jsxRuntime.jsx("th", { children: "Progress" }),
72
- /* @__PURE__ */ jsxRuntime.jsx("th", { children: "Status" })
73
- ] }) }),
74
- /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: taskLanguages.map((language) => /* @__PURE__ */ jsxRuntime.jsx(TaskLanguage.TaskLanguage, { language, task }, language.lang_id)) })
75
- ] }),
76
- /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "sidebar-task-overview-metadata", className: TaskOverview_module.default.metadata, children: [
77
- /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
78
- "Source: ",
79
- task.source_lang_name
80
- ] }),
81
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: task.created_by_fullname }),
82
- /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
83
- "In ",
84
- task.project_name,
85
- task.master_branching_enabled === "1" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: TaskOverview_module.default.tag, children: task.branch_name ? task.branch_name : "master" })
86
- ] })
87
- ] })
88
- ] });
3
+ const splitFileName = (fileName) => {
4
+ const lastDotIndex = fileName.lastIndexOf(".");
5
+ const name = fileName.slice(0, lastDotIndex);
6
+ const extension = fileName.slice(lastDotIndex + 1);
7
+ return { name, extension };
89
8
  };
90
- exports.TaskOverview = TaskOverview;
9
+ exports.splitFileName = splitFileName;
91
10
  //# sourceMappingURL=harmony117.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony117.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TaskOverview/TaskOverview.tsx"],"sourcesContent":["import { Button, Link, Menu, MenuItem, MenuList, Tag } from '@lokalise/louis'\nimport { convertNewLineToBreakTag, formatDate, makeUrlClickable } from '@utils'\nimport { parseISO } from 'date-fns'\nimport { splitFileName } from '../../../utils'\nimport { TaskLanguage } from '../TaskLanguage/TaskLanguage'\nimport { useTasks } from '../TasksContext'\nimport type { SidebarTask, SidebarTaskStyleGuide } from '../types'\nimport { getTaskLanguages, tagColor } from '../utils/content'\nimport styles from './TaskOverview.module.css'\n\nexport type TaskProps = {\n\ttask: SidebarTask\n}\n\nexport const TaskOverview = ({ task }: TaskProps) => {\n\tconst { getProjectUrl, taskTitleOnClick } = useTasks()\n\n\tconst taskLanguages = getTaskLanguages(task.langs)\n\n\tconst handleDownloadStyleGuide = (styleGuide: SidebarTaskStyleGuide) => {\n\t\twindow.open(\n\t\t\t`/style-guide/${task.team_id}/download/${styleGuide.id}/link`,\n\t\t\t'_blank',\n\t\t\t'noopener,noreferrer',\n\t\t)\n\t}\n\n\treturn (\n\t\t<div className={styles.taskContainer}>\n\t\t\t<div className=\"flex-row gap-1 items-center\">\n\t\t\t\t<div className=\"flex-row gap-1 items-start flex-wrap\">\n\t\t\t\t\t<Tag color={tagColor[task.task_type]} variant=\"solid\">\n\t\t\t\t\t\t{task.task_type.toLocaleUpperCase()}\n\t\t\t\t\t</Tag>\n\t\t\t\t\t{task.due_date && (\n\t\t\t\t\t\t<Tag color={'#EAB308'}>DUE {formatDate(parseISO(task.due_date), 'yyyy-MM-dd')}</Tag>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{task.style_guides.length > 0 && (\n\t\t\t\t\t<div className=\"flex-row\">\n\t\t\t\t\t\t{task.style_guides.length === 1 ? (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tonClick={() => handleDownloadStyleGuide(task.style_guides[0])}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tDownload style guide\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Menu\n\t\t\t\t\t\t\t\tmenuButton={\n\t\t\t\t\t\t\t\t\t<Button variant=\"secondary\" size=\"sm\">\n\t\t\t\t\t\t\t\t\t\tDownload style guide\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MenuList>\n\t\t\t\t\t\t\t\t\t{task.style_guides.map((styleGuide) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tkey={styleGuide.id}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleDownloadStyleGuide(styleGuide)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{splitFileName(styleGuide.name).name}\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</MenuList>\n\t\t\t\t\t\t\t</Menu>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<h4 className={styles.taskTitle}>\n\t\t\t\t<Link\n\t\t\t\t\thref={getProjectUrl({ task, view: 'multi' })}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\ttaskTitleOnClick?.({ task })\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{task.title}\n\t\t\t\t</Link>\n\t\t\t</h4>\n\n\t\t\t{task.description && (\n\t\t\t\t<div className={styles.taskDescription}>\n\t\t\t\t\t{convertNewLineToBreakTag(makeUrlClickable(task.description))}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<table className={styles.languagesTable}>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th>Languages</th>\n\t\t\t\t\t\t<th>Words to do</th>\n\t\t\t\t\t\t<th>Progress</th>\n\t\t\t\t\t\t<th>Status</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{taskLanguages.map((language) => (\n\t\t\t\t\t\t<TaskLanguage key={language.lang_id} language={language} task={task} />\n\t\t\t\t\t))}\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div data-testid=\"sidebar-task-overview-metadata\" className={styles.metadata}>\n\t\t\t\t<span>Source: {task.source_lang_name}</span>\n\t\t\t\t<span>{task.created_by_fullname}</span>\n\t\t\t\t<span>\n\t\t\t\t\tIn {task.project_name}\n\t\t\t\t\t{task.master_branching_enabled === '1' && (\n\t\t\t\t\t\t<div className={styles.tag}>{task.branch_name ? task.branch_name : 'master'}</div>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n"],"names":["useTasks","getTaskLanguages","jsxs","styles","jsx","Tag","tagColor","formatDate","parseISO","Button","Menu","MenuList","MenuItem","splitFileName","Link","convertNewLineToBreakTag","makeUrlClickable","TaskLanguage"],"mappings":"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"}
1
+ {"version":3,"file":"harmony117.cjs","sources":["../src/components/Sidebar/utils/index.ts"],"sourcesContent":["export const splitFileName = (fileName: string) => {\n\tconst lastDotIndex = fileName.lastIndexOf('.')\n\tconst name = fileName.slice(0, lastDotIndex)\n\tconst extension = fileName.slice(lastDotIndex + 1)\n\n\treturn { name, extension }\n}\n"],"names":[],"mappings":";;AAAa,MAAA,gBAAgB,CAAC,aAAqB;AAC5C,QAAA,eAAe,SAAS,YAAY,GAAG;AAC7C,QAAM,OAAO,SAAS,MAAM,GAAG,YAAY;AAC3C,QAAM,YAAY,SAAS,MAAM,eAAe,CAAC;AAE1C,SAAA,EAAE,MAAM,UAAU;AAC1B;;"}
@@ -1,91 +1,10 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Tag, Button, Menu, MenuList, MenuItem, Link } from "@lokalise/louis";
3
- import { convertNewLineToBreakTag } from "./harmony8.mjs";
4
- import { makeUrlClickable } from "./harmony9.mjs";
5
- import { formatDate } from "./harmony10.mjs";
6
- import { parseISO } from "date-fns";
7
- import { splitFileName } from "./harmony127.mjs";
8
- import { TaskLanguage } from "./harmony128.mjs";
9
- import { useTasks } from "./harmony103.mjs";
10
- import { getTaskLanguages, tagColor } from "./harmony129.mjs";
11
- import styles from "./harmony130.mjs";
12
- const TaskOverview = ({ task }) => {
13
- const { getProjectUrl, taskTitleOnClick } = useTasks();
14
- const taskLanguages = getTaskLanguages(task.langs);
15
- const handleDownloadStyleGuide = (styleGuide) => {
16
- window.open(
17
- `/style-guide/${task.team_id}/download/${styleGuide.id}/link`,
18
- "_blank",
19
- "noopener,noreferrer"
20
- );
21
- };
22
- return /* @__PURE__ */ jsxs("div", { className: styles.taskContainer, children: [
23
- /* @__PURE__ */ jsxs("div", { className: "flex-row gap-1 items-center", children: [
24
- /* @__PURE__ */ jsxs("div", { className: "flex-row gap-1 items-start flex-wrap", children: [
25
- /* @__PURE__ */ jsx(Tag, { color: tagColor[task.task_type], variant: "solid", children: task.task_type.toLocaleUpperCase() }),
26
- task.due_date && /* @__PURE__ */ jsxs(Tag, { color: "#EAB308", children: [
27
- "DUE ",
28
- formatDate(parseISO(task.due_date), "yyyy-MM-dd")
29
- ] })
30
- ] }),
31
- task.style_guides.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex-row", children: task.style_guides.length === 1 ? /* @__PURE__ */ jsx(
32
- Button,
33
- {
34
- size: "sm",
35
- variant: "secondary",
36
- onClick: () => handleDownloadStyleGuide(task.style_guides[0]),
37
- children: "Download style guide"
38
- }
39
- ) : /* @__PURE__ */ jsx(
40
- Menu,
41
- {
42
- menuButton: /* @__PURE__ */ jsx(Button, { variant: "secondary", size: "sm", children: "Download style guide" }),
43
- children: /* @__PURE__ */ jsx(MenuList, { children: task.style_guides.map((styleGuide) => /* @__PURE__ */ jsx(
44
- MenuItem,
45
- {
46
- onClick: () => handleDownloadStyleGuide(styleGuide),
47
- children: splitFileName(styleGuide.name).name
48
- },
49
- styleGuide.id
50
- )) })
51
- }
52
- ) })
53
- ] }),
54
- /* @__PURE__ */ jsx("h4", { className: styles.taskTitle, children: /* @__PURE__ */ jsx(
55
- Link,
56
- {
57
- href: getProjectUrl({ task, view: "multi" }),
58
- onClick: () => {
59
- taskTitleOnClick == null ? void 0 : taskTitleOnClick({ task });
60
- },
61
- children: task.title
62
- }
63
- ) }),
64
- task.description && /* @__PURE__ */ jsx("div", { className: styles.taskDescription, children: convertNewLineToBreakTag(makeUrlClickable(task.description)) }),
65
- /* @__PURE__ */ jsxs("table", { className: styles.languagesTable, children: [
66
- /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
67
- /* @__PURE__ */ jsx("th", { children: "Languages" }),
68
- /* @__PURE__ */ jsx("th", { children: "Words to do" }),
69
- /* @__PURE__ */ jsx("th", { children: "Progress" }),
70
- /* @__PURE__ */ jsx("th", { children: "Status" })
71
- ] }) }),
72
- /* @__PURE__ */ jsx("tbody", { children: taskLanguages.map((language) => /* @__PURE__ */ jsx(TaskLanguage, { language, task }, language.lang_id)) })
73
- ] }),
74
- /* @__PURE__ */ jsxs("div", { "data-testid": "sidebar-task-overview-metadata", className: styles.metadata, children: [
75
- /* @__PURE__ */ jsxs("span", { children: [
76
- "Source: ",
77
- task.source_lang_name
78
- ] }),
79
- /* @__PURE__ */ jsx("span", { children: task.created_by_fullname }),
80
- /* @__PURE__ */ jsxs("span", { children: [
81
- "In ",
82
- task.project_name,
83
- task.master_branching_enabled === "1" && /* @__PURE__ */ jsx("div", { className: styles.tag, children: task.branch_name ? task.branch_name : "master" })
84
- ] })
85
- ] })
86
- ] });
1
+ const splitFileName = (fileName) => {
2
+ const lastDotIndex = fileName.lastIndexOf(".");
3
+ const name = fileName.slice(0, lastDotIndex);
4
+ const extension = fileName.slice(lastDotIndex + 1);
5
+ return { name, extension };
87
6
  };
88
7
  export {
89
- TaskOverview
8
+ splitFileName
90
9
  };
91
10
  //# sourceMappingURL=harmony117.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony117.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/TaskOverview/TaskOverview.tsx"],"sourcesContent":["import { Button, Link, Menu, MenuItem, MenuList, Tag } from '@lokalise/louis'\nimport { convertNewLineToBreakTag, formatDate, makeUrlClickable } from '@utils'\nimport { parseISO } from 'date-fns'\nimport { splitFileName } from '../../../utils'\nimport { TaskLanguage } from '../TaskLanguage/TaskLanguage'\nimport { useTasks } from '../TasksContext'\nimport type { SidebarTask, SidebarTaskStyleGuide } from '../types'\nimport { getTaskLanguages, tagColor } from '../utils/content'\nimport styles from './TaskOverview.module.css'\n\nexport type TaskProps = {\n\ttask: SidebarTask\n}\n\nexport const TaskOverview = ({ task }: TaskProps) => {\n\tconst { getProjectUrl, taskTitleOnClick } = useTasks()\n\n\tconst taskLanguages = getTaskLanguages(task.langs)\n\n\tconst handleDownloadStyleGuide = (styleGuide: SidebarTaskStyleGuide) => {\n\t\twindow.open(\n\t\t\t`/style-guide/${task.team_id}/download/${styleGuide.id}/link`,\n\t\t\t'_blank',\n\t\t\t'noopener,noreferrer',\n\t\t)\n\t}\n\n\treturn (\n\t\t<div className={styles.taskContainer}>\n\t\t\t<div className=\"flex-row gap-1 items-center\">\n\t\t\t\t<div className=\"flex-row gap-1 items-start flex-wrap\">\n\t\t\t\t\t<Tag color={tagColor[task.task_type]} variant=\"solid\">\n\t\t\t\t\t\t{task.task_type.toLocaleUpperCase()}\n\t\t\t\t\t</Tag>\n\t\t\t\t\t{task.due_date && (\n\t\t\t\t\t\t<Tag color={'#EAB308'}>DUE {formatDate(parseISO(task.due_date), 'yyyy-MM-dd')}</Tag>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{task.style_guides.length > 0 && (\n\t\t\t\t\t<div className=\"flex-row\">\n\t\t\t\t\t\t{task.style_guides.length === 1 ? (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tonClick={() => handleDownloadStyleGuide(task.style_guides[0])}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tDownload style guide\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Menu\n\t\t\t\t\t\t\t\tmenuButton={\n\t\t\t\t\t\t\t\t\t<Button variant=\"secondary\" size=\"sm\">\n\t\t\t\t\t\t\t\t\t\tDownload style guide\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MenuList>\n\t\t\t\t\t\t\t\t\t{task.style_guides.map((styleGuide) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tkey={styleGuide.id}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleDownloadStyleGuide(styleGuide)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{splitFileName(styleGuide.name).name}\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</MenuList>\n\t\t\t\t\t\t\t</Menu>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<h4 className={styles.taskTitle}>\n\t\t\t\t<Link\n\t\t\t\t\thref={getProjectUrl({ task, view: 'multi' })}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\ttaskTitleOnClick?.({ task })\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{task.title}\n\t\t\t\t</Link>\n\t\t\t</h4>\n\n\t\t\t{task.description && (\n\t\t\t\t<div className={styles.taskDescription}>\n\t\t\t\t\t{convertNewLineToBreakTag(makeUrlClickable(task.description))}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<table className={styles.languagesTable}>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th>Languages</th>\n\t\t\t\t\t\t<th>Words to do</th>\n\t\t\t\t\t\t<th>Progress</th>\n\t\t\t\t\t\t<th>Status</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{taskLanguages.map((language) => (\n\t\t\t\t\t\t<TaskLanguage key={language.lang_id} language={language} task={task} />\n\t\t\t\t\t))}\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div data-testid=\"sidebar-task-overview-metadata\" className={styles.metadata}>\n\t\t\t\t<span>Source: {task.source_lang_name}</span>\n\t\t\t\t<span>{task.created_by_fullname}</span>\n\t\t\t\t<span>\n\t\t\t\t\tIn {task.project_name}\n\t\t\t\t\t{task.master_branching_enabled === '1' && (\n\t\t\t\t\t\t<div className={styles.tag}>{task.branch_name ? task.branch_name : 'master'}</div>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harmony117.mjs","sources":["../src/components/Sidebar/utils/index.ts"],"sourcesContent":["export const splitFileName = (fileName: string) => {\n\tconst lastDotIndex = fileName.lastIndexOf('.')\n\tconst name = fileName.slice(0, lastDotIndex)\n\tconst extension = fileName.slice(lastDotIndex + 1)\n\n\treturn { name, extension }\n}\n"],"names":[],"mappings":"AAAa,MAAA,gBAAgB,CAAC,aAAqB;AAC5C,QAAA,eAAe,SAAS,YAAY,GAAG;AAC7C,QAAM,OAAO,SAAS,MAAM,GAAG,YAAY;AAC3C,QAAM,YAAY,SAAS,MAAM,eAAe,CAAC;AAE1C,SAAA,EAAE,MAAM,UAAU;AAC1B;"}
@@ -1,21 +1,60 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const loadingContainer = "_loadingContainer_19d6m_1";
4
- const noTasksContainer = "_noTasksContainer_19d6m_7";
5
- const noTasksHeading = "_noTasksHeading_19d6m_14";
6
- const noTasksText = "_noTasksText_19d6m_18";
7
- const tasksContainer = "_tasksContainer_19d6m_23";
8
- const styles = {
9
- loadingContainer,
10
- noTasksContainer,
11
- noTasksHeading,
12
- noTasksText,
13
- tasksContainer
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const louis = require("@lokalise/louis");
5
+ const content = require("./harmony119.cjs");
6
+ const types = require("./harmony2.cjs");
7
+ const clsx = require("./harmony65.cjs");
8
+ const TaskLanguageCompleted = require("./harmony132.cjs");
9
+ const TasksContext = require("./harmony102.cjs");
10
+ const TaskLanguage_module = require("./harmony133.cjs");
11
+ const TaskLanguage = ({ language, task }) => {
12
+ const { getProjectUrl, langNameOnClick, langProgressOnClick } = TasksContext.useTasks();
13
+ const progressValue = language.progress ?? 0;
14
+ const isLanguageCompleted = language.status === types.SidebarTaskLanguageStatuses.Completed;
15
+ const languageProgressCompleted = content.isLanguageProgressCompleted(task, language);
16
+ return /* @__PURE__ */ jsxRuntime.jsxs(
17
+ "tr",
18
+ {
19
+ className: clsx.clsx({
20
+ [TaskLanguage_module.default.langRowCompleted]: languageProgressCompleted
21
+ }),
22
+ children: [
23
+ /* @__PURE__ */ jsxRuntime.jsx("td", { children: /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "Open in bilingual view", children: /* @__PURE__ */ jsxRuntime.jsx(
24
+ louis.Link,
25
+ {
26
+ href: getProjectUrl({ task, language }),
27
+ onClick: () => {
28
+ langNameOnClick == null ? void 0 : langNameOnClick({ task, language });
29
+ },
30
+ children: language.name
31
+ }
32
+ ) }) }),
33
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: TaskLanguage_module.default.langCellSecondary, children: languageProgressCompleted || isLanguageCompleted ? "0" : /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "Open uncompleted items", children: /* @__PURE__ */ jsxRuntime.jsx(
34
+ louis.Link,
35
+ {
36
+ href: getProjectUrl({ task, language, taskUncompleted: true }),
37
+ onClick: () => {
38
+ langProgressOnClick == null ? void 0 : langProgressOnClick({ task, language });
39
+ },
40
+ children: language.base_words_total - language.base_words_done
41
+ }
42
+ ) }) }),
43
+ /* @__PURE__ */ jsxRuntime.jsxs("td", { children: [
44
+ progressValue,
45
+ "%"
46
+ ] }),
47
+ /* @__PURE__ */ jsxRuntime.jsx("td", { children: languageProgressCompleted ? /* @__PURE__ */ jsxRuntime.jsx(TaskLanguageCompleted.TaskLanguageCompleted, { task, language }) : /* @__PURE__ */ jsxRuntime.jsx(
48
+ "span",
49
+ {
50
+ className: `${TaskLanguage_module.default.langStatus} flex-row items-center justify-start`,
51
+ "data-status": language.status,
52
+ children: content.getStatusText(language.status, progressValue)
53
+ }
54
+ ) })
55
+ ]
56
+ }
57
+ );
14
58
  };
15
- exports.default = styles;
16
- exports.loadingContainer = loadingContainer;
17
- exports.noTasksContainer = noTasksContainer;
18
- exports.noTasksHeading = noTasksHeading;
19
- exports.noTasksText = noTasksText;
20
- exports.tasksContainer = tasksContainer;
59
+ exports.TaskLanguage = TaskLanguage;
21
60
  //# sourceMappingURL=harmony118.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony118.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony118.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TaskLanguage/TaskLanguage.tsx"],"sourcesContent":["import { Link, Tooltip } from '@lokalise/louis'\nimport { getStatusText, isLanguageProgressCompleted } from '../utils/content'\n\nimport { type SidebarTask, type SidebarTaskLanguage, SidebarTaskLanguageStatuses } from '../types'\n\nimport clsx from 'clsx'\nimport { TaskLanguageCompleted } from '../TaskLanguageCompleted/TaskLanguageCompleted'\nimport { useTasks } from '../TasksContext'\nimport styles from './TaskLanguage.module.css'\n\nexport type TaskLanguageProps = {\n\ttask: SidebarTask\n\tlanguage: SidebarTaskLanguage\n}\n\nexport const TaskLanguage = ({ language, task }: TaskLanguageProps) => {\n\tconst { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks()\n\n\tconst progressValue = language.progress ?? 0\n\n\tconst isLanguageCompleted = language.status === SidebarTaskLanguageStatuses.Completed\n\n\tconst languageProgressCompleted = isLanguageProgressCompleted(task, language)\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={clsx({\n\t\t\t\t[styles.langRowCompleted]: languageProgressCompleted,\n\t\t\t})}\n\t\t>\n\t\t\t<td>\n\t\t\t\t<Tooltip tooltip=\"Open in bilingual view\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\thref={getProjectUrl({ task, language })}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tlangNameOnClick?.({ task, language })\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{language.name}\n\t\t\t\t\t</Link>\n\t\t\t\t</Tooltip>\n\t\t\t</td>\n\t\t\t<td className={styles.langCellSecondary}>\n\t\t\t\t{languageProgressCompleted || isLanguageCompleted ? (\n\t\t\t\t\t'0'\n\t\t\t\t) : (\n\t\t\t\t\t<Tooltip tooltip=\"Open uncompleted items\">\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\thref={getProjectUrl({ task, language, taskUncompleted: true })}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tlangProgressOnClick?.({ task, language })\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{language.base_words_total - language.base_words_done}\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t\t<td>{progressValue}%</td>\n\t\t\t<td>\n\t\t\t\t{languageProgressCompleted ? (\n\t\t\t\t\t<TaskLanguageCompleted task={task} language={language} />\n\t\t\t\t) : (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`${styles.langStatus} flex-row items-center justify-start`}\n\t\t\t\t\t\tdata-status={language.status}\n\t\t\t\t\t>\n\t\t\t\t\t\t{getStatusText(language.status, progressValue)}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t</tr>\n\t)\n}\n"],"names":["useTasks","SidebarTaskLanguageStatuses","isLanguageProgressCompleted","jsxs","clsx","styles","jsx","Tooltip","Link","TaskLanguageCompleted","getStatusText"],"mappings":";;;;;;;;;;AAeO,MAAM,eAAe,CAAC,EAAE,UAAU,WAA8B;AACtE,QAAM,EAAE,eAAe,iBAAiB,oBAAA,IAAwBA,aAAAA,SAAS;AAEnE,QAAA,gBAAgB,SAAS,YAAY;AAErC,QAAA,sBAAsB,SAAS,WAAWC,MAA4B,4BAAA;AAEtE,QAAA,4BAA4BC,QAAAA,4BAA4B,MAAM,QAAQ;AAG3E,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWC,KAAAA,KAAK;AAAA,QACf,CAACC,oBAAAA,QAAO,gBAAgB,GAAG;AAAA,MAAA,CAC3B;AAAA,MAED,UAAA;AAAA,QAAAC,+BAAC,MACA,EAAA,UAAAA,2BAAA,IAACC,MAAQ,SAAA,EAAA,SAAQ,0BAChB,UAAAD,2BAAA;AAAA,UAACE,MAAA;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU;AAAA,YACtC,SAAS,MAAM;AACI,iEAAA,EAAE,MAAM;YAC3B;AAAA,YAEC,UAAS,SAAA;AAAA,UAAA;AAAA,WAEZ,EACD,CAAA;AAAA,QACAF,2BAAA,IAAC,MAAG,EAAA,WAAWD,oBAAAA,QAAO,mBACpB,UAA6B,6BAAA,sBAC7B,MAEAC,2BAAA,IAACC,MAAQ,SAAA,EAAA,SAAQ,0BAChB,UAAAD,2BAAA;AAAA,UAACE,MAAA;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU,iBAAiB,MAAM;AAAA,YAC7D,SAAS,MAAM;AACQ,yEAAA,EAAE,MAAM;YAC/B;AAAA,YAEC,UAAA,SAAS,mBAAmB,SAAS;AAAA,UAAA;AAAA,WAExC,EAEF,CAAA;AAAA,wCACC,MAAI,EAAA,UAAA;AAAA,UAAA;AAAA,UAAc;AAAA,QAAA,GAAC;AAAA,uCACnB,MACC,EAAA,UAAA,2DACCC,sBAAsB,uBAAA,EAAA,MAAY,SAAoB,CAAA,IAEvDH,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAW,GAAGD,4BAAO,UAAU;AAAA,YAC/B,eAAa,SAAS;AAAA,YAErB,UAAAK,QAAA,cAAc,SAAS,QAAQ,aAAa;AAAA,UAAA;AAAA,QAAA,EAGhD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
@@ -1,21 +1,60 @@
1
- const loadingContainer = "_loadingContainer_19d6m_1";
2
- const noTasksContainer = "_noTasksContainer_19d6m_7";
3
- const noTasksHeading = "_noTasksHeading_19d6m_14";
4
- const noTasksText = "_noTasksText_19d6m_18";
5
- const tasksContainer = "_tasksContainer_19d6m_23";
6
- const styles = {
7
- loadingContainer,
8
- noTasksContainer,
9
- noTasksHeading,
10
- noTasksText,
11
- tasksContainer
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { Tooltip, Link } from "@lokalise/louis";
3
+ import { isLanguageProgressCompleted, getStatusText } from "./harmony119.mjs";
4
+ import { SidebarTaskLanguageStatuses } from "./harmony2.mjs";
5
+ import { clsx } from "./harmony65.mjs";
6
+ import { TaskLanguageCompleted } from "./harmony132.mjs";
7
+ import { useTasks } from "./harmony102.mjs";
8
+ import styles from "./harmony133.mjs";
9
+ const TaskLanguage = ({ language, task }) => {
10
+ const { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks();
11
+ const progressValue = language.progress ?? 0;
12
+ const isLanguageCompleted = language.status === SidebarTaskLanguageStatuses.Completed;
13
+ const languageProgressCompleted = isLanguageProgressCompleted(task, language);
14
+ return /* @__PURE__ */ jsxs(
15
+ "tr",
16
+ {
17
+ className: clsx({
18
+ [styles.langRowCompleted]: languageProgressCompleted
19
+ }),
20
+ children: [
21
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx(Tooltip, { tooltip: "Open in bilingual view", children: /* @__PURE__ */ jsx(
22
+ Link,
23
+ {
24
+ href: getProjectUrl({ task, language }),
25
+ onClick: () => {
26
+ langNameOnClick == null ? void 0 : langNameOnClick({ task, language });
27
+ },
28
+ children: language.name
29
+ }
30
+ ) }) }),
31
+ /* @__PURE__ */ jsx("td", { className: styles.langCellSecondary, children: languageProgressCompleted || isLanguageCompleted ? "0" : /* @__PURE__ */ jsx(Tooltip, { tooltip: "Open uncompleted items", children: /* @__PURE__ */ jsx(
32
+ Link,
33
+ {
34
+ href: getProjectUrl({ task, language, taskUncompleted: true }),
35
+ onClick: () => {
36
+ langProgressOnClick == null ? void 0 : langProgressOnClick({ task, language });
37
+ },
38
+ children: language.base_words_total - language.base_words_done
39
+ }
40
+ ) }) }),
41
+ /* @__PURE__ */ jsxs("td", { children: [
42
+ progressValue,
43
+ "%"
44
+ ] }),
45
+ /* @__PURE__ */ jsx("td", { children: languageProgressCompleted ? /* @__PURE__ */ jsx(TaskLanguageCompleted, { task, language }) : /* @__PURE__ */ jsx(
46
+ "span",
47
+ {
48
+ className: `${styles.langStatus} flex-row items-center justify-start`,
49
+ "data-status": language.status,
50
+ children: getStatusText(language.status, progressValue)
51
+ }
52
+ ) })
53
+ ]
54
+ }
55
+ );
12
56
  };
13
57
  export {
14
- styles as default,
15
- loadingContainer,
16
- noTasksContainer,
17
- noTasksHeading,
18
- noTasksText,
19
- tasksContainer
58
+ TaskLanguage
20
59
  };
21
60
  //# sourceMappingURL=harmony118.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony118.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony118.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/TaskLanguage/TaskLanguage.tsx"],"sourcesContent":["import { Link, Tooltip } from '@lokalise/louis'\nimport { getStatusText, isLanguageProgressCompleted } from '../utils/content'\n\nimport { type SidebarTask, type SidebarTaskLanguage, SidebarTaskLanguageStatuses } from '../types'\n\nimport clsx from 'clsx'\nimport { TaskLanguageCompleted } from '../TaskLanguageCompleted/TaskLanguageCompleted'\nimport { useTasks } from '../TasksContext'\nimport styles from './TaskLanguage.module.css'\n\nexport type TaskLanguageProps = {\n\ttask: SidebarTask\n\tlanguage: SidebarTaskLanguage\n}\n\nexport const TaskLanguage = ({ language, task }: TaskLanguageProps) => {\n\tconst { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks()\n\n\tconst progressValue = language.progress ?? 0\n\n\tconst isLanguageCompleted = language.status === SidebarTaskLanguageStatuses.Completed\n\n\tconst languageProgressCompleted = isLanguageProgressCompleted(task, language)\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={clsx({\n\t\t\t\t[styles.langRowCompleted]: languageProgressCompleted,\n\t\t\t})}\n\t\t>\n\t\t\t<td>\n\t\t\t\t<Tooltip tooltip=\"Open in bilingual view\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\thref={getProjectUrl({ task, language })}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tlangNameOnClick?.({ task, language })\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{language.name}\n\t\t\t\t\t</Link>\n\t\t\t\t</Tooltip>\n\t\t\t</td>\n\t\t\t<td className={styles.langCellSecondary}>\n\t\t\t\t{languageProgressCompleted || isLanguageCompleted ? (\n\t\t\t\t\t'0'\n\t\t\t\t) : (\n\t\t\t\t\t<Tooltip tooltip=\"Open uncompleted items\">\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\thref={getProjectUrl({ task, language, taskUncompleted: true })}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tlangProgressOnClick?.({ task, language })\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{language.base_words_total - language.base_words_done}\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t\t<td>{progressValue}%</td>\n\t\t\t<td>\n\t\t\t\t{languageProgressCompleted ? (\n\t\t\t\t\t<TaskLanguageCompleted task={task} language={language} />\n\t\t\t\t) : (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`${styles.langStatus} flex-row items-center justify-start`}\n\t\t\t\t\t\tdata-status={language.status}\n\t\t\t\t\t>\n\t\t\t\t\t\t{getStatusText(language.status, progressValue)}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t</tr>\n\t)\n}\n"],"names":[],"mappings":";;;;;;;;AAeO,MAAM,eAAe,CAAC,EAAE,UAAU,WAA8B;AACtE,QAAM,EAAE,eAAe,iBAAiB,oBAAA,IAAwB,SAAS;AAEnE,QAAA,gBAAgB,SAAS,YAAY;AAErC,QAAA,sBAAsB,SAAS,WAAW,4BAA4B;AAEtE,QAAA,4BAA4B,4BAA4B,MAAM,QAAQ;AAG3E,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAW,KAAK;AAAA,QACf,CAAC,OAAO,gBAAgB,GAAG;AAAA,MAAA,CAC3B;AAAA,MAED,UAAA;AAAA,QAAA,oBAAC,MACA,EAAA,UAAA,oBAAC,SAAQ,EAAA,SAAQ,0BAChB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU;AAAA,YACtC,SAAS,MAAM;AACI,iEAAA,EAAE,MAAM;YAC3B;AAAA,YAEC,UAAS,SAAA;AAAA,UAAA;AAAA,WAEZ,EACD,CAAA;AAAA,QACA,oBAAC,MAAG,EAAA,WAAW,OAAO,mBACpB,UAA6B,6BAAA,sBAC7B,MAEA,oBAAC,SAAQ,EAAA,SAAQ,0BAChB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU,iBAAiB,MAAM;AAAA,YAC7D,SAAS,MAAM;AACQ,yEAAA,EAAE,MAAM;YAC/B;AAAA,YAEC,UAAA,SAAS,mBAAmB,SAAS;AAAA,UAAA;AAAA,WAExC,EAEF,CAAA;AAAA,6BACC,MAAI,EAAA,UAAA;AAAA,UAAA;AAAA,UAAc;AAAA,QAAA,GAAC;AAAA,4BACnB,MACC,EAAA,UAAA,gDACC,uBAAsB,EAAA,MAAY,SAAoB,CAAA,IAEvD;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAW,GAAG,OAAO,UAAU;AAAA,YAC/B,eAAa,SAAS;AAAA,YAErB,UAAA,cAAc,SAAS,QAAQ,aAAa;AAAA,UAAA;AAAA,QAAA,EAGhD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
@@ -1,14 +1,63 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _commonjsHelpers = require("./harmony123.cjs");
4
- var _freeGlobal;
5
- var hasRequired_freeGlobal;
6
- function require_freeGlobal() {
7
- if (hasRequired_freeGlobal) return _freeGlobal;
8
- hasRequired_freeGlobal = 1;
9
- var freeGlobal = typeof _commonjsHelpers.commonjsGlobal == "object" && _commonjsHelpers.commonjsGlobal && _commonjsHelpers.commonjsGlobal.Object === Object && _commonjsHelpers.commonjsGlobal;
10
- _freeGlobal = freeGlobal;
11
- return _freeGlobal;
12
- }
13
- exports.__require = require_freeGlobal;
3
+ const types = require("./harmony2.cjs");
4
+ const getStatusText = (status, progressValue) => {
5
+ switch (status) {
6
+ case types.SidebarTaskLanguageStatuses.Completed:
7
+ return progressValue < 100 ? "Closed" : "Completed";
8
+ case types.SidebarTaskLanguageStatuses.Created:
9
+ return progressValue > 0 ? "In progress" : "Not started";
10
+ case types.SidebarTaskLanguageStatuses.InProgress:
11
+ return "In progress";
12
+ case types.SidebarTaskLanguageStatuses.Queued:
13
+ return "Queued";
14
+ case types.SidebarTaskLanguageStatuses.NotStarted:
15
+ return "Not started";
16
+ default:
17
+ return "-";
18
+ }
19
+ };
20
+ const resolveStatus = (language) => {
21
+ const progress = language.progress ?? 0;
22
+ if (language.status === types.SidebarTaskLanguageStatuses.Created && progress > 0) {
23
+ return types.SidebarTaskLanguageStatuses.InProgress;
24
+ }
25
+ return language.status;
26
+ };
27
+ const tagColor = {
28
+ [types.SidebarTaskTypeOptions.translation]: "#0891B2",
29
+ [types.SidebarTaskTypeOptions.review]: "#16922D",
30
+ [types.SidebarTaskTypeOptions.lqa_by_ai]: "#8B5CF6",
31
+ [types.SidebarTaskTypeOptions.automatic_translation]: "#60A5FA"
32
+ };
33
+ const getTaskLanguages = (langs) => {
34
+ const statusSortOrder = [
35
+ types.SidebarTaskLanguageStatuses.InProgress,
36
+ types.SidebarTaskLanguageStatuses.Created,
37
+ types.SidebarTaskLanguageStatuses.Completed
38
+ ];
39
+ return langs.filter((language) => language.status !== "queued").map((lang) => ({ ...lang, status: resolveStatus(lang) })).sort((a, b) => {
40
+ if (a.status === types.SidebarTaskLanguageStatuses.InProgress && a.progress === 100) {
41
+ return -1;
42
+ }
43
+ if (b.status === types.SidebarTaskLanguageStatuses.InProgress && b.progress === 100) {
44
+ return 1;
45
+ }
46
+ if (a.status === b.status) {
47
+ return a.name < b.name ? 1 : -1;
48
+ }
49
+ return statusSortOrder.indexOf(a.status) - statusSortOrder.indexOf(b.status);
50
+ });
51
+ };
52
+ const isInProgressOrCreated = (status) => {
53
+ return [types.SidebarTaskStatuses.InProgress, types.SidebarTaskStatuses.Created].includes(status);
54
+ };
55
+ const isLanguageProgressCompleted = (task, language) => {
56
+ return isInProgressOrCreated(task.status) && isInProgressOrCreated(language.status) && (language.progress ?? 0) >= 100;
57
+ };
58
+ exports.getStatusText = getStatusText;
59
+ exports.getTaskLanguages = getTaskLanguages;
60
+ exports.isLanguageProgressCompleted = isLanguageProgressCompleted;
61
+ exports.resolveStatus = resolveStatus;
62
+ exports.tagColor = tagColor;
14
63
  //# sourceMappingURL=harmony119.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony119.cjs","sources":["../node_modules/lodash/_freeGlobal.js"],"sourcesContent":["/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n"],"names":["global"],"mappings":";;;;;;;;AACA,MAAI,aAAa,OAAOA,iBAAAA,kBAAU,YAAYA,iBAAM,kBAAIA,gCAAO,WAAW,UAAUA,iBAAM;AAE1F,gBAAiB;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony119.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/utils/content.ts"],"sourcesContent":["import {\n\ttype SidebarTask,\n\ttype SidebarTaskLanguage,\n\ttype SidebarTaskLanguageStatus,\n\tSidebarTaskLanguageStatuses,\n\ttype SidebarTaskStatus,\n\tSidebarTaskStatuses,\n\ttype SidebarTaskTypeOption,\n\tSidebarTaskTypeOptions,\n} from '../types'\n\nexport const getStatusText = (status: SidebarTaskLanguageStatus, progressValue: number) => {\n\tswitch (status) {\n\t\tcase SidebarTaskLanguageStatuses.Completed:\n\t\t\treturn progressValue < 100 ? 'Closed' : 'Completed'\n\t\tcase SidebarTaskLanguageStatuses.Created:\n\t\t\t// For some reason project task lang status is not correctly updated to \"in progress\". So instead\n\t\t\t// we need to rely on `created` status and progress value is not 0.\n\t\t\treturn progressValue > 0 ? 'In progress' : 'Not started'\n\t\tcase SidebarTaskLanguageStatuses.InProgress:\n\t\t\treturn 'In progress'\n\t\tcase SidebarTaskLanguageStatuses.Queued:\n\t\t\treturn 'Queued'\n\t\tcase SidebarTaskLanguageStatuses.NotStarted:\n\t\t\treturn 'Not started'\n\t\tdefault:\n\t\t\treturn '-'\n\t}\n}\n\nexport const resolveStatus = (language: SidebarTaskLanguage): SidebarTaskLanguageStatus => {\n\tconst progress = language.progress ?? 0\n\n\tif (language.status === SidebarTaskLanguageStatuses.Created && progress > 0) {\n\t\t// For some reason project task lang status is not correctly updated to \"in progress\". So instead\n\t\t// we need to rely on `created` status and progress value is not 0.\n\t\treturn SidebarTaskLanguageStatuses.InProgress\n\t}\n\n\treturn language.status\n}\n\n/**\n * TODO - these should be taken from louis\n */\nexport const tagColor: Record<SidebarTaskTypeOption, string> = {\n\t[SidebarTaskTypeOptions.translation]: '#0891B2',\n\t[SidebarTaskTypeOptions.review]: '#16922D',\n\t[SidebarTaskTypeOptions.lqa_by_ai]: '#8B5CF6',\n\t[SidebarTaskTypeOptions.automatic_translation]: '#60A5FA',\n}\n\nexport const getTaskLanguages = (langs: SidebarTaskLanguage[]) => {\n\tconst statusSortOrder: SidebarTaskLanguageStatus[] = [\n\t\tSidebarTaskLanguageStatuses.InProgress,\n\t\tSidebarTaskLanguageStatuses.Created,\n\t\tSidebarTaskLanguageStatuses.Completed,\n\t]\n\n\treturn langs\n\t\t.filter((language) => language.status !== 'queued')\n\t\t.map((lang) => ({ ...lang, status: resolveStatus(lang) }))\n\t\t.sort((a, b) => {\n\t\t\tif (a.status === SidebarTaskLanguageStatuses.InProgress && a.progress === 100) {\n\t\t\t\treturn -1\n\t\t\t}\n\n\t\t\tif (b.status === SidebarTaskLanguageStatuses.InProgress && b.progress === 100) {\n\t\t\t\treturn 1\n\t\t\t}\n\n\t\t\tif (a.status === b.status) {\n\t\t\t\t// Order by lang id\n\t\t\t\treturn a.name < b.name ? 1 : -1\n\t\t\t}\n\n\t\t\t// The index of array will serve as sorting order so if we get `in_progress` for \"a\" and `created`\n\t\t\t// for b, they will have `0` and `1` indices. So `0 - 1` will result in `-1` which means\n\t\t\t// \"a\" will be sorted before \"b\".\n\t\t\treturn statusSortOrder.indexOf(a.status) - statusSortOrder.indexOf(b.status)\n\t\t})\n}\n\nconst isInProgressOrCreated = (status: SidebarTaskLanguageStatus | SidebarTaskStatus): boolean => {\n\t// @ts-ignore - complaints about status missing completed and other statuses\n\treturn [SidebarTaskStatuses.InProgress, SidebarTaskStatuses.Created].includes(status)\n}\n\nexport const isLanguageProgressCompleted = (\n\ttask: SidebarTask,\n\tlanguage: SidebarTaskLanguage,\n): boolean => {\n\treturn (\n\t\tisInProgressOrCreated(task.status) &&\n\t\tisInProgressOrCreated(language.status) &&\n\t\t(language.progress ?? 0) >= 100\n\t)\n}\n"],"names":["SidebarTaskLanguageStatuses","SidebarTaskTypeOptions","SidebarTaskStatuses"],"mappings":";;;AAWa,MAAA,gBAAgB,CAAC,QAAmC,kBAA0B;AAC1F,UAAQ,QAAQ;AAAA,IACf,KAAKA,MAA4B,4BAAA;AACzB,aAAA,gBAAgB,MAAM,WAAW;AAAA,IACzC,KAAKA,MAA4B,4BAAA;AAGzB,aAAA,gBAAgB,IAAI,gBAAgB;AAAA,IAC5C,KAAKA,MAA4B,4BAAA;AACzB,aAAA;AAAA,IACR,KAAKA,MAA4B,4BAAA;AACzB,aAAA;AAAA,IACR,KAAKA,MAA4B,4BAAA;AACzB,aAAA;AAAA,IACR;AACQ,aAAA;AAAA,EAAA;AAEV;AAEa,MAAA,gBAAgB,CAAC,aAA6D;AACpF,QAAA,WAAW,SAAS,YAAY;AAEtC,MAAI,SAAS,WAAWA,MAAAA,4BAA4B,WAAW,WAAW,GAAG;AAG5E,WAAOA,MAA4B,4BAAA;AAAA,EAAA;AAGpC,SAAO,SAAS;AACjB;AAKO,MAAM,WAAkD;AAAA,EAC9D,CAACC,MAAAA,uBAAuB,WAAW,GAAG;AAAA,EACtC,CAACA,MAAAA,uBAAuB,MAAM,GAAG;AAAA,EACjC,CAACA,MAAAA,uBAAuB,SAAS,GAAG;AAAA,EACpC,CAACA,MAAAA,uBAAuB,qBAAqB,GAAG;AACjD;AAEa,MAAA,mBAAmB,CAAC,UAAiC;AACjE,QAAM,kBAA+C;AAAA,IACpDD,MAAAA,4BAA4B;AAAA,IAC5BA,MAAAA,4BAA4B;AAAA,IAC5BA,kCAA4B;AAAA,EAC7B;AAEO,SAAA,MACL,OAAO,CAAC,aAAa,SAAS,WAAW,QAAQ,EACjD,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,QAAQ,cAAc,IAAI,EAAA,EAAI,EACxD,KAAK,CAAC,GAAG,MAAM;AACf,QAAI,EAAE,WAAWA,MAAA,4BAA4B,cAAc,EAAE,aAAa,KAAK;AACvE,aAAA;AAAA,IAAA;AAGR,QAAI,EAAE,WAAWA,MAAA,4BAA4B,cAAc,EAAE,aAAa,KAAK;AACvE,aAAA;AAAA,IAAA;AAGJ,QAAA,EAAE,WAAW,EAAE,QAAQ;AAE1B,aAAO,EAAE,OAAO,EAAE,OAAO,IAAI;AAAA,IAAA;AAMvB,WAAA,gBAAgB,QAAQ,EAAE,MAAM,IAAI,gBAAgB,QAAQ,EAAE,MAAM;AAAA,EAAA,CAC3E;AACH;AAEA,MAAM,wBAAwB,CAAC,WAAmE;AAEjG,SAAO,CAACE,MAAoB,oBAAA,YAAYA,MAAAA,oBAAoB,OAAO,EAAE,SAAS,MAAM;AACrF;AAEa,MAAA,8BAA8B,CAC1C,MACA,aACa;AAEZ,SAAA,sBAAsB,KAAK,MAAM,KACjC,sBAAsB,SAAS,MAAM,MACpC,SAAS,YAAY,MAAM;AAE9B;;;;;;"}
@@ -1,14 +1,63 @@
1
- import { commonjsGlobal } from "./harmony123.mjs";
2
- var _freeGlobal;
3
- var hasRequired_freeGlobal;
4
- function require_freeGlobal() {
5
- if (hasRequired_freeGlobal) return _freeGlobal;
6
- hasRequired_freeGlobal = 1;
7
- var freeGlobal = typeof commonjsGlobal == "object" && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
8
- _freeGlobal = freeGlobal;
9
- return _freeGlobal;
10
- }
1
+ import { SidebarTaskLanguageStatuses, SidebarTaskTypeOptions, SidebarTaskStatuses } from "./harmony2.mjs";
2
+ const getStatusText = (status, progressValue) => {
3
+ switch (status) {
4
+ case SidebarTaskLanguageStatuses.Completed:
5
+ return progressValue < 100 ? "Closed" : "Completed";
6
+ case SidebarTaskLanguageStatuses.Created:
7
+ return progressValue > 0 ? "In progress" : "Not started";
8
+ case SidebarTaskLanguageStatuses.InProgress:
9
+ return "In progress";
10
+ case SidebarTaskLanguageStatuses.Queued:
11
+ return "Queued";
12
+ case SidebarTaskLanguageStatuses.NotStarted:
13
+ return "Not started";
14
+ default:
15
+ return "-";
16
+ }
17
+ };
18
+ const resolveStatus = (language) => {
19
+ const progress = language.progress ?? 0;
20
+ if (language.status === SidebarTaskLanguageStatuses.Created && progress > 0) {
21
+ return SidebarTaskLanguageStatuses.InProgress;
22
+ }
23
+ return language.status;
24
+ };
25
+ const tagColor = {
26
+ [SidebarTaskTypeOptions.translation]: "#0891B2",
27
+ [SidebarTaskTypeOptions.review]: "#16922D",
28
+ [SidebarTaskTypeOptions.lqa_by_ai]: "#8B5CF6",
29
+ [SidebarTaskTypeOptions.automatic_translation]: "#60A5FA"
30
+ };
31
+ const getTaskLanguages = (langs) => {
32
+ const statusSortOrder = [
33
+ SidebarTaskLanguageStatuses.InProgress,
34
+ SidebarTaskLanguageStatuses.Created,
35
+ SidebarTaskLanguageStatuses.Completed
36
+ ];
37
+ return langs.filter((language) => language.status !== "queued").map((lang) => ({ ...lang, status: resolveStatus(lang) })).sort((a, b) => {
38
+ if (a.status === SidebarTaskLanguageStatuses.InProgress && a.progress === 100) {
39
+ return -1;
40
+ }
41
+ if (b.status === SidebarTaskLanguageStatuses.InProgress && b.progress === 100) {
42
+ return 1;
43
+ }
44
+ if (a.status === b.status) {
45
+ return a.name < b.name ? 1 : -1;
46
+ }
47
+ return statusSortOrder.indexOf(a.status) - statusSortOrder.indexOf(b.status);
48
+ });
49
+ };
50
+ const isInProgressOrCreated = (status) => {
51
+ return [SidebarTaskStatuses.InProgress, SidebarTaskStatuses.Created].includes(status);
52
+ };
53
+ const isLanguageProgressCompleted = (task, language) => {
54
+ return isInProgressOrCreated(task.status) && isInProgressOrCreated(language.status) && (language.progress ?? 0) >= 100;
55
+ };
11
56
  export {
12
- require_freeGlobal as __require
57
+ getStatusText,
58
+ getTaskLanguages,
59
+ isLanguageProgressCompleted,
60
+ resolveStatus,
61
+ tagColor
13
62
  };
14
63
  //# sourceMappingURL=harmony119.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony119.mjs","sources":["../node_modules/lodash/_freeGlobal.js"],"sourcesContent":["/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n"],"names":["global"],"mappings":";;;;;;AACA,MAAI,aAAa,OAAOA,kBAAU,YAAYA,kBAAUA,eAAO,WAAW,UAAUA;AAEpF,gBAAiB;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony119.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/utils/content.ts"],"sourcesContent":["import {\n\ttype SidebarTask,\n\ttype SidebarTaskLanguage,\n\ttype SidebarTaskLanguageStatus,\n\tSidebarTaskLanguageStatuses,\n\ttype SidebarTaskStatus,\n\tSidebarTaskStatuses,\n\ttype SidebarTaskTypeOption,\n\tSidebarTaskTypeOptions,\n} from '../types'\n\nexport const getStatusText = (status: SidebarTaskLanguageStatus, progressValue: number) => {\n\tswitch (status) {\n\t\tcase SidebarTaskLanguageStatuses.Completed:\n\t\t\treturn progressValue < 100 ? 'Closed' : 'Completed'\n\t\tcase SidebarTaskLanguageStatuses.Created:\n\t\t\t// For some reason project task lang status is not correctly updated to \"in progress\". So instead\n\t\t\t// we need to rely on `created` status and progress value is not 0.\n\t\t\treturn progressValue > 0 ? 'In progress' : 'Not started'\n\t\tcase SidebarTaskLanguageStatuses.InProgress:\n\t\t\treturn 'In progress'\n\t\tcase SidebarTaskLanguageStatuses.Queued:\n\t\t\treturn 'Queued'\n\t\tcase SidebarTaskLanguageStatuses.NotStarted:\n\t\t\treturn 'Not started'\n\t\tdefault:\n\t\t\treturn '-'\n\t}\n}\n\nexport const resolveStatus = (language: SidebarTaskLanguage): SidebarTaskLanguageStatus => {\n\tconst progress = language.progress ?? 0\n\n\tif (language.status === SidebarTaskLanguageStatuses.Created && progress > 0) {\n\t\t// For some reason project task lang status is not correctly updated to \"in progress\". So instead\n\t\t// we need to rely on `created` status and progress value is not 0.\n\t\treturn SidebarTaskLanguageStatuses.InProgress\n\t}\n\n\treturn language.status\n}\n\n/**\n * TODO - these should be taken from louis\n */\nexport const tagColor: Record<SidebarTaskTypeOption, string> = {\n\t[SidebarTaskTypeOptions.translation]: '#0891B2',\n\t[SidebarTaskTypeOptions.review]: '#16922D',\n\t[SidebarTaskTypeOptions.lqa_by_ai]: '#8B5CF6',\n\t[SidebarTaskTypeOptions.automatic_translation]: '#60A5FA',\n}\n\nexport const getTaskLanguages = (langs: SidebarTaskLanguage[]) => {\n\tconst statusSortOrder: SidebarTaskLanguageStatus[] = [\n\t\tSidebarTaskLanguageStatuses.InProgress,\n\t\tSidebarTaskLanguageStatuses.Created,\n\t\tSidebarTaskLanguageStatuses.Completed,\n\t]\n\n\treturn langs\n\t\t.filter((language) => language.status !== 'queued')\n\t\t.map((lang) => ({ ...lang, status: resolveStatus(lang) }))\n\t\t.sort((a, b) => {\n\t\t\tif (a.status === SidebarTaskLanguageStatuses.InProgress && a.progress === 100) {\n\t\t\t\treturn -1\n\t\t\t}\n\n\t\t\tif (b.status === SidebarTaskLanguageStatuses.InProgress && b.progress === 100) {\n\t\t\t\treturn 1\n\t\t\t}\n\n\t\t\tif (a.status === b.status) {\n\t\t\t\t// Order by lang id\n\t\t\t\treturn a.name < b.name ? 1 : -1\n\t\t\t}\n\n\t\t\t// The index of array will serve as sorting order so if we get `in_progress` for \"a\" and `created`\n\t\t\t// for b, they will have `0` and `1` indices. So `0 - 1` will result in `-1` which means\n\t\t\t// \"a\" will be sorted before \"b\".\n\t\t\treturn statusSortOrder.indexOf(a.status) - statusSortOrder.indexOf(b.status)\n\t\t})\n}\n\nconst isInProgressOrCreated = (status: SidebarTaskLanguageStatus | SidebarTaskStatus): boolean => {\n\t// @ts-ignore - complaints about status missing completed and other statuses\n\treturn [SidebarTaskStatuses.InProgress, SidebarTaskStatuses.Created].includes(status)\n}\n\nexport const isLanguageProgressCompleted = (\n\ttask: SidebarTask,\n\tlanguage: SidebarTaskLanguage,\n): boolean => {\n\treturn (\n\t\tisInProgressOrCreated(task.status) &&\n\t\tisInProgressOrCreated(language.status) &&\n\t\t(language.progress ?? 0) >= 100\n\t)\n}\n"],"names":[],"mappings":";AAWa,MAAA,gBAAgB,CAAC,QAAmC,kBAA0B;AAC1F,UAAQ,QAAQ;AAAA,IACf,KAAK,4BAA4B;AACzB,aAAA,gBAAgB,MAAM,WAAW;AAAA,IACzC,KAAK,4BAA4B;AAGzB,aAAA,gBAAgB,IAAI,gBAAgB;AAAA,IAC5C,KAAK,4BAA4B;AACzB,aAAA;AAAA,IACR,KAAK,4BAA4B;AACzB,aAAA;AAAA,IACR,KAAK,4BAA4B;AACzB,aAAA;AAAA,IACR;AACQ,aAAA;AAAA,EAAA;AAEV;AAEa,MAAA,gBAAgB,CAAC,aAA6D;AACpF,QAAA,WAAW,SAAS,YAAY;AAEtC,MAAI,SAAS,WAAW,4BAA4B,WAAW,WAAW,GAAG;AAG5E,WAAO,4BAA4B;AAAA,EAAA;AAGpC,SAAO,SAAS;AACjB;AAKO,MAAM,WAAkD;AAAA,EAC9D,CAAC,uBAAuB,WAAW,GAAG;AAAA,EACtC,CAAC,uBAAuB,MAAM,GAAG;AAAA,EACjC,CAAC,uBAAuB,SAAS,GAAG;AAAA,EACpC,CAAC,uBAAuB,qBAAqB,GAAG;AACjD;AAEa,MAAA,mBAAmB,CAAC,UAAiC;AACjE,QAAM,kBAA+C;AAAA,IACpD,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,EAC7B;AAEO,SAAA,MACL,OAAO,CAAC,aAAa,SAAS,WAAW,QAAQ,EACjD,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,QAAQ,cAAc,IAAI,EAAA,EAAI,EACxD,KAAK,CAAC,GAAG,MAAM;AACf,QAAI,EAAE,WAAW,4BAA4B,cAAc,EAAE,aAAa,KAAK;AACvE,aAAA;AAAA,IAAA;AAGR,QAAI,EAAE,WAAW,4BAA4B,cAAc,EAAE,aAAa,KAAK;AACvE,aAAA;AAAA,IAAA;AAGJ,QAAA,EAAE,WAAW,EAAE,QAAQ;AAE1B,aAAO,EAAE,OAAO,EAAE,OAAO,IAAI;AAAA,IAAA;AAMvB,WAAA,gBAAgB,QAAQ,EAAE,MAAM,IAAI,gBAAgB,QAAQ,EAAE,MAAM;AAAA,EAAA,CAC3E;AACH;AAEA,MAAM,wBAAwB,CAAC,WAAmE;AAEjG,SAAO,CAAC,oBAAoB,YAAY,oBAAoB,OAAO,EAAE,SAAS,MAAM;AACrF;AAEa,MAAA,8BAA8B,CAC1C,MACA,aACa;AAEZ,SAAA,sBAAsB,KAAK,MAAM,KACjC,sBAAsB,SAAS,MAAM,MACpC,SAAS,YAAY,MAAM;AAE9B;"}