@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.
- package/dist/harmony.cjs +15 -13
- package/dist/harmony.cjs.map +1 -1
- package/dist/harmony.mjs +15 -13
- package/dist/harmony.mjs.map +1 -1
- package/dist/harmony100.cjs +130 -12
- package/dist/harmony100.cjs.map +1 -1
- package/dist/harmony100.mjs +130 -12
- package/dist/harmony100.mjs.map +1 -1
- package/dist/harmony101.cjs +12 -132
- package/dist/harmony101.cjs.map +1 -1
- package/dist/harmony101.mjs +11 -131
- package/dist/harmony101.mjs.map +1 -1
- package/dist/harmony102.cjs +6 -13
- package/dist/harmony102.cjs.map +1 -1
- package/dist/harmony102.mjs +5 -12
- package/dist/harmony102.mjs.map +1 -1
- package/dist/harmony103.cjs +40 -5
- package/dist/harmony103.cjs.map +1 -1
- package/dist/harmony103.mjs +40 -5
- package/dist/harmony103.mjs.map +1 -1
- package/dist/harmony104.cjs +53 -33
- package/dist/harmony104.cjs.map +1 -1
- package/dist/harmony104.mjs +54 -34
- package/dist/harmony104.mjs.map +1 -1
- package/dist/harmony105.cjs +6 -59
- package/dist/harmony105.cjs.map +1 -1
- package/dist/harmony105.mjs +6 -59
- package/dist/harmony105.mjs.map +1 -1
- package/dist/harmony106.cjs +6 -7
- package/dist/harmony106.cjs.map +1 -1
- package/dist/harmony106.mjs +5 -6
- package/dist/harmony106.mjs.map +1 -1
- package/dist/harmony107.cjs +5 -6
- package/dist/harmony107.cjs.map +1 -1
- package/dist/harmony107.mjs +5 -6
- package/dist/harmony108.cjs +6 -97
- package/dist/harmony108.cjs.map +1 -1
- package/dist/harmony108.mjs +5 -96
- package/dist/harmony108.mjs.map +1 -1
- package/dist/harmony109.cjs +62 -13
- package/dist/harmony109.cjs.map +1 -1
- package/dist/harmony109.mjs +61 -12
- package/dist/harmony109.mjs.map +1 -1
- package/dist/harmony110.cjs +87 -13
- package/dist/harmony110.cjs.map +1 -1
- package/dist/harmony110.mjs +87 -13
- package/dist/harmony110.mjs.map +1 -1
- package/dist/harmony111.cjs +19 -37
- package/dist/harmony111.cjs.map +1 -1
- package/dist/harmony111.mjs +18 -36
- package/dist/harmony111.mjs.map +1 -1
- package/dist/harmony112.cjs +87 -19
- package/dist/harmony112.cjs.map +1 -1
- package/dist/harmony112.mjs +87 -19
- package/dist/harmony112.mjs.map +1 -1
- package/dist/harmony113.cjs +12 -12
- package/dist/harmony113.cjs.map +1 -1
- package/dist/harmony113.mjs +12 -12
- package/dist/harmony113.mjs.map +1 -1
- package/dist/harmony114.cjs +13 -14
- package/dist/harmony114.cjs.map +1 -1
- package/dist/harmony114.mjs +13 -14
- package/dist/harmony114.mjs.map +1 -1
- package/dist/harmony115.cjs +34 -14
- package/dist/harmony115.cjs.map +1 -1
- package/dist/harmony115.mjs +34 -14
- package/dist/harmony115.mjs.map +1 -1
- package/dist/harmony116.cjs +28 -62
- package/dist/harmony116.cjs.map +1 -1
- package/dist/harmony116.mjs +27 -61
- package/dist/harmony116.mjs.map +1 -1
- package/dist/harmony117.cjs +6 -87
- package/dist/harmony117.cjs.map +1 -1
- package/dist/harmony117.mjs +6 -87
- package/dist/harmony117.mjs.map +1 -1
- package/dist/harmony118.cjs +57 -18
- package/dist/harmony118.cjs.map +1 -1
- package/dist/harmony118.mjs +56 -17
- package/dist/harmony118.mjs.map +1 -1
- package/dist/harmony119.cjs +60 -11
- package/dist/harmony119.cjs.map +1 -1
- package/dist/harmony119.mjs +60 -11
- package/dist/harmony119.mjs.map +1 -1
- package/dist/harmony120.cjs +19 -17
- package/dist/harmony120.cjs.map +1 -1
- package/dist/harmony120.mjs +18 -16
- package/dist/harmony120.mjs.map +1 -1
- package/dist/harmony121.cjs +12 -20
- package/dist/harmony121.cjs.map +1 -1
- package/dist/harmony121.mjs +12 -20
- package/dist/harmony121.mjs.map +1 -1
- package/dist/harmony122.cjs +13 -10
- package/dist/harmony122.cjs.map +1 -1
- package/dist/harmony122.mjs +13 -10
- package/dist/harmony122.mjs.map +1 -1
- package/dist/harmony123.cjs +15 -5
- package/dist/harmony123.cjs.map +1 -1
- package/dist/harmony123.mjs +15 -5
- package/dist/harmony123.mjs.map +1 -1
- package/dist/harmony124.cjs +10 -11
- package/dist/harmony124.cjs.map +1 -1
- package/dist/harmony124.mjs +10 -11
- package/dist/harmony124.mjs.map +1 -1
- package/dist/harmony125.cjs +13 -29
- package/dist/harmony125.cjs.map +1 -1
- package/dist/harmony125.mjs +13 -29
- package/dist/harmony125.mjs.map +1 -1
- package/dist/harmony126.cjs +19 -12
- package/dist/harmony126.cjs.map +1 -1
- package/dist/harmony126.mjs +19 -12
- package/dist/harmony126.mjs.map +1 -1
- package/dist/harmony127.cjs +12 -7
- package/dist/harmony127.cjs.map +1 -1
- package/dist/harmony127.mjs +12 -7
- package/dist/harmony127.mjs.map +1 -1
- package/dist/harmony128.cjs +6 -57
- package/dist/harmony128.cjs.map +1 -1
- package/dist/harmony128.mjs +6 -57
- package/dist/harmony128.mjs.map +1 -1
- package/dist/harmony129.cjs +12 -60
- package/dist/harmony129.cjs.map +1 -1
- package/dist/harmony129.mjs +12 -60
- package/dist/harmony129.mjs.map +1 -1
- package/dist/harmony130.cjs +33 -19
- package/dist/harmony130.cjs.map +1 -1
- package/dist/harmony130.mjs +32 -18
- package/dist/harmony130.mjs.map +1 -1
- package/dist/harmony131.cjs +14 -46
- package/dist/harmony131.cjs.map +1 -1
- package/dist/harmony131.mjs +14 -46
- package/dist/harmony131.mjs.map +1 -1
- package/dist/harmony132.cjs +46 -12
- package/dist/harmony132.cjs.map +1 -1
- package/dist/harmony132.mjs +45 -11
- package/dist/harmony132.mjs.map +1 -1
- package/dist/harmony133.cjs +15 -0
- package/dist/harmony133.cjs.map +1 -0
- package/dist/harmony133.mjs +15 -0
- package/dist/harmony133.mjs.map +1 -0
- package/dist/harmony15.cjs +1 -1
- package/dist/harmony15.mjs +1 -1
- package/dist/harmony22.cjs +1 -1
- package/dist/harmony22.mjs +1 -1
- package/dist/harmony23.cjs +1 -1
- package/dist/harmony23.mjs +1 -1
- package/dist/harmony26.cjs +2 -2
- package/dist/harmony26.mjs +2 -2
- package/dist/harmony27.cjs +2 -2
- package/dist/harmony27.mjs +2 -2
- package/dist/harmony28.cjs +2 -2
- package/dist/harmony28.mjs +2 -2
- package/dist/harmony29.cjs +1 -1
- package/dist/harmony29.mjs +1 -1
- package/dist/harmony3.cjs +3 -3
- package/dist/harmony3.mjs +3 -3
- package/dist/harmony30.cjs +2 -2
- package/dist/harmony30.mjs +2 -2
- package/dist/harmony31.cjs +1 -1
- package/dist/harmony31.mjs +1 -1
- package/dist/harmony32.cjs +1 -1
- package/dist/harmony32.mjs +1 -1
- package/dist/harmony33.cjs +1 -1
- package/dist/harmony33.mjs +1 -1
- package/dist/harmony4.cjs +10 -10
- package/dist/harmony4.mjs +10 -10
- package/dist/harmony5.cjs +1 -1
- package/dist/harmony5.mjs +1 -1
- package/dist/harmony51.cjs +5 -6
- package/dist/harmony51.cjs.map +1 -1
- package/dist/harmony51.mjs +5 -6
- package/dist/harmony51.mjs.map +1 -1
- package/dist/harmony52.cjs +14 -56
- package/dist/harmony52.cjs.map +1 -1
- package/dist/harmony52.mjs +14 -56
- package/dist/harmony52.mjs.map +1 -1
- package/dist/harmony53.cjs +48 -72
- package/dist/harmony53.cjs.map +1 -1
- package/dist/harmony53.mjs +47 -71
- package/dist/harmony53.mjs.map +1 -1
- package/dist/harmony54.cjs +78 -4
- package/dist/harmony54.cjs.map +1 -1
- package/dist/harmony54.mjs +78 -4
- package/dist/harmony54.mjs.map +1 -1
- package/dist/harmony55.cjs +4 -21
- package/dist/harmony55.cjs.map +1 -1
- package/dist/harmony55.mjs +4 -21
- package/dist/harmony55.mjs.map +1 -1
- package/dist/harmony56.cjs +20 -34
- package/dist/harmony56.cjs.map +1 -1
- package/dist/harmony56.mjs +20 -34
- package/dist/harmony56.mjs.map +1 -1
- package/dist/harmony57.cjs +35 -120
- package/dist/harmony57.cjs.map +1 -1
- package/dist/harmony57.mjs +34 -119
- package/dist/harmony57.mjs.map +1 -1
- package/dist/harmony58.cjs +121 -28
- package/dist/harmony58.cjs.map +1 -1
- package/dist/harmony58.mjs +121 -28
- package/dist/harmony58.mjs.map +1 -1
- package/dist/harmony59.cjs +28 -25
- package/dist/harmony59.cjs.map +1 -1
- package/dist/harmony59.mjs +28 -25
- package/dist/harmony59.mjs.map +1 -1
- package/dist/harmony6.cjs +4 -4
- package/dist/harmony6.mjs +4 -4
- package/dist/harmony60.cjs +24 -6
- package/dist/harmony60.cjs.map +1 -1
- package/dist/harmony60.mjs +24 -6
- package/dist/harmony60.mjs.map +1 -1
- package/dist/harmony61.cjs +6 -88
- package/dist/harmony61.cjs.map +1 -1
- package/dist/harmony61.mjs +6 -88
- package/dist/harmony61.mjs.map +1 -1
- package/dist/harmony62.cjs +86 -20
- package/dist/harmony62.cjs.map +1 -1
- package/dist/harmony62.mjs +86 -20
- package/dist/harmony62.mjs.map +1 -1
- package/dist/harmony63.cjs +22 -16
- package/dist/harmony63.cjs.map +1 -1
- package/dist/harmony63.mjs +22 -16
- package/dist/harmony63.mjs.map +1 -1
- package/dist/harmony64.cjs +19 -16
- package/dist/harmony64.cjs.map +1 -1
- package/dist/harmony64.mjs +18 -15
- package/dist/harmony64.mjs.map +1 -1
- package/dist/harmony65.cjs +15 -18
- package/dist/harmony65.cjs.map +1 -1
- package/dist/harmony65.mjs +15 -18
- package/dist/harmony65.mjs.map +1 -1
- package/dist/harmony66.cjs +18 -61
- package/dist/harmony66.cjs.map +1 -1
- package/dist/harmony66.mjs +18 -61
- package/dist/harmony66.mjs.map +1 -1
- package/dist/harmony67.cjs +61 -6
- package/dist/harmony67.cjs.map +1 -1
- package/dist/harmony67.mjs +61 -6
- package/dist/harmony67.mjs.map +1 -1
- package/dist/harmony68.cjs +7 -10
- package/dist/harmony68.cjs.map +1 -1
- package/dist/harmony68.mjs +6 -9
- package/dist/harmony68.mjs.map +1 -1
- package/dist/harmony69.cjs +8 -17
- package/dist/harmony69.cjs.map +1 -1
- package/dist/harmony69.mjs +7 -16
- package/dist/harmony69.mjs.map +1 -1
- package/dist/harmony70.cjs +13 -18
- package/dist/harmony70.cjs.map +1 -1
- package/dist/harmony70.mjs +13 -18
- package/dist/harmony70.mjs.map +1 -1
- package/dist/harmony71.cjs +22 -4
- package/dist/harmony71.cjs.map +1 -1
- package/dist/harmony71.mjs +22 -4
- package/dist/harmony71.mjs.map +1 -1
- package/dist/harmony72.cjs +4 -31
- package/dist/harmony72.cjs.map +1 -1
- package/dist/harmony72.mjs +5 -32
- package/dist/harmony72.mjs.map +1 -1
- package/dist/harmony73.cjs +26 -26
- package/dist/harmony73.cjs.map +1 -1
- package/dist/harmony73.mjs +27 -27
- package/dist/harmony73.mjs.map +1 -1
- package/dist/harmony74.cjs +25 -12
- package/dist/harmony74.cjs.map +1 -1
- package/dist/harmony74.mjs +25 -12
- package/dist/harmony74.mjs.map +1 -1
- package/dist/harmony75.cjs +12 -24
- package/dist/harmony75.cjs.map +1 -1
- package/dist/harmony75.mjs +13 -25
- package/dist/harmony75.mjs.map +1 -1
- package/dist/harmony76.cjs +27 -55
- package/dist/harmony76.cjs.map +1 -1
- package/dist/harmony76.mjs +29 -57
- package/dist/harmony76.mjs.map +1 -1
- package/dist/harmony77.cjs +60 -10
- package/dist/harmony77.cjs.map +1 -1
- package/dist/harmony77.mjs +59 -9
- package/dist/harmony77.mjs.map +1 -1
- package/dist/harmony78.cjs +10 -9
- package/dist/harmony78.cjs.map +1 -1
- package/dist/harmony78.mjs +9 -8
- package/dist/harmony78.mjs.map +1 -1
- package/dist/harmony79.cjs +5 -26
- package/dist/harmony79.cjs.map +1 -1
- package/dist/harmony79.mjs +8 -29
- package/dist/harmony79.mjs.map +1 -1
- package/dist/harmony80.cjs +29 -3
- package/dist/harmony80.cjs.map +1 -1
- package/dist/harmony80.mjs +29 -3
- package/dist/harmony80.mjs.map +1 -1
- package/dist/harmony81.cjs +3 -11
- package/dist/harmony81.cjs.map +1 -1
- package/dist/harmony81.mjs +3 -11
- package/dist/harmony81.mjs.map +1 -1
- package/dist/harmony82.cjs +12 -22
- package/dist/harmony82.cjs.map +1 -1
- package/dist/harmony82.mjs +11 -21
- package/dist/harmony82.mjs.map +1 -1
- package/dist/harmony83.cjs +20 -5
- package/dist/harmony83.cjs.map +1 -1
- package/dist/harmony83.mjs +20 -5
- package/dist/harmony83.mjs.map +1 -1
- package/dist/harmony84.cjs +3 -6
- package/dist/harmony84.cjs.map +1 -1
- package/dist/harmony84.mjs +3 -6
- package/dist/harmony84.mjs.map +1 -1
- package/dist/harmony85.cjs +6 -6
- package/dist/harmony85.mjs +6 -6
- package/dist/harmony86.cjs +9 -57
- package/dist/harmony86.cjs.map +1 -1
- package/dist/harmony86.mjs +8 -56
- package/dist/harmony86.mjs.map +1 -1
- package/dist/harmony87.cjs +51 -36
- package/dist/harmony87.cjs.map +1 -1
- package/dist/harmony87.mjs +52 -37
- package/dist/harmony87.mjs.map +1 -1
- package/dist/harmony88.cjs +42 -5
- package/dist/harmony88.cjs.map +1 -1
- package/dist/harmony88.mjs +42 -5
- package/dist/harmony88.mjs.map +1 -1
- package/dist/harmony89.cjs +6 -10
- package/dist/harmony89.cjs.map +1 -1
- package/dist/harmony89.mjs +5 -9
- package/dist/harmony89.mjs.map +1 -1
- package/dist/harmony90.cjs +6 -21
- package/dist/harmony90.cjs.map +1 -1
- package/dist/harmony90.mjs +6 -21
- package/dist/harmony90.mjs.map +1 -1
- package/dist/harmony91.cjs +21 -3
- package/dist/harmony91.cjs.map +1 -1
- package/dist/harmony91.mjs +21 -3
- package/dist/harmony91.mjs.map +1 -1
- package/dist/harmony92.cjs +6 -21
- package/dist/harmony92.cjs.map +1 -1
- package/dist/harmony92.mjs +5 -20
- package/dist/harmony92.mjs.map +1 -1
- package/dist/harmony93.cjs +21 -12
- package/dist/harmony93.cjs.map +1 -1
- package/dist/harmony93.mjs +20 -11
- package/dist/harmony93.mjs.map +1 -1
- package/dist/harmony94.cjs +12 -99
- package/dist/harmony94.cjs.map +1 -1
- package/dist/harmony94.mjs +11 -81
- package/dist/harmony94.mjs.map +1 -1
- package/dist/harmony95.cjs +19 -22
- package/dist/harmony95.cjs.map +1 -1
- package/dist/harmony95.mjs +18 -21
- package/dist/harmony95.mjs.map +1 -1
- package/dist/harmony96.cjs +13 -5
- package/dist/harmony96.cjs.map +1 -1
- package/dist/harmony96.mjs +13 -5
- package/dist/harmony96.mjs.map +1 -1
- package/dist/harmony97.cjs +100 -6
- package/dist/harmony97.cjs.map +1 -1
- package/dist/harmony97.mjs +82 -5
- package/dist/harmony97.mjs.map +1 -1
- package/dist/harmony98.cjs +21 -5
- package/dist/harmony98.cjs.map +1 -1
- package/dist/harmony98.mjs +21 -5
- package/dist/harmony98.mjs.map +1 -1
- package/dist/harmony99.cjs +6 -18
- package/dist/harmony99.cjs.map +1 -1
- package/dist/harmony99.mjs +6 -18
- package/dist/harmony99.mjs.map +1 -1
- package/dist/types/src/features/publicApi/node.d.ts +1 -0
- package/dist/types/src/features/publicApi/team.d.ts +1 -1
- package/dist/types/src/features/publicApi/types/teamTypes.d.ts +1 -1
- package/package.json +1 -1
package/dist/harmony117.cjs
CHANGED
@@ -1,91 +1,10 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
-
const
|
4
|
-
const
|
5
|
-
const
|
6
|
-
const
|
7
|
-
|
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.
|
9
|
+
exports.splitFileName = splitFileName;
|
91
10
|
//# sourceMappingURL=harmony117.cjs.map
|
package/dist/harmony117.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony117.cjs","sources":["../src/components/Sidebar/
|
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;;"}
|
package/dist/harmony117.mjs
CHANGED
@@ -1,91 +1,10 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
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
|
-
|
8
|
+
splitFileName
|
90
9
|
};
|
91
10
|
//# sourceMappingURL=harmony117.mjs.map
|
package/dist/harmony117.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony117.mjs","sources":["../src/components/Sidebar/
|
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;"}
|
package/dist/harmony118.cjs
CHANGED
@@ -1,21 +1,60 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
const
|
4
|
-
const
|
5
|
-
const
|
6
|
-
const
|
7
|
-
const
|
8
|
-
const
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
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.
|
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
|
package/dist/harmony118.cjs.map
CHANGED
@@ -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;;"}
|
package/dist/harmony118.mjs
CHANGED
@@ -1,21 +1,60 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
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
|
-
|
15
|
-
loadingContainer,
|
16
|
-
noTasksContainer,
|
17
|
-
noTasksHeading,
|
18
|
-
noTasksText,
|
19
|
-
tasksContainer
|
58
|
+
TaskLanguage
|
20
59
|
};
|
21
60
|
//# sourceMappingURL=harmony118.mjs.map
|
package/dist/harmony118.mjs.map
CHANGED
@@ -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;"}
|
package/dist/harmony119.cjs
CHANGED
@@ -1,14 +1,63 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
-
const
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
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
|
package/dist/harmony119.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony119.cjs","sources":["../
|
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;;;;;;"}
|
package/dist/harmony119.mjs
CHANGED
@@ -1,14 +1,63 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
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
|
-
|
57
|
+
getStatusText,
|
58
|
+
getTaskLanguages,
|
59
|
+
isLanguageProgressCompleted,
|
60
|
+
resolveStatus,
|
61
|
+
tagColor
|
13
62
|
};
|
14
63
|
//# sourceMappingURL=harmony119.mjs.map
|
package/dist/harmony119.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony119.mjs","sources":["../
|
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;"}
|