@lokalise/harmony 1.39.4 → 1.40.0

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 (207) hide show
  1. package/dist/harmony100.cjs +9 -12
  2. package/dist/harmony100.cjs.map +1 -1
  3. package/dist/harmony100.mjs +8 -11
  4. package/dist/harmony100.mjs.map +1 -1
  5. package/dist/harmony101.cjs +57 -12
  6. package/dist/harmony101.cjs.map +1 -1
  7. package/dist/harmony101.mjs +56 -11
  8. package/dist/harmony101.mjs.map +1 -1
  9. package/dist/harmony102.cjs +42 -6
  10. package/dist/harmony102.cjs.map +1 -1
  11. package/dist/harmony102.mjs +41 -5
  12. package/dist/harmony102.mjs.map +1 -1
  13. package/dist/harmony103.cjs +6 -10
  14. package/dist/harmony103.cjs.map +1 -1
  15. package/dist/harmony103.mjs +5 -9
  16. package/dist/harmony103.mjs.map +1 -1
  17. package/dist/harmony104.cjs +6 -6
  18. package/dist/harmony104.mjs +6 -6
  19. package/dist/harmony105.cjs +24 -57
  20. package/dist/harmony105.cjs.map +1 -1
  21. package/dist/harmony105.mjs +23 -56
  22. package/dist/harmony105.mjs.map +1 -1
  23. package/dist/harmony106.cjs +6 -42
  24. package/dist/harmony106.cjs.map +1 -1
  25. package/dist/harmony106.mjs +5 -41
  26. package/dist/harmony106.mjs.map +1 -1
  27. package/dist/harmony107.cjs +21 -5
  28. package/dist/harmony107.cjs.map +1 -1
  29. package/dist/harmony107.mjs +21 -5
  30. package/dist/harmony107.mjs.map +1 -1
  31. package/dist/harmony108.cjs +7 -4
  32. package/dist/harmony108.cjs.map +1 -1
  33. package/dist/harmony108.mjs +7 -4
  34. package/dist/harmony108.mjs.map +1 -1
  35. package/dist/harmony109.cjs +12 -25
  36. package/dist/harmony109.cjs.map +1 -1
  37. package/dist/harmony109.mjs +11 -24
  38. package/dist/harmony109.mjs.map +1 -1
  39. package/dist/harmony110.cjs +20 -5
  40. package/dist/harmony110.cjs.map +1 -1
  41. package/dist/harmony110.mjs +20 -5
  42. package/dist/harmony110.mjs.map +1 -1
  43. package/dist/harmony111.cjs +164 -19
  44. package/dist/harmony111.cjs.map +1 -1
  45. package/dist/harmony111.mjs +164 -19
  46. package/dist/harmony111.mjs.map +1 -1
  47. package/dist/harmony112.cjs +44 -12
  48. package/dist/harmony112.cjs.map +1 -1
  49. package/dist/harmony112.mjs +43 -11
  50. package/dist/harmony112.mjs.map +1 -1
  51. package/dist/harmony113.cjs +2 -2
  52. package/dist/harmony113.mjs +2 -2
  53. package/dist/harmony114.cjs +13 -86
  54. package/dist/harmony114.cjs.map +1 -1
  55. package/dist/harmony114.mjs +13 -86
  56. package/dist/harmony114.mjs.map +1 -1
  57. package/dist/harmony115.cjs +18 -30
  58. package/dist/harmony115.cjs.map +1 -1
  59. package/dist/harmony115.mjs +18 -30
  60. package/dist/harmony115.mjs.map +1 -1
  61. package/dist/harmony116.cjs +21 -14
  62. package/dist/harmony116.cjs.map +1 -1
  63. package/dist/harmony116.mjs +20 -13
  64. package/dist/harmony116.mjs.map +1 -1
  65. package/dist/harmony117.cjs +6 -18
  66. package/dist/harmony117.cjs.map +1 -1
  67. package/dist/harmony117.mjs +6 -18
  68. package/dist/harmony117.mjs.map +1 -1
  69. package/dist/harmony118.cjs +132 -21
  70. package/dist/harmony118.cjs.map +1 -1
  71. package/dist/harmony118.mjs +131 -20
  72. package/dist/harmony118.mjs.map +1 -1
  73. package/dist/harmony119.cjs +12 -6
  74. package/dist/harmony119.cjs.map +1 -1
  75. package/dist/harmony119.mjs +11 -5
  76. package/dist/harmony119.mjs.map +1 -1
  77. package/dist/harmony120.cjs +5 -132
  78. package/dist/harmony120.cjs.map +1 -1
  79. package/dist/harmony120.mjs +5 -132
  80. package/dist/harmony120.mjs.map +1 -1
  81. package/dist/harmony121.cjs +40 -12
  82. package/dist/harmony121.cjs.map +1 -1
  83. package/dist/harmony121.mjs +39 -11
  84. package/dist/harmony121.mjs.map +1 -1
  85. package/dist/harmony122.cjs +59 -4
  86. package/dist/harmony122.cjs.map +1 -1
  87. package/dist/harmony122.mjs +60 -5
  88. package/dist/harmony122.mjs.map +1 -1
  89. package/dist/harmony123.cjs +6 -39
  90. package/dist/harmony123.cjs.map +1 -1
  91. package/dist/harmony123.mjs +6 -39
  92. package/dist/harmony123.mjs.map +1 -1
  93. package/dist/harmony124.cjs +6 -60
  94. package/dist/harmony124.cjs.map +1 -1
  95. package/dist/harmony124.mjs +5 -59
  96. package/dist/harmony124.mjs.map +1 -1
  97. package/dist/harmony125.cjs +6 -8
  98. package/dist/harmony125.cjs.map +1 -1
  99. package/dist/harmony125.mjs +5 -7
  100. package/dist/harmony125.mjs.map +1 -1
  101. package/dist/harmony126.cjs +4 -4
  102. package/dist/harmony126.mjs +4 -4
  103. package/dist/harmony127.cjs +88 -6
  104. package/dist/harmony127.cjs.map +1 -1
  105. package/dist/harmony127.mjs +87 -5
  106. package/dist/harmony127.mjs.map +1 -1
  107. package/dist/harmony128.cjs +31 -7
  108. package/dist/harmony128.cjs.map +1 -1
  109. package/dist/harmony128.mjs +30 -6
  110. package/dist/harmony128.mjs.map +1 -1
  111. package/dist/harmony129.cjs +96 -10
  112. package/dist/harmony129.cjs.map +1 -1
  113. package/dist/harmony129.mjs +96 -10
  114. package/dist/harmony129.mjs.map +1 -1
  115. package/dist/harmony130.cjs +11 -94
  116. package/dist/harmony130.cjs.map +1 -1
  117. package/dist/harmony130.mjs +11 -94
  118. package/dist/harmony130.mjs.map +1 -1
  119. package/dist/harmony131.cjs +13 -12
  120. package/dist/harmony131.cjs.map +1 -1
  121. package/dist/harmony131.mjs +13 -12
  122. package/dist/harmony131.mjs.map +1 -1
  123. package/dist/harmony132.cjs +35 -13
  124. package/dist/harmony132.cjs.map +1 -1
  125. package/dist/harmony132.mjs +35 -13
  126. package/dist/harmony132.mjs.map +1 -1
  127. package/dist/harmony133.cjs +24 -32
  128. package/dist/harmony133.cjs.map +1 -1
  129. package/dist/harmony133.mjs +24 -32
  130. package/dist/harmony133.mjs.map +1 -1
  131. package/dist/harmony134.cjs +62 -28
  132. package/dist/harmony134.cjs.map +1 -1
  133. package/dist/harmony134.mjs +61 -27
  134. package/dist/harmony134.mjs.map +1 -1
  135. package/dist/harmony135.cjs +87 -61
  136. package/dist/harmony135.cjs.map +1 -1
  137. package/dist/harmony135.mjs +87 -61
  138. package/dist/harmony135.mjs.map +1 -1
  139. package/dist/harmony136.cjs +18 -88
  140. package/dist/harmony136.cjs.map +1 -1
  141. package/dist/harmony136.mjs +17 -87
  142. package/dist/harmony136.mjs.map +1 -1
  143. package/dist/harmony137.cjs +10 -18
  144. package/dist/harmony137.cjs.map +1 -1
  145. package/dist/harmony137.mjs +9 -17
  146. package/dist/harmony137.mjs.map +1 -1
  147. package/dist/harmony14.cjs +1 -1
  148. package/dist/harmony14.mjs +1 -1
  149. package/dist/harmony142.cjs +1 -1
  150. package/dist/harmony142.mjs +1 -1
  151. package/dist/harmony153.cjs +1 -1
  152. package/dist/harmony153.mjs +1 -1
  153. package/dist/harmony17.cjs +1 -1
  154. package/dist/harmony17.mjs +1 -1
  155. package/dist/harmony25.cjs +1 -1
  156. package/dist/harmony25.mjs +1 -1
  157. package/dist/harmony26.cjs +1 -1
  158. package/dist/harmony26.mjs +1 -1
  159. package/dist/harmony67.cjs +2 -1
  160. package/dist/harmony67.cjs.map +1 -1
  161. package/dist/harmony67.mjs +2 -1
  162. package/dist/harmony67.mjs.map +1 -1
  163. package/dist/harmony77.cjs +1 -1
  164. package/dist/harmony77.mjs +1 -1
  165. package/dist/harmony78.cjs +1 -1
  166. package/dist/harmony78.mjs +1 -1
  167. package/dist/harmony79.cjs +1 -1
  168. package/dist/harmony79.mjs +1 -1
  169. package/dist/harmony80.cjs +2 -2
  170. package/dist/harmony80.mjs +2 -2
  171. package/dist/harmony81.cjs +2 -2
  172. package/dist/harmony81.mjs +2 -2
  173. package/dist/harmony82.cjs +2 -2
  174. package/dist/harmony82.mjs +2 -2
  175. package/dist/harmony83.cjs +2 -2
  176. package/dist/harmony83.mjs +2 -2
  177. package/dist/harmony84.cjs +3 -3
  178. package/dist/harmony84.mjs +3 -3
  179. package/dist/harmony85.cjs +6 -6
  180. package/dist/harmony85.mjs +6 -6
  181. package/dist/harmony88.cjs +2 -2
  182. package/dist/harmony88.mjs +2 -2
  183. package/dist/harmony90.cjs +2 -2
  184. package/dist/harmony90.mjs +2 -2
  185. package/dist/harmony92.cjs +2 -2
  186. package/dist/harmony92.mjs +2 -2
  187. package/dist/harmony96.cjs +10 -9
  188. package/dist/harmony96.cjs.map +1 -1
  189. package/dist/harmony96.mjs +12 -11
  190. package/dist/harmony96.mjs.map +1 -1
  191. package/dist/harmony97.cjs +11 -20
  192. package/dist/harmony97.cjs.map +1 -1
  193. package/dist/harmony97.mjs +11 -20
  194. package/dist/harmony97.mjs.map +1 -1
  195. package/dist/harmony98.cjs +6 -166
  196. package/dist/harmony98.cjs.map +1 -1
  197. package/dist/harmony98.mjs +5 -165
  198. package/dist/harmony98.mjs.map +1 -1
  199. package/dist/harmony99.cjs +9 -44
  200. package/dist/harmony99.cjs.map +1 -1
  201. package/dist/harmony99.mjs +8 -43
  202. package/dist/harmony99.mjs.map +1 -1
  203. package/dist/types/src/features/publicApi/hooks/useCreateScoreMutation.d.ts +1 -0
  204. package/dist/types/src/features/publicApi/hooks/useGetScoreQuery.d.ts +1 -0
  205. package/dist/types/src/features/publicApi/score.d.ts +10 -0
  206. package/dist/types/src/features/publicApi/types/scoreTypes.d.ts +13 -0
  207. package/package.json +1 -1
@@ -1,91 +1,21 @@
1
1
  "use strict";
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("./harmony10.cjs");
6
- const url = require("./harmony11.cjs");
7
- const date = require("./harmony12.cjs");
8
- const dateFns = require("date-fns");
9
- const index = require("./harmony141.cjs");
10
- const TaskLanguage = require("./harmony142.cjs");
11
- const TasksContext = require("./harmony122.cjs");
12
- const content = require("./harmony143.cjs");
13
- const TaskOverview_module = require("./harmony144.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
- ] });
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
89
14
  };
90
- exports.TaskOverview = TaskOverview;
15
+ exports.default = styles;
16
+ exports.loadingContainer = loadingContainer;
17
+ exports.noTasksContainer = noTasksContainer;
18
+ exports.noTasksHeading = noTasksHeading;
19
+ exports.noTasksText = noTasksText;
20
+ exports.tasksContainer = tasksContainer;
91
21
  //# sourceMappingURL=harmony136.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony136.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":"harmony136.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -1,91 +1,21 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Tag, Button, Menu, MenuList, MenuItem, Link } from "@lokalise/louis";
3
- import { convertNewLineToBreakTag } from "./harmony10.mjs";
4
- import { makeUrlClickable } from "./harmony11.mjs";
5
- import { formatDate } from "./harmony12.mjs";
6
- import { parseISO } from "date-fns";
7
- import { splitFileName } from "./harmony141.mjs";
8
- import { TaskLanguage } from "./harmony142.mjs";
9
- import { useTasks } from "./harmony122.mjs";
10
- import { getTaskLanguages, tagColor } from "./harmony143.mjs";
11
- import styles from "./harmony144.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 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
87
12
  };
88
13
  export {
89
- TaskOverview
14
+ styles as default,
15
+ loadingContainer,
16
+ noTasksContainer,
17
+ noTasksHeading,
18
+ noTasksText,
19
+ tasksContainer
90
20
  };
91
21
  //# sourceMappingURL=harmony136.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony136.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":"harmony136.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1,21 +1,13 @@
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 hasAdminRight = (adminRights, right) => {
4
+ if (!Array.isArray(adminRights)) return false;
5
+ return adminRights.includes(right);
14
6
  };
15
- exports.default = styles;
16
- exports.loadingContainer = loadingContainer;
17
- exports.noTasksContainer = noTasksContainer;
18
- exports.noTasksHeading = noTasksHeading;
19
- exports.noTasksText = noTasksText;
20
- exports.tasksContainer = tasksContainer;
7
+ const hasAnyAdminRight = (adminRights, rights) => {
8
+ if (!Array.isArray(adminRights)) return false;
9
+ return rights.some((right) => adminRights.includes(right));
10
+ };
11
+ exports.hasAdminRight = hasAdminRight;
12
+ exports.hasAnyAdminRight = hasAnyAdminRight;
21
13
  //# sourceMappingURL=harmony137.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony137.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony137.cjs","sources":["../src/features/auth/utils/permissions.ts"],"sourcesContent":["// Helper function to check if user has a specific admin right\nexport const hasAdminRight = (adminRights: string[], right: string): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn adminRights.includes(right)\n}\n\n// Helper function to check if user has any of the specified admin rights\nexport const hasAnyAdminRight = (adminRights: string[], rights: string[]): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn rights.some((right) => adminRights.includes(right))\n}\n"],"names":[],"mappings":";;AACa,MAAA,gBAAgB,CAAC,aAAuB,UAA2B;AAC/E,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACjC,SAAA,YAAY,SAAS,KAAK;AAClC;AAGa,MAAA,mBAAmB,CAAC,aAAuB,WAA8B;AACrF,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACxC,SAAO,OAAO,KAAK,CAAC,UAAU,YAAY,SAAS,KAAK,CAAC;AAC1D;;;"}
@@ -1,21 +1,13 @@
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
+ const hasAdminRight = (adminRights, right) => {
2
+ if (!Array.isArray(adminRights)) return false;
3
+ return adminRights.includes(right);
4
+ };
5
+ const hasAnyAdminRight = (adminRights, rights) => {
6
+ if (!Array.isArray(adminRights)) return false;
7
+ return rights.some((right) => adminRights.includes(right));
12
8
  };
13
9
  export {
14
- styles as default,
15
- loadingContainer,
16
- noTasksContainer,
17
- noTasksHeading,
18
- noTasksText,
19
- tasksContainer
10
+ hasAdminRight,
11
+ hasAnyAdminRight
20
12
  };
21
13
  //# sourceMappingURL=harmony137.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony137.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony137.mjs","sources":["../src/features/auth/utils/permissions.ts"],"sourcesContent":["// Helper function to check if user has a specific admin right\nexport const hasAdminRight = (adminRights: string[], right: string): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn adminRights.includes(right)\n}\n\n// Helper function to check if user has any of the specified admin rights\nexport const hasAnyAdminRight = (adminRights: string[], rights: string[]): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn rights.some((right) => adminRights.includes(right))\n}\n"],"names":[],"mappings":"AACa,MAAA,gBAAgB,CAAC,aAAuB,UAA2B;AAC/E,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACjC,SAAA,YAAY,SAAS,KAAK;AAClC;AAGa,MAAA,mBAAmB,CAAC,aAAuB,WAA8B;AACrF,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACxC,SAAO,OAAO,KAAK,CAAC,UAAU,YAAY,SAAS,KAAK,CAAC;AAC1D;"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const createHeaderBuilderMiddleware = require("./harmony19.cjs");
4
4
  const jwtTokenPayload = require("./harmony17.cjs");
5
5
  const UnauthorizedError = require("./harmony16.cjs");
6
- const NewJwtIssuedEvent = require("./harmony116.cjs");
6
+ const NewJwtIssuedEvent = require("./harmony114.cjs");
7
7
  function JwtAuthHeaderBuilderMiddleware(props) {
8
8
  return createHeaderBuilderMiddleware.createHeaderBuilderMiddleware(async (builder) => {
9
9
  var _a, _b;
@@ -1,7 +1,7 @@
1
1
  import { createHeaderBuilderMiddleware } from "./harmony19.mjs";
2
2
  import { parseJwtTokenPayload } from "./harmony17.mjs";
3
3
  import { UnauthorizedError } from "./harmony16.mjs";
4
- import { NewJwtIssuedEvent } from "./harmony116.mjs";
4
+ import { NewJwtIssuedEvent } from "./harmony114.mjs";
5
5
  function JwtAuthHeaderBuilderMiddleware(props) {
6
6
  return createHeaderBuilderMiddleware(async (builder) => {
7
7
  var _a, _b;
@@ -6,7 +6,7 @@ const content = require("./harmony143.cjs");
6
6
  const types = require("./harmony2.cjs");
7
7
  const clsx = require("./harmony73.cjs");
8
8
  const TaskLanguageCompleted = require("./harmony153.cjs");
9
- const TasksContext = require("./harmony122.cjs");
9
+ const TasksContext = require("./harmony120.cjs");
10
10
  const TaskLanguage_module = require("./harmony154.cjs");
11
11
  const TaskLanguage = ({ language, task }) => {
12
12
  const { getProjectUrl, langNameOnClick, langProgressOnClick } = TasksContext.useTasks();
@@ -4,7 +4,7 @@ import { isLanguageProgressCompleted, getStatusText } from "./harmony143.mjs";
4
4
  import { SidebarTaskLanguageStatuses } from "./harmony2.mjs";
5
5
  import { clsx } from "./harmony73.mjs";
6
6
  import { TaskLanguageCompleted } from "./harmony153.mjs";
7
- import { useTasks } from "./harmony122.mjs";
7
+ import { useTasks } from "./harmony120.mjs";
8
8
  import styles from "./harmony154.mjs";
9
9
  const TaskLanguage = ({ language, task }) => {
10
10
  const { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks();
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
5
  const React = require("react");
6
- const TasksContext = require("./harmony122.cjs");
6
+ const TasksContext = require("./harmony120.cjs");
7
7
  const TaskLanguageCompleted = ({ task, language }) => {
8
8
  const [loading, setLoading] = React.useState(false);
9
9
  const [isMarkAsDonePromptShown, setIsMarkAsDonePromptShown] = React.useState(false);
@@ -1,7 +1,7 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { ConfirmModal, Alert, Link } from "@lokalise/louis";
3
3
  import { useState } from "react";
4
- import { useTasks } from "./harmony122.mjs";
4
+ import { useTasks } from "./harmony120.mjs";
5
5
  const TaskLanguageCompleted = ({ task, language }) => {
6
6
  const [loading, setLoading] = useState(false);
7
7
  const [isMarkAsDonePromptShown, setIsMarkAsDonePromptShown] = useState(false);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jwtTokenPayload = require("./harmony117.cjs");
3
+ const jwtTokenPayload = require("./harmony115.cjs");
4
4
  function parseJwtTokenPayload(token) {
5
5
  try {
6
6
  const payload = token.split(".")[1];
@@ -1,4 +1,4 @@
1
- import { JWT_TOKEN_PAYLOAD_SCHEMA } from "./harmony117.mjs";
1
+ import { JWT_TOKEN_PAYLOAD_SCHEMA } from "./harmony115.mjs";
2
2
  function parseJwtTokenPayload(token) {
3
3
  try {
4
4
  const payload = token.split(".")[1];
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const useGetUserTokenQuery = require("./harmony48.cjs");
4
4
  const React = require("react");
5
- const NewJwtIssuedEvent = require("./harmony116.cjs");
5
+ const NewJwtIssuedEvent = require("./harmony114.cjs");
6
6
  const cookieTokenUtils = require("./harmony18.cjs");
7
7
  function useGetPromotedClassicSessionJwtQuery(wretchClient, headers, teamId) {
8
8
  const csrf = cookieTokenUtils.getCsrfTokenFromCookie();
@@ -1,6 +1,6 @@
1
1
  import { useGetUserTokenQuery, getUserTokenKey } from "./harmony48.mjs";
2
2
  import { useRef, useEffect } from "react";
3
- import { NewJwtIssuedEvent } from "./harmony116.mjs";
3
+ import { NewJwtIssuedEvent } from "./harmony114.mjs";
4
4
  import { getCsrfTokenFromCookie } from "./harmony18.mjs";
5
5
  function useGetPromotedClassicSessionJwtQuery(wretchClient, headers, teamId) {
6
6
  const csrf = getCsrfTokenFromCookie();
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
4
  const jwtTokenPayload = require("./harmony17.cjs");
5
- const NewJwtIssuedEvent = require("./harmony116.cjs");
5
+ const NewJwtIssuedEvent = require("./harmony114.cjs");
6
6
  const cookieTokenUtils = require("./harmony18.cjs");
7
7
  function useAuthenticatedSessionPayload() {
8
8
  const [payload, setPayload] = React.useState();
@@ -1,6 +1,6 @@
1
1
  import { useState, useEffect } from "react";
2
2
  import { parseJwtTokenPayload } from "./harmony17.mjs";
3
- import { NewJwtIssuedEvent } from "./harmony116.mjs";
3
+ import { NewJwtIssuedEvent } from "./harmony114.mjs";
4
4
  import { getJwtTokenFromCookie } from "./harmony18.mjs";
5
5
  function useAuthenticatedSessionPayload() {
6
6
  const [payload, setPayload] = useState();
@@ -5,7 +5,8 @@ const SEVERITY_ENUM = zod.z.enum(["critical", "major", "minor", "neutral"]);
5
5
  const ISSUE_SCHEMA = zod.z.object({
6
6
  category: zod.z.string(),
7
7
  comment: zod.z.string(),
8
- severity: SEVERITY_ENUM
8
+ severity: SEVERITY_ENUM,
9
+ penalty: zod.z.number()
9
10
  });
10
11
  const SCORE_REQUEST_QUERY_SCHEMA = zod.z.object({
11
12
  projectId: zod.z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"harmony67.cjs","sources":["../src/features/publicApi/types/scoreTypes.ts"],"sourcesContent":["import { z } from 'zod'\n\nexport const SEVERITY_ENUM = z.enum(['critical', 'major', 'minor', 'neutral'])\n\nexport type Severity = z.infer<typeof SEVERITY_ENUM>\n\nexport const ISSUE_SCHEMA = z.object({\n\tcategory: z.string(),\n\tcomment: z.string(),\n\tseverity: SEVERITY_ENUM,\n})\n\nexport type Issue = z.infer<typeof ISSUE_SCHEMA>\n\nexport const SCORE_REQUEST_QUERY_SCHEMA = z.object({\n\tprojectId: z.string(),\n\tkeyId: z.number(),\n\tlanguageId: z.string(),\n})\n\nexport type ScoreRequestQuery = z.infer<typeof SCORE_REQUEST_QUERY_SCHEMA>\n\nexport const GET_SCORE_RESPONSE_SCHEMA = z.object({\n\tscore: z.number(),\n\thasMajorIssue: z.boolean(),\n\thasCriticalIssue: z.boolean(),\n\tissues: z.array(ISSUE_SCHEMA),\n})\n\nexport type GetScoreResponseBody = z.infer<typeof GET_SCORE_RESPONSE_SCHEMA>\n\nexport const DELETE_SCORE_RESPONSE_SCHEMA = z.null()\n\nexport type DeleteScoreResponseBody = z.infer<typeof DELETE_SCORE_RESPONSE_SCHEMA>\n\nexport const CREATE_SCORE_REQUEST_BODY_SCHEMA = z.object({\n\tsegmentId: z.number(),\n\tsourceLanguageId: z.number(),\n})\n\nexport type CreateScoreRequestBody = z.infer<typeof CREATE_SCORE_REQUEST_BODY_SCHEMA>\n\nexport const CREATE_SCORE_RESPONSE_SCHEMA = z.object({\n\tscore: z.number(),\n\thasCriticalIssue: z.boolean(),\n\thasMajorIssue: z.boolean(),\n\tissues: z.array(ISSUE_SCHEMA),\n})\n\nexport type CreateScoreResponseBody = z.infer<typeof CREATE_SCORE_RESPONSE_SCHEMA>\n"],"names":["z"],"mappings":";;;AAEa,MAAA,gBAAgBA,MAAE,KAAK,CAAC,YAAY,SAAS,SAAS,SAAS,CAAC;AAIhE,MAAA,eAAeA,MAAE,OAAO;AAAA,EACpC,UAAUA,MAAE,OAAO;AAAA,EACnB,SAASA,MAAE,OAAO;AAAA,EAClB,UAAU;AACX,CAAC;AAIY,MAAA,6BAA6BA,MAAE,OAAO;AAAA,EAClD,WAAWA,MAAE,OAAO;AAAA,EACpB,OAAOA,MAAE,OAAO;AAAA,EAChB,YAAYA,MAAE,OAAO;AACtB,CAAC;AAIY,MAAA,4BAA4BA,MAAE,OAAO;AAAA,EACjD,OAAOA,MAAE,OAAO;AAAA,EAChB,eAAeA,MAAE,QAAQ;AAAA,EACzB,kBAAkBA,MAAE,QAAQ;AAAA,EAC5B,QAAQA,IAAAA,EAAE,MAAM,YAAY;AAC7B,CAAC;AAIY,MAAA,+BAA+BA,MAAE,KAAK;AAItC,MAAA,mCAAmCA,MAAE,OAAO;AAAA,EACxD,WAAWA,MAAE,OAAO;AAAA,EACpB,kBAAkBA,MAAE,OAAO;AAC5B,CAAC;AAIY,MAAA,+BAA+BA,MAAE,OAAO;AAAA,EACpD,OAAOA,MAAE,OAAO;AAAA,EAChB,kBAAkBA,MAAE,QAAQ;AAAA,EAC5B,eAAeA,MAAE,QAAQ;AAAA,EACzB,QAAQA,IAAAA,EAAE,MAAM,YAAY;AAC7B,CAAC;;;;;;;;"}
1
+ {"version":3,"file":"harmony67.cjs","sources":["../src/features/publicApi/types/scoreTypes.ts"],"sourcesContent":["import { z } from 'zod'\n\nexport const SEVERITY_ENUM = z.enum(['critical', 'major', 'minor', 'neutral'])\n\nexport type Severity = z.infer<typeof SEVERITY_ENUM>\n\nexport const ISSUE_SCHEMA = z.object({\n\tcategory: z.string(),\n\tcomment: z.string(),\n\tseverity: SEVERITY_ENUM,\n\tpenalty: z.number(),\n})\n\nexport type Issue = z.infer<typeof ISSUE_SCHEMA>\n\nexport const SCORE_REQUEST_QUERY_SCHEMA = z.object({\n\tprojectId: z.string(),\n\tkeyId: z.number(),\n\tlanguageId: z.string(),\n})\n\nexport type ScoreRequestQuery = z.infer<typeof SCORE_REQUEST_QUERY_SCHEMA>\n\nexport const GET_SCORE_RESPONSE_SCHEMA = z.object({\n\tscore: z.number(),\n\thasMajorIssue: z.boolean(),\n\thasCriticalIssue: z.boolean(),\n\tissues: z.array(ISSUE_SCHEMA),\n})\n\nexport type GetScoreResponseBody = z.infer<typeof GET_SCORE_RESPONSE_SCHEMA>\n\nexport const DELETE_SCORE_RESPONSE_SCHEMA = z.null()\n\nexport type DeleteScoreResponseBody = z.infer<typeof DELETE_SCORE_RESPONSE_SCHEMA>\n\nexport const CREATE_SCORE_REQUEST_BODY_SCHEMA = z.object({\n\tsegmentId: z.number(),\n\tsourceLanguageId: z.number(),\n})\n\nexport type CreateScoreRequestBody = z.infer<typeof CREATE_SCORE_REQUEST_BODY_SCHEMA>\n\nexport const CREATE_SCORE_RESPONSE_SCHEMA = z.object({\n\tscore: z.number(),\n\thasCriticalIssue: z.boolean(),\n\thasMajorIssue: z.boolean(),\n\tissues: z.array(ISSUE_SCHEMA),\n})\n\nexport type CreateScoreResponseBody = z.infer<typeof CREATE_SCORE_RESPONSE_SCHEMA>\n"],"names":["z"],"mappings":";;;AAEa,MAAA,gBAAgBA,MAAE,KAAK,CAAC,YAAY,SAAS,SAAS,SAAS,CAAC;AAIhE,MAAA,eAAeA,MAAE,OAAO;AAAA,EACpC,UAAUA,MAAE,OAAO;AAAA,EACnB,SAASA,MAAE,OAAO;AAAA,EAClB,UAAU;AAAA,EACV,SAASA,MAAE,OAAO;AACnB,CAAC;AAIY,MAAA,6BAA6BA,MAAE,OAAO;AAAA,EAClD,WAAWA,MAAE,OAAO;AAAA,EACpB,OAAOA,MAAE,OAAO;AAAA,EAChB,YAAYA,MAAE,OAAO;AACtB,CAAC;AAIY,MAAA,4BAA4BA,MAAE,OAAO;AAAA,EACjD,OAAOA,MAAE,OAAO;AAAA,EAChB,eAAeA,MAAE,QAAQ;AAAA,EACzB,kBAAkBA,MAAE,QAAQ;AAAA,EAC5B,QAAQA,IAAAA,EAAE,MAAM,YAAY;AAC7B,CAAC;AAIY,MAAA,+BAA+BA,MAAE,KAAK;AAItC,MAAA,mCAAmCA,MAAE,OAAO;AAAA,EACxD,WAAWA,MAAE,OAAO;AAAA,EACpB,kBAAkBA,MAAE,OAAO;AAC5B,CAAC;AAIY,MAAA,+BAA+BA,MAAE,OAAO;AAAA,EACpD,OAAOA,MAAE,OAAO;AAAA,EAChB,kBAAkBA,MAAE,QAAQ;AAAA,EAC5B,eAAeA,MAAE,QAAQ;AAAA,EACzB,QAAQA,IAAAA,EAAE,MAAM,YAAY;AAC7B,CAAC;;;;;;;;"}
@@ -3,7 +3,8 @@ const SEVERITY_ENUM = z.enum(["critical", "major", "minor", "neutral"]);
3
3
  const ISSUE_SCHEMA = z.object({
4
4
  category: z.string(),
5
5
  comment: z.string(),
6
- severity: SEVERITY_ENUM
6
+ severity: SEVERITY_ENUM,
7
+ penalty: z.number()
7
8
  });
8
9
  const SCORE_REQUEST_QUERY_SCHEMA = z.object({
9
10
  projectId: z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"harmony67.mjs","sources":["../src/features/publicApi/types/scoreTypes.ts"],"sourcesContent":["import { z } from 'zod'\n\nexport const SEVERITY_ENUM = z.enum(['critical', 'major', 'minor', 'neutral'])\n\nexport type Severity = z.infer<typeof SEVERITY_ENUM>\n\nexport const ISSUE_SCHEMA = z.object({\n\tcategory: z.string(),\n\tcomment: z.string(),\n\tseverity: SEVERITY_ENUM,\n})\n\nexport type Issue = z.infer<typeof ISSUE_SCHEMA>\n\nexport const SCORE_REQUEST_QUERY_SCHEMA = z.object({\n\tprojectId: z.string(),\n\tkeyId: z.number(),\n\tlanguageId: z.string(),\n})\n\nexport type ScoreRequestQuery = z.infer<typeof SCORE_REQUEST_QUERY_SCHEMA>\n\nexport const GET_SCORE_RESPONSE_SCHEMA = z.object({\n\tscore: z.number(),\n\thasMajorIssue: z.boolean(),\n\thasCriticalIssue: z.boolean(),\n\tissues: z.array(ISSUE_SCHEMA),\n})\n\nexport type GetScoreResponseBody = z.infer<typeof GET_SCORE_RESPONSE_SCHEMA>\n\nexport const DELETE_SCORE_RESPONSE_SCHEMA = z.null()\n\nexport type DeleteScoreResponseBody = z.infer<typeof DELETE_SCORE_RESPONSE_SCHEMA>\n\nexport const CREATE_SCORE_REQUEST_BODY_SCHEMA = z.object({\n\tsegmentId: z.number(),\n\tsourceLanguageId: z.number(),\n})\n\nexport type CreateScoreRequestBody = z.infer<typeof CREATE_SCORE_REQUEST_BODY_SCHEMA>\n\nexport const CREATE_SCORE_RESPONSE_SCHEMA = z.object({\n\tscore: z.number(),\n\thasCriticalIssue: z.boolean(),\n\thasMajorIssue: z.boolean(),\n\tissues: z.array(ISSUE_SCHEMA),\n})\n\nexport type CreateScoreResponseBody = z.infer<typeof CREATE_SCORE_RESPONSE_SCHEMA>\n"],"names":[],"mappings":";AAEa,MAAA,gBAAgB,EAAE,KAAK,CAAC,YAAY,SAAS,SAAS,SAAS,CAAC;AAIhE,MAAA,eAAe,EAAE,OAAO;AAAA,EACpC,UAAU,EAAE,OAAO;AAAA,EACnB,SAAS,EAAE,OAAO;AAAA,EAClB,UAAU;AACX,CAAC;AAIY,MAAA,6BAA6B,EAAE,OAAO;AAAA,EAClD,WAAW,EAAE,OAAO;AAAA,EACpB,OAAO,EAAE,OAAO;AAAA,EAChB,YAAY,EAAE,OAAO;AACtB,CAAC;AAIY,MAAA,4BAA4B,EAAE,OAAO;AAAA,EACjD,OAAO,EAAE,OAAO;AAAA,EAChB,eAAe,EAAE,QAAQ;AAAA,EACzB,kBAAkB,EAAE,QAAQ;AAAA,EAC5B,QAAQ,EAAE,MAAM,YAAY;AAC7B,CAAC;AAIY,MAAA,+BAA+B,EAAE,KAAK;AAItC,MAAA,mCAAmC,EAAE,OAAO;AAAA,EACxD,WAAW,EAAE,OAAO;AAAA,EACpB,kBAAkB,EAAE,OAAO;AAC5B,CAAC;AAIY,MAAA,+BAA+B,EAAE,OAAO;AAAA,EACpD,OAAO,EAAE,OAAO;AAAA,EAChB,kBAAkB,EAAE,QAAQ;AAAA,EAC5B,eAAe,EAAE,QAAQ;AAAA,EACzB,QAAQ,EAAE,MAAM,YAAY;AAC7B,CAAC;"}
1
+ {"version":3,"file":"harmony67.mjs","sources":["../src/features/publicApi/types/scoreTypes.ts"],"sourcesContent":["import { z } from 'zod'\n\nexport const SEVERITY_ENUM = z.enum(['critical', 'major', 'minor', 'neutral'])\n\nexport type Severity = z.infer<typeof SEVERITY_ENUM>\n\nexport const ISSUE_SCHEMA = z.object({\n\tcategory: z.string(),\n\tcomment: z.string(),\n\tseverity: SEVERITY_ENUM,\n\tpenalty: z.number(),\n})\n\nexport type Issue = z.infer<typeof ISSUE_SCHEMA>\n\nexport const SCORE_REQUEST_QUERY_SCHEMA = z.object({\n\tprojectId: z.string(),\n\tkeyId: z.number(),\n\tlanguageId: z.string(),\n})\n\nexport type ScoreRequestQuery = z.infer<typeof SCORE_REQUEST_QUERY_SCHEMA>\n\nexport const GET_SCORE_RESPONSE_SCHEMA = z.object({\n\tscore: z.number(),\n\thasMajorIssue: z.boolean(),\n\thasCriticalIssue: z.boolean(),\n\tissues: z.array(ISSUE_SCHEMA),\n})\n\nexport type GetScoreResponseBody = z.infer<typeof GET_SCORE_RESPONSE_SCHEMA>\n\nexport const DELETE_SCORE_RESPONSE_SCHEMA = z.null()\n\nexport type DeleteScoreResponseBody = z.infer<typeof DELETE_SCORE_RESPONSE_SCHEMA>\n\nexport const CREATE_SCORE_REQUEST_BODY_SCHEMA = z.object({\n\tsegmentId: z.number(),\n\tsourceLanguageId: z.number(),\n})\n\nexport type CreateScoreRequestBody = z.infer<typeof CREATE_SCORE_REQUEST_BODY_SCHEMA>\n\nexport const CREATE_SCORE_RESPONSE_SCHEMA = z.object({\n\tscore: z.number(),\n\thasCriticalIssue: z.boolean(),\n\thasMajorIssue: z.boolean(),\n\tissues: z.array(ISSUE_SCHEMA),\n})\n\nexport type CreateScoreResponseBody = z.infer<typeof CREATE_SCORE_RESPONSE_SCHEMA>\n"],"names":[],"mappings":";AAEa,MAAA,gBAAgB,EAAE,KAAK,CAAC,YAAY,SAAS,SAAS,SAAS,CAAC;AAIhE,MAAA,eAAe,EAAE,OAAO;AAAA,EACpC,UAAU,EAAE,OAAO;AAAA,EACnB,SAAS,EAAE,OAAO;AAAA,EAClB,UAAU;AAAA,EACV,SAAS,EAAE,OAAO;AACnB,CAAC;AAIY,MAAA,6BAA6B,EAAE,OAAO;AAAA,EAClD,WAAW,EAAE,OAAO;AAAA,EACpB,OAAO,EAAE,OAAO;AAAA,EAChB,YAAY,EAAE,OAAO;AACtB,CAAC;AAIY,MAAA,4BAA4B,EAAE,OAAO;AAAA,EACjD,OAAO,EAAE,OAAO;AAAA,EAChB,eAAe,EAAE,QAAQ;AAAA,EACzB,kBAAkB,EAAE,QAAQ;AAAA,EAC5B,QAAQ,EAAE,MAAM,YAAY;AAC7B,CAAC;AAIY,MAAA,+BAA+B,EAAE,KAAK;AAItC,MAAA,mCAAmC,EAAE,OAAO;AAAA,EACxD,WAAW,EAAE,OAAO;AAAA,EACpB,kBAAkB,EAAE,OAAO;AAC5B,CAAC;AAIY,MAAA,+BAA+B,EAAE,OAAO;AAAA,EACpD,OAAO,EAAE,OAAO;AAAA,EAChB,kBAAkB,EAAE,QAAQ;AAAA,EAC5B,eAAe,EAAE,QAAQ;AAAA,EACzB,QAAQ,EAAE,MAAM,YAAY;AAC7B,CAAC;"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const Avatar_module = require("./harmony102.cjs");
4
+ const Avatar_module = require("./harmony98.cjs");
5
5
  const Avatar = ({
6
6
  src,
7
7
  href = "/",
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import styles from "./harmony102.mjs";
2
+ import styles from "./harmony98.mjs";
3
3
  const Avatar = ({
4
4
  src,
5
5
  href = "/",
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
5
  const clsx = require("./harmony73.cjs");
6
- const IconLink_module = require("./harmony103.cjs");
6
+ const IconLink_module = require("./harmony99.cjs");
7
7
  const IconLink = ({ label, to, icon: Icon }) => {
8
8
  return /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { placement: "right", tooltip: label, children: /* @__PURE__ */ jsxRuntime.jsx(
9
9
  louis.Link,
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Tooltip, Link } from "@lokalise/louis";
3
3
  import { clsx } from "./harmony73.mjs";
4
- import styles from "./harmony103.mjs";
4
+ import styles from "./harmony99.mjs";
5
5
  const IconLink = ({ label, to, icon: Icon }) => {
6
6
  return /* @__PURE__ */ jsx(Tooltip, { placement: "right", tooltip: label, children: /* @__PURE__ */ jsx(
7
7
  Link,
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
5
  const clsx = require("./harmony73.cjs");
6
- const Menu_module = require("./harmony104.cjs");
6
+ const Menu_module = require("./harmony100.cjs");
7
7
  const Menu = ({ children, icon: Icon }) => {
8
8
  return /* @__PURE__ */ jsxRuntime.jsx(
9
9
  louis.Menu,
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Menu as Menu$1, MenuList, Tooltip } from "@lokalise/louis";
3
3
  import { clsx } from "./harmony73.mjs";
4
- import styles from "./harmony104.mjs";
4
+ import styles from "./harmony100.mjs";
5
5
  const Menu = ({ children, icon: Icon }) => {
6
6
  return /* @__PURE__ */ jsx(
7
7
  Menu$1,
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const ProfileMenuContent = require("./harmony105.cjs");
5
- const ProfileMenuProvider = require("./harmony106.cjs");
4
+ const ProfileMenuContent = require("./harmony101.cjs");
5
+ const ProfileMenuProvider = require("./harmony102.cjs");
6
6
  const ProfileMenu = ({ config, children }) => /* @__PURE__ */ jsxRuntime.jsx(ProfileMenuProvider.ProfileMenuProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(ProfileMenuContent.ProfileMenuContent, { children }) });
7
7
  exports.ProfileMenu = ProfileMenu;
8
8
  //# sourceMappingURL=harmony80.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { ProfileMenuContent } from "./harmony105.mjs";
3
- import { ProfileMenuProvider } from "./harmony106.mjs";
2
+ import { ProfileMenuContent } from "./harmony101.mjs";
3
+ import { ProfileMenuProvider } from "./harmony102.mjs";
4
4
  const ProfileMenu = ({ config, children }) => /* @__PURE__ */ jsx(ProfileMenuProvider, { config, children: /* @__PURE__ */ jsx(ProfileMenuContent, { children }) });
5
5
  export {
6
6
  ProfileMenu
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
- const ProfileMenuContext = require("./harmony107.cjs");
6
- const ProfileSettingsMenuItem_module = require("./harmony108.cjs");
5
+ const ProfileMenuContext = require("./harmony103.cjs");
6
+ const ProfileSettingsMenuItem_module = require("./harmony104.cjs");
7
7
  const ProfileSettingsMenuItem = ({
8
8
  href,
9
9
  onClick,
@@ -1,7 +1,7 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { MenuItem, MenuDivider } from "@lokalise/louis";
3
- import { useProfileMenu } from "./harmony107.mjs";
4
- import styles from "./harmony108.mjs";
3
+ import { useProfileMenu } from "./harmony103.mjs";
4
+ import styles from "./harmony104.mjs";
5
5
  const ProfileSettingsMenuItem = ({
6
6
  href,
7
7
  onClick,