@lokalise/harmony 1.39.3 → 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.
- package/dist/harmony100.cjs +6 -3
- package/dist/harmony100.cjs.map +1 -1
- package/dist/harmony100.mjs +6 -3
- package/dist/harmony100.mjs.map +1 -1
- package/dist/harmony101.cjs +57 -9
- package/dist/harmony101.cjs.map +1 -1
- package/dist/harmony101.mjs +56 -8
- package/dist/harmony101.mjs.map +1 -1
- package/dist/harmony102.cjs +42 -9
- package/dist/harmony102.cjs.map +1 -1
- package/dist/harmony102.mjs +41 -8
- package/dist/harmony102.mjs.map +1 -1
- package/dist/harmony103.cjs +5 -57
- package/dist/harmony103.cjs.map +1 -1
- package/dist/harmony103.mjs +5 -57
- package/dist/harmony103.mjs.map +1 -1
- package/dist/harmony104.cjs +9 -42
- package/dist/harmony104.cjs.map +1 -1
- package/dist/harmony104.mjs +8 -41
- package/dist/harmony104.mjs.map +1 -1
- package/dist/harmony105.cjs +25 -6
- package/dist/harmony105.cjs.map +1 -1
- package/dist/harmony105.mjs +24 -5
- package/dist/harmony105.mjs.map +1 -1
- package/dist/harmony106.cjs +3 -6
- package/dist/harmony106.cjs.map +1 -1
- package/dist/harmony106.mjs +3 -6
- package/dist/harmony106.mjs.map +1 -1
- package/dist/harmony107.cjs +21 -24
- package/dist/harmony107.cjs.map +1 -1
- package/dist/harmony107.mjs +20 -23
- package/dist/harmony107.mjs.map +1 -1
- package/dist/harmony108.cjs +9 -3
- package/dist/harmony108.cjs.map +1 -1
- package/dist/harmony108.mjs +9 -3
- package/dist/harmony108.mjs.map +1 -1
- package/dist/harmony109.cjs +9 -19
- package/dist/harmony109.cjs.map +1 -1
- package/dist/harmony109.mjs +11 -21
- package/dist/harmony109.mjs.map +1 -1
- package/dist/harmony110.cjs +20 -11
- package/dist/harmony110.cjs.map +1 -1
- package/dist/harmony110.mjs +20 -11
- package/dist/harmony110.mjs.map +1 -1
- package/dist/harmony111.cjs +166 -11
- package/dist/harmony111.cjs.map +1 -1
- package/dist/harmony111.mjs +166 -11
- package/dist/harmony111.mjs.map +1 -1
- package/dist/harmony112.cjs +44 -21
- package/dist/harmony112.cjs.map +1 -1
- package/dist/harmony112.mjs +43 -20
- package/dist/harmony112.mjs.map +1 -1
- package/dist/harmony113.cjs +96 -11
- package/dist/harmony113.cjs.map +1 -1
- package/dist/harmony113.mjs +79 -11
- package/dist/harmony113.mjs.map +1 -1
- package/dist/harmony114.cjs +14 -18
- package/dist/harmony114.cjs.map +1 -1
- package/dist/harmony114.mjs +14 -18
- package/dist/harmony114.mjs.map +1 -1
- package/dist/harmony115.cjs +19 -22
- package/dist/harmony115.cjs.map +1 -1
- package/dist/harmony115.mjs +18 -21
- package/dist/harmony115.mjs.map +1 -1
- package/dist/harmony116.cjs +21 -6
- package/dist/harmony116.cjs.map +1 -1
- package/dist/harmony116.mjs +20 -5
- package/dist/harmony116.mjs.map +1 -1
- package/dist/harmony117.cjs +5 -86
- package/dist/harmony117.cjs.map +1 -1
- package/dist/harmony117.mjs +5 -86
- package/dist/harmony117.mjs.map +1 -1
- package/dist/harmony118.cjs +131 -29
- package/dist/harmony118.cjs.map +1 -1
- package/dist/harmony118.mjs +131 -29
- package/dist/harmony118.mjs.map +1 -1
- package/dist/harmony119.cjs +12 -99
- package/dist/harmony119.cjs.map +1 -1
- package/dist/harmony119.mjs +11 -81
- package/dist/harmony119.mjs.map +1 -1
- package/dist/harmony120.cjs +5 -132
- package/dist/harmony120.cjs.map +1 -1
- package/dist/harmony120.mjs +5 -132
- package/dist/harmony120.mjs.map +1 -1
- package/dist/harmony121.cjs +40 -12
- package/dist/harmony121.cjs.map +1 -1
- package/dist/harmony121.mjs +39 -11
- package/dist/harmony121.mjs.map +1 -1
- package/dist/harmony122.cjs +59 -4
- package/dist/harmony122.cjs.map +1 -1
- package/dist/harmony122.mjs +60 -5
- package/dist/harmony122.mjs.map +1 -1
- package/dist/harmony123.cjs +6 -39
- package/dist/harmony123.cjs.map +1 -1
- package/dist/harmony123.mjs +6 -39
- package/dist/harmony123.mjs.map +1 -1
- package/dist/harmony124.cjs +6 -60
- package/dist/harmony124.cjs.map +1 -1
- package/dist/harmony124.mjs +5 -59
- package/dist/harmony124.mjs.map +1 -1
- package/dist/harmony125.cjs +6 -8
- package/dist/harmony125.cjs.map +1 -1
- package/dist/harmony125.mjs +5 -7
- package/dist/harmony125.mjs.map +1 -1
- package/dist/harmony126.cjs +5 -6
- package/dist/harmony126.cjs.map +1 -1
- package/dist/harmony126.mjs +5 -6
- package/dist/harmony127.cjs +88 -6
- package/dist/harmony127.cjs.map +1 -1
- package/dist/harmony127.mjs +87 -5
- package/dist/harmony127.mjs.map +1 -1
- package/dist/harmony128.cjs +31 -6
- package/dist/harmony128.cjs.map +1 -1
- package/dist/harmony128.mjs +30 -5
- package/dist/harmony128.mjs.map +1 -1
- package/dist/harmony129.cjs +96 -10
- package/dist/harmony129.cjs.map +1 -1
- package/dist/harmony129.mjs +96 -10
- package/dist/harmony129.mjs.map +1 -1
- package/dist/harmony130.cjs +13 -62
- package/dist/harmony130.cjs.map +1 -1
- package/dist/harmony130.mjs +12 -61
- package/dist/harmony130.mjs.map +1 -1
- package/dist/harmony131.cjs +13 -87
- package/dist/harmony131.cjs.map +1 -1
- package/dist/harmony131.mjs +13 -87
- package/dist/harmony131.mjs.map +1 -1
- package/dist/harmony132.cjs +37 -19
- package/dist/harmony132.cjs.map +1 -1
- package/dist/harmony132.mjs +36 -18
- package/dist/harmony132.mjs.map +1 -1
- package/dist/harmony133.cjs +19 -87
- package/dist/harmony133.cjs.map +1 -1
- package/dist/harmony133.mjs +19 -87
- package/dist/harmony133.mjs.map +1 -1
- package/dist/harmony134.cjs +62 -13
- package/dist/harmony134.cjs.map +1 -1
- package/dist/harmony134.mjs +61 -12
- package/dist/harmony134.mjs.map +1 -1
- package/dist/harmony135.cjs +87 -13
- package/dist/harmony135.cjs.map +1 -1
- package/dist/harmony135.mjs +87 -13
- package/dist/harmony135.mjs.map +1 -1
- package/dist/harmony136.cjs +19 -37
- package/dist/harmony136.cjs.map +1 -1
- package/dist/harmony136.mjs +18 -36
- package/dist/harmony136.mjs.map +1 -1
- package/dist/harmony137.cjs +10 -28
- package/dist/harmony137.cjs.map +1 -1
- package/dist/harmony137.mjs +10 -28
- package/dist/harmony137.mjs.map +1 -1
- package/dist/harmony138.cjs +13 -7
- package/dist/harmony138.cjs.map +1 -1
- package/dist/harmony138.mjs +13 -7
- package/dist/harmony138.mjs.map +1 -1
- package/dist/harmony139.cjs +15 -57
- package/dist/harmony139.cjs.map +1 -1
- package/dist/harmony139.mjs +15 -57
- package/dist/harmony139.mjs.map +1 -1
- package/dist/harmony14.cjs +1 -1
- package/dist/harmony14.mjs +1 -1
- package/dist/harmony140.cjs +15 -59
- package/dist/harmony140.cjs.map +1 -1
- package/dist/harmony140.mjs +15 -59
- package/dist/harmony140.mjs.map +1 -1
- package/dist/harmony141.cjs +7 -18
- package/dist/harmony141.cjs.map +1 -1
- package/dist/harmony141.mjs +6 -17
- package/dist/harmony141.mjs.map +1 -1
- package/dist/harmony142.cjs +57 -13
- package/dist/harmony142.cjs.map +1 -1
- package/dist/harmony142.mjs +57 -13
- package/dist/harmony142.mjs.map +1 -1
- package/dist/harmony143.cjs +59 -14
- package/dist/harmony143.cjs.map +1 -1
- package/dist/harmony143.mjs +59 -14
- package/dist/harmony143.mjs.map +1 -1
- package/dist/harmony144.cjs +19 -17
- package/dist/harmony144.cjs.map +1 -1
- package/dist/harmony144.mjs +18 -16
- package/dist/harmony144.mjs.map +1 -1
- package/dist/harmony145.cjs +1 -1
- package/dist/harmony145.mjs +1 -1
- package/dist/harmony147.cjs +3 -3
- package/dist/harmony147.mjs +3 -3
- package/dist/harmony149.cjs +6 -46
- package/dist/harmony149.cjs.map +1 -1
- package/dist/harmony149.mjs +6 -46
- package/dist/harmony149.mjs.map +1 -1
- package/dist/harmony150.cjs +13 -13
- package/dist/harmony150.cjs.map +1 -1
- package/dist/harmony150.mjs +12 -12
- package/dist/harmony150.mjs.map +1 -1
- package/dist/harmony151.cjs +31 -5
- package/dist/harmony151.cjs.map +1 -1
- package/dist/harmony151.mjs +31 -5
- package/dist/harmony151.mjs.map +1 -1
- package/dist/harmony152.cjs +13 -11
- package/dist/harmony152.cjs.map +1 -1
- package/dist/harmony152.mjs +13 -11
- package/dist/harmony152.mjs.map +1 -1
- package/dist/harmony153.cjs +45 -31
- package/dist/harmony153.cjs.map +1 -1
- package/dist/harmony153.mjs +45 -31
- package/dist/harmony153.mjs.map +1 -1
- package/dist/harmony154.cjs +13 -15
- package/dist/harmony154.cjs.map +1 -1
- package/dist/harmony154.mjs +12 -14
- package/dist/harmony154.mjs.map +1 -1
- package/dist/harmony17.cjs +1 -1
- package/dist/harmony17.mjs +1 -1
- package/dist/harmony25.cjs +1 -1
- package/dist/harmony25.mjs +1 -1
- package/dist/harmony26.cjs +1 -1
- package/dist/harmony26.mjs +1 -1
- package/dist/harmony67.cjs +2 -1
- package/dist/harmony67.cjs.map +1 -1
- package/dist/harmony67.mjs +2 -1
- package/dist/harmony67.mjs.map +1 -1
- package/dist/harmony71.cjs +1 -1
- package/dist/harmony71.cjs.map +1 -1
- package/dist/harmony71.mjs +1 -1
- package/dist/harmony71.mjs.map +1 -1
- package/dist/harmony75.cjs +1 -1
- package/dist/harmony75.mjs +1 -1
- package/dist/harmony77.cjs +1 -1
- package/dist/harmony77.mjs +1 -1
- package/dist/harmony78.cjs +1 -1
- package/dist/harmony78.mjs +1 -1
- package/dist/harmony79.cjs +1 -1
- package/dist/harmony79.mjs +1 -1
- package/dist/harmony80.cjs +2 -2
- package/dist/harmony80.mjs +2 -2
- package/dist/harmony81.cjs +2 -2
- package/dist/harmony81.mjs +2 -2
- package/dist/harmony82.cjs +2 -2
- package/dist/harmony82.mjs +2 -2
- package/dist/harmony83.cjs +2 -2
- package/dist/harmony83.mjs +2 -2
- package/dist/harmony84.cjs +3 -3
- package/dist/harmony84.mjs +3 -3
- package/dist/harmony85.cjs +6 -6
- package/dist/harmony85.mjs +6 -6
- package/dist/harmony88.cjs +2 -2
- package/dist/harmony88.mjs +2 -2
- package/dist/harmony92.cjs +2 -2
- package/dist/harmony92.mjs +2 -2
- package/dist/harmony98.cjs +6 -166
- package/dist/harmony98.cjs.map +1 -1
- package/dist/harmony98.mjs +5 -165
- package/dist/harmony98.mjs.map +1 -1
- package/dist/harmony99.cjs +9 -44
- package/dist/harmony99.cjs.map +1 -1
- package/dist/harmony99.mjs +8 -43
- package/dist/harmony99.mjs.map +1 -1
- package/dist/types/src/features/publicApi/hooks/useCreateScoreMutation.d.ts +1 -0
- package/dist/types/src/features/publicApi/hooks/useGetScoreQuery.d.ts +1 -0
- package/dist/types/src/features/publicApi/score.d.ts +10 -0
- package/dist/types/src/features/publicApi/teamUsers.d.ts +1 -1
- package/dist/types/src/features/publicApi/types/scoreTypes.d.ts +13 -0
- package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +1 -1
- package/package.json +1 -1
package/dist/harmony121.cjs
CHANGED
@@ -1,15 +1,43 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
const
|
4
|
-
const
|
5
|
-
const
|
6
|
-
const
|
7
|
-
|
8
|
-
|
9
|
-
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
4
|
+
const louis = require("@lokalise/louis");
|
5
|
+
const useEffectOnce = require("./harmony13.cjs");
|
6
|
+
const TaskOverview = require("./harmony135.cjs");
|
7
|
+
const TasksContext = require("./harmony120.cjs");
|
8
|
+
const taskEvents = require("./harmony123.cjs");
|
9
|
+
const TasksPopover_module = require("./harmony136.cjs");
|
10
|
+
const TasksPopover = () => {
|
11
|
+
const { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = TasksContext.useTasks();
|
12
|
+
useEffectOnce.useEffectOnce(() => {
|
13
|
+
const handleTaskPopoverOpen = async () => {
|
14
|
+
const contextTasks = await fetchTasks();
|
15
|
+
onTasksWidgetOpen == null ? void 0 : onTasksWidgetOpen({ tasks: contextTasks });
|
16
|
+
};
|
17
|
+
handleTaskPopoverOpen();
|
18
|
+
document.addEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTasks);
|
19
|
+
document.addEventListener(taskEvents.TaskEvents.TaskClosed, fetchTasks);
|
20
|
+
document.addEventListener(taskEvents.TaskEvents.Refresh, fetchTasks);
|
21
|
+
return () => {
|
22
|
+
document.removeEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTasks);
|
23
|
+
document.removeEventListener(taskEvents.TaskEvents.TaskClosed, fetchTasks);
|
24
|
+
document.removeEventListener(taskEvents.TaskEvents.Refresh, fetchTasks);
|
25
|
+
};
|
26
|
+
});
|
27
|
+
if (loadingTasks) {
|
28
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": "sidebar-tasks-loading-popover", className: TasksPopover_module.default.loadingContainer, children: /* @__PURE__ */ jsxRuntime.jsx(louis.Loading, {}) });
|
29
|
+
}
|
30
|
+
if (tasks.length === 0) {
|
31
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "sidebar-no-tasks-popover", className: TasksPopover_module.default.noTasksContainer, children: [
|
32
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: TasksPopover_module.default.noTasksHeading, children: "No tasks" }),
|
33
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: TasksPopover_module.default.noTasksText, children: [
|
34
|
+
"Your incoming tasks will appear here.",
|
35
|
+
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsx(louis.Link, { href: "https://docs.lokalise.com/translation-workflow/tasks", target: "_new", children: "Learn more" })
|
37
|
+
] })
|
38
|
+
] });
|
39
|
+
}
|
40
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": "sidebar-tasks-popover", className: TasksPopover_module.default.tasksContainer, children: tasks.map((task) => /* @__PURE__ */ jsxRuntime.jsx(TaskOverview.TaskOverview, { task }, task.id)) });
|
10
41
|
};
|
11
|
-
exports.
|
12
|
-
exports.badge = badge;
|
13
|
-
exports.default = styles;
|
14
|
-
exports.navItem = navItem;
|
42
|
+
exports.TasksPopover = TasksPopover;
|
15
43
|
//# sourceMappingURL=harmony121.cjs.map
|
package/dist/harmony121.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony121.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"harmony121.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksPopover/TasksPopover.tsx"],"sourcesContent":["import { Link, Loading } from '@lokalise/louis'\nimport { useEffectOnce } from '@utils'\nimport { TaskOverview } from '../TaskOverview/TaskOverview'\nimport { useTasks } from '../TasksContext'\nimport type { SidebarTask } from '../types'\nimport { TaskEvents } from '../utils/taskEvents'\nimport styles from './TasksPopover.module.css'\n\nexport const TasksPopover = () => {\n\tconst { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = useTasks()\n\n\tuseEffectOnce(() => {\n\t\tconst handleTaskPopoverOpen = async () => {\n\t\t\tconst contextTasks = await fetchTasks()\n\t\t\tonTasksWidgetOpen?.({ tasks: contextTasks })\n\t\t}\n\n\t\thandleTaskPopoverOpen()\n\n\t\tdocument.addEventListener(TaskEvents.TaskCompleted, fetchTasks)\n\t\tdocument.addEventListener(TaskEvents.TaskClosed, fetchTasks)\n\t\tdocument.addEventListener(TaskEvents.Refresh, fetchTasks)\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(TaskEvents.TaskCompleted, fetchTasks)\n\t\t\tdocument.removeEventListener(TaskEvents.TaskClosed, fetchTasks)\n\t\t\tdocument.removeEventListener(TaskEvents.Refresh, fetchTasks)\n\t\t}\n\t})\n\n\tif (loadingTasks) {\n\t\treturn (\n\t\t\t<div data-testid=\"sidebar-tasks-loading-popover\" className={styles.loadingContainer}>\n\t\t\t\t<Loading />\n\t\t\t</div>\n\t\t)\n\t}\n\n\tif (tasks.length === 0) {\n\t\treturn (\n\t\t\t<div data-testid=\"sidebar-no-tasks-popover\" className={styles.noTasksContainer}>\n\t\t\t\t<h3 className={styles.noTasksHeading}>No tasks</h3>\n\t\t\t\t<div className={styles.noTasksText}>\n\t\t\t\t\tYour incoming tasks will appear here.\n\t\t\t\t\t<br />\n\t\t\t\t\t<Link href=\"https://docs.lokalise.com/translation-workflow/tasks\" target=\"_new\">\n\t\t\t\t\t\tLearn more\n\t\t\t\t\t</Link>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t)\n\t}\n\n\treturn (\n\t\t<div data-testid=\"sidebar-tasks-popover\" className={styles.tasksContainer}>\n\t\t\t{tasks.map((task: SidebarTask) => (\n\t\t\t\t<TaskOverview key={task.id} task={task} />\n\t\t\t))}\n\t\t</div>\n\t)\n}\n"],"names":["useTasks","useEffectOnce","TaskEvents","jsx","styles","Loading","jsxs","Link","TaskOverview"],"mappings":";;;;;;;;;AAQO,MAAM,eAAe,MAAM;AACjC,QAAM,EAAE,OAAO,mBAAmB,cAAc,WAAA,IAAeA,aAAAA,SAAS;AAExEC,gBAAAA,cAAc,MAAM;AACnB,UAAM,wBAAwB,YAAY;AACnC,YAAA,eAAe,MAAM,WAAW;AAClB,6DAAA,EAAE,OAAO;IAC9B;AAEsB,0BAAA;AAEb,aAAA,iBAAiBC,sBAAW,eAAe,UAAU;AACrD,aAAA,iBAAiBA,sBAAW,YAAY,UAAU;AAClD,aAAA,iBAAiBA,sBAAW,SAAS,UAAU;AAExD,WAAO,MAAM;AACH,eAAA,oBAAoBA,sBAAW,eAAe,UAAU;AACxD,eAAA,oBAAoBA,sBAAW,YAAY,UAAU;AACrD,eAAA,oBAAoBA,sBAAW,SAAS,UAAU;AAAA,IAC5D;AAAA,EAAA,CACA;AAED,MAAI,cAAc;AAEhB,WAAAC,2BAAA,IAAC,SAAI,eAAY,iCAAgC,WAAWC,4BAAO,kBAClE,UAACD,2BAAAA,IAAAE,MAAAA,SAAA,CAAA,CAAQ,EACV,CAAA;AAAA,EAAA;AAIE,MAAA,MAAM,WAAW,GAAG;AACvB,2CACE,OAAI,EAAA,eAAY,4BAA2B,WAAWD,oBAAAA,QAAO,kBAC7D,UAAA;AAAA,MAAAD,2BAAA,IAAC,MAAG,EAAA,WAAWC,oBAAO,QAAA,gBAAgB,UAAQ,YAAA;AAAA,MAC7CE,2BAAA,KAAA,OAAA,EAAI,WAAWF,oBAAAA,QAAO,aAAa,UAAA;AAAA,QAAA;AAAA,uCAElC,MAAG,EAAA;AAAA,uCACHG,MAAAA,MAAK,EAAA,MAAK,wDAAuD,QAAO,QAAO,UAEhF,aAAA,CAAA;AAAA,MAAA,EACD,CAAA;AAAA,IAAA,GACD;AAAA,EAAA;AAIF,wCACE,OAAI,EAAA,eAAY,yBAAwB,WAAWH,oBAAAA,QAAO,gBACzD,UAAA,MAAM,IAAI,CAAC,SACVD,2BAAA,IAAAK,2BAAA,EAA2B,QAAT,KAAK,EAAgB,CACxC,GACF;AAEF;;"}
|
package/dist/harmony121.mjs
CHANGED
@@ -1,15 +1,43 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
2
|
+
import { Loading, Link } from "@lokalise/louis";
|
3
|
+
import { useEffectOnce } from "./harmony13.mjs";
|
4
|
+
import { TaskOverview } from "./harmony135.mjs";
|
5
|
+
import { useTasks } from "./harmony120.mjs";
|
6
|
+
import { TaskEvents } from "./harmony123.mjs";
|
7
|
+
import styles from "./harmony136.mjs";
|
8
|
+
const TasksPopover = () => {
|
9
|
+
const { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = useTasks();
|
10
|
+
useEffectOnce(() => {
|
11
|
+
const handleTaskPopoverOpen = async () => {
|
12
|
+
const contextTasks = await fetchTasks();
|
13
|
+
onTasksWidgetOpen == null ? void 0 : onTasksWidgetOpen({ tasks: contextTasks });
|
14
|
+
};
|
15
|
+
handleTaskPopoverOpen();
|
16
|
+
document.addEventListener(TaskEvents.TaskCompleted, fetchTasks);
|
17
|
+
document.addEventListener(TaskEvents.TaskClosed, fetchTasks);
|
18
|
+
document.addEventListener(TaskEvents.Refresh, fetchTasks);
|
19
|
+
return () => {
|
20
|
+
document.removeEventListener(TaskEvents.TaskCompleted, fetchTasks);
|
21
|
+
document.removeEventListener(TaskEvents.TaskClosed, fetchTasks);
|
22
|
+
document.removeEventListener(TaskEvents.Refresh, fetchTasks);
|
23
|
+
};
|
24
|
+
});
|
25
|
+
if (loadingTasks) {
|
26
|
+
return /* @__PURE__ */ jsx("div", { "data-testid": "sidebar-tasks-loading-popover", className: styles.loadingContainer, children: /* @__PURE__ */ jsx(Loading, {}) });
|
27
|
+
}
|
28
|
+
if (tasks.length === 0) {
|
29
|
+
return /* @__PURE__ */ jsxs("div", { "data-testid": "sidebar-no-tasks-popover", className: styles.noTasksContainer, children: [
|
30
|
+
/* @__PURE__ */ jsx("h3", { className: styles.noTasksHeading, children: "No tasks" }),
|
31
|
+
/* @__PURE__ */ jsxs("div", { className: styles.noTasksText, children: [
|
32
|
+
"Your incoming tasks will appear here.",
|
33
|
+
/* @__PURE__ */ jsx("br", {}),
|
34
|
+
/* @__PURE__ */ jsx(Link, { href: "https://docs.lokalise.com/translation-workflow/tasks", target: "_new", children: "Learn more" })
|
35
|
+
] })
|
36
|
+
] });
|
37
|
+
}
|
38
|
+
return /* @__PURE__ */ jsx("div", { "data-testid": "sidebar-tasks-popover", className: styles.tasksContainer, children: tasks.map((task) => /* @__PURE__ */ jsx(TaskOverview, { task }, task.id)) });
|
8
39
|
};
|
9
40
|
export {
|
10
|
-
|
11
|
-
badge,
|
12
|
-
styles as default,
|
13
|
-
navItem
|
41
|
+
TasksPopover
|
14
42
|
};
|
15
43
|
//# sourceMappingURL=harmony121.mjs.map
|
package/dist/harmony121.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony121.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"harmony121.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksPopover/TasksPopover.tsx"],"sourcesContent":["import { Link, Loading } from '@lokalise/louis'\nimport { useEffectOnce } from '@utils'\nimport { TaskOverview } from '../TaskOverview/TaskOverview'\nimport { useTasks } from '../TasksContext'\nimport type { SidebarTask } from '../types'\nimport { TaskEvents } from '../utils/taskEvents'\nimport styles from './TasksPopover.module.css'\n\nexport const TasksPopover = () => {\n\tconst { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = useTasks()\n\n\tuseEffectOnce(() => {\n\t\tconst handleTaskPopoverOpen = async () => {\n\t\t\tconst contextTasks = await fetchTasks()\n\t\t\tonTasksWidgetOpen?.({ tasks: contextTasks })\n\t\t}\n\n\t\thandleTaskPopoverOpen()\n\n\t\tdocument.addEventListener(TaskEvents.TaskCompleted, fetchTasks)\n\t\tdocument.addEventListener(TaskEvents.TaskClosed, fetchTasks)\n\t\tdocument.addEventListener(TaskEvents.Refresh, fetchTasks)\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(TaskEvents.TaskCompleted, fetchTasks)\n\t\t\tdocument.removeEventListener(TaskEvents.TaskClosed, fetchTasks)\n\t\t\tdocument.removeEventListener(TaskEvents.Refresh, fetchTasks)\n\t\t}\n\t})\n\n\tif (loadingTasks) {\n\t\treturn (\n\t\t\t<div data-testid=\"sidebar-tasks-loading-popover\" className={styles.loadingContainer}>\n\t\t\t\t<Loading />\n\t\t\t</div>\n\t\t)\n\t}\n\n\tif (tasks.length === 0) {\n\t\treturn (\n\t\t\t<div data-testid=\"sidebar-no-tasks-popover\" className={styles.noTasksContainer}>\n\t\t\t\t<h3 className={styles.noTasksHeading}>No tasks</h3>\n\t\t\t\t<div className={styles.noTasksText}>\n\t\t\t\t\tYour incoming tasks will appear here.\n\t\t\t\t\t<br />\n\t\t\t\t\t<Link href=\"https://docs.lokalise.com/translation-workflow/tasks\" target=\"_new\">\n\t\t\t\t\t\tLearn more\n\t\t\t\t\t</Link>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t)\n\t}\n\n\treturn (\n\t\t<div data-testid=\"sidebar-tasks-popover\" className={styles.tasksContainer}>\n\t\t\t{tasks.map((task: SidebarTask) => (\n\t\t\t\t<TaskOverview key={task.id} task={task} />\n\t\t\t))}\n\t\t</div>\n\t)\n}\n"],"names":[],"mappings":";;;;;;;AAQO,MAAM,eAAe,MAAM;AACjC,QAAM,EAAE,OAAO,mBAAmB,cAAc,WAAA,IAAe,SAAS;AAExE,gBAAc,MAAM;AACnB,UAAM,wBAAwB,YAAY;AACnC,YAAA,eAAe,MAAM,WAAW;AAClB,6DAAA,EAAE,OAAO;IAC9B;AAEsB,0BAAA;AAEb,aAAA,iBAAiB,WAAW,eAAe,UAAU;AACrD,aAAA,iBAAiB,WAAW,YAAY,UAAU;AAClD,aAAA,iBAAiB,WAAW,SAAS,UAAU;AAExD,WAAO,MAAM;AACH,eAAA,oBAAoB,WAAW,eAAe,UAAU;AACxD,eAAA,oBAAoB,WAAW,YAAY,UAAU;AACrD,eAAA,oBAAoB,WAAW,SAAS,UAAU;AAAA,IAC5D;AAAA,EAAA,CACA;AAED,MAAI,cAAc;AAEhB,WAAA,oBAAC,SAAI,eAAY,iCAAgC,WAAW,OAAO,kBAClE,UAAC,oBAAA,SAAA,CAAA,CAAQ,EACV,CAAA;AAAA,EAAA;AAIE,MAAA,MAAM,WAAW,GAAG;AACvB,gCACE,OAAI,EAAA,eAAY,4BAA2B,WAAW,OAAO,kBAC7D,UAAA;AAAA,MAAA,oBAAC,MAAG,EAAA,WAAW,OAAO,gBAAgB,UAAQ,YAAA;AAAA,MAC7C,qBAAA,OAAA,EAAI,WAAW,OAAO,aAAa,UAAA;AAAA,QAAA;AAAA,4BAElC,MAAG,EAAA;AAAA,4BACH,MAAK,EAAA,MAAK,wDAAuD,QAAO,QAAO,UAEhF,aAAA,CAAA;AAAA,MAAA,EACD,CAAA;AAAA,IAAA,GACD;AAAA,EAAA;AAIF,6BACE,OAAI,EAAA,eAAY,yBAAwB,WAAW,OAAO,gBACzD,UAAA,MAAM,IAAI,CAAC,SACV,oBAAA,cAAA,EAA2B,QAAT,KAAK,EAAgB,CACxC,GACF;AAEF;"}
|
package/dist/harmony122.cjs
CHANGED
@@ -1,8 +1,63 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
4
|
+
const useEffectOnce = require("./harmony13.cjs");
|
3
5
|
const React = require("react");
|
4
|
-
const TasksContext =
|
5
|
-
const
|
6
|
-
|
7
|
-
|
6
|
+
const TasksContext = require("./harmony120.cjs");
|
7
|
+
const taskEvents = require("./harmony123.cjs");
|
8
|
+
const TasksProvider = ({ children, config }) => {
|
9
|
+
const [tasks, setTasks] = React.useState([]);
|
10
|
+
const [loadingTasks, setLoadingTasks] = React.useState(true);
|
11
|
+
const [tasksCount, setTaskCount] = React.useState(0);
|
12
|
+
const {
|
13
|
+
getProjectUrl,
|
14
|
+
onLanguageCompleteConfirm,
|
15
|
+
onTasksWidgetOpen,
|
16
|
+
langNameOnClick,
|
17
|
+
langProgressOnClick,
|
18
|
+
taskTitleOnClick
|
19
|
+
} = config;
|
20
|
+
const { getTasks, getTasksCount } = config;
|
21
|
+
const fetchTasks = async () => {
|
22
|
+
setLoadingTasks(true);
|
23
|
+
const result = await getTasks();
|
24
|
+
setTasks(result);
|
25
|
+
setLoadingTasks(false);
|
26
|
+
return result;
|
27
|
+
};
|
28
|
+
const fetchTaskCount = async () => {
|
29
|
+
const result = await getTasksCount();
|
30
|
+
setTaskCount(result);
|
31
|
+
};
|
32
|
+
useEffectOnce.useEffectOnce(() => {
|
33
|
+
fetchTaskCount();
|
34
|
+
document.addEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTaskCount);
|
35
|
+
document.addEventListener(taskEvents.TaskEvents.TaskClosed, fetchTaskCount);
|
36
|
+
document.addEventListener(taskEvents.TaskEvents.Refresh, fetchTaskCount);
|
37
|
+
return () => {
|
38
|
+
document.removeEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTaskCount);
|
39
|
+
document.removeEventListener(taskEvents.TaskEvents.TaskClosed, fetchTaskCount);
|
40
|
+
document.removeEventListener(taskEvents.TaskEvents.Refresh, fetchTaskCount);
|
41
|
+
};
|
42
|
+
});
|
43
|
+
const providerValue = {
|
44
|
+
fetchTasks,
|
45
|
+
tasks,
|
46
|
+
tasksCount,
|
47
|
+
loadingTasks,
|
48
|
+
getProjectUrl,
|
49
|
+
onLanguageCompleteConfirm,
|
50
|
+
onTasksWidgetOpen,
|
51
|
+
langNameOnClick,
|
52
|
+
langProgressOnClick,
|
53
|
+
taskTitleOnClick
|
54
|
+
};
|
55
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TasksContext.TasksContext.Provider, { value: providerValue, children });
|
56
|
+
};
|
57
|
+
const withTasksContext = (WrappedComponent) => function withTasksContextFn(props) {
|
58
|
+
const { config, ...rest } = props;
|
59
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TasksProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(WrappedComponent, { ...rest }) });
|
60
|
+
};
|
61
|
+
exports.TasksProvider = TasksProvider;
|
62
|
+
exports.withTasksContext = withTasksContext;
|
8
63
|
//# sourceMappingURL=harmony122.cjs.map
|
package/dist/harmony122.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony122.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/
|
1
|
+
{"version":3,"file":"harmony122.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksProvider.tsx"],"sourcesContent":["import { useEffectOnce } from '@utils'\nimport { type FC, type PropsWithChildren, useState } from 'react'\nimport { TasksContext } from './TasksContext'\nimport type { SidebarTask, SidebarTasksConfig, SidebarTasksContextProps } from './types'\nimport { TaskEvents } from './utils/taskEvents'\n\ntype TasksProviderProps = PropsWithChildren<{\n\tconfig: SidebarTasksConfig\n}>\n\nexport const TasksProvider = ({ children, config }: TasksProviderProps) => {\n\tconst [tasks, setTasks] = useState<SidebarTask[]>([])\n\tconst [loadingTasks, setLoadingTasks] = useState(true)\n\n\tconst [tasksCount, setTaskCount] = useState(0)\n\n\tconst {\n\t\tgetProjectUrl,\n\t\tonLanguageCompleteConfirm,\n\t\tonTasksWidgetOpen,\n\t\tlangNameOnClick,\n\t\tlangProgressOnClick,\n\t\ttaskTitleOnClick,\n\t} = config\n\n\tconst { getTasks, getTasksCount } = config\n\n\tconst fetchTasks = async () => {\n\t\tsetLoadingTasks(true)\n\t\tconst result = await getTasks()\n\t\tsetTasks(result)\n\t\tsetLoadingTasks(false)\n\t\treturn result\n\t}\n\n\tconst fetchTaskCount = async () => {\n\t\tconst result = await getTasksCount()\n\t\tsetTaskCount(result)\n\t}\n\n\tuseEffectOnce(() => {\n\t\tfetchTaskCount()\n\n\t\tdocument.addEventListener(TaskEvents.TaskCompleted, fetchTaskCount)\n\t\tdocument.addEventListener(TaskEvents.TaskClosed, fetchTaskCount)\n\t\tdocument.addEventListener(TaskEvents.Refresh, fetchTaskCount)\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(TaskEvents.TaskCompleted, fetchTaskCount)\n\t\t\tdocument.removeEventListener(TaskEvents.TaskClosed, fetchTaskCount)\n\t\t\tdocument.removeEventListener(TaskEvents.Refresh, fetchTaskCount)\n\t\t}\n\t})\n\n\tconst providerValue: SidebarTasksContextProps = {\n\t\tfetchTasks,\n\t\ttasks,\n\t\ttasksCount,\n\t\tloadingTasks,\n\t\tgetProjectUrl,\n\t\tonLanguageCompleteConfirm,\n\t\tonTasksWidgetOpen,\n\t\tlangNameOnClick,\n\t\tlangProgressOnClick,\n\t\ttaskTitleOnClick,\n\t}\n\n\treturn <TasksContext.Provider value={providerValue}>{children}</TasksContext.Provider>\n}\n\nexport const withTasksContext = <P extends { config: SidebarTasksConfig }>(\n\tWrappedComponent: FC<Omit<P, 'config'>>,\n) =>\n\tfunction withTasksContextFn(props: P) {\n\t\tconst { config, ...rest } = props\n\n\t\treturn (\n\t\t\t<TasksProvider config={config}>\n\t\t\t\t<WrappedComponent {...rest} />\n\t\t\t</TasksProvider>\n\t\t)\n\t}\n"],"names":["useState","useEffectOnce","TaskEvents","TasksContext"],"mappings":";;;;;;;AAUO,MAAM,gBAAgB,CAAC,EAAE,UAAU,aAAiC;AAC1E,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAwB,CAAA,CAAE;AACpD,QAAM,CAAC,cAAc,eAAe,IAAIA,MAAAA,SAAS,IAAI;AAErD,QAAM,CAAC,YAAY,YAAY,IAAIA,MAAAA,SAAS,CAAC;AAEvC,QAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACG;AAEE,QAAA,EAAE,UAAU,cAAA,IAAkB;AAEpC,QAAM,aAAa,YAAY;AAC9B,oBAAgB,IAAI;AACd,UAAA,SAAS,MAAM,SAAS;AAC9B,aAAS,MAAM;AACf,oBAAgB,KAAK;AACd,WAAA;AAAA,EACR;AAEA,QAAM,iBAAiB,YAAY;AAC5B,UAAA,SAAS,MAAM,cAAc;AACnC,iBAAa,MAAM;AAAA,EACpB;AAEAC,gBAAAA,cAAc,MAAM;AACJ,mBAAA;AAEN,aAAA,iBAAiBC,sBAAW,eAAe,cAAc;AACzD,aAAA,iBAAiBA,sBAAW,YAAY,cAAc;AACtD,aAAA,iBAAiBA,sBAAW,SAAS,cAAc;AAE5D,WAAO,MAAM;AACH,eAAA,oBAAoBA,sBAAW,eAAe,cAAc;AAC5D,eAAA,oBAAoBA,sBAAW,YAAY,cAAc;AACzD,eAAA,oBAAoBA,sBAAW,SAAS,cAAc;AAAA,IAChE;AAAA,EAAA,CACA;AAED,QAAM,gBAA0C;AAAA,IAC/C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,wCAAQC,aAAAA,aAAa,UAAb,EAAsB,OAAO,eAAgB,UAAS;AAC/D;AAEO,MAAM,mBAAmB,CAC/B,qBAEA,SAAS,mBAAmB,OAAU;AACrC,QAAM,EAAE,QAAQ,GAAG,KAAA,IAAS;AAE5B,wCACE,eAAc,EAAA,QACd,yCAAC,kBAAkB,EAAA,GAAG,KAAM,CAAA,GAC7B;AAEF;;;"}
|
package/dist/harmony122.mjs
CHANGED
@@ -1,8 +1,63 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
2
|
+
import { useEffectOnce } from "./harmony13.mjs";
|
3
|
+
import { useState } from "react";
|
4
|
+
import { TasksContext } from "./harmony120.mjs";
|
5
|
+
import { TaskEvents } from "./harmony123.mjs";
|
6
|
+
const TasksProvider = ({ children, config }) => {
|
7
|
+
const [tasks, setTasks] = useState([]);
|
8
|
+
const [loadingTasks, setLoadingTasks] = useState(true);
|
9
|
+
const [tasksCount, setTaskCount] = useState(0);
|
10
|
+
const {
|
11
|
+
getProjectUrl,
|
12
|
+
onLanguageCompleteConfirm,
|
13
|
+
onTasksWidgetOpen,
|
14
|
+
langNameOnClick,
|
15
|
+
langProgressOnClick,
|
16
|
+
taskTitleOnClick
|
17
|
+
} = config;
|
18
|
+
const { getTasks, getTasksCount } = config;
|
19
|
+
const fetchTasks = async () => {
|
20
|
+
setLoadingTasks(true);
|
21
|
+
const result = await getTasks();
|
22
|
+
setTasks(result);
|
23
|
+
setLoadingTasks(false);
|
24
|
+
return result;
|
25
|
+
};
|
26
|
+
const fetchTaskCount = async () => {
|
27
|
+
const result = await getTasksCount();
|
28
|
+
setTaskCount(result);
|
29
|
+
};
|
30
|
+
useEffectOnce(() => {
|
31
|
+
fetchTaskCount();
|
32
|
+
document.addEventListener(TaskEvents.TaskCompleted, fetchTaskCount);
|
33
|
+
document.addEventListener(TaskEvents.TaskClosed, fetchTaskCount);
|
34
|
+
document.addEventListener(TaskEvents.Refresh, fetchTaskCount);
|
35
|
+
return () => {
|
36
|
+
document.removeEventListener(TaskEvents.TaskCompleted, fetchTaskCount);
|
37
|
+
document.removeEventListener(TaskEvents.TaskClosed, fetchTaskCount);
|
38
|
+
document.removeEventListener(TaskEvents.Refresh, fetchTaskCount);
|
39
|
+
};
|
40
|
+
});
|
41
|
+
const providerValue = {
|
42
|
+
fetchTasks,
|
43
|
+
tasks,
|
44
|
+
tasksCount,
|
45
|
+
loadingTasks,
|
46
|
+
getProjectUrl,
|
47
|
+
onLanguageCompleteConfirm,
|
48
|
+
onTasksWidgetOpen,
|
49
|
+
langNameOnClick,
|
50
|
+
langProgressOnClick,
|
51
|
+
taskTitleOnClick
|
52
|
+
};
|
53
|
+
return /* @__PURE__ */ jsx(TasksContext.Provider, { value: providerValue, children });
|
54
|
+
};
|
55
|
+
const withTasksContext = (WrappedComponent) => function withTasksContextFn(props) {
|
56
|
+
const { config, ...rest } = props;
|
57
|
+
return /* @__PURE__ */ jsx(TasksProvider, { config, children: /* @__PURE__ */ jsx(WrappedComponent, { ...rest }) });
|
58
|
+
};
|
4
59
|
export {
|
5
|
-
|
6
|
-
|
60
|
+
TasksProvider,
|
61
|
+
withTasksContext
|
7
62
|
};
|
8
63
|
//# sourceMappingURL=harmony122.mjs.map
|
package/dist/harmony122.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony122.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/
|
1
|
+
{"version":3,"file":"harmony122.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksProvider.tsx"],"sourcesContent":["import { useEffectOnce } from '@utils'\nimport { type FC, type PropsWithChildren, useState } from 'react'\nimport { TasksContext } from './TasksContext'\nimport type { SidebarTask, SidebarTasksConfig, SidebarTasksContextProps } from './types'\nimport { TaskEvents } from './utils/taskEvents'\n\ntype TasksProviderProps = PropsWithChildren<{\n\tconfig: SidebarTasksConfig\n}>\n\nexport const TasksProvider = ({ children, config }: TasksProviderProps) => {\n\tconst [tasks, setTasks] = useState<SidebarTask[]>([])\n\tconst [loadingTasks, setLoadingTasks] = useState(true)\n\n\tconst [tasksCount, setTaskCount] = useState(0)\n\n\tconst {\n\t\tgetProjectUrl,\n\t\tonLanguageCompleteConfirm,\n\t\tonTasksWidgetOpen,\n\t\tlangNameOnClick,\n\t\tlangProgressOnClick,\n\t\ttaskTitleOnClick,\n\t} = config\n\n\tconst { getTasks, getTasksCount } = config\n\n\tconst fetchTasks = async () => {\n\t\tsetLoadingTasks(true)\n\t\tconst result = await getTasks()\n\t\tsetTasks(result)\n\t\tsetLoadingTasks(false)\n\t\treturn result\n\t}\n\n\tconst fetchTaskCount = async () => {\n\t\tconst result = await getTasksCount()\n\t\tsetTaskCount(result)\n\t}\n\n\tuseEffectOnce(() => {\n\t\tfetchTaskCount()\n\n\t\tdocument.addEventListener(TaskEvents.TaskCompleted, fetchTaskCount)\n\t\tdocument.addEventListener(TaskEvents.TaskClosed, fetchTaskCount)\n\t\tdocument.addEventListener(TaskEvents.Refresh, fetchTaskCount)\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(TaskEvents.TaskCompleted, fetchTaskCount)\n\t\t\tdocument.removeEventListener(TaskEvents.TaskClosed, fetchTaskCount)\n\t\t\tdocument.removeEventListener(TaskEvents.Refresh, fetchTaskCount)\n\t\t}\n\t})\n\n\tconst providerValue: SidebarTasksContextProps = {\n\t\tfetchTasks,\n\t\ttasks,\n\t\ttasksCount,\n\t\tloadingTasks,\n\t\tgetProjectUrl,\n\t\tonLanguageCompleteConfirm,\n\t\tonTasksWidgetOpen,\n\t\tlangNameOnClick,\n\t\tlangProgressOnClick,\n\t\ttaskTitleOnClick,\n\t}\n\n\treturn <TasksContext.Provider value={providerValue}>{children}</TasksContext.Provider>\n}\n\nexport const withTasksContext = <P extends { config: SidebarTasksConfig }>(\n\tWrappedComponent: FC<Omit<P, 'config'>>,\n) =>\n\tfunction withTasksContextFn(props: P) {\n\t\tconst { config, ...rest } = props\n\n\t\treturn (\n\t\t\t<TasksProvider config={config}>\n\t\t\t\t<WrappedComponent {...rest} />\n\t\t\t</TasksProvider>\n\t\t)\n\t}\n"],"names":[],"mappings":";;;;;AAUO,MAAM,gBAAgB,CAAC,EAAE,UAAU,aAAiC;AAC1E,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAwB,CAAA,CAAE;AACpD,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,IAAI;AAErD,QAAM,CAAC,YAAY,YAAY,IAAI,SAAS,CAAC;AAEvC,QAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACG;AAEE,QAAA,EAAE,UAAU,cAAA,IAAkB;AAEpC,QAAM,aAAa,YAAY;AAC9B,oBAAgB,IAAI;AACd,UAAA,SAAS,MAAM,SAAS;AAC9B,aAAS,MAAM;AACf,oBAAgB,KAAK;AACd,WAAA;AAAA,EACR;AAEA,QAAM,iBAAiB,YAAY;AAC5B,UAAA,SAAS,MAAM,cAAc;AACnC,iBAAa,MAAM;AAAA,EACpB;AAEA,gBAAc,MAAM;AACJ,mBAAA;AAEN,aAAA,iBAAiB,WAAW,eAAe,cAAc;AACzD,aAAA,iBAAiB,WAAW,YAAY,cAAc;AACtD,aAAA,iBAAiB,WAAW,SAAS,cAAc;AAE5D,WAAO,MAAM;AACH,eAAA,oBAAoB,WAAW,eAAe,cAAc;AAC5D,eAAA,oBAAoB,WAAW,YAAY,cAAc;AACzD,eAAA,oBAAoB,WAAW,SAAS,cAAc;AAAA,IAChE;AAAA,EAAA,CACA;AAED,QAAM,gBAA0C;AAAA,IAC/C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,6BAAQ,aAAa,UAAb,EAAsB,OAAO,eAAgB,UAAS;AAC/D;AAEO,MAAM,mBAAmB,CAC/B,qBAEA,SAAS,mBAAmB,OAAU;AACrC,QAAM,EAAE,QAAQ,GAAG,KAAA,IAAS;AAE5B,6BACE,eAAc,EAAA,QACd,8BAAC,kBAAkB,EAAA,GAAG,KAAM,CAAA,GAC7B;AAEF;"}
|
package/dist/harmony123.cjs
CHANGED
@@ -1,43 +1,10 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
-
const
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
const taskEvents = require("./harmony125.cjs");
|
9
|
-
const TasksPopover_module = require("./harmony132.cjs");
|
10
|
-
const TasksPopover = () => {
|
11
|
-
const { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = TasksContext.useTasks();
|
12
|
-
useEffectOnce.useEffectOnce(() => {
|
13
|
-
const handleTaskPopoverOpen = async () => {
|
14
|
-
const contextTasks = await fetchTasks();
|
15
|
-
onTasksWidgetOpen == null ? void 0 : onTasksWidgetOpen({ tasks: contextTasks });
|
16
|
-
};
|
17
|
-
handleTaskPopoverOpen();
|
18
|
-
document.addEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTasks);
|
19
|
-
document.addEventListener(taskEvents.TaskEvents.TaskClosed, fetchTasks);
|
20
|
-
document.addEventListener(taskEvents.TaskEvents.Refresh, fetchTasks);
|
21
|
-
return () => {
|
22
|
-
document.removeEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTasks);
|
23
|
-
document.removeEventListener(taskEvents.TaskEvents.TaskClosed, fetchTasks);
|
24
|
-
document.removeEventListener(taskEvents.TaskEvents.Refresh, fetchTasks);
|
25
|
-
};
|
26
|
-
});
|
27
|
-
if (loadingTasks) {
|
28
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": "sidebar-tasks-loading-popover", className: TasksPopover_module.default.loadingContainer, children: /* @__PURE__ */ jsxRuntime.jsx(louis.Loading, {}) });
|
29
|
-
}
|
30
|
-
if (tasks.length === 0) {
|
31
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "sidebar-no-tasks-popover", className: TasksPopover_module.default.noTasksContainer, children: [
|
32
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: TasksPopover_module.default.noTasksHeading, children: "No tasks" }),
|
33
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: TasksPopover_module.default.noTasksText, children: [
|
34
|
-
"Your incoming tasks will appear here.",
|
35
|
-
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
36
|
-
/* @__PURE__ */ jsxRuntime.jsx(louis.Link, { href: "https://docs.lokalise.com/translation-workflow/tasks", target: "_new", children: "Learn more" })
|
37
|
-
] })
|
38
|
-
] });
|
39
|
-
}
|
40
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": "sidebar-tasks-popover", className: TasksPopover_module.default.tasksContainer, children: tasks.map((task) => /* @__PURE__ */ jsxRuntime.jsx(TaskOverview.TaskOverview, { task }, task.id)) });
|
3
|
+
const TaskEvents = {
|
4
|
+
TaskCompleted: "task_completed",
|
5
|
+
TaskClosed: "task_closed",
|
6
|
+
Refresh: "refresh",
|
7
|
+
ShowDialog: "show_dialog"
|
41
8
|
};
|
42
|
-
exports.
|
9
|
+
exports.TaskEvents = TaskEvents;
|
43
10
|
//# sourceMappingURL=harmony123.cjs.map
|
package/dist/harmony123.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony123.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/
|
1
|
+
{"version":3,"file":"harmony123.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/utils/taskEvents.ts"],"sourcesContent":["import type { TypesFromMap } from '@utils'\n\nexport const TaskEvents = {\n\tTaskCompleted: 'task_completed',\n\tTaskClosed: 'task_closed',\n\tRefresh: 'refresh',\n\tShowDialog: 'show_dialog',\n} as const\n\nexport type TaskEvent = TypesFromMap<typeof TaskEvents>\n\ntype SingleTaskPayload = {\n\ttaskId: string | number\n}\n\ntype DispatchTaskEventPayload =\n\t| {\n\t\t\tname: typeof TaskEvents.TaskCompleted\n\t\t\tdetail: SingleTaskPayload\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.TaskClosed\n\t\t\tdetail: SingleTaskPayload\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.Refresh\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.ShowDialog\n\t }\n\nexport const dispatchTaskEvent = (props: DispatchTaskEventPayload) => {\n\tconst { name } = props\n\tdocument.dispatchEvent(new CustomEvent(name, { detail: 'detail' in props ? props.detail : {} }))\n}\n"],"names":[],"mappings":";;AAEO,MAAM,aAAa;AAAA,EACzB,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,YAAY;AACb;;"}
|
package/dist/harmony123.mjs
CHANGED
@@ -1,43 +1,10 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
import { TaskEvents } from "./harmony125.mjs";
|
7
|
-
import styles from "./harmony132.mjs";
|
8
|
-
const TasksPopover = () => {
|
9
|
-
const { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = useTasks();
|
10
|
-
useEffectOnce(() => {
|
11
|
-
const handleTaskPopoverOpen = async () => {
|
12
|
-
const contextTasks = await fetchTasks();
|
13
|
-
onTasksWidgetOpen == null ? void 0 : onTasksWidgetOpen({ tasks: contextTasks });
|
14
|
-
};
|
15
|
-
handleTaskPopoverOpen();
|
16
|
-
document.addEventListener(TaskEvents.TaskCompleted, fetchTasks);
|
17
|
-
document.addEventListener(TaskEvents.TaskClosed, fetchTasks);
|
18
|
-
document.addEventListener(TaskEvents.Refresh, fetchTasks);
|
19
|
-
return () => {
|
20
|
-
document.removeEventListener(TaskEvents.TaskCompleted, fetchTasks);
|
21
|
-
document.removeEventListener(TaskEvents.TaskClosed, fetchTasks);
|
22
|
-
document.removeEventListener(TaskEvents.Refresh, fetchTasks);
|
23
|
-
};
|
24
|
-
});
|
25
|
-
if (loadingTasks) {
|
26
|
-
return /* @__PURE__ */ jsx("div", { "data-testid": "sidebar-tasks-loading-popover", className: styles.loadingContainer, children: /* @__PURE__ */ jsx(Loading, {}) });
|
27
|
-
}
|
28
|
-
if (tasks.length === 0) {
|
29
|
-
return /* @__PURE__ */ jsxs("div", { "data-testid": "sidebar-no-tasks-popover", className: styles.noTasksContainer, children: [
|
30
|
-
/* @__PURE__ */ jsx("h3", { className: styles.noTasksHeading, children: "No tasks" }),
|
31
|
-
/* @__PURE__ */ jsxs("div", { className: styles.noTasksText, children: [
|
32
|
-
"Your incoming tasks will appear here.",
|
33
|
-
/* @__PURE__ */ jsx("br", {}),
|
34
|
-
/* @__PURE__ */ jsx(Link, { href: "https://docs.lokalise.com/translation-workflow/tasks", target: "_new", children: "Learn more" })
|
35
|
-
] })
|
36
|
-
] });
|
37
|
-
}
|
38
|
-
return /* @__PURE__ */ jsx("div", { "data-testid": "sidebar-tasks-popover", className: styles.tasksContainer, children: tasks.map((task) => /* @__PURE__ */ jsx(TaskOverview, { task }, task.id)) });
|
1
|
+
const TaskEvents = {
|
2
|
+
TaskCompleted: "task_completed",
|
3
|
+
TaskClosed: "task_closed",
|
4
|
+
Refresh: "refresh",
|
5
|
+
ShowDialog: "show_dialog"
|
39
6
|
};
|
40
7
|
export {
|
41
|
-
|
8
|
+
TaskEvents
|
42
9
|
};
|
43
10
|
//# sourceMappingURL=harmony123.mjs.map
|
package/dist/harmony123.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony123.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/
|
1
|
+
{"version":3,"file":"harmony123.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/utils/taskEvents.ts"],"sourcesContent":["import type { TypesFromMap } from '@utils'\n\nexport const TaskEvents = {\n\tTaskCompleted: 'task_completed',\n\tTaskClosed: 'task_closed',\n\tRefresh: 'refresh',\n\tShowDialog: 'show_dialog',\n} as const\n\nexport type TaskEvent = TypesFromMap<typeof TaskEvents>\n\ntype SingleTaskPayload = {\n\ttaskId: string | number\n}\n\ntype DispatchTaskEventPayload =\n\t| {\n\t\t\tname: typeof TaskEvents.TaskCompleted\n\t\t\tdetail: SingleTaskPayload\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.TaskClosed\n\t\t\tdetail: SingleTaskPayload\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.Refresh\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.ShowDialog\n\t }\n\nexport const dispatchTaskEvent = (props: DispatchTaskEventPayload) => {\n\tconst { name } = props\n\tdocument.dispatchEvent(new CustomEvent(name, { detail: 'detail' in props ? props.detail : {} }))\n}\n"],"names":[],"mappings":"AAEO,MAAM,aAAa;AAAA,EACzB,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,YAAY;AACb;"}
|
package/dist/harmony124.cjs
CHANGED
@@ -1,63 +1,9 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
const
|
4
|
-
const
|
5
|
-
|
6
|
-
const TasksContext = require("./harmony122.cjs");
|
7
|
-
const taskEvents = require("./harmony125.cjs");
|
8
|
-
const TasksProvider = ({ children, config }) => {
|
9
|
-
const [tasks, setTasks] = React.useState([]);
|
10
|
-
const [loadingTasks, setLoadingTasks] = React.useState(true);
|
11
|
-
const [tasksCount, setTaskCount] = React.useState(0);
|
12
|
-
const {
|
13
|
-
getProjectUrl,
|
14
|
-
onLanguageCompleteConfirm,
|
15
|
-
onTasksWidgetOpen,
|
16
|
-
langNameOnClick,
|
17
|
-
langProgressOnClick,
|
18
|
-
taskTitleOnClick
|
19
|
-
} = config;
|
20
|
-
const { getTasks, getTasksCount } = config;
|
21
|
-
const fetchTasks = async () => {
|
22
|
-
setLoadingTasks(true);
|
23
|
-
const result = await getTasks();
|
24
|
-
setTasks(result);
|
25
|
-
setLoadingTasks(false);
|
26
|
-
return result;
|
27
|
-
};
|
28
|
-
const fetchTaskCount = async () => {
|
29
|
-
const result = await getTasksCount();
|
30
|
-
setTaskCount(result);
|
31
|
-
};
|
32
|
-
useEffectOnce.useEffectOnce(() => {
|
33
|
-
fetchTaskCount();
|
34
|
-
document.addEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTaskCount);
|
35
|
-
document.addEventListener(taskEvents.TaskEvents.TaskClosed, fetchTaskCount);
|
36
|
-
document.addEventListener(taskEvents.TaskEvents.Refresh, fetchTaskCount);
|
37
|
-
return () => {
|
38
|
-
document.removeEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTaskCount);
|
39
|
-
document.removeEventListener(taskEvents.TaskEvents.TaskClosed, fetchTaskCount);
|
40
|
-
document.removeEventListener(taskEvents.TaskEvents.Refresh, fetchTaskCount);
|
41
|
-
};
|
42
|
-
});
|
43
|
-
const providerValue = {
|
44
|
-
fetchTasks,
|
45
|
-
tasks,
|
46
|
-
tasksCount,
|
47
|
-
loadingTasks,
|
48
|
-
getProjectUrl,
|
49
|
-
onLanguageCompleteConfirm,
|
50
|
-
onTasksWidgetOpen,
|
51
|
-
langNameOnClick,
|
52
|
-
langProgressOnClick,
|
53
|
-
taskTitleOnClick
|
54
|
-
};
|
55
|
-
return /* @__PURE__ */ jsxRuntime.jsx(TasksContext.TasksContext.Provider, { value: providerValue, children });
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
3
|
+
const iconContainer = "_iconContainer_nz34m_1";
|
4
|
+
const styles = {
|
5
|
+
iconContainer
|
56
6
|
};
|
57
|
-
|
58
|
-
|
59
|
-
return /* @__PURE__ */ jsxRuntime.jsx(TasksProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(WrappedComponent, { ...rest }) });
|
60
|
-
};
|
61
|
-
exports.TasksProvider = TasksProvider;
|
62
|
-
exports.withTasksContext = withTasksContext;
|
7
|
+
exports.default = styles;
|
8
|
+
exports.iconContainer = iconContainer;
|
63
9
|
//# sourceMappingURL=harmony124.cjs.map
|
package/dist/harmony124.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony124.cjs","sources":[
|
1
|
+
{"version":3,"file":"harmony124.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
package/dist/harmony124.mjs
CHANGED
@@ -1,63 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
import { TasksContext } from "./harmony122.mjs";
|
5
|
-
import { TaskEvents } from "./harmony125.mjs";
|
6
|
-
const TasksProvider = ({ children, config }) => {
|
7
|
-
const [tasks, setTasks] = useState([]);
|
8
|
-
const [loadingTasks, setLoadingTasks] = useState(true);
|
9
|
-
const [tasksCount, setTaskCount] = useState(0);
|
10
|
-
const {
|
11
|
-
getProjectUrl,
|
12
|
-
onLanguageCompleteConfirm,
|
13
|
-
onTasksWidgetOpen,
|
14
|
-
langNameOnClick,
|
15
|
-
langProgressOnClick,
|
16
|
-
taskTitleOnClick
|
17
|
-
} = config;
|
18
|
-
const { getTasks, getTasksCount } = config;
|
19
|
-
const fetchTasks = async () => {
|
20
|
-
setLoadingTasks(true);
|
21
|
-
const result = await getTasks();
|
22
|
-
setTasks(result);
|
23
|
-
setLoadingTasks(false);
|
24
|
-
return result;
|
25
|
-
};
|
26
|
-
const fetchTaskCount = async () => {
|
27
|
-
const result = await getTasksCount();
|
28
|
-
setTaskCount(result);
|
29
|
-
};
|
30
|
-
useEffectOnce(() => {
|
31
|
-
fetchTaskCount();
|
32
|
-
document.addEventListener(TaskEvents.TaskCompleted, fetchTaskCount);
|
33
|
-
document.addEventListener(TaskEvents.TaskClosed, fetchTaskCount);
|
34
|
-
document.addEventListener(TaskEvents.Refresh, fetchTaskCount);
|
35
|
-
return () => {
|
36
|
-
document.removeEventListener(TaskEvents.TaskCompleted, fetchTaskCount);
|
37
|
-
document.removeEventListener(TaskEvents.TaskClosed, fetchTaskCount);
|
38
|
-
document.removeEventListener(TaskEvents.Refresh, fetchTaskCount);
|
39
|
-
};
|
40
|
-
});
|
41
|
-
const providerValue = {
|
42
|
-
fetchTasks,
|
43
|
-
tasks,
|
44
|
-
tasksCount,
|
45
|
-
loadingTasks,
|
46
|
-
getProjectUrl,
|
47
|
-
onLanguageCompleteConfirm,
|
48
|
-
onTasksWidgetOpen,
|
49
|
-
langNameOnClick,
|
50
|
-
langProgressOnClick,
|
51
|
-
taskTitleOnClick
|
52
|
-
};
|
53
|
-
return /* @__PURE__ */ jsx(TasksContext.Provider, { value: providerValue, children });
|
54
|
-
};
|
55
|
-
const withTasksContext = (WrappedComponent) => function withTasksContextFn(props) {
|
56
|
-
const { config, ...rest } = props;
|
57
|
-
return /* @__PURE__ */ jsx(TasksProvider, { config, children: /* @__PURE__ */ jsx(WrappedComponent, { ...rest }) });
|
1
|
+
const iconContainer = "_iconContainer_nz34m_1";
|
2
|
+
const styles = {
|
3
|
+
iconContainer
|
58
4
|
};
|
59
5
|
export {
|
60
|
-
|
61
|
-
|
6
|
+
styles as default,
|
7
|
+
iconContainer
|
62
8
|
};
|
63
9
|
//# sourceMappingURL=harmony124.mjs.map
|
package/dist/harmony124.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony124.mjs","sources":[
|
1
|
+
{"version":3,"file":"harmony124.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/dist/harmony125.cjs
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
const
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
};
|
9
|
-
exports.TaskEvents = TaskEvents;
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
3
|
+
const _commonjsHelpers = require("./harmony149.cjs");
|
4
|
+
const debounce$1 = require("./harmony129.cjs");
|
5
|
+
var debounceExports = debounce$1.__require();
|
6
|
+
const debounce = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(debounceExports);
|
7
|
+
exports.default = debounce;
|
10
8
|
//# sourceMappingURL=harmony125.cjs.map
|
package/dist/harmony125.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony125.cjs","sources":[
|
1
|
+
{"version":3,"file":"harmony125.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|