@redacto.io/consent-sdk-react-native 3.0.0 → 3.1.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/README.md +47 -16
- package/dist/privacy-center.js +994 -816
- package/dist/privacy-center.mjs +901 -715
- package/package.json +7 -3
package/dist/privacy-center.js
CHANGED
|
@@ -88,8 +88,9 @@ __export(privacy_center_exports, {
|
|
|
88
88
|
module.exports = __toCommonJS(privacy_center_exports);
|
|
89
89
|
|
|
90
90
|
// src/RedactoPrivacyCenter/RedactoPrivacyCenter.tsx
|
|
91
|
-
var
|
|
92
|
-
var
|
|
91
|
+
var import_react_query2 = require("@tanstack/react-query");
|
|
92
|
+
var import_react_i18next20 = require("react-i18next");
|
|
93
|
+
var import_react_native29 = require("react-native");
|
|
93
94
|
|
|
94
95
|
// src/RedactoPrivacyCenter/lib/i18n.ts
|
|
95
96
|
var import_i18next = __toESM(require("i18next"));
|
|
@@ -259,6 +260,8 @@ var translation_default = {
|
|
|
259
260
|
grievanceTypes: "Grievance Types",
|
|
260
261
|
close: "Close",
|
|
261
262
|
noData: "No Data",
|
|
263
|
+
noDataTitle: "Nothing to show yet",
|
|
264
|
+
noDataDescription: "We couldn't find any consents, requests, or activity linked to your account yet. Your privacy records will appear here once they're available.",
|
|
262
265
|
rowsPerPage: "Rows per page:",
|
|
263
266
|
pageOf: "Page {{current}} of {{total}}",
|
|
264
267
|
rowsSelected: "{{count}} of {{total}} row(s) selected",
|
|
@@ -535,6 +538,8 @@ var translation_default2 = {
|
|
|
535
538
|
grievanceTypes: "\u0985\u09AD\u09BF\u09AF\u09CB\u0997\u09F0 \u09AA\u09CD\u09F0\u0995\u09BE\u09F0",
|
|
536
539
|
close: "\u09AC\u09A8\u09CD\u09A7 \u0995\u09F0\u0995",
|
|
537
540
|
noData: "\u09A1\u09C7\u099F\u09BE \u09A8\u09BE\u0987",
|
|
541
|
+
noDataTitle: "\u098F\u09A4\u09BF\u09AF\u09BC\u09BE\u09B2\u09C8\u0995\u09C7 \u09A6\u09C7\u0996\u09C1\u09F1\u09BE\u09AC\u09B2\u09C8 \u098F\u0995\u09CB \u09A8\u09BE\u0987",
|
|
542
|
+
noDataDescription: "\u0986\u09AA\u09CB\u09A8\u09BE\u09F0 \u098F\u0995\u09BE\u0989\u09A3\u09CD\u099F\u09F0 \u09B8\u09C8\u09A4\u09C7 \u09B8\u0982\u09AF\u09C1\u0995\u09CD\u09A4 \u0995\u09CB\u09A8\u09CB \u09B8\u09A8\u09CD\u09AE\u09A4\u09BF, \u0985\u09A8\u09C1\u09F0\u09CB\u09A7 \u09AC\u09BE \u0995\u09BE\u09F0\u09CD\u09AF\u09CD\u09AF\u09BE\u09F1\u09B2\u09C0 \u0986\u09AE\u09BF \u098F\u09A4\u09BF\u09AF\u09BC\u09BE\u09B2\u09C8\u0995\u09C7 \u09AC\u09BF\u099A\u09BE\u09F0\u09BF \u09AA\u09CB\u09F1\u09BE \u09A8\u09BE\u0987\u0964 \u0989\u09AA\u09B2\u09AC\u09CD\u09A7 \u09B9\u09CB\u09F1\u09BE\u09F0 \u09B2\u0997\u09C7 \u09B2\u0997\u09C7 \u0986\u09AA\u09CB\u09A8\u09BE\u09F0 \u0997\u09CB\u09AA\u09A8\u09C0\u09AF\u09BC\u09A4\u09BE \u09F0\u09C7\u0995\u09F0\u09CD\u09A1\u09B8\u09AE\u09C2\u09B9 \u0987\u09AF\u09BC\u09BE\u09A4 \u09A6\u09C7\u0996\u09BE \u09AF\u09BE\u09AC\u0964",
|
|
538
543
|
rowsPerPage: "\u09AA\u09C3\u09B7\u09CD\u09A0\u09BE\u09A4 \u09B6\u09BE\u09F0\u09C0:",
|
|
539
544
|
pageOf: "\u09AA\u09C3\u09B7\u09CD\u09A0\u09BE {{current}} / {{total}}",
|
|
540
545
|
rowsSelected: "{{total}}-\u09F0 {{count}} \u09B6\u09BE\u09F0\u09C0 \u09A8\u09BF\u09F0\u09CD\u09AC\u09BE\u099A\u09BF\u09A4",
|
|
@@ -846,6 +851,8 @@ var translation_default3 = {
|
|
|
846
851
|
grievanceTypes: "\u0985\u09AD\u09BF\u09AF\u09CB\u0997\u09C7\u09B0 \u09A7\u09B0\u09A8",
|
|
847
852
|
close: "\u09AC\u09A8\u09CD\u09A7 \u0995\u09B0\u09C1\u09A8",
|
|
848
853
|
noData: "\u0995\u09CB\u09A8\u09CB \u09A1\u09C7\u099F\u09BE \u09A8\u09C7\u0987",
|
|
854
|
+
noDataTitle: "\u098F\u0996\u09A8\u09CB \u09A6\u09C7\u0996\u09BE\u09A8\u09CB\u09B0 \u09AE\u09A4\u09CB \u0995\u09BF\u099B\u09C1 \u09A8\u09C7\u0987",
|
|
855
|
+
noDataDescription: "\u0986\u09AA\u09A8\u09BE\u09B0 \u0985\u09CD\u09AF\u09BE\u0995\u09BE\u0989\u09A8\u09CD\u099F\u09C7\u09B0 \u09B8\u09BE\u09A5\u09C7 \u09B8\u09AE\u09CD\u09AA\u09B0\u09CD\u0995\u09BF\u09A4 \u0995\u09CB\u09A8\u09CB \u09B8\u09AE\u09CD\u09AE\u09A4\u09BF, \u0985\u09A8\u09C1\u09B0\u09CB\u09A7 \u09AC\u09BE \u0995\u09CD\u09B0\u09BF\u09AF\u09BC\u09BE\u0995\u09B2\u09BE\u09AA \u0986\u09AE\u09B0\u09BE \u098F\u0996\u09A8\u09CB \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0987\u09A8\u09BF\u0964 \u0989\u09AA\u09B2\u09AC\u09CD\u09A7 \u09B9\u0993\u09AF\u09BC\u09BE\u09B0 \u09B8\u09BE\u09A5\u09C7 \u09B8\u09BE\u09A5\u09C7\u0987 \u0986\u09AA\u09A8\u09BE\u09B0 \u0997\u09CB\u09AA\u09A8\u09C0\u09AF\u09BC\u09A4\u09BE \u09B0\u09C7\u0995\u09B0\u09CD\u09A1\u0997\u09C1\u09B2\u09BF \u098F\u0996\u09BE\u09A8\u09C7 \u09AA\u09CD\u09B0\u09A6\u09B0\u09CD\u09B6\u09BF\u09A4 \u09B9\u09AC\u09C7\u0964",
|
|
849
856
|
rowsPerPage: "\u09AA\u09CD\u09B0\u09A4\u09BF \u09AA\u09C3\u09B7\u09CD\u09A0\u09BE\u09AF\u09BC \u09B8\u09BE\u09B0\u09BF:",
|
|
850
857
|
pageOf: "\u09AA\u09C3\u09B7\u09CD\u09A0\u09BE {{current}} / {{total}}",
|
|
851
858
|
rowsSelected: "{{total}}-\u098F\u09B0 \u09AE\u09A7\u09CD\u09AF\u09C7 {{count}} \u09B8\u09BE\u09B0\u09BF \u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09BF\u09A4",
|
|
@@ -1157,6 +1164,8 @@ var translation_default4 = {
|
|
|
1157
1164
|
grievanceTypes: "\u0936\u093F\u0915\u093E\u092F\u0924 \u092A\u094D\u0930\u0915\u093E\u0930",
|
|
1158
1165
|
close: "\u092C\u0928\u094D\u0926 \u0915\u0930\u0940\u0902",
|
|
1159
1166
|
noData: "\u0915\u094B\u0928\u094B \u0921\u0947\u091F\u093E \u0928\u0948",
|
|
1167
|
+
noDataTitle: "\u0905\u092C\u0939\u0940\u0902 \u0926\u0947\u0916\u093E\u0935\u0947 \u0916\u093E\u0924\u093F\u0930 \u0915\u0941\u091B \u0928\u0907\u0916\u0947",
|
|
1168
|
+
noDataDescription: "\u0930\u0909\u0930\u093E \u0916\u093E\u0924\u093E \u0938\u0947 \u091C\u0941\u0921\u093C\u0932 \u0915\u0935\u0928\u094B \u0938\u0939\u092E\u0924\u093F, \u0905\u0928\u0941\u0930\u094B\u0927, \u092F\u093E \u0917\u0924\u093F\u0935\u093F\u0927\u093F \u0905\u092C\u0939\u0940\u0902 \u0924\u0915 \u0928\u093E \u092E\u093F\u0932\u0932\u0964 \u0930\u0909\u0930\u093E \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E \u0930\u093F\u0915\u0949\u0930\u094D\u0921 \u0909\u092A\u0932\u092C\u094D\u0927 \u0939\u094B\u0924\u0947 \u0908 \u0907\u0939\u093E\u0901 \u0926\u0947\u0916\u093E\u0908 \u0926\u093F\u0939\u0940\u0964",
|
|
1160
1169
|
rowsPerPage: "\u092A\u0943\u0937\u094D\u0920 \u092A\u094D\u0930\u0924\u093F \u092A\u0902\u0915\u094D\u0924\u093F:",
|
|
1161
1170
|
pageOf: "\u092A\u0943\u0937\u094D\u0920 {{current}} / {{total}}",
|
|
1162
1171
|
rowsSelected: "{{total}} \u092E\u0947\u0902 \u0938\u0947 {{count}} \u092A\u0902\u0915\u094D\u0924\u093F \u091A\u0941\u0928\u0932 \u0917\u0907\u0932",
|
|
@@ -1468,6 +1477,8 @@ var translation_default5 = {
|
|
|
1468
1477
|
grievanceTypes: "\u0917\u0941\u0928\u093E\u0938\u094B \u0925\u093E\u0916\u094B",
|
|
1469
1478
|
close: "\u092C\u0928\u094D\u0926 \u0916\u093E\u0932\u093E\u092E",
|
|
1470
1479
|
noData: "\u0921\u0947\u091F\u093E \u0928\u0902\u0917\u094C",
|
|
1480
|
+
noDataTitle: "\u0926\u093E\u0928\u094B \u0926\u093F\u0928\u0925\u093F\u0928\u094B \u0925\u093E\u0916\u093E\u092F \u091C\u0947\u092C\u094B \u0917\u0948\u092F\u093E",
|
|
1481
|
+
noDataDescription: "\u0926\u093E\u0928\u094B \u0938\u092E \u0928\u094B\u0902\u0925\u093E\u0902\u0928\u093F \u090F\u0915\u093E\u0909\u0928\u094D\u091F\u091C\u094B\u0902 \u0938\u094B\u092E\u094B\u0928\u094D\u0926\u094B \u0925\u093E\u0928\u093E\u092F \u091C\u0947\u092C\u094B \u0938\u0939\u092E\u0924\u093F, \u0939\u093E\u092C\u093E\u092F \u090F\u092C\u093E \u0916\u093E\u092E\u093E\u0928\u093F \u091C\u094B\u0902 \u092E\u094B\u0928\u0928\u094B \u0939\u093E\u092F\u093E\u0916\u0948\u0964 \u0928\u094B\u0902\u0925\u093E\u0902\u0928\u093F \u0917\u094B\u092A\u0928\u0940\u092F\u0925\u093E \u0930\u093F\u0915\u0930\u094D\u0921\u092B\u094B\u0930 \u092E\u094B\u0928\u0928\u094B \u0939\u093E\u0928\u093E\u092F \u092C\u093E\u0926\u093F \u092C\u0947\u092F\u093E\u0935\u0928\u094B \u0926\u093F\u0928\u0925\u093F\u091C\u093E\u0917\u094B\u0928\u0964",
|
|
1471
1482
|
rowsPerPage: "\u092A\u0943\u0937\u094D\u0920\u0928\u093F \u092A\u0902\u0915\u094D\u0924\u093F:",
|
|
1472
1483
|
pageOf: "\u092A\u0943\u0937\u094D\u0920 {{current}} / {{total}}",
|
|
1473
1484
|
rowsSelected: "{{total}} \u0928\u093F\u092B\u094D\u0930\u093E\u092F {{count}} \u092A\u0902\u0915\u094D\u0924\u093F \u0938\u093E\u092F\u0916 '\u0916\u0948",
|
|
@@ -1779,6 +1790,8 @@ var translation_default6 = {
|
|
|
1779
1790
|
grievanceTypes: "\u0936\u093F\u0915\u093E\u092F\u0924 \u092A\u094D\u0930\u0915\u093E\u0930",
|
|
1780
1791
|
close: "\u092C\u0902\u0926 \u0915\u0930\u094B",
|
|
1781
1792
|
noData: "\u0915\u094B\u0928\u094B \u0921\u0947\u091F\u093E \u0928\u0948",
|
|
1793
|
+
noDataTitle: "\u0905\u091C\u0947\u0902 \u0926\u093F\u0915\u094D\u0916\u093E\u0928\u0947 \u0906\u0938\u094D\u0924\u0948 \u0915\u093F\u091B \u0928\u0947\u0908\u0902",
|
|
1794
|
+
noDataDescription: "\u0924\u0941\u0902\u0926\u0947 \u0916\u093E\u0924\u0947 \u0915\u0928\u094D\u0928\u0948 \u091C\u0941\u0921\u093C\u0940 \u0926\u0940 \u0915\u094B\u0908 \u092C\u0940 \u0938\u0939\u092E\u0924\u093F, \u092C\u0947\u0928\u0924\u0940 \u091C\u093E\u0902 \u0917\u0924\u093F\u0935\u093F\u0927\u093F \u0905\u091C\u0947\u0902 \u0924\u0915 \u0928\u0947\u0908\u0902 \u092E\u093F\u0932\u0940\u0964 \u0924\u0941\u0902\u0926\u0947 \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E \u0930\u093F\u0915\u0949\u0930\u094D\u0921 \u0909\u092A\u0932\u092C\u094D\u0927 \u0939\u094B\u0902\u0926\u0947 \u0917\u0948 \u0907\u0924\u094D\u0925\u0947\u0902 \u0926\u093F\u0915\u094D\u0916\u0928\u0947 \u0917\u0940 \u092E\u093F\u0932\u0919\u0928\u0964",
|
|
1782
1795
|
rowsPerPage: "\u092A\u0943\u0937\u094D\u0920 \u092A\u094D\u0930\u0924\u093F \u092A\u0902\u0915\u094D\u0924\u093F:",
|
|
1783
1796
|
pageOf: "\u092A\u0943\u0937\u094D\u0920 {{current}} / {{total}}",
|
|
1784
1797
|
rowsSelected: "{{total}} \u092E\u0927\u094D\u092F\u0947 {{count}} \u092A\u0902\u0915\u094D\u0924\u093F \u091A\u0941\u0928\u0932 \u0917\u0947\u0932",
|
|
@@ -2090,6 +2103,8 @@ var translation_default7 = {
|
|
|
2090
2103
|
grievanceTypes: "\u0924\u0915\u094D\u0930\u093E\u0930 \u092A\u094D\u0930\u0915\u093E\u0930",
|
|
2091
2104
|
close: "\u092C\u0902\u0926 \u0915\u0930\u093E\u0924",
|
|
2092
2105
|
noData: "\u0921\u0947\u091F\u093E \u0928\u093E",
|
|
2106
|
+
noDataTitle: "\u0905\u091C\u0942\u0928 \u0926\u093E\u0916\u094B\u0935\u092A\u093E\u0915 \u0915\u093E\u0902\u092F \u0928\u093E",
|
|
2107
|
+
noDataDescription: "\u0924\u0941\u092E\u091A\u094D\u092F\u093E \u0916\u093E\u0924\u094D\u092F\u093E\u0915\u0921\u0947\u0928 \u091C\u094B\u0921\u093F\u0932\u094D\u0932\u0940 \u0915\u0938\u0932\u0940\u091A \u0938\u0902\u092E\u0924\u0940, \u092E\u093E\u0917\u0923\u094D\u092F\u094B \u0935\u093E \u0915\u0943\u0924\u0940 \u0906\u092E\u0915\u093E\u0902 \u0905\u091C\u0942\u0928 \u092E\u0947\u0933\u0942\u0902\u0915 \u0928\u093E\u0924. \u0909\u092A\u0932\u092C\u094D\u0927 \u091C\u093E\u0924\u0915\u091A \u0924\u0941\u092E\u091A\u094D\u092F\u094B \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E \u0928\u094B\u0902\u0926\u0940 \u0939\u093E\u0902\u0917\u093E \u0926\u093F\u0938\u0924\u0932\u094D\u092F\u094B.",
|
|
2093
2108
|
rowsPerPage: "\u092A\u093E\u0928\u093E\u0915 \u092A\u0902\u0915\u094D\u0924\u0940:",
|
|
2094
2109
|
pageOf: "\u092A\u093E\u0928 {{current}} / {{total}}",
|
|
2095
2110
|
rowsSelected: "{{total}} \u092E\u0927\u094D\u092F\u0947 {{count}} \u092A\u0902\u0915\u094D\u0924\u0940 \u0928\u093F\u0935\u0921\u0932\u0940",
|
|
@@ -2401,6 +2416,8 @@ var translation_default8 = {
|
|
|
2401
2416
|
grievanceTypes: "\u0AAB\u0AB0\u0ABF\u0AAF\u0ABE\u0AA6 \u0AAA\u0ACD\u0AB0\u0A95\u0ABE\u0AB0\u0ACB",
|
|
2402
2417
|
close: "\u0AAC\u0A82\u0AA7 \u0A95\u0AB0\u0ACB",
|
|
2403
2418
|
noData: "\u0AA1\u0AC7\u0A9F\u0ABE \u0AA8\u0AA5\u0AC0",
|
|
2419
|
+
noDataTitle: "\u0AB9\u0A9C\u0AC1 \u0AB8\u0AC1\u0AA7\u0AC0 \u0AAC\u0AA4\u0ABE\u0AB5\u0AB5\u0ABE \u0AAE\u0ABE\u0A9F\u0AC7 \u0A95\u0A82\u0A88 \u0AA8\u0AA5\u0AC0",
|
|
2420
|
+
noDataDescription: "\u0AA4\u0AAE\u0ABE\u0AB0\u0ABE \u0A96\u0ABE\u0AA4\u0ABE \u0AB8\u0ABE\u0AA5\u0AC7 \u0A9C\u0ACB\u0AA1\u0ABE\u0AAF\u0AC7\u0AB2\u0AC0 \u0A95\u0ACB\u0A88 \u0AB8\u0A82\u0AAE\u0AA4\u0ABF\u0A93, \u0AB5\u0ABF\u0AA8\u0A82\u0AA4\u0AC0\u0A93 \u0A85\u0AA5\u0AB5\u0ABE \u0AAA\u0ACD\u0AB0\u0AB5\u0AC3\u0AA4\u0ACD\u0AA4\u0ABF \u0A85\u0AAE\u0AA8\u0AC7 \u0AB9\u0A9C\u0AC1 \u0AB8\u0AC1\u0AA7\u0AC0 \u0AAE\u0AB3\u0AC0 \u0AA8\u0AA5\u0AC0. \u0AA4\u0AAE\u0ABE\u0AB0\u0ABE \u0A97\u0ACB\u0AAA\u0AA8\u0AC0\u0AAF\u0AA4\u0ABE \u0AB0\u0AC7\u0A95\u0ACB\u0AB0\u0ACD\u0AA1 \u0A89\u0AAA\u0AB2\u0AAC\u0ACD\u0AA7 \u0AA5\u0AA4\u0ABE\u0A82 \u0A9C \u0A85\u0AB9\u0AC0\u0A82 \u0AA6\u0AC7\u0A96\u0ABE\u0AB6\u0AC7.",
|
|
2404
2421
|
rowsPerPage: "\u0AA6\u0AB0 \u0AAA\u0AC3\u0AB7\u0ACD\u0AA0 \u0AAA\u0A82\u0A95\u0ACD\u0AA4\u0ABF\u0A93:",
|
|
2405
2422
|
pageOf: "\u0AAA\u0AC3\u0AB7\u0ACD\u0AA0 {{current}} / {{total}}",
|
|
2406
2423
|
rowsSelected: "{{total}} \u0AAE\u0ABE\u0A82\u0AA5\u0AC0 {{count}} \u0AAA\u0A82\u0A95\u0ACD\u0AA4\u0ABF \u0AAA\u0AB8\u0A82\u0AA6",
|
|
@@ -2712,6 +2729,8 @@ var translation_default9 = {
|
|
|
2712
2729
|
grievanceTypes: "\u0936\u093F\u0915\u093E\u092F\u0924 \u092A\u094D\u0930\u0915\u093E\u0930",
|
|
2713
2730
|
close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
|
|
2714
2731
|
noData: "\u0915\u094B\u0908 \u0921\u0947\u091F\u093E \u0928\u0939\u0940\u0902",
|
|
2732
|
+
noDataTitle: "\u0905\u092D\u0940 \u0926\u093F\u0916\u093E\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0915\u0941\u091B \u0928\u0939\u0940\u0902",
|
|
2733
|
+
noDataDescription: "\u0939\u092E\u0947\u0902 \u0905\u092D\u0940 \u0924\u0915 \u0906\u092A\u0915\u0947 \u0916\u093E\u0924\u0947 \u0938\u0947 \u091C\u0941\u0921\u093C\u0940 \u0915\u094B\u0908 \u0938\u0939\u092E\u0924\u093F, \u0905\u0928\u0941\u0930\u094B\u0927 \u092F\u093E \u0917\u0924\u093F\u0935\u093F\u0927\u093F \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u0940\u0964 \u0909\u092A\u0932\u092C\u094D\u0927 \u0939\u094B\u0924\u0947 \u0939\u0940 \u0906\u092A\u0915\u0947 \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E \u0930\u093F\u0915\u0949\u0930\u094D\u0921 \u092F\u0939\u093E\u0901 \u0926\u093F\u0916\u093E\u0908 \u0926\u0947\u0902\u0917\u0947\u0964",
|
|
2715
2734
|
rowsPerPage: "\u092A\u094D\u0930\u0924\u093F \u092A\u0943\u0937\u094D\u0920 \u092A\u0902\u0915\u094D\u0924\u093F\u092F\u093E\u0901:",
|
|
2716
2735
|
pageOf: "\u092A\u0943\u0937\u094D\u0920 {{current}} / {{total}}",
|
|
2717
2736
|
rowsSelected: "\u0915\u0941\u0932 {{total}} \u092E\u0947\u0902 \u0938\u0947 {{count}} \u092A\u0902\u0915\u094D\u0924\u093F\u092F\u093E\u0901 \u091A\u092F\u0928\u093F\u0924",
|
|
@@ -3023,6 +3042,8 @@ var translation_default10 = {
|
|
|
3023
3042
|
grievanceTypes: "\u0CAA\u0CB0\u0CBE\u0CA4\u0CBF \u0CB5\u0CBF\u0CA7\u0C97\u0CB3\u0CC1",
|
|
3024
3043
|
close: "\u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CBF",
|
|
3025
3044
|
noData: "\u0CA1\u0CC7\u0C9F\u0CBE \u0C87\u0CB2\u0CCD\u0CB2",
|
|
3045
|
+
noDataTitle: "\u0C87\u0CA8\u0CCD\u0CA8\u0CC2 \u0CA4\u0CCB\u0CB0\u0CBF\u0CB8\u0CB2\u0CC1 \u0C8F\u0CA8\u0CC2 \u0C87\u0CB2\u0CCD\u0CB2",
|
|
3046
|
+
noDataDescription: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0C96\u0CBE\u0CA4\u0CC6\u0C97\u0CC6 \u0CB8\u0C82\u0CAC\u0C82\u0CA7\u0CBF\u0CB8\u0CBF\u0CA6 \u0CAF\u0CBE\u0CB5\u0CC1\u0CA6\u0CC7 \u0CB8\u0CAE\u0CCD\u0CAE\u0CA4\u0CBF\u0C97\u0CB3\u0CC1, \u0CB5\u0CBF\u0CA8\u0C82\u0CA4\u0CBF\u0C97\u0CB3\u0CC1 \u0C85\u0CA5\u0CB5\u0CBE \u0C9A\u0C9F\u0CC1\u0CB5\u0C9F\u0CBF\u0C95\u0CC6 \u0CA8\u0CAE\u0C97\u0CC6 \u0C87\u0CA8\u0CCD\u0CA8\u0CC2 \u0C95\u0C82\u0CA1\u0CC1\u0CAC\u0C82\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2. \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0C97\u0CCC\u0CAA\u0CCD\u0CAF\u0CA4\u0CBE \u0CA6\u0CBE\u0C96\u0CB2\u0CC6\u0C97\u0CB3\u0CC1 \u0CB2\u0CAD\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0CA4\u0C95\u0CCD\u0CB7\u0CA3 \u0C85\u0CB5\u0CC1 \u0C87\u0CB2\u0CCD\u0CB2\u0CBF \u0C97\u0CCB\u0C9A\u0CB0\u0CBF\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CB5\u0CC6.",
|
|
3026
3047
|
rowsPerPage: "\u0CAA\u0CC1\u0C9F\u0C95\u0CCD\u0C95\u0CC6 \u0CB8\u0CBE\u0CB2\u0CC1\u0C97\u0CB3\u0CC1:",
|
|
3027
3048
|
pageOf: "\u0CAA\u0CC1\u0C9F {{current}} / {{total}}",
|
|
3028
3049
|
rowsSelected: "{{total}} \u0CB0\u0CB2\u0CCD\u0CB2\u0CBF {{count}} \u0CB8\u0CBE\u0CB2\u0CC1 \u0C86\u0CAF\u0CCD\u0C95\u0CC6\u0CAE\u0CBE\u0CA1\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6",
|
|
@@ -3334,6 +3355,8 @@ var translation_default11 = {
|
|
|
3334
3355
|
grievanceTypes: "\u0634\u06A9\u0627\u06CC\u062A \u0642\u0633\u0645",
|
|
3335
3356
|
close: "\u0628\u0646\u062F \u06A9\u0631\u0648",
|
|
3336
3357
|
noData: "\u0688\u06CC\u0679\u0627 \u06A9\u0627\u0646\u06C1\u06C1",
|
|
3358
|
+
noDataTitle: "\u0627\u0628\u0655 \u062A\u0627\u0645 \u06C1\u0627\u0648\u064F\u0646 \u062E\u0672\u0637\u0631\u0655 \u06A9\u0627\u0646\u065B\u06C1\u06C1 \u0646\u0655",
|
|
3359
|
+
noDataDescription: "\u0627\u0633\u06C1\u0650 \u062A\u064F\u06C1\u0646\u065B\u062F\u0650 \u0627\u06A9\u0627\u0624\u0646\u0679\u064E\u0633 \u0633\u0655\u062A\u06CD \u062C\u064F\u0691\u0655\u0645\u0655\u0698 \u06A9\u0627\u0646\u065B\u06C1\u06C1\u0650 \u0631\u0636\u0627\u0645\u0646\u062F\u06CC\u060C \u062F\u0631\u062E\u0648\u0627\u0633\u062A\u0655 \u06CC\u0627 \u0633\u0631\u06AF\u0631\u0645\u06CC \u0627\u0628\u0655 \u062A\u0627\u0645 \u0646\u0655 \u0644\u064E\u0628\u06D4 \u062A\u064F\u06C1\u0646\u065B\u062F \u0631\u0627\u0632\u062F\u0627\u0631\u06CC \u0631\u06CC\u06A9\u0627\u0631\u0688 \u06CC\u06C1\u0650 \u062F\u0633\u062A\u06CC\u0627\u0628 \u0633\u067E\u062F\u0650\u062A\u06BE \u06CC\u0650\u062A\u06C1\u0650 \u06A9\u0646\u06C1\u0650 \u0648\u064F\u0686\u06BE\u0646\u06C1\u0655 \u06CC\u0650\u06CC\u0650\u06C1\u0655\u06D4",
|
|
3337
3360
|
rowsPerPage: "\u0635\u0641\u062D\u06C1 \u0641\u06CC \u0642\u0637\u0627\u0631\u0627\u06BA:",
|
|
3338
3361
|
pageOf: "\u0635\u0641\u062D\u06C1 {{current}} / {{total}}",
|
|
3339
3362
|
rowsSelected: "{{total}} \u0645\u0646\u0632 {{count}} \u0642\u0637\u0627\u0631 \u0686\u064F\u0646\u0650\u062A",
|
|
@@ -3645,6 +3668,8 @@ var translation_default12 = {
|
|
|
3645
3668
|
grievanceTypes: "\u0936\u093F\u0915\u093E\u092F\u0924 \u092A\u094D\u0930\u0915\u093E\u0930",
|
|
3646
3669
|
close: "\u092C\u0928\u094D\u0926 \u0915\u0930\u0942",
|
|
3647
3670
|
noData: "\u0915\u094B\u0928\u094B \u0921\u0947\u091F\u093E \u0928\u0948",
|
|
3671
|
+
noDataTitle: "\u0905\u0916\u0928 \u0924\u0915 \u0926\u0947\u0916\u093E\u092C\u092F \u0932\u0947\u0932 \u0915\u093F\u091B\u0941 \u0928\u0939\u093F",
|
|
3672
|
+
noDataDescription: "\u0905\u0939\u093E\u0901\u0915 \u0916\u093E\u0924\u093E \u0938\u0901 \u091C\u0941\u0921\u093C\u0932 \u0915\u094B\u0928\u094B \u0938\u0939\u092E\u0924\u093F, \u0905\u0928\u0941\u0930\u094B\u0927, \u0935\u093E \u0917\u0924\u093F\u0935\u093F\u0927\u093F \u0905\u0916\u0928 \u0924\u0915 \u0928\u0939\u093F \u092D\u0947\u091F\u0932\u0964 \u0909\u092A\u0932\u092C\u094D\u0927 \u0939\u094B\u0907\u0924\u0947 \u0905\u0939\u093E\u0901\u0915 \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E \u0930\u093F\u0915\u0949\u0930\u094D\u0921 \u090F\u0924\u092F \u0926\u0947\u0916\u093E\u090F\u0924\u0964",
|
|
3648
3673
|
rowsPerPage: "\u092A\u0943\u0937\u094D\u0920 \u092A\u094D\u0930\u0924\u093F \u092A\u0902\u0915\u094D\u0924\u093F:",
|
|
3649
3674
|
pageOf: "\u092A\u0943\u0937\u094D\u0920 {{current}} / {{total}}",
|
|
3650
3675
|
rowsSelected: "{{total}} \u092E\u0927\u094D\u092F\u0947 {{count}} \u092A\u0902\u0915\u094D\u0924\u093F \u091A\u0941\u0928\u0932 \u0917\u0947\u0932",
|
|
@@ -3956,6 +3981,8 @@ var translation_default13 = {
|
|
|
3956
3981
|
grievanceTypes: "\u0D2A\u0D30\u0D3E\u0D24\u0D3F \u0D24\u0D30\u0D19\u0D4D\u0D19\u0D7E",
|
|
3957
3982
|
close: "\u0D05\u0D1F\u0D2F\u0D4D\u0D15\u0D4D\u0D15\u0D41\u0D15",
|
|
3958
3983
|
noData: "\u0D21\u0D3E\u0D31\u0D4D\u0D31\u0D2F\u0D3F\u0D32\u0D4D\u0D32",
|
|
3984
|
+
noDataTitle: "\u0D07\u0D24\u0D41\u0D35\u0D30\u0D46 \u0D15\u0D3E\u0D23\u0D3F\u0D15\u0D4D\u0D15\u0D3E\u0D7B \u0D12\u0D28\u0D4D\u0D28\u0D41\u0D2E\u0D3F\u0D32\u0D4D\u0D32",
|
|
3985
|
+
noDataDescription: "\u0D28\u0D3F\u0D19\u0D4D\u0D19\u0D33\u0D41\u0D1F\u0D46 \u0D05\u0D15\u0D4D\u0D15\u0D57\u0D23\u0D4D\u0D1F\u0D41\u0D2E\u0D3E\u0D2F\u0D3F \u0D2C\u0D28\u0D4D\u0D27\u0D3F\u0D2A\u0D4D\u0D2A\u0D3F\u0D1A\u0D4D\u0D1A \u0D38\u0D2E\u0D4D\u0D2E\u0D24\u0D19\u0D4D\u0D19\u0D33\u0D4B \u0D05\u0D2D\u0D4D\u0D2F\u0D7C\u0D24\u0D4D\u0D25\u0D28\u0D15\u0D33\u0D4B \u0D2A\u0D4D\u0D30\u0D35\u0D43\u0D24\u0D4D\u0D24\u0D3F\u0D2F\u0D4B \u0D07\u0D24\u0D41\u0D35\u0D30\u0D46 \u0D1E\u0D19\u0D4D\u0D19\u0D7E\u0D15\u0D4D\u0D15\u0D4D \u0D15\u0D23\u0D4D\u0D1F\u0D46\u0D24\u0D4D\u0D24\u0D3E\u0D28\u0D3E\u0D2F\u0D3F\u0D32\u0D4D\u0D32. \u0D28\u0D3F\u0D19\u0D4D\u0D19\u0D33\u0D41\u0D1F\u0D46 \u0D38\u0D4D\u0D35\u0D15\u0D3E\u0D30\u0D4D\u0D2F\u0D24\u0D3E \u0D30\u0D47\u0D16\u0D15\u0D7E \u0D32\u0D2D\u0D4D\u0D2F\u0D2E\u0D3E\u0D15\u0D41\u0D2E\u0D4D\u0D2A\u0D4B\u0D7E \u0D05\u0D35 \u0D07\u0D35\u0D3F\u0D1F\u0D46 \u0D26\u0D43\u0D36\u0D4D\u0D2F\u0D2E\u0D3E\u0D15\u0D41\u0D02.",
|
|
3959
3986
|
rowsPerPage: "\u0D2A\u0D47\u0D1C\u0D3F\u0D28\u0D4D \u0D35\u0D30\u0D3F\u0D15\u0D7E:",
|
|
3960
3987
|
pageOf: "\u0D2A\u0D47\u0D1C\u0D4D {{current}} / {{total}}",
|
|
3961
3988
|
rowsSelected: "{{total}}-\u0D7D {{count}} \u0D35\u0D30\u0D3F \u0D24\u0D3F\u0D30\u0D1E\u0D4D\u0D1E\u0D46\u0D1F\u0D41\u0D24\u0D4D\u0D24\u0D41",
|
|
@@ -4267,6 +4294,8 @@ var translation_default14 = {
|
|
|
4267
4294
|
grievanceTypes: "\uABC1\uABE4\uABD5\uABD2\uABE4 \uABC4\uABE3\uABE0\uABC1\uABE4\uABE1",
|
|
4268
4295
|
close: "\uABC1\uABE5\uABD5",
|
|
4269
4296
|
noData: "\uABD7\uABE6\uABC7\uABE5 \uABC2\uABE9\uABC7\uABE6",
|
|
4297
|
+
noDataTitle: "\uABCD\uABE7\uABD6\uABE4\uABDB \uABD0\uABE5\uABCE\uABD5 \uABCE\uABE0\uABC5\uABD5 \uABC0\uABD4\uABE4\uABC1\uABE8 \uABC2\uABE9\uABC7\uABE6",
|
|
4298
|
+
noDataDescription: "\uABCD\uABE7\uABD6\uABE4\uABDB \uABD0\uABE5\uABCE\uABD5 \uABD1\uABD7\uABE3\uABDD\uABD2\uABE4 \uABD1\uABC0\uABE5\uABCE\uABDF\uABC7\uABC0 \uABC1\uABDD\uABC5\uABD7\uABE8\uABC5 \uABC0\uABC5\uABC1\uABE6\uABDF\uABC7, \uABCD\uABE7\uABD4\uABDB\uABD0\uABDD, \uABC5\uABE0\uABC7\uABED\uABD4\uABD2 \uABC8\uABE8\uABD7\uABDD\uABD5\uABE4\uABE0 \uABD1\uABC3\uABE0\uABC7 \uABD0\uABEA\uABD7\uABD4\uABE6\uABEB \uABD1\uABD7\uABE3\uABDD\uABD2\uABE4 \uABC4\uABED\uABD4\uABE5\uABCF\uABDA\uABE6\uABC1\uABE4 \uABD4\uABE4\uABC0\uABE3\uABD4\uABD7\uABC1\uABE4\uABE1 \uABD0\uABEA\uABC2\uABDB\uABC4 \uABC3\uABC7\uABC3\uABD7 \uABC3\uABD0\uABDD \uABD1\uABC1\uABE4\uABD7 \uABCE\uABD4\uABDB\uABC0\uABC5\uABE4\uABEB",
|
|
4270
4299
|
rowsPerPage: "\uABC2\uABE6\uABE1\uABD2\uABE4 \uABC3\uABD4\uABE8\uABD1\uABE3\uABCF\uABD5:",
|
|
4271
4300
|
pageOf: "\uABC2\uABE6\uABE1 {{current}} / {{total}}",
|
|
4272
4301
|
rowsSelected: "{{total}} \uABD2\uABE4 \uABC3\uABD4\uABE8\uABD1\uABE3\uABCF\uABD5 {{count}} \uABC1\uABE4\uABC4 \uABC8\uABE8\uABDF\uABC1\uABE5\uABD6\uABC8\uABD4\uABE6",
|
|
@@ -4578,6 +4607,8 @@ var translation_default15 = {
|
|
|
4578
4607
|
grievanceTypes: "\u0924\u0915\u094D\u0930\u093E\u0930 \u092A\u094D\u0930\u0915\u093E\u0930",
|
|
4579
4608
|
close: "\u092C\u0902\u0926 \u0915\u0930\u093E",
|
|
4580
4609
|
noData: "\u0921\u0947\u091F\u093E \u0928\u093E\u0939\u0940",
|
|
4610
|
+
noDataTitle: "\u0905\u0926\u094D\u092F\u093E\u092A \u0926\u093E\u0916\u0935\u0923\u094D\u092F\u093E\u0938\u093E\u0930\u0916\u0947 \u0915\u093E\u0939\u0940 \u0928\u093E\u0939\u0940",
|
|
4611
|
+
noDataDescription: "\u0924\u0941\u092E\u091A\u094D\u092F\u093E \u0916\u093E\u0924\u094D\u092F\u093E\u0936\u0940 \u0938\u0902\u092C\u0902\u0927\u093F\u0924 \u0915\u094B\u0923\u0924\u094D\u092F\u093E\u0939\u0940 \u0938\u0902\u092E\u0924\u0940, \u0935\u093F\u0928\u0902\u0924\u094D\u092F\u093E \u0915\u093F\u0902\u0935\u093E \u0915\u094D\u0930\u093F\u092F\u093E\u0915\u0932\u093E\u092A \u0905\u0926\u094D\u092F\u093E\u092A \u0906\u092E\u094D\u0939\u093E\u0932\u093E \u0906\u0922\u0933\u0932\u0947 \u0928\u093E\u0939\u0940\u0924. \u0909\u092A\u0932\u092C\u094D\u0927 \u0939\u094B\u0924\u093E\u091A \u0924\u0941\u092E\u091A\u094D\u092F\u093E \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E \u0928\u094B\u0902\u0926\u0940 \u092F\u0947\u0925\u0947 \u0926\u093F\u0938\u0924\u0940\u0932.",
|
|
4581
4612
|
rowsPerPage: "\u092A\u094D\u0930\u0924\u093F \u092A\u0943\u0937\u094D\u0920 \u092A\u0902\u0915\u094D\u0924\u0940:",
|
|
4582
4613
|
pageOf: "\u092A\u0943\u0937\u094D\u0920 {{current}} / {{total}}",
|
|
4583
4614
|
rowsSelected: "{{total}} \u092A\u0948\u0915\u0940 {{count}} \u092A\u0902\u0915\u094D\u0924\u0940 \u0928\u093F\u0935\u0921\u0932\u0940",
|
|
@@ -4889,6 +4920,8 @@ var translation_default16 = {
|
|
|
4889
4920
|
grievanceTypes: "\u0917\u0941\u0928\u093E\u0938\u094B \u092A\u094D\u0930\u0915\u093E\u0930\u0939\u0930\u0942",
|
|
4890
4921
|
close: "\u092C\u0928\u094D\u0926 \u0917\u0930\u094D\u0928\u0941\u0939\u094B\u0938\u094D",
|
|
4891
4922
|
noData: "\u0921\u0947\u091F\u093E \u091B\u0948\u0928",
|
|
4923
|
+
noDataTitle: "\u0905\u0939\u093F\u0932\u0947\u0938\u092E\u094D\u092E \u0926\u0947\u0916\u093E\u0909\u0928\u0947 \u0915\u0947\u0939\u0940 \u091B\u0948\u0928",
|
|
4924
|
+
noDataDescription: "\u0924\u092A\u093E\u0908\u0902\u0915\u094B \u0916\u093E\u0924\u093E\u0938\u0901\u0917 \u091C\u094B\u0921\u093F\u090F\u0915\u093E \u0915\u0941\u0928\u0948 \u0938\u0939\u092E\u0924\u093F, \u0905\u0928\u0941\u0930\u094B\u0927 \u0935\u093E \u0917\u0924\u093F\u0935\u093F\u0927\u093F \u0939\u093E\u092E\u0940\u0932\u0947 \u0905\u0939\u093F\u0932\u0947\u0938\u092E\u094D\u092E \u092B\u0947\u0932\u093E \u092A\u093E\u0930\u0947\u0928\u094C\u0902\u0964 \u0909\u092A\u0932\u092C\u094D\u0927 \u092D\u090F\u092A\u091B\u093F \u0924\u092A\u093E\u0908\u0902\u0915\u093E \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E \u0930\u0947\u0915\u0930\u094D\u0921\u0939\u0930\u0942 \u092F\u0939\u093E\u0901 \u0926\u0947\u0916\u093F\u0928\u0947\u091B\u0928\u094D\u0964",
|
|
4892
4925
|
rowsPerPage: "\u092A\u0943\u0937\u094D\u0920 \u092A\u094D\u0930\u0924\u093F \u092A\u0919\u094D\u0915\u094D\u0924\u093F\u0939\u0930\u0942:",
|
|
4893
4926
|
pageOf: "\u092A\u0943\u0937\u094D\u0920 {{current}} / {{total}}",
|
|
4894
4927
|
rowsSelected: "{{total}} \u092E\u0927\u094D\u092F\u0947 {{count}} \u092A\u0919\u094D\u0915\u094D\u0924\u093F \u091A\u092F\u0928 \u0917\u0930\u093F\u092F\u094B",
|
|
@@ -5200,6 +5233,8 @@ var translation_default17 = {
|
|
|
5200
5233
|
grievanceTypes: "\u0B05\u0B2D\u0B3F\u0B2F\u0B4B\u0B17 \u0B2A\u0B4D\u0B30\u0B15\u0B3E\u0B30",
|
|
5201
5234
|
close: "\u0B2C\u0B28\u0B4D\u0B26 \u0B15\u0B30\u0B28\u0B4D\u0B24\u0B41",
|
|
5202
5235
|
noData: "\u0B24\u0B25\u0B4D\u0B5F \u0B28\u0B3E\u0B39\u0B3F\u0B01",
|
|
5236
|
+
noDataTitle: "\u0B0F\u0B2A\u0B30\u0B4D\u0B2F\u0B4D\u0B5F\u0B28\u0B4D\u0B24 \u0B26\u0B47\u0B16\u0B3E\u0B07\u0B2C\u0B3E\u0B15\u0B41 \u0B15\u0B3F\u0B1B\u0B3F \u0B28\u0B3E\u0B39\u0B3F\u0B01",
|
|
5237
|
+
noDataDescription: "\u0B06\u0B2A\u0B23\u0B19\u0B4D\u0B15 \u0B06\u0B15\u0B3E\u0B09\u0B23\u0B4D\u0B1F \u0B38\u0B39\u0B3F\u0B24 \u0B38\u0B02\u0B2F\u0B41\u0B15\u0B4D\u0B24 \u0B15\u0B4C\u0B23\u0B38\u0B3F \u0B38\u0B2E\u0B4D\u0B2E\u0B24\u0B3F, \u0B05\u0B28\u0B41\u0B30\u0B4B\u0B27 \u0B15\u0B3F\u0B2E\u0B4D\u0B2C\u0B3E \u0B15\u0B3E\u0B30\u0B4D\u0B2F\u0B4D\u0B5F\u0B15\u0B33\u0B3E\u0B2A \u0B06\u0B2E\u0B47 \u0B0F\u0B2A\u0B30\u0B4D\u0B2F\u0B4D\u0B5F\u0B28\u0B4D\u0B24 \u0B2A\u0B3E\u0B07\u0B32\u0B41 \u0B28\u0B3E\u0B39\u0B3F\u0B01\u0964 \u0B09\u0B2A\u0B32\u0B2C\u0B4D\u0B27 \u0B39\u0B47\u0B2C\u0B3E \u0B2E\u0B3E\u0B24\u0B4D\u0B30\u0B47 \u0B06\u0B2A\u0B23\u0B19\u0B4D\u0B15 \u0B17\u0B4B\u0B2A\u0B28\u0B40\u0B5F\u0B24\u0B3E \u0B30\u0B47\u0B15\u0B30\u0B4D\u0B21 \u0B0F\u0B20\u0B3E\u0B30\u0B47 \u0B26\u0B47\u0B16\u0B3E\u0B2F\u0B3F\u0B2C\u0964",
|
|
5203
5238
|
rowsPerPage: "\u0B2A\u0B43\u0B37\u0B4D\u0B20\u0B3E\u0B15\u0B41 \u0B27\u0B3E\u0B21\u0B3C\u0B3F:",
|
|
5204
5239
|
pageOf: "\u0B2A\u0B43\u0B37\u0B4D\u0B20\u0B3E {{current}} / {{total}}",
|
|
5205
5240
|
rowsSelected: "{{total}} \u0B30\u0B41 {{count}} \u0B27\u0B3E\u0B21\u0B3C\u0B3F \u0B2C\u0B3E\u0B1B\u0B3F\u0B32\u0B47",
|
|
@@ -5511,6 +5546,8 @@ var translation_default18 = {
|
|
|
5511
5546
|
grievanceTypes: "\u0A38\u0A3C\u0A3F\u0A15\u0A3E\u0A07\u0A24 \u0A15\u0A3F\u0A38\u0A2E\u0A3E\u0A02",
|
|
5512
5547
|
close: "\u0A2C\u0A70\u0A26 \u0A15\u0A30\u0A4B",
|
|
5513
5548
|
noData: "\u0A15\u0A4B\u0A08 \u0A21\u0A47\u0A1F\u0A3E \u0A28\u0A39\u0A40\u0A02",
|
|
5549
|
+
noDataTitle: "\u0A05\u0A1C\u0A47 \u0A26\u0A3F\u0A16\u0A3E\u0A09\u0A23 \u0A32\u0A08 \u0A15\u0A41\u0A1D \u0A28\u0A39\u0A40\u0A02",
|
|
5550
|
+
noDataDescription: "\u0A05\u0A38\u0A40\u0A02 \u0A24\u0A41\u0A39\u0A3E\u0A21\u0A47 \u0A16\u0A3E\u0A24\u0A47 \u0A28\u0A3E\u0A32 \u0A1C\u0A41\u0A5C\u0A40 \u0A15\u0A4B\u0A08 \u0A38\u0A39\u0A3F\u0A2E\u0A24\u0A40, \u0A2C\u0A47\u0A28\u0A24\u0A40 \u0A1C\u0A3E\u0A02 \u0A17\u0A24\u0A40\u0A35\u0A3F\u0A27\u0A40 \u0A05\u0A1C\u0A47 \u0A28\u0A39\u0A40\u0A02 \u0A32\u0A71\u0A2D \u0A38\u0A15\u0A47\u0964 \u0A24\u0A41\u0A39\u0A3E\u0A21\u0A47 \u0A17\u0A4B\u0A2A\u0A28\u0A40\u0A2F\u0A24\u0A3E \u0A30\u0A3F\u0A15\u0A3E\u0A30\u0A21 \u0A09\u0A2A\u0A32\u0A2C\u0A27 \u0A39\u0A41\u0A70\u0A26\u0A47 \u0A39\u0A40 \u0A07\u0A71\u0A25\u0A47 \u0A26\u0A3F\u0A16\u0A3E\u0A08 \u0A26\u0A47\u0A23\u0A17\u0A47\u0964",
|
|
5514
5551
|
rowsPerPage: "\u0A2A\u0A70\u0A28\u0A47 \u0A2A\u0A4D\u0A30\u0A24\u0A40 \u0A15\u0A24\u0A3E\u0A30\u0A3E\u0A02:",
|
|
5515
5552
|
pageOf: "\u0A2A\u0A70\u0A28\u0A3E {{current}} / {{total}}",
|
|
5516
5553
|
rowsSelected: "{{total}} \u0A35\u0A3F\u0A71\u0A1A\u0A4B\u0A02 {{count}} \u0A15\u0A24\u0A3E\u0A30 \u0A1A\u0A41\u0A23\u0A40 \u0A17\u0A08",
|
|
@@ -5822,6 +5859,8 @@ var translation_default19 = {
|
|
|
5822
5859
|
grievanceTypes: "\u0905\u092D\u093F\u092F\u094B\u0917\u092A\u094D\u0930\u0915\u093E\u0930\u093E\u0903",
|
|
5823
5860
|
close: "\u0938\u092E\u093E\u092A\u092F",
|
|
5824
5861
|
noData: "\u0921\u0947\u091F\u093E \u0928\u093E\u0938\u094D\u0924\u093F",
|
|
5862
|
+
noDataTitle: "\u0905\u0926\u094D\u092F\u093E\u092A\u093F \u0915\u093F\u092E\u092A\u093F \u0926\u0930\u094D\u0936\u092F\u093F\u0924\u0941\u0902 \u0928\u093E\u0938\u094D\u0924\u093F",
|
|
5863
|
+
noDataDescription: "\u092D\u0935\u0924\u0903 \u0916\u093E\u0924\u092F\u093E \u0938\u0939 \u0938\u092E\u094D\u092C\u0926\u094D\u0927\u093E\u0903 \u0915\u093E\u0936\u094D\u091A\u0928 \u0938\u092E\u094D\u092E\u0924\u092F\u0903, \u0905\u0928\u0941\u0930\u094B\u0927\u093E\u0903, \u0915\u093E\u0930\u094D\u092F\u0915\u0932\u093E\u092A\u093E\u0903 \u0935\u093E \u0905\u0926\u094D\u092F\u093E\u092A\u093F \u0905\u0938\u094D\u092E\u093E\u092D\u093F\u0903 \u0928 \u092A\u094D\u0930\u093E\u092A\u094D\u0924\u093E\u0903\u0964 \u0909\u092A\u0932\u092C\u094D\u0927\u093E\u0903 \u0938\u0924\u093F \u092D\u0935\u0924\u0903 \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E-\u0905\u092D\u093F\u0932\u0947\u0916\u093E\u0903 \u0905\u0924\u094D\u0930 \u0926\u0930\u094D\u0936\u092F\u093F\u0937\u094D\u092F\u0928\u094D\u0924\u0947\u0964",
|
|
5825
5864
|
rowsPerPage: "\u092A\u0943\u0937\u094D\u0920\u0947 \u092A\u0902\u0915\u094D\u0924\u092F\u0903:",
|
|
5826
5865
|
pageOf: "\u092A\u0943\u0937\u094D\u0920\u092E\u094D {{current}} / {{total}}",
|
|
5827
5866
|
rowsSelected: "{{total}} \u092E\u0927\u094D\u092F\u0947 {{count}} \u092A\u0902\u0915\u094D\u0924\u093F\u0903 \u091A\u093F\u0924\u093E",
|
|
@@ -6133,6 +6172,8 @@ var translation_default20 = {
|
|
|
6133
6172
|
grievanceTypes: "\u1C69\u1C6F\u1C5F\u1C79\u1C6D \u1C5E\u1C6E\u1C60\u1C5F\u1C71",
|
|
6134
6173
|
close: "\u1C75\u1C5A\u1C78\u1C6B\u1C5A",
|
|
6135
6174
|
noData: "\u1C70\u1C6E\u1C74\u1C5F \u1C75\u1C5F\u1C79\u1C71\u1C69\u1C5C\u1C7C\u1C5F",
|
|
6175
|
+
noDataTitle: "\u1C71\u1C64\u1C5B \u1C5B\u1C5F\u1C60 \u1C61\u1C5F\u1C66\u1C5F\u1C78 \u1C6B\u1C6E\u1C60\u1C77\u1C5F\u1C63 \u1C5E\u1C5F\u1C79\u1C5C\u1C64\u1C6B \u1C75\u1C5F\u1C5D",
|
|
6176
|
+
noDataDescription: "\u1C5F\u1C5E\u1C6E \u1C71\u1C64\u1C5B \u1C5B\u1C5F\u1C60 \u1C5F\u1C62\u1C5F\u1C5C \u1C6E\u1C60\u1C5F\u1C63\u1C69\u1C71\u1C74 \u1C65\u1C5F\u1C5E\u1C5F\u1C5C \u1C61\u1C5A\u1C72\u1C5F\u1C63 \u1C61\u1C5F\u1C66\u1C5F\u1C78 \u1C65\u1C5A\u1C66\u1C5A\u1C62\u1C5A\u1C5B\u1C64, \u1C66\u1C5F\u1C75\u1C5F\u1C6D, \u1C5F\u1C68\u1C75\u1C5F\u1C5D \u1C60\u1C5F\u1C79\u1C62\u1C64 \u1C75\u1C5F\u1C5D \u1C67\u1C5F\u1C62 \u1C6B\u1C5F\u1C72\u1C6E\u1C6D\u1C5F\u1C6B\u1C7C\u1C5F\u1C7E \u1C5F\u1C62\u1C5F\u1C5C \u1C6F\u1C68\u1C5F\u1C6D\u1C63\u1C6E\u1C65\u1C64 \u1C68\u1C64\u1C60\u1C5A\u1C68\u1C70 \u1C60\u1C5A \u1C67\u1C5F\u1C62\u1C5A\u1C5C \u1C60\u1C77\u1C5F\u1C71 \u1C71\u1C5A\u1C78\u1C70\u1C6E \u1C6B\u1C6E\u1C60\u1C77\u1C5F\u1C63\u1C5A\u1C5C\u1C7C\u1C5F\u1C7E",
|
|
6136
6177
|
rowsPerPage: "\u1C6F\u1C6E\u1C61\u1C7D \u1C6F\u1C64\u1C68\u1C64 \u1C6A\u1C77\u1C69\u1C74\u1C5F\u1C79:",
|
|
6137
6178
|
pageOf: "\u1C6F\u1C6E\u1C61\u1C7D {{current}} / {{total}}",
|
|
6138
6179
|
rowsSelected: "{{total}} \u1C60\u1C77\u1C5A\u1C71 {{count}} \u1C6A\u1C77\u1C69\u1C74\u1C5F\u1C79 \u1C75\u1C5F\u1C6A\u1C77\u1C5F\u1C63",
|
|
@@ -6444,6 +6485,8 @@ var translation_default21 = {
|
|
|
6444
6485
|
grievanceTypes: "\u0634\u06AA\u0627\u064A\u062A \u0642\u0633\u0645\u0646",
|
|
6445
6486
|
close: "\u0628\u0646\u062F \u06AA\u0631\u064A\u0648",
|
|
6446
6487
|
noData: "\u068A\u064A\u067D\u0627 \u06AA\u0627\u0646\u0647\u064A",
|
|
6488
|
+
noDataTitle: "\u0627\u0683\u0627 \u068F\u064A\u06A9\u0627\u0631\u06BB \u0644\u0627\u0621\u0650 \u06AA\u062C\u0647\u0647 \u0646\u0627\u0647\u064A",
|
|
6489
|
+
noDataDescription: "\u0627\u0633\u0627\u0646 \u06A9\u064A \u0627\u0683\u0627 \u062A\u0627\u0626\u064A\u0646 \u062A\u0648\u0647\u0627\u0646 \u062C\u064A \u0627\u06AA\u0627\u0626\u0648\u0646\u067D \u0633\u0627\u0646 \u0644\u0627\u06B3\u0627\u067E\u064A\u0644 \u06AA\u0627\u0628\u0647 \u0631\u0636\u0627\u0645\u0646\u062F\u064A\u060C \u062F\u0631\u062E\u0648\u0627\u0633\u062A \u064A\u0627 \u0633\u0631\u06AF\u0631\u0645\u064A \u0646\u0647 \u0645\u0644\u064A. \u062A\u0648\u0647\u0627\u0646 \u062C\u0627 \u0631\u0627\u0632\u062F\u0627\u0631\u064A \u0631\u06AA\u0627\u0631\u068A \u0645\u0648\u062C\u0648\u062F \u067F\u064A\u0646\u062F\u064A \u0626\u064A \u0647\u062A\u064A \u0638\u0627\u0647\u0631 \u067F\u064A\u0646\u062F\u0627.",
|
|
6447
6490
|
rowsPerPage: "\u0635\u0641\u062D\u064A \u0641\u064A \u0642\u0637\u0627\u0631\u0648\u0646:",
|
|
6448
6491
|
pageOf: "\u0635\u0641\u062D\u0648 {{current}} / {{total}}",
|
|
6449
6492
|
rowsSelected: "{{total}} \u0645\u0627\u0646 {{count}} \u0642\u0637\u0627\u0631 \u0686\u0648\u0646\u068A\u064A\u0644",
|
|
@@ -6755,6 +6798,8 @@ var translation_default22 = {
|
|
|
6755
6798
|
grievanceTypes: "\u0BAE\u0BC1\u0BB1\u0BC8\u0BAF\u0BC0\u0B9F\u0BCD\u0B9F\u0BC1 \u0BB5\u0B95\u0BC8\u0B95\u0BB3\u0BCD",
|
|
6756
6799
|
close: "\u0BAE\u0BC2\u0B9F\u0BC1",
|
|
6757
6800
|
noData: "\u0BA4\u0BB0\u0BB5\u0BC1 \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",
|
|
6801
|
+
noDataTitle: "\u0B87\u0BA9\u0BCD\u0BA9\u0BC1\u0BAE\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F \u0B8E\u0BA4\u0BC1\u0BB5\u0BC1\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",
|
|
6802
|
+
noDataDescription: "\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B95\u0BA3\u0B95\u0BCD\u0B95\u0BC1\u0B9F\u0BA9\u0BCD \u0B87\u0BA3\u0BC8\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F \u0B92\u0BAA\u0BCD\u0BAA\u0BC1\u0BA4\u0BB2\u0BCD\u0B95\u0BB3\u0BCD, \u0B95\u0BCB\u0BB0\u0BBF\u0B95\u0BCD\u0B95\u0BC8\u0B95\u0BB3\u0BCD \u0B85\u0BB2\u0BCD\u0BB2\u0BA4\u0BC1 \u0B9A\u0BC6\u0BAF\u0BB2\u0BCD\u0BAA\u0BBE\u0B9F\u0BC1 \u0B8E\u0BA4\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0B87\u0BA9\u0BCD\u0BA9\u0BC1\u0BAE\u0BCD \u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BBE\u0BB2\u0BCD \u0B95\u0BA3\u0BCD\u0B9F\u0BB1\u0BBF\u0BAF \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8. \u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA4\u0BA9\u0BBF\u0BAF\u0BC1\u0BB0\u0BBF\u0BAE\u0BC8 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B95\u0BBF\u0B9F\u0BC8\u0B95\u0BCD\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BCB\u0BA4\u0BC1 \u0B85\u0BB5\u0BC8 \u0B87\u0B99\u0BCD\u0B95\u0BC7 \u0BA4\u0BCB\u0BA9\u0BCD\u0BB1\u0BC1\u0BAE\u0BCD.",
|
|
6758
6803
|
rowsPerPage: "\u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0BB5\u0BB0\u0BBF\u0B9A\u0BC8\u0B95\u0BB3\u0BCD:",
|
|
6759
6804
|
pageOf: "\u0BAA\u0B95\u0BCD\u0B95\u0BAE\u0BCD {{current}} / {{total}}",
|
|
6760
6805
|
rowsSelected: "{{count}} / {{total}} \u0BB5\u0BB0\u0BBF\u0B9A\u0BC8\u0BA4\u0BCD \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1",
|
|
@@ -7066,6 +7111,8 @@ var translation_default23 = {
|
|
|
7066
7111
|
grievanceTypes: "\u0C2B\u0C3F\u0C30\u0C4D\u0C2F\u0C3E\u0C26\u0C41 \u0C30\u0C15\u0C3E\u0C32\u0C41",
|
|
7067
7112
|
close: "\u0C2E\u0C42\u0C38\u0C3F\u0C35\u0C47\u0C2F\u0C02\u0C21\u0C3F",
|
|
7068
7113
|
noData: "\u0C21\u0C47\u0C1F\u0C3E \u0C32\u0C47\u0C26\u0C41",
|
|
7114
|
+
noDataTitle: "\u0C1A\u0C42\u0C2A\u0C3F\u0C02\u0C1A\u0C21\u0C3E\u0C28\u0C3F\u0C15\u0C3F \u0C07\u0C02\u0C15\u0C3E \u0C0F\u0C2E\u0C40 \u0C32\u0C47\u0C26\u0C41",
|
|
7115
|
+
noDataDescription: "\u0C2E\u0C40 \u0C16\u0C3E\u0C24\u0C3E\u0C15\u0C41 \u0C05\u0C28\u0C41\u0C38\u0C02\u0C27\u0C3E\u0C28\u0C3F\u0C02\u0C1A\u0C2C\u0C21\u0C3F\u0C28 \u0C0F \u0C38\u0C2E\u0C4D\u0C2E\u0C24\u0C41\u0C32\u0C41, \u0C05\u0C2D\u0C4D\u0C2F\u0C30\u0C4D\u0C25\u0C28\u0C32\u0C41 \u0C32\u0C47\u0C26\u0C3E \u0C15\u0C3E\u0C30\u0C4D\u0C2F\u0C3E\u0C1A\u0C30\u0C23 \u0C07\u0C02\u0C15\u0C3E \u0C2E\u0C3E\u0C15\u0C41 \u0C15\u0C28\u0C41\u0C17\u0C4A\u0C28\u0C2C\u0C21\u0C32\u0C47\u0C26\u0C41. \u0C05\u0C02\u0C26\u0C41\u0C2C\u0C3E\u0C1F\u0C41\u0C32\u0C4B\u0C15\u0C3F \u0C35\u0C1A\u0C4D\u0C1A\u0C3F\u0C28 \u0C24\u0C30\u0C4D\u0C35\u0C3E\u0C24 \u0C2E\u0C40 \u0C17\u0C4B\u0C2A\u0C4D\u0C2F\u0C24\u0C3E \u0C30\u0C3F\u0C15\u0C3E\u0C30\u0C4D\u0C21\u0C41\u0C32\u0C41 \u0C07\u0C15\u0C4D\u0C15\u0C21 \u0C15\u0C28\u0C3F\u0C2A\u0C3F\u0C38\u0C4D\u0C24\u0C3E\u0C2F\u0C3F.",
|
|
7069
7116
|
rowsPerPage: "\u0C2A\u0C47\u0C1C\u0C40\u0C15\u0C3F \u0C35\u0C30\u0C41\u0C38\u0C32\u0C41:",
|
|
7070
7117
|
pageOf: "\u0C2A\u0C47\u0C1C\u0C40 {{current}} / {{total}}",
|
|
7071
7118
|
rowsSelected: "{{total}}\u0C32\u0C4B {{count}} \u0C35\u0C30\u0C41\u0C38 \u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C4B\u0C2C\u0C21\u0C3F\u0C02\u0C26\u0C3F",
|
|
@@ -7377,6 +7424,8 @@ var translation_default24 = {
|
|
|
7377
7424
|
grievanceTypes: "\u0634\u06A9\u0627\u06CC\u062A \u06A9\u06CC \u0627\u0642\u0633\u0627\u0645",
|
|
7378
7425
|
close: "\u0628\u0646\u062F \u06A9\u0631\u06CC\u06BA",
|
|
7379
7426
|
noData: "\u06A9\u0648\u0626\u06CC \u0688\u06CC\u0679\u0627 \u0646\u06C1\u06CC\u06BA",
|
|
7427
|
+
noDataTitle: "\u0627\u0628\u06BE\u06CC \u062F\u06A9\u06BE\u0627\u0646\u06D2 \u06A9\u06D2 \u0644\u06CC\u06D2 \u06A9\u0686\u06BE \u0646\u06C1\u06CC\u06BA",
|
|
7428
|
+
noDataDescription: "\u06C1\u0645\u06CC\u06BA \u0627\u0628\u06BE\u06CC \u062A\u06A9 \u0622\u067E \u06A9\u06D2 \u0627\u06A9\u0627\u0624\u0646\u0679 \u0633\u06D2 \u0645\u0646\u0633\u0644\u06A9 \u06A9\u0648\u0626\u06CC \u0631\u0636\u0627\u0645\u0646\u062F\u06CC\u060C \u062F\u0631\u062E\u0648\u0627\u0633\u062A \u06CC\u0627 \u0633\u0631\u06AF\u0631\u0645\u06CC \u0646\u06C1\u06CC\u06BA \u0645\u0644\u06CC\u06D4 \u0622\u067E \u06A9\u06D2 \u067E\u0631\u0627\u0626\u06CC\u0648\u06CC\u0633\u06CC \u0631\u06CC\u06A9\u0627\u0631\u0688 \u062F\u0633\u062A\u06CC\u0627\u0628 \u06C1\u0648\u062A\u06D2 \u06C1\u06CC \u06CC\u06C1\u0627\u06BA \u0638\u0627\u06C1\u0631 \u06C1\u0648 \u062C\u0627\u0626\u06CC\u06BA \u06AF\u06D2\u06D4",
|
|
7380
7429
|
rowsPerPage: "\u0641\u06CC \u0635\u0641\u062D\u06C1 \u0642\u0637\u0627\u0631\u06CC\u06BA:",
|
|
7381
7430
|
pageOf: "\u0635\u0641\u062D\u06C1 {{current}} / {{total}}",
|
|
7382
7431
|
rowsSelected: "{{count}} \u0627\u0632 {{total}} \u0642\u0637\u0627\u0631 \u0645\u0646\u062A\u062E\u0628",
|
|
@@ -9412,11 +9461,8 @@ function useTheme() {
|
|
|
9412
9461
|
return ctx;
|
|
9413
9462
|
}
|
|
9414
9463
|
|
|
9415
|
-
// src/RedactoPrivacyCenter/
|
|
9416
|
-
var
|
|
9417
|
-
var import_react_native6 = require("react-native");
|
|
9418
|
-
var import_react_i18next3 = require("react-i18next");
|
|
9419
|
-
var import_react_native_svg5 = __toESM(require("react-native-svg"));
|
|
9464
|
+
// src/RedactoPrivacyCenter/context/DataAvailabilityContext.tsx
|
|
9465
|
+
var import_react6 = require("react");
|
|
9420
9466
|
|
|
9421
9467
|
// src/RedactoPrivacyCenter/lib/useCurrentLanguage.ts
|
|
9422
9468
|
var import_react5 = require("react");
|
|
@@ -9437,6 +9483,114 @@ function useCurrentLanguage() {
|
|
|
9437
9483
|
return { currentLanguage, langParam };
|
|
9438
9484
|
}
|
|
9439
9485
|
|
|
9486
|
+
// src/RedactoPrivacyCenter/context/DataAvailabilityContext.tsx
|
|
9487
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
9488
|
+
var DataAvailabilityContext = (0, import_react6.createContext)(null);
|
|
9489
|
+
function isConsentsEmpty(v) {
|
|
9490
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
|
|
9491
|
+
return ((_b = (_a = v.status_summary) == null ? void 0 : _a.total_purposes) != null ? _b : 0) === 0 && ((_d = (_c = v.direct) == null ? void 0 : _c.length) != null ? _d : 0) === 0 && ((_f = (_e = v.nominated) == null ? void 0 : _e.length) != null ? _f : 0) === 0 && ((_h = (_g = v.nominators) == null ? void 0 : _g.length) != null ? _h : 0) === 0 && ((_j = (_i = v.data) == null ? void 0 : _i.length) != null ? _j : 0) === 0 && ((_l = (_k = v.product_purpose_groups) == null ? void 0 : _k.length) != null ? _l : 0) === 0 && ((_n = (_m = v.direct_product_groups) == null ? void 0 : _m.length) != null ? _n : 0) === 0 && ((_p = (_o = v.nominated_purposes) == null ? void 0 : _o.length) != null ? _p : 0) === 0;
|
|
9492
|
+
}
|
|
9493
|
+
function DataAvailabilityProvider({ children }) {
|
|
9494
|
+
const {
|
|
9495
|
+
accessToken,
|
|
9496
|
+
refreshToken,
|
|
9497
|
+
email,
|
|
9498
|
+
organizationId,
|
|
9499
|
+
workspaceId,
|
|
9500
|
+
onError,
|
|
9501
|
+
updateTokens
|
|
9502
|
+
} = useAuth();
|
|
9503
|
+
const { consentClient } = useBaseUrl();
|
|
9504
|
+
const { langParam } = useCurrentLanguage();
|
|
9505
|
+
const authContext = (0, import_react6.useMemo)(
|
|
9506
|
+
() => ({ accessToken, refreshToken, onError, updateTokens }),
|
|
9507
|
+
[accessToken, refreshToken, onError, updateTokens]
|
|
9508
|
+
);
|
|
9509
|
+
const [status, setStatus] = (0, import_react6.useState)("checking");
|
|
9510
|
+
const runIdRef = (0, import_react6.useRef)(0);
|
|
9511
|
+
const mountedRef = (0, import_react6.useRef)(true);
|
|
9512
|
+
(0, import_react6.useEffect)(() => {
|
|
9513
|
+
mountedRef.current = true;
|
|
9514
|
+
return () => {
|
|
9515
|
+
mountedRef.current = false;
|
|
9516
|
+
};
|
|
9517
|
+
}, []);
|
|
9518
|
+
const runCheck = (0, import_react6.useCallback)(async () => {
|
|
9519
|
+
if (!organizationId || !workspaceId) return;
|
|
9520
|
+
const runId = ++runIdRef.current;
|
|
9521
|
+
setStatus("checking");
|
|
9522
|
+
const contact = email;
|
|
9523
|
+
const consentsEmptyP = fetchUserConsents({
|
|
9524
|
+
organizationId,
|
|
9525
|
+
workspaceId,
|
|
9526
|
+
limit: 1,
|
|
9527
|
+
nominatedLimit: 1,
|
|
9528
|
+
language: langParam,
|
|
9529
|
+
authContext,
|
|
9530
|
+
consentClient
|
|
9531
|
+
}).then((v) => !!v && isConsentsEmpty(v)).catch(() => false);
|
|
9532
|
+
const casesEmptyP = contact ? fetchCaseHistory(
|
|
9533
|
+
organizationId,
|
|
9534
|
+
workspaceId,
|
|
9535
|
+
contact,
|
|
9536
|
+
0,
|
|
9537
|
+
1,
|
|
9538
|
+
authContext,
|
|
9539
|
+
consentClient,
|
|
9540
|
+
langParam
|
|
9541
|
+
).then((v) => {
|
|
9542
|
+
var _a, _b;
|
|
9543
|
+
return !!v && ((_b = (_a = v.data) == null ? void 0 : _a.length) != null ? _b : 0) === 0;
|
|
9544
|
+
}).catch(() => false) : Promise.resolve(true);
|
|
9545
|
+
const activitiesEmptyP = fetchActivities(
|
|
9546
|
+
organizationId,
|
|
9547
|
+
workspaceId,
|
|
9548
|
+
0,
|
|
9549
|
+
1,
|
|
9550
|
+
authContext,
|
|
9551
|
+
consentClient,
|
|
9552
|
+
langParam
|
|
9553
|
+
).then((v) => {
|
|
9554
|
+
var _a, _b;
|
|
9555
|
+
return !!v && ((_b = (_a = v.pagination) == null ? void 0 : _a.total_count) != null ? _b : 0) === 0;
|
|
9556
|
+
}).catch(() => false);
|
|
9557
|
+
const [consentsEmpty, casesEmpty, activitiesEmpty] = await Promise.all([
|
|
9558
|
+
consentsEmptyP,
|
|
9559
|
+
casesEmptyP,
|
|
9560
|
+
activitiesEmptyP
|
|
9561
|
+
]);
|
|
9562
|
+
if (!mountedRef.current || runId !== runIdRef.current) return;
|
|
9563
|
+
setStatus(
|
|
9564
|
+
consentsEmpty && casesEmpty && activitiesEmpty ? "empty" : "has-data"
|
|
9565
|
+
);
|
|
9566
|
+
}, [organizationId, workspaceId, email, authContext, consentClient, langParam]);
|
|
9567
|
+
(0, import_react6.useEffect)(() => {
|
|
9568
|
+
if (organizationId && workspaceId && accessToken) {
|
|
9569
|
+
void runCheck();
|
|
9570
|
+
}
|
|
9571
|
+
}, [organizationId, workspaceId, accessToken, runCheck]);
|
|
9572
|
+
const value = (0, import_react6.useMemo)(
|
|
9573
|
+
() => ({ status }),
|
|
9574
|
+
[status]
|
|
9575
|
+
);
|
|
9576
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(DataAvailabilityContext.Provider, { value, children });
|
|
9577
|
+
}
|
|
9578
|
+
function useDataAvailability() {
|
|
9579
|
+
const ctx = (0, import_react6.useContext)(DataAvailabilityContext);
|
|
9580
|
+
if (!ctx) {
|
|
9581
|
+
throw new Error(
|
|
9582
|
+
"useDataAvailability must be used within a DataAvailabilityProvider"
|
|
9583
|
+
);
|
|
9584
|
+
}
|
|
9585
|
+
return ctx;
|
|
9586
|
+
}
|
|
9587
|
+
|
|
9588
|
+
// src/RedactoPrivacyCenter/components/ConsentManager.tsx
|
|
9589
|
+
var import_react9 = require("react");
|
|
9590
|
+
var import_react_native6 = require("react-native");
|
|
9591
|
+
var import_react_i18next3 = require("react-i18next");
|
|
9592
|
+
var import_react_native_svg5 = __toESM(require("react-native-svg"));
|
|
9593
|
+
|
|
9440
9594
|
// src/RedactoPrivacyCenter/lib/consentManagerUtils.ts
|
|
9441
9595
|
function purposeItemToUserConsent(purpose, group) {
|
|
9442
9596
|
var _a, _b, _c, _d;
|
|
@@ -9523,10 +9677,10 @@ var ConsentStatusEnum = /* @__PURE__ */ ((ConsentStatusEnum2) => {
|
|
|
9523
9677
|
})(ConsentStatusEnum || {});
|
|
9524
9678
|
|
|
9525
9679
|
// src/RedactoPrivacyCenter/ui/PCSelect.tsx
|
|
9526
|
-
var
|
|
9680
|
+
var import_react7 = require("react");
|
|
9527
9681
|
var import_react_native = require("react-native");
|
|
9528
9682
|
var import_react_native_svg = __toESM(require("react-native-svg"));
|
|
9529
|
-
var
|
|
9683
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
9530
9684
|
var PCSelect = ({
|
|
9531
9685
|
label,
|
|
9532
9686
|
value,
|
|
@@ -9536,16 +9690,16 @@ var PCSelect = ({
|
|
|
9536
9690
|
compact = false,
|
|
9537
9691
|
style
|
|
9538
9692
|
}) => {
|
|
9539
|
-
const [open, setOpen] = (0,
|
|
9693
|
+
const [open, setOpen] = (0, import_react7.useState)(false);
|
|
9540
9694
|
const selected = options.find((o) => o.value === value);
|
|
9541
9695
|
const { colors } = useTheme();
|
|
9542
9696
|
const handleSelect = (val) => {
|
|
9543
9697
|
onChange(val);
|
|
9544
9698
|
setOpen(false);
|
|
9545
9699
|
};
|
|
9546
|
-
return /* @__PURE__ */ (0,
|
|
9547
|
-
label ? /* @__PURE__ */ (0,
|
|
9548
|
-
/* @__PURE__ */ (0,
|
|
9700
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react_native.View, { style: [compact ? styles.containerCompact : styles.container, style], children: [
|
|
9701
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_native.Text, { style: styles.label, children: label }) : null,
|
|
9702
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
9549
9703
|
import_react_native.TouchableOpacity,
|
|
9550
9704
|
{
|
|
9551
9705
|
style: [compact ? styles.triggerCompact : styles.trigger, { borderColor: colors.border, backgroundColor: colors.surface }],
|
|
@@ -9553,7 +9707,7 @@ var PCSelect = ({
|
|
|
9553
9707
|
activeOpacity: 0.7,
|
|
9554
9708
|
accessibilityRole: "button",
|
|
9555
9709
|
children: [
|
|
9556
|
-
/* @__PURE__ */ (0,
|
|
9710
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
9557
9711
|
import_react_native.Text,
|
|
9558
9712
|
{
|
|
9559
9713
|
style: [
|
|
@@ -9565,7 +9719,7 @@ var PCSelect = ({
|
|
|
9565
9719
|
children: selected ? compact ? selected.value === "en" ? "EN" : selected.label.split("(")[0].trim().substring(0, 6) : selected.label : placeholder
|
|
9566
9720
|
}
|
|
9567
9721
|
),
|
|
9568
|
-
/* @__PURE__ */ (0,
|
|
9722
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_native_svg.default, { width: compact ? 10 : 16, height: compact ? 10 : 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
9569
9723
|
import_react_native_svg.Path,
|
|
9570
9724
|
{
|
|
9571
9725
|
d: "M6 9l6 6 6-6",
|
|
@@ -9578,17 +9732,17 @@ var PCSelect = ({
|
|
|
9578
9732
|
]
|
|
9579
9733
|
}
|
|
9580
9734
|
),
|
|
9581
|
-
/* @__PURE__ */ (0,
|
|
9735
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
9582
9736
|
import_react_native.Modal,
|
|
9583
9737
|
{
|
|
9584
9738
|
visible: open,
|
|
9585
9739
|
transparent: true,
|
|
9586
9740
|
animationType: "fade",
|
|
9587
9741
|
onRequestClose: () => setOpen(false),
|
|
9588
|
-
children: /* @__PURE__ */ (0,
|
|
9589
|
-
/* @__PURE__ */ (0,
|
|
9590
|
-
/* @__PURE__ */ (0,
|
|
9591
|
-
/* @__PURE__ */ (0,
|
|
9742
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_native.Pressable, { style: styles.overlay, onPress: () => setOpen(false), children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react_native.View, { style: styles.dropdown, children: [
|
|
9743
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react_native.View, { style: styles.dropdownHeader, children: [
|
|
9744
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_native.Text, { style: styles.dropdownTitle, children: label || "Select" }),
|
|
9745
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_native.TouchableOpacity, { onPress: () => setOpen(false), hitSlop: 8, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_native_svg.default, { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
9592
9746
|
import_react_native_svg.Path,
|
|
9593
9747
|
{
|
|
9594
9748
|
d: "M18 6L6 18M6 6l12 12",
|
|
@@ -9599,16 +9753,16 @@ var PCSelect = ({
|
|
|
9599
9753
|
}
|
|
9600
9754
|
) }) })
|
|
9601
9755
|
] }),
|
|
9602
|
-
/* @__PURE__ */ (0,
|
|
9756
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_native.ScrollView, { style: styles.optionsList, bounces: false, children: options.map((opt) => {
|
|
9603
9757
|
const isSelected = opt.value === value;
|
|
9604
|
-
return /* @__PURE__ */ (0,
|
|
9758
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
9605
9759
|
import_react_native.TouchableOpacity,
|
|
9606
9760
|
{
|
|
9607
9761
|
style: [styles.option, isSelected && styles.optionSelected],
|
|
9608
9762
|
onPress: () => handleSelect(opt.value),
|
|
9609
9763
|
activeOpacity: 0.6,
|
|
9610
9764
|
children: [
|
|
9611
|
-
/* @__PURE__ */ (0,
|
|
9765
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
9612
9766
|
import_react_native.Text,
|
|
9613
9767
|
{
|
|
9614
9768
|
style: [
|
|
@@ -9618,7 +9772,7 @@ var PCSelect = ({
|
|
|
9618
9772
|
children: opt.label
|
|
9619
9773
|
}
|
|
9620
9774
|
),
|
|
9621
|
-
isSelected && /* @__PURE__ */ (0,
|
|
9775
|
+
isSelected && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_native_svg.default, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
9622
9776
|
import_react_native_svg.Path,
|
|
9623
9777
|
{
|
|
9624
9778
|
d: "M5 13l4 4L19 7",
|
|
@@ -9743,14 +9897,14 @@ var styles = import_react_native.StyleSheet.create({
|
|
|
9743
9897
|
});
|
|
9744
9898
|
|
|
9745
9899
|
// src/RedactoPrivacyCenter/components/ModifyConsentModal.tsx
|
|
9746
|
-
var
|
|
9900
|
+
var import_react8 = require("react");
|
|
9747
9901
|
var import_react_native5 = require("react-native");
|
|
9748
9902
|
var import_react_native_svg4 = __toESM(require("react-native-svg"));
|
|
9749
9903
|
var import_react_i18next2 = require("react-i18next");
|
|
9750
9904
|
|
|
9751
9905
|
// src/RedactoPrivacyCenter/ui/PCButton.tsx
|
|
9752
9906
|
var import_react_native2 = require("react-native");
|
|
9753
|
-
var
|
|
9907
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
9754
9908
|
var PCButton = ({
|
|
9755
9909
|
onPress,
|
|
9756
9910
|
title,
|
|
@@ -9761,7 +9915,7 @@ var PCButton = ({
|
|
|
9761
9915
|
textStyle
|
|
9762
9916
|
}) => {
|
|
9763
9917
|
const isDisabled = disabled || loading;
|
|
9764
|
-
return /* @__PURE__ */ (0,
|
|
9918
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
9765
9919
|
import_react_native2.TouchableOpacity,
|
|
9766
9920
|
{
|
|
9767
9921
|
onPress,
|
|
@@ -9777,13 +9931,13 @@ var PCButton = ({
|
|
|
9777
9931
|
],
|
|
9778
9932
|
accessibilityRole: "button",
|
|
9779
9933
|
accessibilityState: { disabled: isDisabled },
|
|
9780
|
-
children: loading ? /* @__PURE__ */ (0,
|
|
9934
|
+
children: loading ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
9781
9935
|
import_react_native2.ActivityIndicator,
|
|
9782
9936
|
{
|
|
9783
9937
|
size: "small",
|
|
9784
9938
|
color: variant === "primary" ? "#ffffff" : "#4f87ff"
|
|
9785
9939
|
}
|
|
9786
|
-
) : /* @__PURE__ */ (0,
|
|
9940
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
9787
9941
|
import_react_native2.Text,
|
|
9788
9942
|
{
|
|
9789
9943
|
style: [
|
|
@@ -9856,14 +10010,14 @@ var styles2 = import_react_native2.StyleSheet.create({
|
|
|
9856
10010
|
// src/RedactoPrivacyCenter/ui/PCCheckbox.tsx
|
|
9857
10011
|
var import_react_native3 = require("react-native");
|
|
9858
10012
|
var import_react_native_svg2 = __toESM(require("react-native-svg"));
|
|
9859
|
-
var
|
|
10013
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
9860
10014
|
var PCCheckbox = ({
|
|
9861
10015
|
checked,
|
|
9862
10016
|
onChange,
|
|
9863
10017
|
label,
|
|
9864
10018
|
disabled = false
|
|
9865
10019
|
}) => {
|
|
9866
|
-
return /* @__PURE__ */ (0,
|
|
10020
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
9867
10021
|
import_react_native3.TouchableOpacity,
|
|
9868
10022
|
{
|
|
9869
10023
|
style: styles3.container,
|
|
@@ -9873,7 +10027,7 @@ var PCCheckbox = ({
|
|
|
9873
10027
|
accessibilityRole: "checkbox",
|
|
9874
10028
|
accessibilityState: { checked, disabled },
|
|
9875
10029
|
children: [
|
|
9876
|
-
/* @__PURE__ */ (0,
|
|
10030
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
9877
10031
|
import_react_native3.View,
|
|
9878
10032
|
{
|
|
9879
10033
|
style: [
|
|
@@ -9881,7 +10035,7 @@ var PCCheckbox = ({
|
|
|
9881
10035
|
checked ? styles3.boxChecked : styles3.boxUnchecked,
|
|
9882
10036
|
disabled && styles3.disabled
|
|
9883
10037
|
],
|
|
9884
|
-
children: checked && /* @__PURE__ */ (0,
|
|
10038
|
+
children: checked && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native_svg2.default, { width: 12, height: 12, viewBox: "0 0 10 10", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
9885
10039
|
import_react_native_svg2.Path,
|
|
9886
10040
|
{
|
|
9887
10041
|
d: "M2.5 5L4.2 6.7L7.5 3.3",
|
|
@@ -9893,7 +10047,7 @@ var PCCheckbox = ({
|
|
|
9893
10047
|
) })
|
|
9894
10048
|
}
|
|
9895
10049
|
),
|
|
9896
|
-
label ? /* @__PURE__ */ (0,
|
|
10050
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native3.Text, { style: [styles3.label, disabled && styles3.disabled], children: label }) : null
|
|
9897
10051
|
]
|
|
9898
10052
|
}
|
|
9899
10053
|
);
|
|
@@ -9933,7 +10087,7 @@ var styles3 = import_react_native3.StyleSheet.create({
|
|
|
9933
10087
|
// src/RedactoPrivacyCenter/ui/PCModal.tsx
|
|
9934
10088
|
var import_react_native4 = require("react-native");
|
|
9935
10089
|
var import_react_native_svg3 = __toESM(require("react-native-svg"));
|
|
9936
|
-
var
|
|
10090
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
9937
10091
|
var widthForSize = {
|
|
9938
10092
|
sm: "80%",
|
|
9939
10093
|
md: "90%",
|
|
@@ -9946,35 +10100,35 @@ var PCModal = ({
|
|
|
9946
10100
|
children,
|
|
9947
10101
|
size = "md"
|
|
9948
10102
|
}) => {
|
|
9949
|
-
return /* @__PURE__ */ (0,
|
|
10103
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
9950
10104
|
import_react_native4.Modal,
|
|
9951
10105
|
{
|
|
9952
10106
|
visible,
|
|
9953
10107
|
transparent: true,
|
|
9954
10108
|
animationType: "fade",
|
|
9955
10109
|
onRequestClose: onClose,
|
|
9956
|
-
children: /* @__PURE__ */ (0,
|
|
10110
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_native4.Pressable, { style: styles4.overlay, onPress: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
9957
10111
|
import_react_native4.KeyboardAvoidingView,
|
|
9958
10112
|
{
|
|
9959
10113
|
behavior: import_react_native4.Platform.OS === "ios" ? "padding" : "height",
|
|
9960
10114
|
style: styles4.keyboardView,
|
|
9961
|
-
children: /* @__PURE__ */ (0,
|
|
10115
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
9962
10116
|
import_react_native4.Pressable,
|
|
9963
10117
|
{
|
|
9964
10118
|
style: [styles4.card, { width: widthForSize[size] }],
|
|
9965
10119
|
onPress: () => {
|
|
9966
10120
|
},
|
|
9967
10121
|
children: [
|
|
9968
|
-
/* @__PURE__ */ (0,
|
|
9969
|
-
/* @__PURE__ */ (0,
|
|
9970
|
-
/* @__PURE__ */ (0,
|
|
10122
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_react_native4.View, { style: styles4.header, children: [
|
|
10123
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_native4.Text, { style: styles4.title, numberOfLines: 1, children: title != null ? title : "" }),
|
|
10124
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
9971
10125
|
import_react_native4.TouchableOpacity,
|
|
9972
10126
|
{
|
|
9973
10127
|
onPress: onClose,
|
|
9974
10128
|
hitSlop: 8,
|
|
9975
10129
|
accessibilityLabel: "Close",
|
|
9976
10130
|
accessibilityRole: "button",
|
|
9977
|
-
children: /* @__PURE__ */ (0,
|
|
10131
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_native_svg3.default, { width: 22, height: 22, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
9978
10132
|
import_react_native_svg3.Path,
|
|
9979
10133
|
{
|
|
9980
10134
|
d: "M18 6L6 18M6 6l12 12",
|
|
@@ -9987,7 +10141,7 @@ var PCModal = ({
|
|
|
9987
10141
|
}
|
|
9988
10142
|
)
|
|
9989
10143
|
] }),
|
|
9990
|
-
/* @__PURE__ */ (0,
|
|
10144
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
9991
10145
|
import_react_native4.ScrollView,
|
|
9992
10146
|
{
|
|
9993
10147
|
style: styles4.body,
|
|
@@ -10063,7 +10217,7 @@ var styles4 = import_react_native4.StyleSheet.create({
|
|
|
10063
10217
|
});
|
|
10064
10218
|
|
|
10065
10219
|
// src/RedactoPrivacyCenter/components/ModifyConsentModal.tsx
|
|
10066
|
-
var
|
|
10220
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
10067
10221
|
var ModifyConsentModal = ({
|
|
10068
10222
|
visible,
|
|
10069
10223
|
onClose,
|
|
@@ -10073,12 +10227,12 @@ var ModifyConsentModal = ({
|
|
|
10073
10227
|
}) => {
|
|
10074
10228
|
const { t } = (0, import_react_i18next2.useTranslation)();
|
|
10075
10229
|
const { colors } = useTheme();
|
|
10076
|
-
const [isAccordionOpen, setIsAccordionOpen] = (0,
|
|
10077
|
-
const [selectedDataElementUuids, setSelectedDataElementUuids] = (0,
|
|
10078
|
-
const chevronAnim = (0,
|
|
10230
|
+
const [isAccordionOpen, setIsAccordionOpen] = (0, import_react8.useState)(false);
|
|
10231
|
+
const [selectedDataElementUuids, setSelectedDataElementUuids] = (0, import_react8.useState)([]);
|
|
10232
|
+
const chevronAnim = (0, import_react8.useState)(new import_react_native5.Animated.Value(0))[0];
|
|
10079
10233
|
const nominatorInfo = selectedRecord == null ? void 0 : selectedRecord.nominator_info;
|
|
10080
10234
|
const nominatorLabel = (nominatorInfo == null ? void 0 : nominatorInfo.name) || (nominatorInfo == null ? void 0 : nominatorInfo.email) || (nominatorInfo == null ? void 0 : nominatorInfo.org_user_id) || null;
|
|
10081
|
-
const actionConfig = (0,
|
|
10235
|
+
const actionConfig = (0, import_react8.useMemo)(() => {
|
|
10082
10236
|
if (!selectedRecord) return null;
|
|
10083
10237
|
const status = selectedRecord.status;
|
|
10084
10238
|
if (status === "ACTIVE" /* ACTIVE */) {
|
|
@@ -10111,27 +10265,27 @@ var ModifyConsentModal = ({
|
|
|
10111
10265
|
return null;
|
|
10112
10266
|
}, [selectedRecord, t, nominatorLabel, colors.error, colors.primary]);
|
|
10113
10267
|
const isRegrantAction = (actionConfig == null ? void 0 : actionConfig.action) === "regrant";
|
|
10114
|
-
const regrantEligibleDataElements = (0,
|
|
10268
|
+
const regrantEligibleDataElements = (0, import_react8.useMemo)(
|
|
10115
10269
|
() => ((selectedRecord == null ? void 0 : selectedRecord.data_elements) || []).filter(
|
|
10116
10270
|
(el) => Boolean(el == null ? void 0 : el.uuid) && el.enabled
|
|
10117
10271
|
),
|
|
10118
10272
|
[selectedRecord]
|
|
10119
10273
|
);
|
|
10120
|
-
const requiredDataElementUuidSet = (0,
|
|
10274
|
+
const requiredDataElementUuidSet = (0, import_react8.useMemo)(
|
|
10121
10275
|
() => new Set(regrantEligibleDataElements.filter((el) => el.required).map((el) => el.uuid)),
|
|
10122
10276
|
[regrantEligibleDataElements]
|
|
10123
10277
|
);
|
|
10124
|
-
(0,
|
|
10278
|
+
(0, import_react8.useEffect)(() => {
|
|
10125
10279
|
setIsAccordionOpen(Boolean(isRegrantAction));
|
|
10126
10280
|
}, [isRegrantAction, selectedRecord]);
|
|
10127
|
-
(0,
|
|
10281
|
+
(0, import_react8.useEffect)(() => {
|
|
10128
10282
|
import_react_native5.Animated.timing(chevronAnim, {
|
|
10129
10283
|
toValue: isAccordionOpen ? 1 : 0,
|
|
10130
10284
|
duration: 200,
|
|
10131
10285
|
useNativeDriver: true
|
|
10132
10286
|
}).start();
|
|
10133
10287
|
}, [isAccordionOpen, chevronAnim]);
|
|
10134
|
-
(0,
|
|
10288
|
+
(0, import_react8.useEffect)(() => {
|
|
10135
10289
|
if (isRegrantAction) {
|
|
10136
10290
|
setSelectedDataElementUuids(regrantEligibleDataElements.map((el) => el.uuid));
|
|
10137
10291
|
} else {
|
|
@@ -10162,11 +10316,11 @@ var ModifyConsentModal = ({
|
|
|
10162
10316
|
});
|
|
10163
10317
|
const showSelectedFallback = !isRegrantAction && Array.isArray(selectedRecord == null ? void 0 : selectedRecord.data_elements) && ((selectedRecord == null ? void 0 : selectedRecord.data_elements) || []).filter((el) => el.selected).length > 0;
|
|
10164
10318
|
const isConfirmDisabled = !(selectedRecord == null ? void 0 : selectedRecord.purpose_uuid) || isRegrantAction && selectedDataElementUuids.length === 0 || isLoading;
|
|
10165
|
-
return /* @__PURE__ */ (0,
|
|
10166
|
-
selectedRecord && !actionConfig ? /* @__PURE__ */ (0,
|
|
10167
|
-
selectedRecord && actionConfig ? /* @__PURE__ */ (0,
|
|
10168
|
-
/* @__PURE__ */ (0,
|
|
10169
|
-
/* @__PURE__ */ (0,
|
|
10319
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(PCModal, { visible, onClose, title: t("modifyConsent"), size: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_react_native5.View, { children: [
|
|
10320
|
+
selectedRecord && !actionConfig ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native5.Text, { style: [styles5.noActions, { color: colors.textSecondary }], children: t("noActionsAvailable") }) : null,
|
|
10321
|
+
selectedRecord && actionConfig ? /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
|
|
10322
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native5.Text, { style: [styles5.description, { color: colors.textSecondary }], children: actionConfig.description }),
|
|
10323
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
10170
10324
|
import_react_native5.View,
|
|
10171
10325
|
{
|
|
10172
10326
|
style: [
|
|
@@ -10174,16 +10328,16 @@ var ModifyConsentModal = ({
|
|
|
10174
10328
|
{ backgroundColor: colors.surface, borderColor: colors.border }
|
|
10175
10329
|
],
|
|
10176
10330
|
children: [
|
|
10177
|
-
/* @__PURE__ */ (0,
|
|
10331
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
10178
10332
|
import_react_native5.TouchableOpacity,
|
|
10179
10333
|
{
|
|
10180
10334
|
style: styles5.accordionHeader,
|
|
10181
10335
|
onPress: () => setIsAccordionOpen((v) => !v),
|
|
10182
10336
|
activeOpacity: 0.7,
|
|
10183
10337
|
children: [
|
|
10184
|
-
/* @__PURE__ */ (0,
|
|
10185
|
-
/* @__PURE__ */ (0,
|
|
10186
|
-
selectedRecord.purpose_description ? /* @__PURE__ */ (0,
|
|
10338
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_react_native5.View, { style: styles5.accordionHeaderText, children: [
|
|
10339
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native5.Text, { style: [styles5.purposeName, { color: colors.text }], children: selectedRecord.purpose }),
|
|
10340
|
+
selectedRecord.purpose_description ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
10187
10341
|
import_react_native5.Text,
|
|
10188
10342
|
{
|
|
10189
10343
|
style: [styles5.purposeDescription, { color: colors.textSecondary }],
|
|
@@ -10191,7 +10345,7 @@ var ModifyConsentModal = ({
|
|
|
10191
10345
|
}
|
|
10192
10346
|
) : null
|
|
10193
10347
|
] }),
|
|
10194
|
-
/* @__PURE__ */ (0,
|
|
10348
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native5.Animated.View, { style: { transform: [{ rotate: chevronRotation }] }, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native_svg4.default, { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
10195
10349
|
import_react_native_svg4.Path,
|
|
10196
10350
|
{
|
|
10197
10351
|
d: "M6 9l6 6 6-6",
|
|
@@ -10204,7 +10358,7 @@ var ModifyConsentModal = ({
|
|
|
10204
10358
|
]
|
|
10205
10359
|
}
|
|
10206
10360
|
),
|
|
10207
|
-
isAccordionOpen ? /* @__PURE__ */ (0,
|
|
10361
|
+
isAccordionOpen ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
10208
10362
|
import_react_native5.View,
|
|
10209
10363
|
{
|
|
10210
10364
|
style: [
|
|
@@ -10214,13 +10368,13 @@ var ModifyConsentModal = ({
|
|
|
10214
10368
|
borderTopWidth: import_react_native5.StyleSheet.hairlineWidth
|
|
10215
10369
|
}
|
|
10216
10370
|
],
|
|
10217
|
-
children: isRegrantAction && regrantEligibleDataElements.length > 0 ? /* @__PURE__ */ (0,
|
|
10218
|
-
/* @__PURE__ */ (0,
|
|
10219
|
-
/* @__PURE__ */ (0,
|
|
10371
|
+
children: isRegrantAction && regrantEligibleDataElements.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_react_native5.View, { children: [
|
|
10372
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native5.Text, { style: [styles5.helperText, { color: colors.textSecondary }], children: t("selectDataElementsForRegrant") }),
|
|
10373
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native5.View, { style: styles5.checkboxList, children: regrantEligibleDataElements.map((element) => {
|
|
10220
10374
|
const isRequired = requiredDataElementUuidSet.has(element.uuid);
|
|
10221
10375
|
const isChecked = isRequired || selectedDataElementUuids.includes(element.uuid);
|
|
10222
10376
|
const labelText = isRequired ? `${element.name} (${t("mandatory")})` : element.name;
|
|
10223
|
-
return /* @__PURE__ */ (0,
|
|
10377
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native5.View, { style: styles5.checkboxRow, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
10224
10378
|
PCCheckbox,
|
|
10225
10379
|
{
|
|
10226
10380
|
checked: isChecked,
|
|
@@ -10230,7 +10384,7 @@ var ModifyConsentModal = ({
|
|
|
10230
10384
|
}
|
|
10231
10385
|
) }, element.uuid);
|
|
10232
10386
|
}) })
|
|
10233
|
-
] }) : showSelectedFallback ? (selectedRecord.data_elements || []).filter((el) => el.selected).map((el, idx, arr) => /* @__PURE__ */ (0,
|
|
10387
|
+
] }) : showSelectedFallback ? (selectedRecord.data_elements || []).filter((el) => el.selected).map((el, idx, arr) => /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
10234
10388
|
import_react_native5.View,
|
|
10235
10389
|
{
|
|
10236
10390
|
style: [
|
|
@@ -10238,18 +10392,18 @@ var ModifyConsentModal = ({
|
|
|
10238
10392
|
idx < arr.length - 1 && styles5.bulletRowSpacing
|
|
10239
10393
|
],
|
|
10240
10394
|
children: [
|
|
10241
|
-
/* @__PURE__ */ (0,
|
|
10242
|
-
/* @__PURE__ */ (0,
|
|
10395
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native5.View, { style: [styles5.bulletDot, { backgroundColor: colors.primary }] }),
|
|
10396
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native5.Text, { style: [styles5.bulletText, { color: colors.text }], children: el.name })
|
|
10243
10397
|
]
|
|
10244
10398
|
},
|
|
10245
10399
|
el.uuid || idx
|
|
10246
|
-
)) : /* @__PURE__ */ (0,
|
|
10400
|
+
)) : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native5.Text, { style: [styles5.helperText, { color: colors.textSecondary }], children: t("noDataElementsAvailable") })
|
|
10247
10401
|
}
|
|
10248
10402
|
) : null
|
|
10249
10403
|
]
|
|
10250
10404
|
}
|
|
10251
10405
|
),
|
|
10252
|
-
/* @__PURE__ */ (0,
|
|
10406
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
10253
10407
|
import_react_native5.View,
|
|
10254
10408
|
{
|
|
10255
10409
|
style: [
|
|
@@ -10260,7 +10414,7 @@ var ModifyConsentModal = ({
|
|
|
10260
10414
|
}
|
|
10261
10415
|
],
|
|
10262
10416
|
children: [
|
|
10263
|
-
/* @__PURE__ */ (0,
|
|
10417
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native_svg4.default, { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
10264
10418
|
import_react_native_svg4.Path,
|
|
10265
10419
|
{
|
|
10266
10420
|
d: "M12 9v4m0 4h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z",
|
|
@@ -10270,12 +10424,12 @@ var ModifyConsentModal = ({
|
|
|
10270
10424
|
strokeLinejoin: "round"
|
|
10271
10425
|
}
|
|
10272
10426
|
) }),
|
|
10273
|
-
/* @__PURE__ */ (0,
|
|
10427
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native5.Text, { style: [styles5.warningText, { color: colors.warning }], children: actionConfig.warningMessage })
|
|
10274
10428
|
]
|
|
10275
10429
|
}
|
|
10276
10430
|
),
|
|
10277
|
-
/* @__PURE__ */ (0,
|
|
10278
|
-
/* @__PURE__ */ (0,
|
|
10431
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_react_native5.View, { style: styles5.footer, children: [
|
|
10432
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
10279
10433
|
PCButton,
|
|
10280
10434
|
{
|
|
10281
10435
|
title: t("cancel"),
|
|
@@ -10284,7 +10438,7 @@ var ModifyConsentModal = ({
|
|
|
10284
10438
|
style: styles5.footerButton
|
|
10285
10439
|
}
|
|
10286
10440
|
),
|
|
10287
|
-
/* @__PURE__ */ (0,
|
|
10441
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
10288
10442
|
PCButton,
|
|
10289
10443
|
{
|
|
10290
10444
|
title: actionConfig.buttonLabel,
|
|
@@ -10394,7 +10548,7 @@ var styles5 = import_react_native5.StyleSheet.create({
|
|
|
10394
10548
|
});
|
|
10395
10549
|
|
|
10396
10550
|
// src/RedactoPrivacyCenter/components/ConsentManager.tsx
|
|
10397
|
-
var
|
|
10551
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
10398
10552
|
var SEARCH_DEBOUNCE_DELAY = 400;
|
|
10399
10553
|
var DEFAULT_PAGE = 1;
|
|
10400
10554
|
var DEFAULT_PAGE_SIZE = 10;
|
|
@@ -10430,7 +10584,7 @@ function StatusBadge({ status }) {
|
|
|
10430
10584
|
const { t } = (0, import_react_i18next3.useTranslation)();
|
|
10431
10585
|
const { colors } = useTheme();
|
|
10432
10586
|
const { fg, bg } = getStatusColors(status, colors);
|
|
10433
|
-
return /* @__PURE__ */ (0,
|
|
10587
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.View, { style: [badgeStyles.container, { backgroundColor: bg }], children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [badgeStyles.text, { color: fg }], children: getStatusLabel(status, t) }) });
|
|
10434
10588
|
}
|
|
10435
10589
|
var badgeStyles = import_react_native6.StyleSheet.create({
|
|
10436
10590
|
container: {
|
|
@@ -10446,7 +10600,7 @@ var badgeStyles = import_react_native6.StyleSheet.create({
|
|
|
10446
10600
|
});
|
|
10447
10601
|
function MethodIcon({ method, color }) {
|
|
10448
10602
|
if (method === "MOBILE") {
|
|
10449
|
-
return /* @__PURE__ */ (0,
|
|
10603
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native_svg5.default, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
10450
10604
|
import_react_native_svg5.Path,
|
|
10451
10605
|
{
|
|
10452
10606
|
d: "M5 4a2 2 0 012-2h10a2 2 0 012 2v16a2 2 0 01-2 2H7a2 2 0 01-2-2V4zM10 18h4",
|
|
@@ -10458,7 +10612,7 @@ function MethodIcon({ method, color }) {
|
|
|
10458
10612
|
) });
|
|
10459
10613
|
}
|
|
10460
10614
|
if (method === "WEB") {
|
|
10461
|
-
return /* @__PURE__ */ (0,
|
|
10615
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native_svg5.default, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
10462
10616
|
import_react_native_svg5.Path,
|
|
10463
10617
|
{
|
|
10464
10618
|
d: "M2 6a2 2 0 012-2h16a2 2 0 012 2v9a2 2 0 01-2 2H4a2 2 0 01-2-2V6zM7 21h10M12 17v4",
|
|
@@ -10474,14 +10628,14 @@ function MethodIcon({ method, color }) {
|
|
|
10474
10628
|
function SkeletonCard({ pulse }) {
|
|
10475
10629
|
const { colors } = useTheme();
|
|
10476
10630
|
const opacity = pulse.interpolate({ inputRange: [0, 1], outputRange: [0.4, 0.8] });
|
|
10477
|
-
return /* @__PURE__ */ (0,
|
|
10478
|
-
/* @__PURE__ */ (0,
|
|
10479
|
-
/* @__PURE__ */ (0,
|
|
10480
|
-
/* @__PURE__ */ (0,
|
|
10481
|
-
/* @__PURE__ */ (0,
|
|
10482
|
-
/* @__PURE__ */ (0,
|
|
10631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: [skeletonStyles.card, { backgroundColor: colors.surface, borderColor: colors.border }], children: [
|
|
10632
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Animated.View, { style: [skeletonStyles.line, skeletonStyles.lineWide, { backgroundColor: colors.border, opacity }] }),
|
|
10633
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Animated.View, { style: [skeletonStyles.line, skeletonStyles.lineMid, { backgroundColor: colors.border, opacity }] }),
|
|
10634
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: skeletonStyles.row, children: [
|
|
10635
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Animated.View, { style: [skeletonStyles.line, skeletonStyles.lineSmall, { backgroundColor: colors.border, opacity }] }),
|
|
10636
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Animated.View, { style: [skeletonStyles.line, skeletonStyles.lineSmall, { backgroundColor: colors.border, opacity }] })
|
|
10483
10637
|
] }),
|
|
10484
|
-
/* @__PURE__ */ (0,
|
|
10638
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Animated.View, { style: [skeletonStyles.line, skeletonStyles.lineButton, { backgroundColor: colors.border, opacity }] })
|
|
10485
10639
|
] });
|
|
10486
10640
|
}
|
|
10487
10641
|
var skeletonStyles = import_react_native6.StyleSheet.create({
|
|
@@ -10513,30 +10667,30 @@ function ConsentManager() {
|
|
|
10513
10667
|
const { accessToken, refreshToken, email, organizationId, workspaceId, updateTokens, onError } = useAuth();
|
|
10514
10668
|
const { consentClient } = useBaseUrl();
|
|
10515
10669
|
const { langParam } = useCurrentLanguage();
|
|
10516
|
-
const authContext = (0,
|
|
10670
|
+
const authContext = (0, import_react9.useMemo)(
|
|
10517
10671
|
() => ({ accessToken, refreshToken, onError, updateTokens }),
|
|
10518
10672
|
[accessToken, refreshToken, onError, updateTokens]
|
|
10519
10673
|
);
|
|
10520
10674
|
const contact = email || "";
|
|
10521
|
-
const [activeTab, setActiveTab] = (0,
|
|
10522
|
-
const [consentDetail, setConsentDetail] = (0,
|
|
10523
|
-
const [consentData, setConsentData] = (0,
|
|
10524
|
-
const [totalCount, setTotalCount] = (0,
|
|
10525
|
-
const [productOptions, setProductOptions] = (0,
|
|
10526
|
-
const [searchQuery, setSearchQuery] = (0,
|
|
10527
|
-
const [debouncedSearch, setDebouncedSearch] = (0,
|
|
10528
|
-
const [statusFilter, setStatusFilter] = (0,
|
|
10529
|
-
const [productFilter, setProductFilter] = (0,
|
|
10530
|
-
const [currentPage, setCurrentPage] = (0,
|
|
10531
|
-
const [pageSize] = (0,
|
|
10532
|
-
const [isLoading, setIsLoading] = (0,
|
|
10533
|
-
const [refreshing, setRefreshing] = (0,
|
|
10534
|
-
const [isModalOpen, setIsModalOpen] = (0,
|
|
10535
|
-
const [selectedRecord, setSelectedRecord] = (0,
|
|
10536
|
-
const [isManageLoading, setIsManageLoading] = (0,
|
|
10537
|
-
const [exportModalVisible, setExportModalVisible] = (0,
|
|
10538
|
-
const pulseAnim = (0,
|
|
10539
|
-
(0,
|
|
10675
|
+
const [activeTab, setActiveTab] = (0, import_react9.useState)("direct");
|
|
10676
|
+
const [consentDetail, setConsentDetail] = (0, import_react9.useState)(null);
|
|
10677
|
+
const [consentData, setConsentData] = (0, import_react9.useState)([]);
|
|
10678
|
+
const [totalCount, setTotalCount] = (0, import_react9.useState)(0);
|
|
10679
|
+
const [productOptions, setProductOptions] = (0, import_react9.useState)([]);
|
|
10680
|
+
const [searchQuery, setSearchQuery] = (0, import_react9.useState)("");
|
|
10681
|
+
const [debouncedSearch, setDebouncedSearch] = (0, import_react9.useState)("");
|
|
10682
|
+
const [statusFilter, setStatusFilter] = (0, import_react9.useState)(ALL_VALUE);
|
|
10683
|
+
const [productFilter, setProductFilter] = (0, import_react9.useState)(ALL_VALUE);
|
|
10684
|
+
const [currentPage, setCurrentPage] = (0, import_react9.useState)(DEFAULT_PAGE);
|
|
10685
|
+
const [pageSize] = (0, import_react9.useState)(DEFAULT_PAGE_SIZE);
|
|
10686
|
+
const [isLoading, setIsLoading] = (0, import_react9.useState)(true);
|
|
10687
|
+
const [refreshing, setRefreshing] = (0, import_react9.useState)(false);
|
|
10688
|
+
const [isModalOpen, setIsModalOpen] = (0, import_react9.useState)(false);
|
|
10689
|
+
const [selectedRecord, setSelectedRecord] = (0, import_react9.useState)(null);
|
|
10690
|
+
const [isManageLoading, setIsManageLoading] = (0, import_react9.useState)(false);
|
|
10691
|
+
const [exportModalVisible, setExportModalVisible] = (0, import_react9.useState)(false);
|
|
10692
|
+
const pulseAnim = (0, import_react9.useRef)(new import_react_native6.Animated.Value(0)).current;
|
|
10693
|
+
(0, import_react9.useEffect)(() => {
|
|
10540
10694
|
if (!isLoading) return;
|
|
10541
10695
|
const loop = import_react_native6.Animated.loop(
|
|
10542
10696
|
import_react_native6.Animated.sequence([
|
|
@@ -10547,11 +10701,11 @@ function ConsentManager() {
|
|
|
10547
10701
|
loop.start();
|
|
10548
10702
|
return () => loop.stop();
|
|
10549
10703
|
}, [isLoading, pulseAnim]);
|
|
10550
|
-
(0,
|
|
10704
|
+
(0, import_react9.useEffect)(() => {
|
|
10551
10705
|
const timer = setTimeout(() => setDebouncedSearch(searchQuery), SEARCH_DEBOUNCE_DELAY);
|
|
10552
10706
|
return () => clearTimeout(timer);
|
|
10553
10707
|
}, [searchQuery]);
|
|
10554
|
-
const flattenProductGroups = (0,
|
|
10708
|
+
const flattenProductGroups = (0, import_react9.useCallback)(
|
|
10555
10709
|
(groups) => {
|
|
10556
10710
|
if (!groups || groups.length === 0) return [];
|
|
10557
10711
|
return groups.flatMap(
|
|
@@ -10568,7 +10722,7 @@ function ConsentManager() {
|
|
|
10568
10722
|
},
|
|
10569
10723
|
[]
|
|
10570
10724
|
);
|
|
10571
|
-
const filterConsentRows = (0,
|
|
10725
|
+
const filterConsentRows = (0, import_react9.useCallback)(
|
|
10572
10726
|
(rows, search, statusValue, productUuid) => {
|
|
10573
10727
|
const normalizedSearch = search.trim().toLowerCase();
|
|
10574
10728
|
return rows.filter((row) => {
|
|
@@ -10581,7 +10735,7 @@ function ConsentManager() {
|
|
|
10581
10735
|
},
|
|
10582
10736
|
[]
|
|
10583
10737
|
);
|
|
10584
|
-
const buildProductOptions = (0,
|
|
10738
|
+
const buildProductOptions = (0, import_react9.useCallback)(
|
|
10585
10739
|
(groups) => {
|
|
10586
10740
|
if (!groups || groups.length === 0) return [];
|
|
10587
10741
|
const map = /* @__PURE__ */ new Map();
|
|
@@ -10594,7 +10748,7 @@ function ConsentManager() {
|
|
|
10594
10748
|
},
|
|
10595
10749
|
[]
|
|
10596
10750
|
);
|
|
10597
|
-
const fetchData = (0,
|
|
10751
|
+
const fetchData = (0, import_react9.useCallback)(async () => {
|
|
10598
10752
|
var _a2, _b2;
|
|
10599
10753
|
if (!organizationId || !workspaceId) return;
|
|
10600
10754
|
try {
|
|
@@ -10663,24 +10817,24 @@ function ConsentManager() {
|
|
|
10663
10817
|
filterConsentRows,
|
|
10664
10818
|
buildProductOptions
|
|
10665
10819
|
]);
|
|
10666
|
-
(0,
|
|
10820
|
+
(0, import_react9.useEffect)(() => {
|
|
10667
10821
|
setIsLoading(true);
|
|
10668
10822
|
fetchData().finally(() => setIsLoading(false));
|
|
10669
10823
|
}, [fetchData]);
|
|
10670
|
-
const handleRefresh = (0,
|
|
10824
|
+
const handleRefresh = (0, import_react9.useCallback)(async () => {
|
|
10671
10825
|
setRefreshing(true);
|
|
10672
10826
|
await fetchData();
|
|
10673
10827
|
setRefreshing(false);
|
|
10674
10828
|
}, [fetchData]);
|
|
10675
|
-
const handleOpenModal = (0,
|
|
10829
|
+
const handleOpenModal = (0, import_react9.useCallback)((record) => {
|
|
10676
10830
|
setSelectedRecord(record);
|
|
10677
10831
|
setIsModalOpen(true);
|
|
10678
10832
|
}, []);
|
|
10679
|
-
const handleCloseModal = (0,
|
|
10833
|
+
const handleCloseModal = (0, import_react9.useCallback)(() => {
|
|
10680
10834
|
setIsModalOpen(false);
|
|
10681
10835
|
setSelectedRecord(null);
|
|
10682
10836
|
}, []);
|
|
10683
|
-
const handleManageConsent = (0,
|
|
10837
|
+
const handleManageConsent = (0, import_react9.useCallback)(
|
|
10684
10838
|
async (purposeId, action, nominatorContact, dataElementUuids) => {
|
|
10685
10839
|
if (!organizationId || !workspaceId || !contact) return;
|
|
10686
10840
|
const errorTitleByAction = {
|
|
@@ -10760,7 +10914,7 @@ function ConsentManager() {
|
|
|
10760
10914
|
},
|
|
10761
10915
|
[organizationId, workspaceId, contact, authContext, consentClient, fetchData, handleCloseModal, t]
|
|
10762
10916
|
);
|
|
10763
|
-
const handleExport = (0,
|
|
10917
|
+
const handleExport = (0, import_react9.useCallback)(async () => {
|
|
10764
10918
|
if (consentData.length === 0) {
|
|
10765
10919
|
setExportModalVisible(false);
|
|
10766
10920
|
return;
|
|
@@ -10792,7 +10946,7 @@ function ConsentManager() {
|
|
|
10792
10946
|
console.error("Export failed:", e);
|
|
10793
10947
|
}
|
|
10794
10948
|
}, [consentData, t]);
|
|
10795
|
-
const statusOptions = (0,
|
|
10949
|
+
const statusOptions = (0, import_react9.useMemo)(
|
|
10796
10950
|
() => [
|
|
10797
10951
|
{ value: ALL_VALUE, label: t("all") },
|
|
10798
10952
|
{ value: "ACTIVE" /* ACTIVE */, label: t("statusActive") },
|
|
@@ -10802,7 +10956,7 @@ function ConsentManager() {
|
|
|
10802
10956
|
],
|
|
10803
10957
|
[t]
|
|
10804
10958
|
);
|
|
10805
|
-
const productSelectOptions = (0,
|
|
10959
|
+
const productSelectOptions = (0, import_react9.useMemo)(
|
|
10806
10960
|
() => [{ value: ALL_VALUE, label: t("all") }, ...productOptions],
|
|
10807
10961
|
[productOptions, t]
|
|
10808
10962
|
);
|
|
@@ -10833,24 +10987,24 @@ function ConsentManager() {
|
|
|
10833
10987
|
}).filter(Boolean);
|
|
10834
10988
|
const hasInfo = Boolean(statusLabel) || nominatorLabels.length > 0;
|
|
10835
10989
|
if (!hasInfo) return null;
|
|
10836
|
-
return /* @__PURE__ */ (0,
|
|
10837
|
-
/* @__PURE__ */ (0,
|
|
10838
|
-
/* @__PURE__ */ (0,
|
|
10839
|
-
nominatorLabels.length > 0 ? /* @__PURE__ */ (0,
|
|
10990
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: [styles6.visibilityStrip, { backgroundColor: colors.surface, borderColor: colors.border }], children: [
|
|
10991
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: { flex: 1 }, children: [
|
|
10992
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.visibilityTitle, { color: colors.text }], children: t("consentVisibility") }),
|
|
10993
|
+
nominatorLabels.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.Text, { style: [styles6.visibilitySubtitle, { color: colors.textSecondary }], children: [
|
|
10840
10994
|
t("managingConsentsFor"),
|
|
10841
10995
|
" ",
|
|
10842
|
-
/* @__PURE__ */ (0,
|
|
10996
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: { fontWeight: "600", color: colors.text }, children: nominatorLabels.join(", ") })
|
|
10843
10997
|
] }) : null
|
|
10844
10998
|
] }),
|
|
10845
|
-
statusLabel ? /* @__PURE__ */ (0,
|
|
10999
|
+
statusLabel ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.View, { style: [styles6.statusPill, { backgroundColor: statusBg }], children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.statusPillText, { color: statusFg }], children: statusLabel }) }) : null
|
|
10846
11000
|
] });
|
|
10847
11001
|
};
|
|
10848
|
-
const renderTabs = () => /* @__PURE__ */ (0,
|
|
11002
|
+
const renderTabs = () => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.View, { style: [styles6.tabsRow, { borderBottomColor: colors.border }], children: [
|
|
10849
11003
|
{ key: "direct", label: t("myConsents"), badge: directBadge },
|
|
10850
11004
|
{ key: "nominated", label: t("managing"), badge: nominatedBadge }
|
|
10851
11005
|
].map((tab) => {
|
|
10852
11006
|
const isActive = activeTab === tab.key;
|
|
10853
|
-
return /* @__PURE__ */ (0,
|
|
11007
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
10854
11008
|
import_react_native6.TouchableOpacity,
|
|
10855
11009
|
{
|
|
10856
11010
|
style: [
|
|
@@ -10863,7 +11017,7 @@ function ConsentManager() {
|
|
|
10863
11017
|
},
|
|
10864
11018
|
activeOpacity: 0.7,
|
|
10865
11019
|
children: [
|
|
10866
|
-
/* @__PURE__ */ (0,
|
|
11020
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
10867
11021
|
import_react_native6.Text,
|
|
10868
11022
|
{
|
|
10869
11023
|
style: [
|
|
@@ -10873,7 +11027,7 @@ function ConsentManager() {
|
|
|
10873
11027
|
children: tab.label
|
|
10874
11028
|
}
|
|
10875
11029
|
),
|
|
10876
|
-
/* @__PURE__ */ (0,
|
|
11030
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.View, { style: [styles6.tabBadge, { backgroundColor: colors.surface, borderColor: colors.border }], children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.tabBadgeText, { color: colors.textSecondary }], children: tab.badge }) })
|
|
10877
11031
|
]
|
|
10878
11032
|
},
|
|
10879
11033
|
tab.key
|
|
@@ -10884,39 +11038,39 @@ function ConsentManager() {
|
|
|
10884
11038
|
const validTillText = consent.status === "DECLINED" /* DECLINED */ || consent.status === "WITHDRAW" /* WITHDRAWN */ ? "-" : consent.status === "ACTIVE" /* ACTIVE */ && !consent.valid_till ? t("untilWithdrawalNoExpiry") : formatDateTime(consent.valid_till);
|
|
10885
11039
|
const givenDateText = formatDateTime(consent.given_date);
|
|
10886
11040
|
const givenRelative = formatRelativeTime(consent.given_date);
|
|
10887
|
-
return /* @__PURE__ */ (0,
|
|
11041
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
10888
11042
|
import_react_native6.View,
|
|
10889
11043
|
{
|
|
10890
11044
|
style: [styles6.card, { backgroundColor: colors.surface, borderColor: colors.border }],
|
|
10891
11045
|
children: [
|
|
10892
|
-
/* @__PURE__ */ (0,
|
|
10893
|
-
/* @__PURE__ */ (0,
|
|
10894
|
-
/* @__PURE__ */ (0,
|
|
11046
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: styles6.cardTopRow, children: [
|
|
11047
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.purposeName, { color: colors.text }], numberOfLines: 2, children: consent.purpose }),
|
|
11048
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(StatusBadge, { status: consent.status })
|
|
10895
11049
|
] }),
|
|
10896
|
-
consent.purpose_description ? /* @__PURE__ */ (0,
|
|
10897
|
-
/* @__PURE__ */ (0,
|
|
10898
|
-
/* @__PURE__ */ (0,
|
|
10899
|
-
/* @__PURE__ */ (0,
|
|
10900
|
-
/* @__PURE__ */ (0,
|
|
11050
|
+
consent.purpose_description ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.purposeDesc, { color: colors.textSecondary }], numberOfLines: 2, children: consent.purpose_description }) : null,
|
|
11051
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: styles6.metaGrid, children: [
|
|
11052
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: styles6.metaCell, children: [
|
|
11053
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.metaLabel, { color: colors.textSecondary }], children: t("product") }),
|
|
11054
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.metaValue, { color: colors.text }], numberOfLines: 1, children: consent.product_name || "-" })
|
|
10901
11055
|
] }),
|
|
10902
|
-
/* @__PURE__ */ (0,
|
|
10903
|
-
/* @__PURE__ */ (0,
|
|
10904
|
-
/* @__PURE__ */ (0,
|
|
10905
|
-
/* @__PURE__ */ (0,
|
|
10906
|
-
/* @__PURE__ */ (0,
|
|
11056
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: styles6.metaCell, children: [
|
|
11057
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.metaLabel, { color: colors.textSecondary }], children: t("method") }),
|
|
11058
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: styles6.methodRow, children: [
|
|
11059
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(MethodIcon, { method: consent.method, color: colors.textSecondary }),
|
|
11060
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.metaValue, { color: colors.text }], children: consent.method || "-" })
|
|
10907
11061
|
] })
|
|
10908
11062
|
] }),
|
|
10909
|
-
/* @__PURE__ */ (0,
|
|
10910
|
-
/* @__PURE__ */ (0,
|
|
10911
|
-
/* @__PURE__ */ (0,
|
|
10912
|
-
givenRelative ? /* @__PURE__ */ (0,
|
|
11063
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: styles6.metaCell, children: [
|
|
11064
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.metaLabel, { color: colors.textSecondary }], children: t("givenDate") }),
|
|
11065
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.metaValue, { color: colors.text }], children: givenDateText }),
|
|
11066
|
+
givenRelative ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.metaSubvalue, { color: colors.textSecondary }], children: givenRelative }) : null
|
|
10913
11067
|
] }),
|
|
10914
|
-
/* @__PURE__ */ (0,
|
|
10915
|
-
/* @__PURE__ */ (0,
|
|
10916
|
-
/* @__PURE__ */ (0,
|
|
11068
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: styles6.metaCell, children: [
|
|
11069
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.metaLabel, { color: colors.textSecondary }], children: t("validTill") }),
|
|
11070
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.metaValue, { color: colors.text }], children: validTillText })
|
|
10917
11071
|
] })
|
|
10918
11072
|
] }),
|
|
10919
|
-
/* @__PURE__ */ (0,
|
|
11073
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.View, { style: [styles6.cardFooter, { borderTopColor: colors.border }], children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
10920
11074
|
import_react_native6.TouchableOpacity,
|
|
10921
11075
|
{
|
|
10922
11076
|
style: [
|
|
@@ -10929,7 +11083,7 @@ function ConsentManager() {
|
|
|
10929
11083
|
onPress: () => handleOpenModal(consent),
|
|
10930
11084
|
disabled: isDeclined,
|
|
10931
11085
|
activeOpacity: 0.7,
|
|
10932
|
-
children: /* @__PURE__ */ (0,
|
|
11086
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
10933
11087
|
import_react_native6.Text,
|
|
10934
11088
|
{
|
|
10935
11089
|
style: [
|
|
@@ -10946,23 +11100,23 @@ function ConsentManager() {
|
|
|
10946
11100
|
`${consent.purpose_uuid || "p"}-${consent.product_uuid || "pr"}-${index}`
|
|
10947
11101
|
);
|
|
10948
11102
|
};
|
|
10949
|
-
const renderEmpty = () => /* @__PURE__ */ (0,
|
|
10950
|
-
/* @__PURE__ */ (0,
|
|
10951
|
-
/* @__PURE__ */ (0,
|
|
11103
|
+
const renderEmpty = () => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: styles6.emptyContainer, children: [
|
|
11104
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.emptyTitle, { color: colors.text }], children: t("noData") || "No Data" }),
|
|
11105
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.emptyText, { color: colors.textSecondary }], children: searchQuery || statusFilter !== ALL_VALUE || productFilter !== ALL_VALUE ? t("noResultsForSearch") || "No consents match your current filters" : t("noConsentsYet") || "No consents to display yet" })
|
|
10952
11106
|
] });
|
|
10953
|
-
return /* @__PURE__ */ (0,
|
|
10954
|
-
/* @__PURE__ */ (0,
|
|
11107
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: [styles6.container, { backgroundColor: colors.background }], children: [
|
|
11108
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
10955
11109
|
import_react_native6.ScrollView,
|
|
10956
11110
|
{
|
|
10957
11111
|
contentContainerStyle: styles6.scrollContent,
|
|
10958
11112
|
keyboardShouldPersistTaps: "handled",
|
|
10959
|
-
refreshControl: /* @__PURE__ */ (0,
|
|
11113
|
+
refreshControl: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.RefreshControl, { refreshing, onRefresh: handleRefresh, tintColor: colors.primary }),
|
|
10960
11114
|
children: [
|
|
10961
11115
|
renderUserRelationshipStrip(),
|
|
10962
|
-
/* @__PURE__ */ (0,
|
|
11116
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: [styles6.filtersCard, { backgroundColor: colors.surface, borderColor: colors.border }], children: [
|
|
10963
11117
|
renderTabs(),
|
|
10964
|
-
/* @__PURE__ */ (0,
|
|
10965
|
-
/* @__PURE__ */ (0,
|
|
11118
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: [styles6.searchContainer, { borderColor: colors.border, backgroundColor: colors.background }], children: [
|
|
11119
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native_svg5.default, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
10966
11120
|
import_react_native_svg5.Path,
|
|
10967
11121
|
{
|
|
10968
11122
|
d: "M11 19a8 8 0 100-16 8 8 0 000 16zM21 21l-4.35-4.35",
|
|
@@ -10972,7 +11126,7 @@ function ConsentManager() {
|
|
|
10972
11126
|
strokeLinejoin: "round"
|
|
10973
11127
|
}
|
|
10974
11128
|
) }),
|
|
10975
|
-
/* @__PURE__ */ (0,
|
|
11129
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
10976
11130
|
import_react_native6.TextInput,
|
|
10977
11131
|
{
|
|
10978
11132
|
style: [styles6.searchInput, { color: colors.text }],
|
|
@@ -10988,7 +11142,7 @@ function ConsentManager() {
|
|
|
10988
11142
|
returnKeyType: "search"
|
|
10989
11143
|
}
|
|
10990
11144
|
),
|
|
10991
|
-
searchQuery.length > 0 ? /* @__PURE__ */ (0,
|
|
11145
|
+
searchQuery.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
10992
11146
|
import_react_native6.TouchableOpacity,
|
|
10993
11147
|
{
|
|
10994
11148
|
onPress: () => {
|
|
@@ -10996,7 +11150,7 @@ function ConsentManager() {
|
|
|
10996
11150
|
setCurrentPage(DEFAULT_PAGE);
|
|
10997
11151
|
},
|
|
10998
11152
|
hitSlop: 8,
|
|
10999
|
-
children: /* @__PURE__ */ (0,
|
|
11153
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native_svg5.default, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
11000
11154
|
import_react_native_svg5.Path,
|
|
11001
11155
|
{
|
|
11002
11156
|
d: "M18 6L6 18M6 6l12 12",
|
|
@@ -11009,8 +11163,8 @@ function ConsentManager() {
|
|
|
11009
11163
|
}
|
|
11010
11164
|
) : null
|
|
11011
11165
|
] }),
|
|
11012
|
-
/* @__PURE__ */ (0,
|
|
11013
|
-
/* @__PURE__ */ (0,
|
|
11166
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: styles6.filterRow, children: [
|
|
11167
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.View, { style: styles6.filterCol, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
11014
11168
|
PCSelect,
|
|
11015
11169
|
{
|
|
11016
11170
|
value: statusFilter,
|
|
@@ -11022,7 +11176,7 @@ function ConsentManager() {
|
|
|
11022
11176
|
placeholder: t("status")
|
|
11023
11177
|
}
|
|
11024
11178
|
) }),
|
|
11025
|
-
/* @__PURE__ */ (0,
|
|
11179
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.View, { style: styles6.filterCol, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
11026
11180
|
PCSelect,
|
|
11027
11181
|
{
|
|
11028
11182
|
value: productFilter,
|
|
@@ -11035,14 +11189,14 @@ function ConsentManager() {
|
|
|
11035
11189
|
}
|
|
11036
11190
|
) })
|
|
11037
11191
|
] }),
|
|
11038
|
-
/* @__PURE__ */ (0,
|
|
11192
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
11039
11193
|
import_react_native6.TouchableOpacity,
|
|
11040
11194
|
{
|
|
11041
11195
|
style: [styles6.exportButton, { borderColor: colors.border, backgroundColor: colors.background }],
|
|
11042
11196
|
onPress: () => setExportModalVisible(true),
|
|
11043
11197
|
activeOpacity: 0.7,
|
|
11044
11198
|
children: [
|
|
11045
|
-
/* @__PURE__ */ (0,
|
|
11199
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native_svg5.default, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
11046
11200
|
import_react_native_svg5.Path,
|
|
11047
11201
|
{
|
|
11048
11202
|
d: "M12 4v12m0-12l-5 5m5-5l5 5M4 20h16",
|
|
@@ -11052,14 +11206,14 @@ function ConsentManager() {
|
|
|
11052
11206
|
strokeLinejoin: "round"
|
|
11053
11207
|
}
|
|
11054
11208
|
) }),
|
|
11055
|
-
/* @__PURE__ */ (0,
|
|
11209
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.exportButtonText, { color: colors.text }], children: t("export") })
|
|
11056
11210
|
]
|
|
11057
11211
|
}
|
|
11058
11212
|
)
|
|
11059
11213
|
] }),
|
|
11060
|
-
isLoading ? /* @__PURE__ */ (0,
|
|
11061
|
-
!isLoading && consentData.length > 0 ? /* @__PURE__ */ (0,
|
|
11062
|
-
/* @__PURE__ */ (0,
|
|
11214
|
+
isLoading ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.View, { style: styles6.list, children: Array.from({ length: SKELETON_ROW_COUNT }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(SkeletonCard, { pulse: pulseAnim }, i)) }) : consentData.length === 0 ? renderEmpty() : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.View, { style: styles6.list, children: consentData.map((c, idx) => renderConsentCard(c, idx)) }),
|
|
11215
|
+
!isLoading && consentData.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: styles6.paginationRow, children: [
|
|
11216
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
11063
11217
|
import_react_native6.TouchableOpacity,
|
|
11064
11218
|
{
|
|
11065
11219
|
style: [
|
|
@@ -11069,11 +11223,11 @@ function ConsentManager() {
|
|
|
11069
11223
|
disabled: !canPrev,
|
|
11070
11224
|
onPress: () => setCurrentPage((p) => Math.max(1, p - 1)),
|
|
11071
11225
|
activeOpacity: 0.7,
|
|
11072
|
-
children: /* @__PURE__ */ (0,
|
|
11226
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.pageButtonText, { color: colors.text }], children: t("previous") || "Previous" })
|
|
11073
11227
|
}
|
|
11074
11228
|
),
|
|
11075
|
-
/* @__PURE__ */ (0,
|
|
11076
|
-
/* @__PURE__ */ (0,
|
|
11229
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.pageInfo, { color: colors.textSecondary }], children: `${currentPage} / ${totalPages}` }),
|
|
11230
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
11077
11231
|
import_react_native6.TouchableOpacity,
|
|
11078
11232
|
{
|
|
11079
11233
|
style: [
|
|
@@ -11083,14 +11237,14 @@ function ConsentManager() {
|
|
|
11083
11237
|
disabled: !canNext,
|
|
11084
11238
|
onPress: () => setCurrentPage((p) => Math.min(totalPages, p + 1)),
|
|
11085
11239
|
activeOpacity: 0.7,
|
|
11086
|
-
children: /* @__PURE__ */ (0,
|
|
11240
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.pageButtonText, { color: colors.text }], children: t("next") || "Next" })
|
|
11087
11241
|
}
|
|
11088
11242
|
)
|
|
11089
11243
|
] }) : null
|
|
11090
11244
|
]
|
|
11091
11245
|
}
|
|
11092
11246
|
),
|
|
11093
|
-
/* @__PURE__ */ (0,
|
|
11247
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
11094
11248
|
ModifyConsentModal,
|
|
11095
11249
|
{
|
|
11096
11250
|
visible: isModalOpen,
|
|
@@ -11100,27 +11254,27 @@ function ConsentManager() {
|
|
|
11100
11254
|
onManageConsent: handleManageConsent
|
|
11101
11255
|
}
|
|
11102
11256
|
),
|
|
11103
|
-
exportModalVisible ? /* @__PURE__ */ (0,
|
|
11104
|
-
/* @__PURE__ */ (0,
|
|
11105
|
-
/* @__PURE__ */ (0,
|
|
11106
|
-
/* @__PURE__ */ (0,
|
|
11107
|
-
/* @__PURE__ */ (0,
|
|
11108
|
-
/* @__PURE__ */ (0,
|
|
11257
|
+
exportModalVisible ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.View, { style: styles6.exportModalOverlay, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: [styles6.exportModalCard, { backgroundColor: colors.surface }], children: [
|
|
11258
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.exportModalTitle, { color: colors.text }], children: t("exportConsentData") }),
|
|
11259
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.exportModalSubtitle, { color: colors.textSecondary }], children: t("exportConsentDataSubtitle") }),
|
|
11260
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.exportModalBody, { color: colors.textSecondary }], children: t("exportingIncludesFilters") }),
|
|
11261
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native6.View, { style: styles6.exportModalActions, children: [
|
|
11262
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
11109
11263
|
import_react_native6.TouchableOpacity,
|
|
11110
11264
|
{
|
|
11111
11265
|
style: [styles6.exportCancelButton, { borderColor: colors.border }],
|
|
11112
11266
|
onPress: () => setExportModalVisible(false),
|
|
11113
11267
|
activeOpacity: 0.7,
|
|
11114
|
-
children: /* @__PURE__ */ (0,
|
|
11268
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: [styles6.exportCancelText, { color: colors.text }], children: t("cancel") })
|
|
11115
11269
|
}
|
|
11116
11270
|
),
|
|
11117
|
-
/* @__PURE__ */ (0,
|
|
11271
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
11118
11272
|
import_react_native6.TouchableOpacity,
|
|
11119
11273
|
{
|
|
11120
11274
|
style: [styles6.exportConfirmButton, { backgroundColor: colors.primary }],
|
|
11121
11275
|
onPress: handleExport,
|
|
11122
11276
|
activeOpacity: 0.7,
|
|
11123
|
-
children: /* @__PURE__ */ (0,
|
|
11277
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native6.Text, { style: styles6.exportConfirmText, children: t("export") })
|
|
11124
11278
|
}
|
|
11125
11279
|
)
|
|
11126
11280
|
] })
|
|
@@ -11407,10 +11561,10 @@ var styles6 = import_react_native6.StyleSheet.create({
|
|
|
11407
11561
|
});
|
|
11408
11562
|
|
|
11409
11563
|
// src/RedactoPrivacyCenter/components/ActivitiesList.tsx
|
|
11410
|
-
var
|
|
11564
|
+
var import_react10 = require("react");
|
|
11411
11565
|
var import_react_native7 = require("react-native");
|
|
11412
11566
|
var import_react_i18next4 = require("react-i18next");
|
|
11413
|
-
var
|
|
11567
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
11414
11568
|
var PAGE_SIZE = 15;
|
|
11415
11569
|
var ACTIVITY_TYPE_COLORS = {
|
|
11416
11570
|
consent_given: { bg: "rgba(16, 185, 129, 0.1)", text: "#10B981" },
|
|
@@ -11448,19 +11602,19 @@ function ActivitiesList() {
|
|
|
11448
11602
|
const { accessToken, refreshToken, organizationId, workspaceId, updateTokens, onError } = useAuth();
|
|
11449
11603
|
const { consentClient } = useBaseUrl();
|
|
11450
11604
|
const { colors } = useTheme();
|
|
11451
|
-
const authContext = (0,
|
|
11605
|
+
const authContext = (0, import_react10.useMemo)(() => ({
|
|
11452
11606
|
accessToken,
|
|
11453
11607
|
refreshToken,
|
|
11454
11608
|
onError,
|
|
11455
11609
|
updateTokens
|
|
11456
11610
|
}), [accessToken, refreshToken, onError, updateTokens]);
|
|
11457
|
-
const [activities, setActivities] = (0,
|
|
11458
|
-
const [totalCount, setTotalCount] = (0,
|
|
11459
|
-
const [isLoading, setIsLoading] = (0,
|
|
11460
|
-
const [refreshing, setRefreshing] = (0,
|
|
11461
|
-
const [loadingMore, setLoadingMore] = (0,
|
|
11462
|
-
const [offset, setOffset] = (0,
|
|
11463
|
-
const fetchData = (0,
|
|
11611
|
+
const [activities, setActivities] = (0, import_react10.useState)([]);
|
|
11612
|
+
const [totalCount, setTotalCount] = (0, import_react10.useState)(0);
|
|
11613
|
+
const [isLoading, setIsLoading] = (0, import_react10.useState)(true);
|
|
11614
|
+
const [refreshing, setRefreshing] = (0, import_react10.useState)(false);
|
|
11615
|
+
const [loadingMore, setLoadingMore] = (0, import_react10.useState)(false);
|
|
11616
|
+
const [offset, setOffset] = (0, import_react10.useState)(0);
|
|
11617
|
+
const fetchData = (0, import_react10.useCallback)(
|
|
11464
11618
|
async (newOffset = 0, append = false) => {
|
|
11465
11619
|
var _a, _b, _c;
|
|
11466
11620
|
if (!organizationId || !workspaceId) return;
|
|
@@ -11494,59 +11648,59 @@ function ActivitiesList() {
|
|
|
11494
11648
|
},
|
|
11495
11649
|
[organizationId, workspaceId, authContext, consentClient]
|
|
11496
11650
|
);
|
|
11497
|
-
(0,
|
|
11651
|
+
(0, import_react10.useEffect)(() => {
|
|
11498
11652
|
setIsLoading(true);
|
|
11499
11653
|
fetchData(0).finally(() => setIsLoading(false));
|
|
11500
11654
|
}, [fetchData]);
|
|
11501
|
-
const handleRefresh = (0,
|
|
11655
|
+
const handleRefresh = (0, import_react10.useCallback)(async () => {
|
|
11502
11656
|
setRefreshing(true);
|
|
11503
11657
|
await fetchData(0);
|
|
11504
11658
|
setRefreshing(false);
|
|
11505
11659
|
}, [fetchData]);
|
|
11506
|
-
const handleLoadMore = (0,
|
|
11660
|
+
const handleLoadMore = (0, import_react10.useCallback)(async () => {
|
|
11507
11661
|
if (loadingMore || activities.length >= totalCount) return;
|
|
11508
11662
|
setLoadingMore(true);
|
|
11509
11663
|
const nextOffset = offset + PAGE_SIZE;
|
|
11510
11664
|
await fetchData(nextOffset, true);
|
|
11511
11665
|
setLoadingMore(false);
|
|
11512
11666
|
}, [loadingMore, activities.length, totalCount, offset, fetchData]);
|
|
11513
|
-
const renderItem = (0,
|
|
11667
|
+
const renderItem = (0, import_react10.useCallback)(
|
|
11514
11668
|
({ item }) => {
|
|
11515
11669
|
const typeColor = getActivityTypeColor(item.activity_type);
|
|
11516
11670
|
const displayTitle = item.title_display || item.title || "";
|
|
11517
11671
|
const displayDescription = item.description_display || item.description || "";
|
|
11518
11672
|
const displayType = item.activity_type_display || item.activity_type || "";
|
|
11519
|
-
return /* @__PURE__ */ (0,
|
|
11520
|
-
/* @__PURE__ */ (0,
|
|
11521
|
-
/* @__PURE__ */ (0,
|
|
11522
|
-
/* @__PURE__ */ (0,
|
|
11673
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react_native7.View, { style: [styles7.card, { backgroundColor: colors.surface, borderColor: colors.border }], children: [
|
|
11674
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react_native7.View, { style: styles7.cardTopRow, children: [
|
|
11675
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native7.View, { style: [styles7.typeBadge, { backgroundColor: typeColor.bg }], children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native7.Text, { style: [styles7.typeBadgeText, { color: typeColor.text }], children: displayType }) }),
|
|
11676
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native7.Text, { style: [styles7.timestamp, { color: colors.textSecondary }], children: formatTimestamp(item.timestamp) })
|
|
11523
11677
|
] }),
|
|
11524
|
-
/* @__PURE__ */ (0,
|
|
11525
|
-
displayDescription ? /* @__PURE__ */ (0,
|
|
11526
|
-
item.case_id || item.status ? /* @__PURE__ */ (0,
|
|
11527
|
-
item.case_id ? /* @__PURE__ */ (0,
|
|
11678
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native7.Text, { style: [styles7.title, { color: colors.text }], numberOfLines: 2, children: displayTitle }),
|
|
11679
|
+
displayDescription ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native7.Text, { style: [styles7.description, { color: colors.textSecondary }], numberOfLines: 3, children: truncate(displayDescription) }) : null,
|
|
11680
|
+
item.case_id || item.status ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react_native7.View, { style: styles7.metaRow, children: [
|
|
11681
|
+
item.case_id ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react_native7.Text, { style: [styles7.caseId, { color: colors.textSecondary }], children: [
|
|
11528
11682
|
t("caseID") || "Case ID",
|
|
11529
11683
|
": ",
|
|
11530
11684
|
item.case_id
|
|
11531
11685
|
] }) : null,
|
|
11532
|
-
item.status_display || item.status ? /* @__PURE__ */ (0,
|
|
11686
|
+
item.status_display || item.status ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native7.Text, { style: [styles7.statusText, { color: colors.textSecondary }], children: item.status_display || item.status }) : null
|
|
11533
11687
|
] }) : null
|
|
11534
11688
|
] });
|
|
11535
11689
|
},
|
|
11536
11690
|
[colors, t]
|
|
11537
11691
|
);
|
|
11538
|
-
const renderFooter = (0,
|
|
11692
|
+
const renderFooter = (0, import_react10.useCallback)(() => {
|
|
11539
11693
|
if (!loadingMore) return null;
|
|
11540
|
-
return /* @__PURE__ */ (0,
|
|
11694
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native7.View, { style: styles7.footerLoader, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native7.ActivityIndicator, { size: "small", color: colors.primary }) });
|
|
11541
11695
|
}, [loadingMore, colors]);
|
|
11542
|
-
const renderEmpty = (0,
|
|
11543
|
-
() => /* @__PURE__ */ (0,
|
|
11696
|
+
const renderEmpty = (0, import_react10.useCallback)(
|
|
11697
|
+
() => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native7.View, { style: styles7.emptyContainer, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native7.Text, { style: [styles7.emptyText, { color: colors.textSecondary }], children: t("noData") || "No activities found" }) }),
|
|
11544
11698
|
[colors, t]
|
|
11545
11699
|
);
|
|
11546
11700
|
if (isLoading) {
|
|
11547
|
-
return /* @__PURE__ */ (0,
|
|
11701
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native7.View, { style: [styles7.loaderContainer, { backgroundColor: colors.background }], children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native7.ActivityIndicator, { size: "large", color: colors.primary }) });
|
|
11548
11702
|
}
|
|
11549
|
-
return /* @__PURE__ */ (0,
|
|
11703
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native7.View, { style: [styles7.container, { backgroundColor: colors.background }], children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
11550
11704
|
import_react_native7.FlatList,
|
|
11551
11705
|
{
|
|
11552
11706
|
data: activities,
|
|
@@ -11557,7 +11711,7 @@ function ActivitiesList() {
|
|
|
11557
11711
|
contentContainerStyle: styles7.listContent,
|
|
11558
11712
|
onEndReached: handleLoadMore,
|
|
11559
11713
|
onEndReachedThreshold: 0.3,
|
|
11560
|
-
refreshControl: /* @__PURE__ */ (0,
|
|
11714
|
+
refreshControl: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
11561
11715
|
import_react_native7.RefreshControl,
|
|
11562
11716
|
{
|
|
11563
11717
|
refreshing,
|
|
@@ -11645,18 +11799,32 @@ var styles7 = import_react_native7.StyleSheet.create({
|
|
|
11645
11799
|
});
|
|
11646
11800
|
|
|
11647
11801
|
// src/RedactoPrivacyCenter/components/ReceiptsList.tsx
|
|
11648
|
-
var
|
|
11802
|
+
var import_react11 = require("react");
|
|
11649
11803
|
var import_react_native9 = require("react-native");
|
|
11650
11804
|
var import_react_i18next5 = require("react-i18next");
|
|
11651
11805
|
var import_react_native_svg6 = __toESM(require("react-native-svg"));
|
|
11652
11806
|
|
|
11653
11807
|
// src/RedactoPrivacyCenter/lib/receiptDownload.ts
|
|
11654
11808
|
var import_react_native8 = require("react-native");
|
|
11809
|
+
function loadExpoFileSystem() {
|
|
11810
|
+
try {
|
|
11811
|
+
return require("expo-file-system/legacy");
|
|
11812
|
+
} catch {
|
|
11813
|
+
return require("expo-file-system");
|
|
11814
|
+
}
|
|
11815
|
+
}
|
|
11816
|
+
function getBase64Encoding(FileSystem) {
|
|
11817
|
+
var _a;
|
|
11818
|
+
if (((_a = FileSystem.EncodingType) == null ? void 0 : _a.Base64) != null) {
|
|
11819
|
+
return FileSystem.EncodingType.Base64;
|
|
11820
|
+
}
|
|
11821
|
+
return "base64";
|
|
11822
|
+
}
|
|
11655
11823
|
async function saveAndShareReceiptPdf(base64, fileName) {
|
|
11656
11824
|
let FileSystem;
|
|
11657
11825
|
let Sharing;
|
|
11658
11826
|
try {
|
|
11659
|
-
FileSystem =
|
|
11827
|
+
FileSystem = loadExpoFileSystem();
|
|
11660
11828
|
Sharing = require("expo-sharing");
|
|
11661
11829
|
} catch {
|
|
11662
11830
|
import_react_native8.Alert.alert(
|
|
@@ -11672,7 +11840,7 @@ async function saveAndShareReceiptPdf(base64, fileName) {
|
|
|
11672
11840
|
}
|
|
11673
11841
|
const fileUri = `${dir}${fileName}`;
|
|
11674
11842
|
await FileSystem.writeAsStringAsync(fileUri, base64, {
|
|
11675
|
-
encoding: FileSystem
|
|
11843
|
+
encoding: getBase64Encoding(FileSystem)
|
|
11676
11844
|
});
|
|
11677
11845
|
const canShare = typeof Sharing.isAvailableAsync === "function" ? await Sharing.isAvailableAsync() : true;
|
|
11678
11846
|
if (canShare) {
|
|
@@ -11692,7 +11860,7 @@ async function saveAndShareReceiptPdf(base64, fileName) {
|
|
|
11692
11860
|
}
|
|
11693
11861
|
|
|
11694
11862
|
// src/RedactoPrivacyCenter/components/ReceiptsList.tsx
|
|
11695
|
-
var
|
|
11863
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
11696
11864
|
var PAGE_SIZE2 = 10;
|
|
11697
11865
|
var EVENT_COLORS = {
|
|
11698
11866
|
GRANTED: { bg: "rgba(16, 185, 129, 0.1)", text: "#10B981" },
|
|
@@ -11816,29 +11984,29 @@ function ReceiptsList() {
|
|
|
11816
11984
|
const { consentClient } = useBaseUrl();
|
|
11817
11985
|
const { colors } = useTheme();
|
|
11818
11986
|
const { langParam } = useCurrentLanguage();
|
|
11819
|
-
const authContext = (0,
|
|
11987
|
+
const authContext = (0, import_react11.useMemo)(
|
|
11820
11988
|
() => ({ accessToken, refreshToken, onError, updateTokens }),
|
|
11821
11989
|
[accessToken, refreshToken, onError, updateTokens]
|
|
11822
11990
|
);
|
|
11823
|
-
const [receipts, setReceipts] = (0,
|
|
11824
|
-
const [totalCount, setTotalCount] = (0,
|
|
11825
|
-
const [isLoading, setIsLoading] = (0,
|
|
11826
|
-
const [refreshing, setRefreshing] = (0,
|
|
11827
|
-
const [loadingMore, setLoadingMore] = (0,
|
|
11828
|
-
const [offset, setOffset] = (0,
|
|
11829
|
-
const [downloadingUuid, setDownloadingUuid] = (0,
|
|
11830
|
-
const [eventType, setEventType] = (0,
|
|
11831
|
-
const [datePreset, setDatePreset] = (0,
|
|
11832
|
-
const [customFrom, setCustomFrom] = (0,
|
|
11833
|
-
const [customTo, setCustomTo] = (0,
|
|
11834
|
-
const [iosPickerField, setIosPickerField] = (0,
|
|
11835
|
-
const [IosPickerComponent, setIosPickerComponent] = (0,
|
|
11991
|
+
const [receipts, setReceipts] = (0, import_react11.useState)([]);
|
|
11992
|
+
const [totalCount, setTotalCount] = (0, import_react11.useState)(0);
|
|
11993
|
+
const [isLoading, setIsLoading] = (0, import_react11.useState)(true);
|
|
11994
|
+
const [refreshing, setRefreshing] = (0, import_react11.useState)(false);
|
|
11995
|
+
const [loadingMore, setLoadingMore] = (0, import_react11.useState)(false);
|
|
11996
|
+
const [offset, setOffset] = (0, import_react11.useState)(0);
|
|
11997
|
+
const [downloadingUuid, setDownloadingUuid] = (0, import_react11.useState)(null);
|
|
11998
|
+
const [eventType, setEventType] = (0, import_react11.useState)("");
|
|
11999
|
+
const [datePreset, setDatePreset] = (0, import_react11.useState)("");
|
|
12000
|
+
const [customFrom, setCustomFrom] = (0, import_react11.useState)(null);
|
|
12001
|
+
const [customTo, setCustomTo] = (0, import_react11.useState)(null);
|
|
12002
|
+
const [iosPickerField, setIosPickerField] = (0, import_react11.useState)(null);
|
|
12003
|
+
const [IosPickerComponent, setIosPickerComponent] = (0, import_react11.useState)(null);
|
|
11836
12004
|
const hasActiveFilters = Boolean(eventType || datePreset);
|
|
11837
|
-
const isCustomRangeInvalid = (0,
|
|
12005
|
+
const isCustomRangeInvalid = (0, import_react11.useMemo)(
|
|
11838
12006
|
() => datePreset === "custom" && Boolean(customFrom && customTo && customFrom.getTime() > customTo.getTime()),
|
|
11839
12007
|
[datePreset, customFrom, customTo]
|
|
11840
12008
|
);
|
|
11841
|
-
const eventTypeOptions = (0,
|
|
12009
|
+
const eventTypeOptions = (0, import_react11.useMemo)(
|
|
11842
12010
|
() => [
|
|
11843
12011
|
{ value: "", label: t("all") },
|
|
11844
12012
|
{ value: "GRANTED", label: t("consentGranted") },
|
|
@@ -11848,7 +12016,7 @@ function ReceiptsList() {
|
|
|
11848
12016
|
],
|
|
11849
12017
|
[t]
|
|
11850
12018
|
);
|
|
11851
|
-
const dateOptions = (0,
|
|
12019
|
+
const dateOptions = (0, import_react11.useMemo)(
|
|
11852
12020
|
() => [
|
|
11853
12021
|
{ value: "", label: t("allTime") },
|
|
11854
12022
|
{ value: "1", label: t("today") },
|
|
@@ -11859,7 +12027,7 @@ function ReceiptsList() {
|
|
|
11859
12027
|
],
|
|
11860
12028
|
[t]
|
|
11861
12029
|
);
|
|
11862
|
-
const fetchData = (0,
|
|
12030
|
+
const fetchData = (0, import_react11.useCallback)(
|
|
11863
12031
|
async (newOffset = 0, append = false) => {
|
|
11864
12032
|
if (!organizationId || !workspaceId) return;
|
|
11865
12033
|
if (isCustomRangeInvalid) return;
|
|
@@ -11914,24 +12082,24 @@ function ReceiptsList() {
|
|
|
11914
12082
|
langParam
|
|
11915
12083
|
]
|
|
11916
12084
|
);
|
|
11917
|
-
(0,
|
|
12085
|
+
(0, import_react11.useEffect)(() => {
|
|
11918
12086
|
setIsLoading(true);
|
|
11919
12087
|
setOffset(0);
|
|
11920
12088
|
fetchData(0).finally(() => setIsLoading(false));
|
|
11921
12089
|
}, [fetchData]);
|
|
11922
|
-
const handleRefresh = (0,
|
|
12090
|
+
const handleRefresh = (0, import_react11.useCallback)(async () => {
|
|
11923
12091
|
setRefreshing(true);
|
|
11924
12092
|
await fetchData(0);
|
|
11925
12093
|
setRefreshing(false);
|
|
11926
12094
|
}, [fetchData]);
|
|
11927
|
-
const handleLoadMore = (0,
|
|
12095
|
+
const handleLoadMore = (0, import_react11.useCallback)(async () => {
|
|
11928
12096
|
if (loadingMore || receipts.length >= totalCount) return;
|
|
11929
12097
|
setLoadingMore(true);
|
|
11930
12098
|
const nextOffset = offset + PAGE_SIZE2;
|
|
11931
12099
|
await fetchData(nextOffset, true);
|
|
11932
12100
|
setLoadingMore(false);
|
|
11933
12101
|
}, [loadingMore, receipts.length, totalCount, offset, fetchData]);
|
|
11934
|
-
const handleDownload = (0,
|
|
12102
|
+
const handleDownload = (0, import_react11.useCallback)(
|
|
11935
12103
|
async (receipt) => {
|
|
11936
12104
|
if (!organizationId || !workspaceId || !receipt.uuid) return;
|
|
11937
12105
|
setDownloadingUuid(receipt.uuid);
|
|
@@ -11954,23 +12122,23 @@ function ReceiptsList() {
|
|
|
11954
12122
|
},
|
|
11955
12123
|
[organizationId, workspaceId, authContext, consentClient, t]
|
|
11956
12124
|
);
|
|
11957
|
-
const handleEventChange = (0,
|
|
12125
|
+
const handleEventChange = (0, import_react11.useCallback)((val) => {
|
|
11958
12126
|
setEventType(val);
|
|
11959
12127
|
}, []);
|
|
11960
|
-
const handleDateChange = (0,
|
|
12128
|
+
const handleDateChange = (0, import_react11.useCallback)((val) => {
|
|
11961
12129
|
setDatePreset(val);
|
|
11962
12130
|
if (val !== "custom") {
|
|
11963
12131
|
setCustomFrom(null);
|
|
11964
12132
|
setCustomTo(null);
|
|
11965
12133
|
}
|
|
11966
12134
|
}, []);
|
|
11967
|
-
const handleClearFilters = (0,
|
|
12135
|
+
const handleClearFilters = (0, import_react11.useCallback)(() => {
|
|
11968
12136
|
setEventType("");
|
|
11969
12137
|
setDatePreset("");
|
|
11970
12138
|
setCustomFrom(null);
|
|
11971
12139
|
setCustomTo(null);
|
|
11972
12140
|
}, []);
|
|
11973
|
-
const openPicker = (0,
|
|
12141
|
+
const openPicker = (0, import_react11.useCallback)(
|
|
11974
12142
|
(field) => {
|
|
11975
12143
|
const current = field === "from" ? customFrom : customTo;
|
|
11976
12144
|
const onSelect = (d) => {
|
|
@@ -11987,7 +12155,7 @@ function ReceiptsList() {
|
|
|
11987
12155
|
},
|
|
11988
12156
|
[customFrom, customTo]
|
|
11989
12157
|
);
|
|
11990
|
-
const renderItem = (0,
|
|
12158
|
+
const renderItem = (0, import_react11.useCallback)(
|
|
11991
12159
|
({ item }) => {
|
|
11992
12160
|
var _a;
|
|
11993
12161
|
const raw = String((_a = item.event_type) != null ? _a : "").toUpperCase();
|
|
@@ -11996,22 +12164,22 @@ function ReceiptsList() {
|
|
|
11996
12164
|
const eventLabel = item.event_type_display || (labelKey ? t(labelKey) : item.event_type || "\u2014");
|
|
11997
12165
|
const productName = item.product_name_display || item.product_name || "\u2014";
|
|
11998
12166
|
const isDownloading = downloadingUuid === item.uuid;
|
|
11999
|
-
return /* @__PURE__ */ (0,
|
|
12000
|
-
/* @__PURE__ */ (0,
|
|
12001
|
-
/* @__PURE__ */ (0,
|
|
12002
|
-
/* @__PURE__ */ (0,
|
|
12003
|
-
/* @__PURE__ */ (0,
|
|
12167
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native9.View, { style: [styles8.card, { backgroundColor: colors.surface, borderColor: colors.border }], children: [
|
|
12168
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native9.View, { style: styles8.cardTopRow, children: [
|
|
12169
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native9.View, { style: [styles8.eventBadge, { backgroundColor: eventColor.bg }], children: [
|
|
12170
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.View, { style: [styles8.eventDot, { backgroundColor: eventColor.text }] }),
|
|
12171
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.Text, { style: [styles8.eventBadgeText, { color: eventColor.text }], numberOfLines: 1, children: eventLabel })
|
|
12004
12172
|
] }),
|
|
12005
|
-
/* @__PURE__ */ (0,
|
|
12006
|
-
/* @__PURE__ */ (0,
|
|
12007
|
-
/* @__PURE__ */ (0,
|
|
12173
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native9.View, { style: styles8.dateTimeCol, children: [
|
|
12174
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.Text, { style: [styles8.dateText, { color: colors.text }], children: formatDate(item.created_at) }),
|
|
12175
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.Text, { style: [styles8.timeText, { color: colors.textSecondary }], children: formatTime(item.created_at) })
|
|
12008
12176
|
] })
|
|
12009
12177
|
] }),
|
|
12010
|
-
/* @__PURE__ */ (0,
|
|
12011
|
-
/* @__PURE__ */ (0,
|
|
12012
|
-
/* @__PURE__ */ (0,
|
|
12178
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native9.View, { style: styles8.productRow, children: [
|
|
12179
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.View, { style: [styles8.avatar, { backgroundColor: colors.background, borderColor: colors.border }], children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.Text, { style: [styles8.avatarText, { color: colors.textSecondary }], children: getProductInitials(productName) }) }),
|
|
12180
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.Text, { style: [styles8.productName, { color: colors.text }], numberOfLines: 2, children: productName })
|
|
12013
12181
|
] }),
|
|
12014
|
-
/* @__PURE__ */ (0,
|
|
12182
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
12015
12183
|
import_react_native9.TouchableOpacity,
|
|
12016
12184
|
{
|
|
12017
12185
|
style: [styles8.downloadBtn, { borderColor: colors.primary }, (isDownloading || !item.uuid) && styles8.downloadBtnDisabled],
|
|
@@ -12019,8 +12187,8 @@ function ReceiptsList() {
|
|
|
12019
12187
|
disabled: isDownloading || !item.uuid,
|
|
12020
12188
|
activeOpacity: 0.7,
|
|
12021
12189
|
accessibilityRole: "button",
|
|
12022
|
-
children: isDownloading ? /* @__PURE__ */ (0,
|
|
12023
|
-
/* @__PURE__ */ (0,
|
|
12190
|
+
children: isDownloading ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.ActivityIndicator, { size: "small", color: colors.primary }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
|
|
12191
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native_svg6.default, { width: 15, height: 15, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
12024
12192
|
import_react_native_svg6.Path,
|
|
12025
12193
|
{
|
|
12026
12194
|
d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 15V3",
|
|
@@ -12030,7 +12198,7 @@ function ReceiptsList() {
|
|
|
12030
12198
|
strokeLinejoin: "round"
|
|
12031
12199
|
}
|
|
12032
12200
|
) }),
|
|
12033
|
-
/* @__PURE__ */ (0,
|
|
12201
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.Text, { style: [styles8.downloadText, { color: colors.primary }], children: t("download") || "Download" })
|
|
12034
12202
|
] })
|
|
12035
12203
|
}
|
|
12036
12204
|
)
|
|
@@ -12038,12 +12206,12 @@ function ReceiptsList() {
|
|
|
12038
12206
|
},
|
|
12039
12207
|
[colors, t, downloadingUuid, handleDownload]
|
|
12040
12208
|
);
|
|
12041
|
-
const renderHeader = (0,
|
|
12042
|
-
() => /* @__PURE__ */ (0,
|
|
12043
|
-
/* @__PURE__ */ (0,
|
|
12044
|
-
/* @__PURE__ */ (0,
|
|
12045
|
-
/* @__PURE__ */ (0,
|
|
12046
|
-
/* @__PURE__ */ (0,
|
|
12209
|
+
const renderHeader = (0, import_react11.useCallback)(
|
|
12210
|
+
() => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native9.View, { style: styles8.header, children: [
|
|
12211
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.Text, { style: [styles8.title, { color: colors.text }], children: t("myReceipt") || "My Receipt" }),
|
|
12212
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.Text, { style: [styles8.subtitle, { color: colors.textSecondary }], children: t("myReceiptSubtitle") || "" }),
|
|
12213
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native9.View, { style: styles8.filtersRow, children: [
|
|
12214
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
12047
12215
|
PCSelect,
|
|
12048
12216
|
{
|
|
12049
12217
|
label: t("event") || "Event",
|
|
@@ -12055,7 +12223,7 @@ function ReceiptsList() {
|
|
|
12055
12223
|
style: styles8.filterControl
|
|
12056
12224
|
}
|
|
12057
12225
|
),
|
|
12058
|
-
/* @__PURE__ */ (0,
|
|
12226
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
12059
12227
|
PCSelect,
|
|
12060
12228
|
{
|
|
12061
12229
|
label: t("dateRange") || "Date range",
|
|
@@ -12068,33 +12236,33 @@ function ReceiptsList() {
|
|
|
12068
12236
|
}
|
|
12069
12237
|
)
|
|
12070
12238
|
] }),
|
|
12071
|
-
datePreset === "custom" && /* @__PURE__ */ (0,
|
|
12072
|
-
/* @__PURE__ */ (0,
|
|
12239
|
+
datePreset === "custom" && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native9.View, { style: styles8.customRangeRow, children: [
|
|
12240
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
12073
12241
|
import_react_native9.TouchableOpacity,
|
|
12074
12242
|
{
|
|
12075
12243
|
style: [styles8.dateField, { borderColor: colors.border, backgroundColor: colors.surface }],
|
|
12076
12244
|
onPress: () => openPicker("from"),
|
|
12077
12245
|
activeOpacity: 0.7,
|
|
12078
12246
|
children: [
|
|
12079
|
-
/* @__PURE__ */ (0,
|
|
12080
|
-
/* @__PURE__ */ (0,
|
|
12247
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.Text, { style: [styles8.dateFieldLabel, { color: colors.textSecondary }], children: t("from") || "From" }),
|
|
12248
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.Text, { style: [styles8.dateFieldValue, { color: customFrom ? colors.text : colors.textSecondary }], children: customFrom ? formatDate(customFrom.toISOString()) : t("from") || "From" })
|
|
12081
12249
|
]
|
|
12082
12250
|
}
|
|
12083
12251
|
),
|
|
12084
|
-
/* @__PURE__ */ (0,
|
|
12252
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
12085
12253
|
import_react_native9.TouchableOpacity,
|
|
12086
12254
|
{
|
|
12087
12255
|
style: [styles8.dateField, { borderColor: colors.border, backgroundColor: colors.surface }],
|
|
12088
12256
|
onPress: () => openPicker("to"),
|
|
12089
12257
|
activeOpacity: 0.7,
|
|
12090
12258
|
children: [
|
|
12091
|
-
/* @__PURE__ */ (0,
|
|
12092
|
-
/* @__PURE__ */ (0,
|
|
12259
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.Text, { style: [styles8.dateFieldLabel, { color: colors.textSecondary }], children: t("to") || "To" }),
|
|
12260
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.Text, { style: [styles8.dateFieldValue, { color: customTo ? colors.text : colors.textSecondary }], children: customTo ? formatDate(customTo.toISOString()) : t("to") || "To" })
|
|
12093
12261
|
]
|
|
12094
12262
|
}
|
|
12095
12263
|
)
|
|
12096
12264
|
] }),
|
|
12097
|
-
iosPickerField && IosPickerComponent ? /* @__PURE__ */ (0,
|
|
12265
|
+
iosPickerField && IosPickerComponent ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
12098
12266
|
IosPickerComponent,
|
|
12099
12267
|
{
|
|
12100
12268
|
value: (iosPickerField === "from" ? customFrom : customTo) || /* @__PURE__ */ new Date(),
|
|
@@ -12112,7 +12280,7 @@ function ReceiptsList() {
|
|
|
12112
12280
|
}
|
|
12113
12281
|
}
|
|
12114
12282
|
) : null,
|
|
12115
|
-
hasActiveFilters ? /* @__PURE__ */ (0,
|
|
12283
|
+
hasActiveFilters ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.TouchableOpacity, { onPress: handleClearFilters, style: styles8.clearFilters, activeOpacity: 0.7, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.Text, { style: [styles8.clearFiltersText, { color: colors.primary }], children: t("clearFilters") || "Clear filters" }) }) : null
|
|
12116
12284
|
] }),
|
|
12117
12285
|
[
|
|
12118
12286
|
colors,
|
|
@@ -12132,27 +12300,27 @@ function ReceiptsList() {
|
|
|
12132
12300
|
openPicker
|
|
12133
12301
|
]
|
|
12134
12302
|
);
|
|
12135
|
-
const renderFooter = (0,
|
|
12303
|
+
const renderFooter = (0, import_react11.useCallback)(() => {
|
|
12136
12304
|
if (!loadingMore) return null;
|
|
12137
|
-
return /* @__PURE__ */ (0,
|
|
12305
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.View, { style: styles8.footerLoader, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.ActivityIndicator, { size: "small", color: colors.primary }) });
|
|
12138
12306
|
}, [loadingMore, colors]);
|
|
12139
|
-
const renderEmpty = (0,
|
|
12140
|
-
() => /* @__PURE__ */ (0,
|
|
12307
|
+
const renderEmpty = (0, import_react11.useCallback)(
|
|
12308
|
+
() => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.View, { style: styles8.emptyContainer, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.Text, { style: [styles8.emptyText, { color: colors.textSecondary }], children: t("noData") || "No receipts found" }) }),
|
|
12141
12309
|
[colors, t]
|
|
12142
12310
|
);
|
|
12143
|
-
return /* @__PURE__ */ (0,
|
|
12311
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.View, { style: [styles8.container, { backgroundColor: colors.background }], children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
12144
12312
|
import_react_native9.FlatList,
|
|
12145
12313
|
{
|
|
12146
12314
|
data: isLoading ? [] : receipts,
|
|
12147
12315
|
renderItem,
|
|
12148
12316
|
keyExtractor: (item, idx) => `${item.uuid || item.created_at}-${idx}`,
|
|
12149
12317
|
ListHeaderComponent: renderHeader,
|
|
12150
|
-
ListEmptyComponent: isLoading ? /* @__PURE__ */ (0,
|
|
12318
|
+
ListEmptyComponent: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.View, { style: styles8.loaderContainer, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native9.ActivityIndicator, { size: "large", color: colors.primary }) }) : renderEmpty,
|
|
12151
12319
|
ListFooterComponent: renderFooter,
|
|
12152
12320
|
contentContainerStyle: styles8.listContent,
|
|
12153
12321
|
onEndReached: handleLoadMore,
|
|
12154
12322
|
onEndReachedThreshold: 0.3,
|
|
12155
|
-
refreshControl: /* @__PURE__ */ (0,
|
|
12323
|
+
refreshControl: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
12156
12324
|
import_react_native9.RefreshControl,
|
|
12157
12325
|
{
|
|
12158
12326
|
refreshing,
|
|
@@ -12324,13 +12492,13 @@ var styles8 = import_react_native9.StyleSheet.create({
|
|
|
12324
12492
|
});
|
|
12325
12493
|
|
|
12326
12494
|
// src/RedactoPrivacyCenter/components/FormPage.tsx
|
|
12327
|
-
var
|
|
12495
|
+
var import_react15 = require("react");
|
|
12328
12496
|
var import_react_native16 = require("react-native");
|
|
12329
12497
|
var import_react_i18next9 = require("react-i18next");
|
|
12330
12498
|
var import_react_native_svg8 = __toESM(require("react-native-svg"));
|
|
12331
12499
|
|
|
12332
12500
|
// src/RedactoPrivacyCenter/components/Form.tsx
|
|
12333
|
-
var
|
|
12501
|
+
var import_react13 = require("react");
|
|
12334
12502
|
var import_react_native12 = require("react-native");
|
|
12335
12503
|
var import_react_i18next7 = require("react-i18next");
|
|
12336
12504
|
var import_react_native_svg7 = __toESM(require("react-native-svg"));
|
|
@@ -12391,7 +12559,7 @@ var uploadFileWithS2S = async ({
|
|
|
12391
12559
|
|
|
12392
12560
|
// src/RedactoPrivacyCenter/lib/constants.ts
|
|
12393
12561
|
var import_react_i18next6 = require("react-i18next");
|
|
12394
|
-
var
|
|
12562
|
+
var import_react12 = require("react");
|
|
12395
12563
|
var languageOptions = [
|
|
12396
12564
|
{ value: "en", label: "English" },
|
|
12397
12565
|
{ value: "hi", label: "\u0939\u093F\u0928\u094D\u0926\u0940 (Hindi)" },
|
|
@@ -12448,7 +12616,7 @@ var GRIEVANCE_TAB_IDS = {
|
|
|
12448
12616
|
};
|
|
12449
12617
|
function useGrievanceTabs() {
|
|
12450
12618
|
const { t } = (0, import_react_i18next6.useTranslation)();
|
|
12451
|
-
return (0,
|
|
12619
|
+
return (0, import_react12.useMemo)(() => [
|
|
12452
12620
|
{ id: GRIEVANCE_TAB_IDS.ALL, label: t("all") || "All" },
|
|
12453
12621
|
{ id: GRIEVANCE_TAB_IDS.PROCESSING, label: t("processing") || "Processing" },
|
|
12454
12622
|
{ id: GRIEVANCE_TAB_IDS.COMPLETED, label: t("completed") || "Completed" },
|
|
@@ -12457,7 +12625,7 @@ function useGrievanceTabs() {
|
|
|
12457
12625
|
}
|
|
12458
12626
|
function useRequestTypeLabels() {
|
|
12459
12627
|
const { t } = (0, import_react_i18next6.useTranslation)();
|
|
12460
|
-
return (0,
|
|
12628
|
+
return (0, import_react12.useMemo)(() => {
|
|
12461
12629
|
const labels = {};
|
|
12462
12630
|
const entries = [
|
|
12463
12631
|
["ACCESS" /* ACCESS */, t("access") || "Access"],
|
|
@@ -12512,7 +12680,7 @@ async function pickFile() {
|
|
|
12512
12680
|
|
|
12513
12681
|
// src/RedactoPrivacyCenter/ui/PCInput.tsx
|
|
12514
12682
|
var import_react_native11 = require("react-native");
|
|
12515
|
-
var
|
|
12683
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
12516
12684
|
var PCInput = ({
|
|
12517
12685
|
label,
|
|
12518
12686
|
value,
|
|
@@ -12525,9 +12693,9 @@ var PCInput = ({
|
|
|
12525
12693
|
editable = true
|
|
12526
12694
|
}) => {
|
|
12527
12695
|
const { colors } = useTheme();
|
|
12528
|
-
return /* @__PURE__ */ (0,
|
|
12529
|
-
label ? /* @__PURE__ */ (0,
|
|
12530
|
-
/* @__PURE__ */ (0,
|
|
12696
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react_native11.View, { style: styles9.container, children: [
|
|
12697
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react_native11.Text, { style: [styles9.label, { color: colors.text }], children: label }) : null,
|
|
12698
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
12531
12699
|
import_react_native11.TextInput,
|
|
12532
12700
|
{
|
|
12533
12701
|
style: [
|
|
@@ -12548,7 +12716,7 @@ var PCInput = ({
|
|
|
12548
12716
|
textAlignVertical: multiline ? "top" : "center"
|
|
12549
12717
|
}
|
|
12550
12718
|
),
|
|
12551
|
-
error ? /* @__PURE__ */ (0,
|
|
12719
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react_native11.Text, { style: [styles9.error, { color: colors.error }], children: error }) : null
|
|
12552
12720
|
] });
|
|
12553
12721
|
};
|
|
12554
12722
|
var styles9 = import_react_native11.StyleSheet.create({
|
|
@@ -12578,39 +12746,39 @@ var styles9 = import_react_native11.StyleSheet.create({
|
|
|
12578
12746
|
});
|
|
12579
12747
|
|
|
12580
12748
|
// src/RedactoPrivacyCenter/components/Form.tsx
|
|
12581
|
-
var
|
|
12749
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
12582
12750
|
function Form({ onCreateRequest }) {
|
|
12583
12751
|
const { t } = (0, import_react_i18next7.useTranslation)();
|
|
12584
12752
|
const { accessToken, refreshToken, email, organizationId, workspaceId, updateTokens, onError } = useAuth();
|
|
12585
12753
|
const { consentClient, baseUrl } = useBaseUrl();
|
|
12586
12754
|
const { colors } = useTheme();
|
|
12587
12755
|
const requestTypeLabels = useRequestTypeLabels();
|
|
12588
|
-
const authContext = (0,
|
|
12756
|
+
const authContext = (0, import_react13.useMemo)(
|
|
12589
12757
|
() => ({ accessToken, refreshToken, onError, updateTokens }),
|
|
12590
12758
|
[accessToken, refreshToken, onError, updateTokens]
|
|
12591
12759
|
);
|
|
12592
12760
|
const contact = email || "";
|
|
12593
|
-
const [formDataResponse, setFormDataResponse] = (0,
|
|
12594
|
-
const [isLoading, setIsLoading] = (0,
|
|
12595
|
-
const [isSubmitting, setIsSubmitting] = (0,
|
|
12596
|
-
const [requestType, setRequestType] = (0,
|
|
12597
|
-
const [additionalNote, setAdditionalNote] = (0,
|
|
12598
|
-
const [confirmChecked, setConfirmChecked] = (0,
|
|
12599
|
-
const [isRequestDetailsExpanded, setIsRequestDetailsExpanded] = (0,
|
|
12600
|
-
const [isSubmitted, setIsSubmitted] = (0,
|
|
12601
|
-
const [caseId, setCaseId] = (0,
|
|
12602
|
-
const [selectedPurposes, setSelectedPurposes] = (0,
|
|
12603
|
-
const [selectedDataElements, setSelectedDataElements] = (0,
|
|
12604
|
-
const [selectedCorrectionFields, setSelectedCorrectionFields] = (0,
|
|
12605
|
-
const [correctionValues, setCorrectionValues] = (0,
|
|
12606
|
-
const [selectedGrievances, setSelectedGrievances] = (0,
|
|
12607
|
-
const [nominationData, setNominationData] = (0,
|
|
12761
|
+
const [formDataResponse, setFormDataResponse] = (0, import_react13.useState)(null);
|
|
12762
|
+
const [isLoading, setIsLoading] = (0, import_react13.useState)(true);
|
|
12763
|
+
const [isSubmitting, setIsSubmitting] = (0, import_react13.useState)(false);
|
|
12764
|
+
const [requestType, setRequestType] = (0, import_react13.useState)("");
|
|
12765
|
+
const [additionalNote, setAdditionalNote] = (0, import_react13.useState)("");
|
|
12766
|
+
const [confirmChecked, setConfirmChecked] = (0, import_react13.useState)(false);
|
|
12767
|
+
const [isRequestDetailsExpanded, setIsRequestDetailsExpanded] = (0, import_react13.useState)(true);
|
|
12768
|
+
const [isSubmitted, setIsSubmitted] = (0, import_react13.useState)(false);
|
|
12769
|
+
const [caseId, setCaseId] = (0, import_react13.useState)(null);
|
|
12770
|
+
const [selectedPurposes, setSelectedPurposes] = (0, import_react13.useState)(/* @__PURE__ */ new Set());
|
|
12771
|
+
const [selectedDataElements, setSelectedDataElements] = (0, import_react13.useState)(/* @__PURE__ */ new Map());
|
|
12772
|
+
const [selectedCorrectionFields, setSelectedCorrectionFields] = (0, import_react13.useState)(/* @__PURE__ */ new Set());
|
|
12773
|
+
const [correctionValues, setCorrectionValues] = (0, import_react13.useState)({});
|
|
12774
|
+
const [selectedGrievances, setSelectedGrievances] = (0, import_react13.useState)({});
|
|
12775
|
+
const [nominationData, setNominationData] = (0, import_react13.useState)({
|
|
12608
12776
|
nominee_email: "",
|
|
12609
12777
|
nominee_mobile: ""
|
|
12610
12778
|
});
|
|
12611
|
-
const [uploadedDocs, setUploadedDocs] = (0,
|
|
12612
|
-
const [isUploading, setIsUploading] = (0,
|
|
12613
|
-
(0,
|
|
12779
|
+
const [uploadedDocs, setUploadedDocs] = (0, import_react13.useState)([]);
|
|
12780
|
+
const [isUploading, setIsUploading] = (0, import_react13.useState)(false);
|
|
12781
|
+
(0, import_react13.useEffect)(() => {
|
|
12614
12782
|
if (!organizationId || !workspaceId || !contact) return;
|
|
12615
12783
|
setIsLoading(true);
|
|
12616
12784
|
getFormData(organizationId, workspaceId, contact, false, false, authContext, consentClient).then((data) => {
|
|
@@ -12619,11 +12787,11 @@ function Form({ onCreateRequest }) {
|
|
|
12619
12787
|
console.warn("Error fetching form data:", error);
|
|
12620
12788
|
}).finally(() => setIsLoading(false));
|
|
12621
12789
|
}, [organizationId, workspaceId, contact, authContext, consentClient]);
|
|
12622
|
-
const purposes = (0,
|
|
12790
|
+
const purposes = (0, import_react13.useMemo)(() => {
|
|
12623
12791
|
if (!(formDataResponse == null ? void 0 : formDataResponse.purposes)) return [];
|
|
12624
12792
|
return formDataResponse.purposes.map((pw) => pw.purpose).filter(Boolean);
|
|
12625
12793
|
}, [formDataResponse]);
|
|
12626
|
-
const uniqueDataElements = (0,
|
|
12794
|
+
const uniqueDataElements = (0, import_react13.useMemo)(() => {
|
|
12627
12795
|
const map = /* @__PURE__ */ new Map();
|
|
12628
12796
|
purposes.forEach((p) => {
|
|
12629
12797
|
(p.data_elements || []).forEach((de) => {
|
|
@@ -12632,11 +12800,11 @@ function Form({ onCreateRequest }) {
|
|
|
12632
12800
|
});
|
|
12633
12801
|
return Array.from(map.values());
|
|
12634
12802
|
}, [purposes]);
|
|
12635
|
-
const grievanceOptions = (0,
|
|
12803
|
+
const grievanceOptions = (0, import_react13.useMemo)(
|
|
12636
12804
|
() => (formDataResponse == null ? void 0 : formDataResponse.grievance_options) || [],
|
|
12637
12805
|
[formDataResponse]
|
|
12638
12806
|
);
|
|
12639
|
-
const togglePurpose = (0,
|
|
12807
|
+
const togglePurpose = (0, import_react13.useCallback)(
|
|
12640
12808
|
(purpose) => {
|
|
12641
12809
|
const uuid = purpose.uuid;
|
|
12642
12810
|
setSelectedPurposes((prev) => {
|
|
@@ -12659,7 +12827,7 @@ function Form({ onCreateRequest }) {
|
|
|
12659
12827
|
},
|
|
12660
12828
|
[]
|
|
12661
12829
|
);
|
|
12662
|
-
const toggleDataElement = (0,
|
|
12830
|
+
const toggleDataElement = (0, import_react13.useCallback)(
|
|
12663
12831
|
(purpose, deUuid) => {
|
|
12664
12832
|
const purposeUuid = purpose.uuid;
|
|
12665
12833
|
setSelectedDataElements((prev) => {
|
|
@@ -12690,7 +12858,7 @@ function Form({ onCreateRequest }) {
|
|
|
12690
12858
|
},
|
|
12691
12859
|
[]
|
|
12692
12860
|
);
|
|
12693
|
-
const toggleCorrectionField = (0,
|
|
12861
|
+
const toggleCorrectionField = (0, import_react13.useCallback)((uuid) => {
|
|
12694
12862
|
setSelectedCorrectionFields((prev) => {
|
|
12695
12863
|
const next = new Set(prev);
|
|
12696
12864
|
if (next.has(uuid)) next.delete(uuid);
|
|
@@ -12698,10 +12866,10 @@ function Form({ onCreateRequest }) {
|
|
|
12698
12866
|
return next;
|
|
12699
12867
|
});
|
|
12700
12868
|
}, []);
|
|
12701
|
-
const toggleGrievance = (0,
|
|
12869
|
+
const toggleGrievance = (0, import_react13.useCallback)((value) => {
|
|
12702
12870
|
setSelectedGrievances((prev) => ({ ...prev, [value]: !prev[value] }));
|
|
12703
12871
|
}, []);
|
|
12704
|
-
const isFormValid = (0,
|
|
12872
|
+
const isFormValid = (0, import_react13.useMemo)(() => {
|
|
12705
12873
|
if (!requestType || !confirmChecked) return false;
|
|
12706
12874
|
if (requestType === "ACCESS" /* ACCESS */ || requestType === "erasure" /* ERASURE */) {
|
|
12707
12875
|
return selectedPurposes.size > 0;
|
|
@@ -12717,7 +12885,7 @@ function Form({ onCreateRequest }) {
|
|
|
12717
12885
|
}
|
|
12718
12886
|
return false;
|
|
12719
12887
|
}, [requestType, confirmChecked, selectedPurposes, selectedCorrectionFields, selectedGrievances, nominationData]);
|
|
12720
|
-
const handleUpload = (0,
|
|
12888
|
+
const handleUpload = (0, import_react13.useCallback)(async () => {
|
|
12721
12889
|
if (!organizationId || !workspaceId) return;
|
|
12722
12890
|
try {
|
|
12723
12891
|
const file = await pickFile();
|
|
@@ -12748,10 +12916,10 @@ function Form({ onCreateRequest }) {
|
|
|
12748
12916
|
setIsUploading(false);
|
|
12749
12917
|
}
|
|
12750
12918
|
}, [organizationId, workspaceId, authContext, consentClient, baseUrl, t]);
|
|
12751
|
-
const removeUploadedDoc = (0,
|
|
12919
|
+
const removeUploadedDoc = (0, import_react13.useCallback)((uuid) => {
|
|
12752
12920
|
setUploadedDocs((prev) => prev.filter((d) => d.uuid !== uuid));
|
|
12753
12921
|
}, []);
|
|
12754
|
-
const handleSubmit = (0,
|
|
12922
|
+
const handleSubmit = (0, import_react13.useCallback)(async () => {
|
|
12755
12923
|
var _a, _b, _c;
|
|
12756
12924
|
if (!organizationId || !workspaceId || !contact || !requestType || !formDataResponse) return;
|
|
12757
12925
|
setIsSubmitting(true);
|
|
@@ -12816,8 +12984,8 @@ function Form({ onCreateRequest }) {
|
|
|
12816
12984
|
t
|
|
12817
12985
|
]);
|
|
12818
12986
|
if (isSubmitted && caseId) {
|
|
12819
|
-
return /* @__PURE__ */ (0,
|
|
12820
|
-
/* @__PURE__ */ (0,
|
|
12987
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.View, { style: [styles10.container, { backgroundColor: colors.background }], children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.ScrollView, { contentContainerStyle: styles10.successContent, children: [
|
|
12988
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.View, { style: [styles10.successIconWrap, { backgroundColor: `${colors.success}20` }], children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native_svg7.default, { width: 36, height: 36, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
12821
12989
|
import_react_native_svg7.Path,
|
|
12822
12990
|
{
|
|
12823
12991
|
d: "M20 6L9 17l-5-5",
|
|
@@ -12827,27 +12995,27 @@ function Form({ onCreateRequest }) {
|
|
|
12827
12995
|
strokeLinejoin: "round"
|
|
12828
12996
|
}
|
|
12829
12997
|
) }) }),
|
|
12830
|
-
/* @__PURE__ */ (0,
|
|
12831
|
-
/* @__PURE__ */ (0,
|
|
12832
|
-
/* @__PURE__ */ (0,
|
|
12833
|
-
/* @__PURE__ */ (0,
|
|
12834
|
-
/* @__PURE__ */ (0,
|
|
12835
|
-
/* @__PURE__ */ (0,
|
|
12998
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.successTitle, { color: colors.text }], children: t("requestSubmittedSuccessfully") || "Request Submitted Successfully" }),
|
|
12999
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.successSubtitle, { color: colors.textSecondary }], children: t("thankYouForSubmittingYourRequest") || "Thank you for submitting your request" }),
|
|
13000
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { style: [styles10.caseIdBox, { backgroundColor: colors.surface, borderColor: colors.border }], children: [
|
|
13001
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.caseIdLabel, { color: colors.textSecondary }], children: t("caseID") || "Case ID" }),
|
|
13002
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.caseIdValue, { color: colors.text }], children: caseId }),
|
|
13003
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.caseIdHint, { color: colors.textSecondary }], children: t("saveThisID") || "Please save this ID for future reference" })
|
|
12836
13004
|
] }),
|
|
12837
|
-
/* @__PURE__ */ (0,
|
|
12838
|
-
onCreateRequest ? /* @__PURE__ */ (0,
|
|
13005
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.processNote, { color: colors.textSecondary }], children: t("processRequest") || "We will process your request as per laws" }),
|
|
13006
|
+
onCreateRequest ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
12839
13007
|
import_react_native12.TouchableOpacity,
|
|
12840
13008
|
{
|
|
12841
13009
|
style: [styles10.viewRequestsBtn, { backgroundColor: colors.primary }],
|
|
12842
13010
|
onPress: onCreateRequest,
|
|
12843
13011
|
activeOpacity: 0.7,
|
|
12844
|
-
children: /* @__PURE__ */ (0,
|
|
13012
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.viewRequestsBtnText, { color: colors.primaryText }], children: t("viewMyRequests") || "View My Requests" })
|
|
12845
13013
|
}
|
|
12846
13014
|
) : null
|
|
12847
13015
|
] }) });
|
|
12848
13016
|
}
|
|
12849
13017
|
if (isLoading) {
|
|
12850
|
-
return /* @__PURE__ */ (0,
|
|
13018
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.View, { style: [styles10.loaderContainer, { backgroundColor: colors.background }], children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.ActivityIndicator, { size: "large", color: colors.primary }) });
|
|
12851
13019
|
}
|
|
12852
13020
|
const requestTypeOptions = [
|
|
12853
13021
|
"ACCESS" /* ACCESS */,
|
|
@@ -12859,11 +13027,11 @@ function Form({ onCreateRequest }) {
|
|
|
12859
13027
|
const renderRequestDetailsBody = () => {
|
|
12860
13028
|
if (requestType === "ACCESS" /* ACCESS */ || requestType === "erasure" /* ERASURE */) {
|
|
12861
13029
|
if (purposes.length === 0) {
|
|
12862
|
-
return /* @__PURE__ */ (0,
|
|
13030
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.placeholder, { color: colors.textSecondary }], children: t("noPurposesAvailable") || "No purposes available" });
|
|
12863
13031
|
}
|
|
12864
|
-
return /* @__PURE__ */ (0,
|
|
12865
|
-
/* @__PURE__ */ (0,
|
|
12866
|
-
/* @__PURE__ */ (0,
|
|
13032
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { style: { gap: 8 }, children: [
|
|
13033
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.sectionTitle, { color: colors.text }], children: requestType === "ACCESS" /* ACCESS */ ? t("whatDataToAccess") : t("whatDataToDelete") }),
|
|
13034
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
12867
13035
|
import_react_native12.Text,
|
|
12868
13036
|
{
|
|
12869
13037
|
style: {
|
|
@@ -12881,19 +13049,19 @@ function Form({ onCreateRequest }) {
|
|
|
12881
13049
|
purposes.map((purpose) => {
|
|
12882
13050
|
var _a;
|
|
12883
13051
|
const purposeSelected = selectedPurposes.has(purpose.uuid);
|
|
12884
|
-
return /* @__PURE__ */ (0,
|
|
13052
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
12885
13053
|
import_react_native12.View,
|
|
12886
13054
|
{
|
|
12887
13055
|
style: [styles10.purposeItem, { borderColor: colors.border, backgroundColor: colors.background }],
|
|
12888
13056
|
children: [
|
|
12889
|
-
/* @__PURE__ */ (0,
|
|
13057
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
12890
13058
|
import_react_native12.TouchableOpacity,
|
|
12891
13059
|
{
|
|
12892
13060
|
style: styles10.checkboxRow,
|
|
12893
13061
|
onPress: () => togglePurpose(purpose),
|
|
12894
13062
|
activeOpacity: 0.7,
|
|
12895
13063
|
children: [
|
|
12896
|
-
/* @__PURE__ */ (0,
|
|
13064
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
12897
13065
|
import_react_native12.View,
|
|
12898
13066
|
{
|
|
12899
13067
|
style: [
|
|
@@ -12901,29 +13069,29 @@ function Form({ onCreateRequest }) {
|
|
|
12901
13069
|
{ borderColor: colors.border },
|
|
12902
13070
|
purposeSelected && { backgroundColor: colors.primary, borderColor: colors.primary }
|
|
12903
13071
|
],
|
|
12904
|
-
children: purposeSelected ? /* @__PURE__ */ (0,
|
|
13072
|
+
children: purposeSelected ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: styles10.checkmark, children: "\u2713" }) : null
|
|
12905
13073
|
}
|
|
12906
13074
|
),
|
|
12907
|
-
/* @__PURE__ */ (0,
|
|
12908
|
-
/* @__PURE__ */ (0,
|
|
12909
|
-
purpose.description ? /* @__PURE__ */ (0,
|
|
13075
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { style: { flex: 1 }, children: [
|
|
13076
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.purposeName, { color: colors.text }], children: purpose.name }),
|
|
13077
|
+
purpose.description ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.purposeDesc, { color: colors.textSecondary }], numberOfLines: 3, children: purpose.description }) : null
|
|
12910
13078
|
] })
|
|
12911
13079
|
]
|
|
12912
13080
|
}
|
|
12913
13081
|
),
|
|
12914
|
-
purposeSelected && (((_a = purpose.data_elements) == null ? void 0 : _a.length) || 0) > 0 ? /* @__PURE__ */ (0,
|
|
12915
|
-
/* @__PURE__ */ (0,
|
|
13082
|
+
purposeSelected && (((_a = purpose.data_elements) == null ? void 0 : _a.length) || 0) > 0 ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { style: styles10.dataElementsContainer, children: [
|
|
13083
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.dataElementsLabel, { color: colors.textSecondary }], children: t("dataCollected") }),
|
|
12916
13084
|
purpose.data_elements.map((de) => {
|
|
12917
13085
|
var _a2, _b;
|
|
12918
13086
|
const deSelected = (_b = (_a2 = selectedDataElements.get(purpose.uuid)) == null ? void 0 : _a2.has(de.uuid)) != null ? _b : false;
|
|
12919
|
-
return /* @__PURE__ */ (0,
|
|
13087
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
12920
13088
|
import_react_native12.TouchableOpacity,
|
|
12921
13089
|
{
|
|
12922
13090
|
style: styles10.checkboxRow,
|
|
12923
13091
|
onPress: () => toggleDataElement(purpose, de.uuid),
|
|
12924
13092
|
activeOpacity: 0.7,
|
|
12925
13093
|
children: [
|
|
12926
|
-
/* @__PURE__ */ (0,
|
|
13094
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
12927
13095
|
import_react_native12.View,
|
|
12928
13096
|
{
|
|
12929
13097
|
style: [
|
|
@@ -12931,10 +13099,10 @@ function Form({ onCreateRequest }) {
|
|
|
12931
13099
|
{ borderColor: colors.border },
|
|
12932
13100
|
deSelected && { backgroundColor: colors.primary, borderColor: colors.primary }
|
|
12933
13101
|
],
|
|
12934
|
-
children: deSelected ? /* @__PURE__ */ (0,
|
|
13102
|
+
children: deSelected ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: styles10.checkmarkSmall, children: "\u2713" }) : null
|
|
12935
13103
|
}
|
|
12936
13104
|
),
|
|
12937
|
-
/* @__PURE__ */ (0,
|
|
13105
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.dataElementName, { color: colors.text }], children: de.name })
|
|
12938
13106
|
]
|
|
12939
13107
|
},
|
|
12940
13108
|
de.uuid
|
|
@@ -12950,22 +13118,22 @@ function Form({ onCreateRequest }) {
|
|
|
12950
13118
|
}
|
|
12951
13119
|
if (requestType === "CORRECTION" /* CORRECTION */) {
|
|
12952
13120
|
if (uniqueDataElements.length === 0) {
|
|
12953
|
-
return /* @__PURE__ */ (0,
|
|
13121
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.placeholder, { color: colors.textSecondary }], children: t("noPurposesAvailable") || "No fields available" });
|
|
12954
13122
|
}
|
|
12955
|
-
return /* @__PURE__ */ (0,
|
|
12956
|
-
/* @__PURE__ */ (0,
|
|
13123
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { style: { gap: 8 }, children: [
|
|
13124
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.sectionTitle, { color: colors.text }], children: t("selectFieldsToUpdate") }),
|
|
12957
13125
|
uniqueDataElements.map((de) => {
|
|
12958
13126
|
var _a, _b;
|
|
12959
13127
|
const isSelected = selectedCorrectionFields.has(de.uuid);
|
|
12960
|
-
return /* @__PURE__ */ (0,
|
|
12961
|
-
/* @__PURE__ */ (0,
|
|
13128
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { children: [
|
|
13129
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
12962
13130
|
import_react_native12.TouchableOpacity,
|
|
12963
13131
|
{
|
|
12964
13132
|
style: styles10.checkboxRow,
|
|
12965
13133
|
onPress: () => toggleCorrectionField(de.uuid),
|
|
12966
13134
|
activeOpacity: 0.7,
|
|
12967
13135
|
children: [
|
|
12968
|
-
/* @__PURE__ */ (0,
|
|
13136
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
12969
13137
|
import_react_native12.View,
|
|
12970
13138
|
{
|
|
12971
13139
|
style: [
|
|
@@ -12973,15 +13141,15 @@ function Form({ onCreateRequest }) {
|
|
|
12973
13141
|
{ borderColor: colors.border },
|
|
12974
13142
|
isSelected && { backgroundColor: colors.primary, borderColor: colors.primary }
|
|
12975
13143
|
],
|
|
12976
|
-
children: isSelected ? /* @__PURE__ */ (0,
|
|
13144
|
+
children: isSelected ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: styles10.checkmark, children: "\u2713" }) : null
|
|
12977
13145
|
}
|
|
12978
13146
|
),
|
|
12979
|
-
/* @__PURE__ */ (0,
|
|
13147
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.purposeName, { color: colors.text }], children: de.name })
|
|
12980
13148
|
]
|
|
12981
13149
|
}
|
|
12982
13150
|
),
|
|
12983
|
-
isSelected ? /* @__PURE__ */ (0,
|
|
12984
|
-
/* @__PURE__ */ (0,
|
|
13151
|
+
isSelected ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { style: styles10.correctionInputs, children: [
|
|
13152
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
12985
13153
|
PCInput,
|
|
12986
13154
|
{
|
|
12987
13155
|
label: t("currentValue"),
|
|
@@ -12996,7 +13164,7 @@ function Form({ onCreateRequest }) {
|
|
|
12996
13164
|
placeholder: t("currentValue")
|
|
12997
13165
|
}
|
|
12998
13166
|
),
|
|
12999
|
-
/* @__PURE__ */ (0,
|
|
13167
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13000
13168
|
PCInput,
|
|
13001
13169
|
{
|
|
13002
13170
|
label: t("newValue"),
|
|
@@ -13018,18 +13186,18 @@ function Form({ onCreateRequest }) {
|
|
|
13018
13186
|
}
|
|
13019
13187
|
if (requestType === "grievance" /* GRIEVANCE */) {
|
|
13020
13188
|
if (grievanceOptions.length === 0) {
|
|
13021
|
-
return /* @__PURE__ */ (0,
|
|
13189
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.placeholder, { color: colors.textSecondary }], children: t("noPurposesAvailable") || "No grievance types available" });
|
|
13022
13190
|
}
|
|
13023
|
-
return /* @__PURE__ */ (0,
|
|
13024
|
-
/* @__PURE__ */ (0,
|
|
13025
|
-
grievanceOptions.map((option) => /* @__PURE__ */ (0,
|
|
13191
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { style: { gap: 8 }, children: [
|
|
13192
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.sectionTitle, { color: colors.text }], children: t("selectGrievance") }),
|
|
13193
|
+
grievanceOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
13026
13194
|
import_react_native12.TouchableOpacity,
|
|
13027
13195
|
{
|
|
13028
13196
|
style: styles10.checkboxRow,
|
|
13029
13197
|
onPress: () => toggleGrievance(option.value),
|
|
13030
13198
|
activeOpacity: 0.7,
|
|
13031
13199
|
children: [
|
|
13032
|
-
/* @__PURE__ */ (0,
|
|
13200
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13033
13201
|
import_react_native12.View,
|
|
13034
13202
|
{
|
|
13035
13203
|
style: [
|
|
@@ -13037,10 +13205,10 @@ function Form({ onCreateRequest }) {
|
|
|
13037
13205
|
{ borderColor: colors.border },
|
|
13038
13206
|
selectedGrievances[option.value] && { backgroundColor: colors.primary, borderColor: colors.primary }
|
|
13039
13207
|
],
|
|
13040
|
-
children: selectedGrievances[option.value] ? /* @__PURE__ */ (0,
|
|
13208
|
+
children: selectedGrievances[option.value] ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: styles10.checkmark, children: "\u2713" }) : null
|
|
13041
13209
|
}
|
|
13042
13210
|
),
|
|
13043
|
-
/* @__PURE__ */ (0,
|
|
13211
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.purposeName, { color: colors.text }], children: option.label })
|
|
13044
13212
|
]
|
|
13045
13213
|
},
|
|
13046
13214
|
option.value
|
|
@@ -13048,9 +13216,9 @@ function Form({ onCreateRequest }) {
|
|
|
13048
13216
|
] });
|
|
13049
13217
|
}
|
|
13050
13218
|
if (requestType === "nomination" /* NOMINATION */) {
|
|
13051
|
-
return /* @__PURE__ */ (0,
|
|
13052
|
-
/* @__PURE__ */ (0,
|
|
13053
|
-
/* @__PURE__ */ (0,
|
|
13219
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { style: { gap: 8 }, children: [
|
|
13220
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.sectionTitle, { color: colors.text }], children: t("enterNomineeDetails") }),
|
|
13221
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13054
13222
|
PCInput,
|
|
13055
13223
|
{
|
|
13056
13224
|
label: t("nomineeEmail"),
|
|
@@ -13060,7 +13228,7 @@ function Form({ onCreateRequest }) {
|
|
|
13060
13228
|
keyboardType: "email-address"
|
|
13061
13229
|
}
|
|
13062
13230
|
),
|
|
13063
|
-
/* @__PURE__ */ (0,
|
|
13231
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13064
13232
|
PCInput,
|
|
13065
13233
|
{
|
|
13066
13234
|
label: t("nomineeMobile"),
|
|
@@ -13072,25 +13240,25 @@ function Form({ onCreateRequest }) {
|
|
|
13072
13240
|
)
|
|
13073
13241
|
] });
|
|
13074
13242
|
}
|
|
13075
|
-
return /* @__PURE__ */ (0,
|
|
13243
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.View, { style: styles10.placeholderBox, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.placeholder, { color: colors.textSecondary }], children: t("selectRequestType") }) });
|
|
13076
13244
|
};
|
|
13077
|
-
return /* @__PURE__ */ (0,
|
|
13245
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.View, { style: [styles10.container, { backgroundColor: colors.background }], children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
13078
13246
|
import_react_native12.ScrollView,
|
|
13079
13247
|
{
|
|
13080
13248
|
contentContainerStyle: styles10.scrollContent,
|
|
13081
13249
|
keyboardShouldPersistTaps: "handled",
|
|
13082
13250
|
children: [
|
|
13083
|
-
/* @__PURE__ */ (0,
|
|
13084
|
-
/* @__PURE__ */ (0,
|
|
13085
|
-
/* @__PURE__ */ (0,
|
|
13086
|
-
/* @__PURE__ */ (0,
|
|
13087
|
-
/* @__PURE__ */ (0,
|
|
13088
|
-
/* @__PURE__ */ (0,
|
|
13251
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.descriptionText, { color: colors.textSecondary }], children: t("description") }),
|
|
13252
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { style: [styles10.card, { borderColor: colors.border, backgroundColor: colors.background }], children: [
|
|
13253
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.View, { style: [styles10.cardHeader, { backgroundColor: colors.surface, borderBottomColor: colors.border }], children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.cardHeaderText, { color: colors.text }], children: t("raiseDataRequest") }) }),
|
|
13254
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { style: styles10.cardBody, children: [
|
|
13255
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { children: [
|
|
13256
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.Text, { style: [styles10.fieldLabel, { color: colors.text }], children: [
|
|
13089
13257
|
t("contact"),
|
|
13090
13258
|
" ",
|
|
13091
|
-
/* @__PURE__ */ (0,
|
|
13259
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: { color: colors.error }, children: "*" })
|
|
13092
13260
|
] }),
|
|
13093
|
-
/* @__PURE__ */ (0,
|
|
13261
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13094
13262
|
PCInput,
|
|
13095
13263
|
{
|
|
13096
13264
|
value: contact,
|
|
@@ -13101,13 +13269,13 @@ function Form({ onCreateRequest }) {
|
|
|
13101
13269
|
}
|
|
13102
13270
|
)
|
|
13103
13271
|
] }),
|
|
13104
|
-
/* @__PURE__ */ (0,
|
|
13105
|
-
/* @__PURE__ */ (0,
|
|
13272
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { children: [
|
|
13273
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.Text, { style: [styles10.fieldLabel, { color: colors.text }], children: [
|
|
13106
13274
|
t("requestType"),
|
|
13107
13275
|
" ",
|
|
13108
|
-
/* @__PURE__ */ (0,
|
|
13276
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: { color: colors.error }, children: "*" })
|
|
13109
13277
|
] }),
|
|
13110
|
-
/* @__PURE__ */ (0,
|
|
13278
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13111
13279
|
PCSelect,
|
|
13112
13280
|
{
|
|
13113
13281
|
value: requestType,
|
|
@@ -13120,20 +13288,20 @@ function Form({ onCreateRequest }) {
|
|
|
13120
13288
|
}
|
|
13121
13289
|
)
|
|
13122
13290
|
] }),
|
|
13123
|
-
/* @__PURE__ */ (0,
|
|
13124
|
-
/* @__PURE__ */ (0,
|
|
13291
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { style: [styles10.detailsAccordion, { borderColor: colors.border, backgroundColor: colors.surface }], children: [
|
|
13292
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
13125
13293
|
import_react_native12.TouchableOpacity,
|
|
13126
13294
|
{
|
|
13127
13295
|
style: [styles10.detailsHeader, { borderBottomColor: isRequestDetailsExpanded ? colors.border : "transparent" }],
|
|
13128
13296
|
onPress: () => setIsRequestDetailsExpanded((v) => !v),
|
|
13129
13297
|
activeOpacity: 0.7,
|
|
13130
13298
|
children: [
|
|
13131
|
-
/* @__PURE__ */ (0,
|
|
13299
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.Text, { style: [styles10.detailsHeaderText, { color: colors.text }], children: [
|
|
13132
13300
|
t("requestDetails"),
|
|
13133
13301
|
" ",
|
|
13134
|
-
/* @__PURE__ */ (0,
|
|
13302
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: { color: colors.error }, children: "*" })
|
|
13135
13303
|
] }),
|
|
13136
|
-
/* @__PURE__ */ (0,
|
|
13304
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13137
13305
|
import_react_native_svg7.default,
|
|
13138
13306
|
{
|
|
13139
13307
|
width: 18,
|
|
@@ -13141,7 +13309,7 @@ function Form({ onCreateRequest }) {
|
|
|
13141
13309
|
viewBox: "0 0 24 24",
|
|
13142
13310
|
fill: "none",
|
|
13143
13311
|
style: { transform: [{ rotate: isRequestDetailsExpanded ? "0deg" : "-90deg" }] },
|
|
13144
|
-
children: /* @__PURE__ */ (0,
|
|
13312
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13145
13313
|
import_react_native_svg7.Path,
|
|
13146
13314
|
{
|
|
13147
13315
|
d: "M6 9l6 6 6-6",
|
|
@@ -13156,17 +13324,17 @@ function Form({ onCreateRequest }) {
|
|
|
13156
13324
|
]
|
|
13157
13325
|
}
|
|
13158
13326
|
),
|
|
13159
|
-
isRequestDetailsExpanded ? /* @__PURE__ */ (0,
|
|
13327
|
+
isRequestDetailsExpanded ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.View, { style: styles10.detailsBody, children: renderRequestDetailsBody() }) : null
|
|
13160
13328
|
] }),
|
|
13161
|
-
/* @__PURE__ */ (0,
|
|
13162
|
-
/* @__PURE__ */ (0,
|
|
13163
|
-
/* @__PURE__ */ (0,
|
|
13164
|
-
uploadedDocs.length > 0 ? /* @__PURE__ */ (0,
|
|
13329
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { children: [
|
|
13330
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.fieldLabel, { color: colors.text }], children: t("supportingDocumentation") }),
|
|
13331
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { style: [styles10.uploadBox, { borderColor: colors.border, backgroundColor: colors.surface }], children: [
|
|
13332
|
+
uploadedDocs.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.View, { style: styles10.docsList, children: uploadedDocs.map((doc) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
13165
13333
|
import_react_native12.View,
|
|
13166
13334
|
{
|
|
13167
13335
|
style: [styles10.docPill, { borderColor: colors.border, backgroundColor: colors.background }],
|
|
13168
13336
|
children: [
|
|
13169
|
-
/* @__PURE__ */ (0,
|
|
13337
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native_svg7.default, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13170
13338
|
import_react_native_svg7.Path,
|
|
13171
13339
|
{
|
|
13172
13340
|
d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z M14 2v6h6",
|
|
@@ -13176,14 +13344,14 @@ function Form({ onCreateRequest }) {
|
|
|
13176
13344
|
strokeLinejoin: "round"
|
|
13177
13345
|
}
|
|
13178
13346
|
) }),
|
|
13179
|
-
/* @__PURE__ */ (0,
|
|
13180
|
-
/* @__PURE__ */ (0,
|
|
13347
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.docName, { color: colors.text }], numberOfLines: 1, children: doc.name }),
|
|
13348
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13181
13349
|
import_react_native12.TouchableOpacity,
|
|
13182
13350
|
{
|
|
13183
13351
|
onPress: () => removeUploadedDoc(doc.uuid),
|
|
13184
13352
|
hitSlop: 8,
|
|
13185
13353
|
accessibilityLabel: t("cancel"),
|
|
13186
|
-
children: /* @__PURE__ */ (0,
|
|
13354
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native_svg7.default, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13187
13355
|
import_react_native_svg7.Path,
|
|
13188
13356
|
{
|
|
13189
13357
|
d: "M18 6L6 18M6 6l12 12",
|
|
@@ -13199,7 +13367,7 @@ function Form({ onCreateRequest }) {
|
|
|
13199
13367
|
},
|
|
13200
13368
|
doc.uuid
|
|
13201
13369
|
)) }) : null,
|
|
13202
|
-
/* @__PURE__ */ (0,
|
|
13370
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13203
13371
|
import_react_native12.TouchableOpacity,
|
|
13204
13372
|
{
|
|
13205
13373
|
style: [
|
|
@@ -13213,8 +13381,8 @@ function Form({ onCreateRequest }) {
|
|
|
13213
13381
|
onPress: handleUpload,
|
|
13214
13382
|
disabled: isUploading,
|
|
13215
13383
|
activeOpacity: 0.7,
|
|
13216
|
-
children: isUploading ? /* @__PURE__ */ (0,
|
|
13217
|
-
/* @__PURE__ */ (0,
|
|
13384
|
+
children: isUploading ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.ActivityIndicator, { size: "small", color: colors.primary }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
|
|
13385
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native_svg7.default, { width: uploadedDocs.length > 0 ? 16 : 28, height: uploadedDocs.length > 0 ? 16 : 28, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13218
13386
|
import_react_native_svg7.Path,
|
|
13219
13387
|
{
|
|
13220
13388
|
d: "M12 16V4m0 0L7 9m5-5l5 5M4 20h16",
|
|
@@ -13224,15 +13392,15 @@ function Form({ onCreateRequest }) {
|
|
|
13224
13392
|
strokeLinejoin: "round"
|
|
13225
13393
|
}
|
|
13226
13394
|
) }),
|
|
13227
|
-
/* @__PURE__ */ (0,
|
|
13395
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.uploadText, { color: colors.textSecondary }], children: uploadedDocs.length > 0 ? t("uploadFileButton") || "Upload another file" : t("uploadFile") })
|
|
13228
13396
|
] })
|
|
13229
13397
|
}
|
|
13230
13398
|
)
|
|
13231
13399
|
] })
|
|
13232
13400
|
] }),
|
|
13233
|
-
/* @__PURE__ */ (0,
|
|
13234
|
-
/* @__PURE__ */ (0,
|
|
13235
|
-
/* @__PURE__ */ (0,
|
|
13401
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { children: [
|
|
13402
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.Text, { style: [styles10.fieldLabel, { color: colors.text }], children: t("additionalNote") }),
|
|
13403
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13236
13404
|
PCInput,
|
|
13237
13405
|
{
|
|
13238
13406
|
value: additionalNote,
|
|
@@ -13242,7 +13410,7 @@ function Form({ onCreateRequest }) {
|
|
|
13242
13410
|
}
|
|
13243
13411
|
)
|
|
13244
13412
|
] }),
|
|
13245
|
-
/* @__PURE__ */ (0,
|
|
13413
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native12.View, { style: styles10.confirmRow, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13246
13414
|
PCCheckbox,
|
|
13247
13415
|
{
|
|
13248
13416
|
checked: confirmChecked,
|
|
@@ -13250,8 +13418,8 @@ function Form({ onCreateRequest }) {
|
|
|
13250
13418
|
label: `${t("confirmCheckBox")} *`
|
|
13251
13419
|
}
|
|
13252
13420
|
) }),
|
|
13253
|
-
/* @__PURE__ */ (0,
|
|
13254
|
-
/* @__PURE__ */ (0,
|
|
13421
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_native12.View, { style: styles10.actionsRow, children: [
|
|
13422
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13255
13423
|
PCButton,
|
|
13256
13424
|
{
|
|
13257
13425
|
title: t("saveDraft"),
|
|
@@ -13262,7 +13430,7 @@ function Form({ onCreateRequest }) {
|
|
|
13262
13430
|
style: styles10.actionButton
|
|
13263
13431
|
}
|
|
13264
13432
|
),
|
|
13265
|
-
/* @__PURE__ */ (0,
|
|
13433
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
13266
13434
|
PCButton,
|
|
13267
13435
|
{
|
|
13268
13436
|
title: t("submit"),
|
|
@@ -13552,7 +13720,7 @@ var styles10 = import_react_native12.StyleSheet.create({
|
|
|
13552
13720
|
});
|
|
13553
13721
|
|
|
13554
13722
|
// src/RedactoPrivacyCenter/components/CaseHistory.tsx
|
|
13555
|
-
var
|
|
13723
|
+
var import_react14 = require("react");
|
|
13556
13724
|
var import_react_native15 = require("react-native");
|
|
13557
13725
|
var import_react_i18next8 = require("react-i18next");
|
|
13558
13726
|
|
|
@@ -13595,7 +13763,7 @@ var useCaseMessages = (organizationId, workspaceId, caseUuid, authContext, polli
|
|
|
13595
13763
|
|
|
13596
13764
|
// src/RedactoPrivacyCenter/ui/PCBadge.tsx
|
|
13597
13765
|
var import_react_native13 = require("react-native");
|
|
13598
|
-
var
|
|
13766
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
13599
13767
|
var lightColors2 = {
|
|
13600
13768
|
success: { bg: "#d1fae5", text: "#059669" },
|
|
13601
13769
|
warning: { bg: "#fef3c7", text: "#92400e" },
|
|
@@ -13616,7 +13784,7 @@ var PCBadge = ({ status, label }) => {
|
|
|
13616
13784
|
const { theme } = useTheme();
|
|
13617
13785
|
const palette = theme === "dark" ? darkColors2 : lightColors2;
|
|
13618
13786
|
const colors = palette[status] || palette.pending;
|
|
13619
|
-
return /* @__PURE__ */ (0,
|
|
13787
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react_native13.View, { style: [styles11.badge, { backgroundColor: colors.bg }], children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react_native13.Text, { style: [styles11.text, { color: colors.text }], children: label }) });
|
|
13620
13788
|
};
|
|
13621
13789
|
var styles11 = import_react_native13.StyleSheet.create({
|
|
13622
13790
|
badge: {
|
|
@@ -13633,12 +13801,12 @@ var styles11 = import_react_native13.StyleSheet.create({
|
|
|
13633
13801
|
|
|
13634
13802
|
// src/RedactoPrivacyCenter/ui/PCEmpty.tsx
|
|
13635
13803
|
var import_react_native14 = require("react-native");
|
|
13636
|
-
var
|
|
13804
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
13637
13805
|
var PCEmpty = ({ title, description, icon }) => {
|
|
13638
|
-
return /* @__PURE__ */ (0,
|
|
13639
|
-
icon ? /* @__PURE__ */ (0,
|
|
13640
|
-
/* @__PURE__ */ (0,
|
|
13641
|
-
description ? /* @__PURE__ */ (0,
|
|
13806
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native14.View, { style: styles12.container, children: [
|
|
13807
|
+
icon ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native14.View, { style: styles12.iconWrapper, children: icon }) : null,
|
|
13808
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native14.Text, { style: styles12.title, children: title }),
|
|
13809
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native14.Text, { style: styles12.description, children: description }) : null
|
|
13642
13810
|
] });
|
|
13643
13811
|
};
|
|
13644
13812
|
var styles12 = import_react_native14.StyleSheet.create({
|
|
@@ -13697,7 +13865,7 @@ function formatDate2(dateStr) {
|
|
|
13697
13865
|
}
|
|
13698
13866
|
|
|
13699
13867
|
// src/RedactoPrivacyCenter/components/CaseHistory.tsx
|
|
13700
|
-
var
|
|
13868
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
13701
13869
|
function CaseHistory({ onCreateRequest }) {
|
|
13702
13870
|
const { t } = (0, import_react_i18next8.useTranslation)();
|
|
13703
13871
|
const { navigateTo, setSelectedCase } = useInternalNavigation();
|
|
@@ -13705,9 +13873,9 @@ function CaseHistory({ onCreateRequest }) {
|
|
|
13705
13873
|
const { colors } = useTheme();
|
|
13706
13874
|
const grievanceTabs = useGrievanceTabs();
|
|
13707
13875
|
const requestTypeLabels = useRequestTypeLabels();
|
|
13708
|
-
const [activeTab, setActiveTab] = (0,
|
|
13709
|
-
const [searchQuery, setSearchQuery] = (0,
|
|
13710
|
-
const authContext = (0,
|
|
13876
|
+
const [activeTab, setActiveTab] = (0, import_react14.useState)(GRIEVANCE_TAB_IDS.ALL);
|
|
13877
|
+
const [searchQuery, setSearchQuery] = (0, import_react14.useState)("");
|
|
13878
|
+
const authContext = (0, import_react14.useMemo)(() => ({
|
|
13711
13879
|
accessToken,
|
|
13712
13880
|
refreshToken,
|
|
13713
13881
|
onError,
|
|
@@ -13719,7 +13887,7 @@ function CaseHistory({ onCreateRequest }) {
|
|
|
13719
13887
|
email != null ? email : void 0,
|
|
13720
13888
|
authContext
|
|
13721
13889
|
);
|
|
13722
|
-
const filteredCases = (0,
|
|
13890
|
+
const filteredCases = (0, import_react14.useMemo)(() => {
|
|
13723
13891
|
return (cases || []).filter((item) => {
|
|
13724
13892
|
var _a, _b, _c;
|
|
13725
13893
|
const statusLower = item.status.toLowerCase();
|
|
@@ -13746,23 +13914,23 @@ function CaseHistory({ onCreateRequest }) {
|
|
|
13746
13914
|
return true;
|
|
13747
13915
|
});
|
|
13748
13916
|
}, [cases, activeTab, searchQuery]);
|
|
13749
|
-
const handleViewDetails = (0,
|
|
13917
|
+
const handleViewDetails = (0, import_react14.useCallback)((caseRequest) => {
|
|
13750
13918
|
setSelectedCase(caseRequest);
|
|
13751
13919
|
navigateTo("case-details");
|
|
13752
13920
|
}, [setSelectedCase, navigateTo]);
|
|
13753
|
-
const renderCaseCard = (0,
|
|
13921
|
+
const renderCaseCard = (0, import_react14.useCallback)(({ item }) => {
|
|
13754
13922
|
var _a;
|
|
13755
13923
|
const typeLabel = requestTypeLabels[(_a = item.request_type) == null ? void 0 : _a.toUpperCase()] || item.request_type_display || formatCaseStatus(item.request_type || "");
|
|
13756
|
-
return /* @__PURE__ */ (0,
|
|
13924
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
13757
13925
|
import_react_native15.TouchableOpacity,
|
|
13758
13926
|
{
|
|
13759
13927
|
style: [styles13.caseCard, { backgroundColor: colors.surface, borderColor: colors.border }],
|
|
13760
13928
|
onPress: () => handleViewDetails(item),
|
|
13761
13929
|
activeOpacity: 0.7,
|
|
13762
13930
|
children: [
|
|
13763
|
-
/* @__PURE__ */ (0,
|
|
13764
|
-
/* @__PURE__ */ (0,
|
|
13765
|
-
/* @__PURE__ */ (0,
|
|
13931
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native15.View, { style: styles13.caseCardHeader, children: [
|
|
13932
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native15.Text, { style: [styles13.caseId, { color: colors.text }], children: item.case_id }),
|
|
13933
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
13766
13934
|
PCBadge,
|
|
13767
13935
|
{
|
|
13768
13936
|
status: getCaseStatusVariant(item.status),
|
|
@@ -13770,36 +13938,36 @@ function CaseHistory({ onCreateRequest }) {
|
|
|
13770
13938
|
}
|
|
13771
13939
|
)
|
|
13772
13940
|
] }),
|
|
13773
|
-
/* @__PURE__ */ (0,
|
|
13774
|
-
/* @__PURE__ */ (0,
|
|
13775
|
-
/* @__PURE__ */ (0,
|
|
13776
|
-
/* @__PURE__ */ (0,
|
|
13941
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native15.View, { style: styles13.caseCardMeta, children: [
|
|
13942
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native15.Text, { style: [styles13.caseType, { color: colors.primary }], children: typeLabel }),
|
|
13943
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native15.Text, { style: [styles13.caseDot, { color: colors.textSecondary }], children: "\xB7" }),
|
|
13944
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native15.Text, { style: [styles13.caseDate, { color: colors.textSecondary }], children: formatDate2(item.created_at) })
|
|
13777
13945
|
] }),
|
|
13778
|
-
item.description_display || item.description ? /* @__PURE__ */ (0,
|
|
13946
|
+
item.description_display || item.description ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native15.Text, { style: [styles13.caseDescription, { color: colors.textSecondary }], numberOfLines: 2, children: item.description_display || item.description }) : null
|
|
13779
13947
|
]
|
|
13780
13948
|
}
|
|
13781
13949
|
);
|
|
13782
13950
|
}, [colors, requestTypeLabels, handleViewDetails]);
|
|
13783
13951
|
if (isLoading) {
|
|
13784
|
-
return /* @__PURE__ */ (0,
|
|
13952
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native15.View, { style: styles13.centered, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native15.ActivityIndicator, { size: "large", color: colors.primary }) });
|
|
13785
13953
|
}
|
|
13786
|
-
return /* @__PURE__ */ (0,
|
|
13787
|
-
/* @__PURE__ */ (0,
|
|
13788
|
-
/* @__PURE__ */ (0,
|
|
13789
|
-
/* @__PURE__ */ (0,
|
|
13954
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native15.View, { style: [styles13.container, { backgroundColor: colors.background }], children: [
|
|
13955
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native15.View, { style: styles13.topBar, children: [
|
|
13956
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native15.Text, { style: [styles13.title, { color: colors.text }], children: t("grievanceRequests") || "Privacy Requests" }),
|
|
13957
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
13790
13958
|
import_react_native15.TouchableOpacity,
|
|
13791
13959
|
{
|
|
13792
13960
|
style: [styles13.newRequestBtn, { backgroundColor: colors.primary }],
|
|
13793
13961
|
onPress: onCreateRequest,
|
|
13794
13962
|
activeOpacity: 0.7,
|
|
13795
|
-
children: /* @__PURE__ */ (0,
|
|
13963
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native15.Text, { style: [styles13.newRequestText, { color: colors.primaryText }], children: [
|
|
13796
13964
|
"+ ",
|
|
13797
13965
|
t("newRequest") || "New Request"
|
|
13798
13966
|
] })
|
|
13799
13967
|
}
|
|
13800
13968
|
)
|
|
13801
13969
|
] }),
|
|
13802
|
-
/* @__PURE__ */ (0,
|
|
13970
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native15.View, { style: styles13.searchContainer, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
13803
13971
|
PCInput,
|
|
13804
13972
|
{
|
|
13805
13973
|
value: searchQuery,
|
|
@@ -13807,9 +13975,9 @@ function CaseHistory({ onCreateRequest }) {
|
|
|
13807
13975
|
placeholder: t("searchPlaceholder") || "Search..."
|
|
13808
13976
|
}
|
|
13809
13977
|
) }),
|
|
13810
|
-
/* @__PURE__ */ (0,
|
|
13978
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native15.ScrollView, { horizontal: true, showsHorizontalScrollIndicator: false, style: styles13.tabsScroll, contentContainerStyle: styles13.tabsContent, children: grievanceTabs.map((tab) => {
|
|
13811
13979
|
const isActive = activeTab === tab.id;
|
|
13812
|
-
return /* @__PURE__ */ (0,
|
|
13980
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
13813
13981
|
import_react_native15.TouchableOpacity,
|
|
13814
13982
|
{
|
|
13815
13983
|
style: [
|
|
@@ -13819,7 +13987,7 @@ function CaseHistory({ onCreateRequest }) {
|
|
|
13819
13987
|
],
|
|
13820
13988
|
onPress: () => setActiveTab(tab.id),
|
|
13821
13989
|
activeOpacity: 0.7,
|
|
13822
|
-
children: /* @__PURE__ */ (0,
|
|
13990
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
13823
13991
|
import_react_native15.Text,
|
|
13824
13992
|
{
|
|
13825
13993
|
style: [
|
|
@@ -13834,14 +14002,14 @@ function CaseHistory({ onCreateRequest }) {
|
|
|
13834
14002
|
tab.id
|
|
13835
14003
|
);
|
|
13836
14004
|
}) }),
|
|
13837
|
-
/* @__PURE__ */ (0,
|
|
14005
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
13838
14006
|
import_react_native15.FlatList,
|
|
13839
14007
|
{
|
|
13840
14008
|
data: filteredCases,
|
|
13841
14009
|
keyExtractor: (item) => item.uuid,
|
|
13842
14010
|
renderItem: renderCaseCard,
|
|
13843
14011
|
contentContainerStyle: styles13.listContent,
|
|
13844
|
-
refreshControl: /* @__PURE__ */ (0,
|
|
14012
|
+
refreshControl: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
13845
14013
|
import_react_native15.RefreshControl,
|
|
13846
14014
|
{
|
|
13847
14015
|
refreshing: isRefetching,
|
|
@@ -13849,7 +14017,7 @@ function CaseHistory({ onCreateRequest }) {
|
|
|
13849
14017
|
tintColor: colors.primary
|
|
13850
14018
|
}
|
|
13851
14019
|
),
|
|
13852
|
-
ListEmptyComponent: /* @__PURE__ */ (0,
|
|
14020
|
+
ListEmptyComponent: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
13853
14021
|
PCEmpty,
|
|
13854
14022
|
{
|
|
13855
14023
|
title: t("noCasesYet") || "No requests found",
|
|
@@ -13960,21 +14128,21 @@ var styles13 = import_react_native15.StyleSheet.create({
|
|
|
13960
14128
|
});
|
|
13961
14129
|
|
|
13962
14130
|
// src/RedactoPrivacyCenter/components/FormPage.tsx
|
|
13963
|
-
var
|
|
14131
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
13964
14132
|
function FormPage() {
|
|
13965
14133
|
const { t } = (0, import_react_i18next9.useTranslation)();
|
|
13966
14134
|
const { colors } = useTheme();
|
|
13967
|
-
const [showForm, setShowForm] = (0,
|
|
14135
|
+
const [showForm, setShowForm] = (0, import_react15.useState)(false);
|
|
13968
14136
|
if (showForm) {
|
|
13969
|
-
return /* @__PURE__ */ (0,
|
|
13970
|
-
/* @__PURE__ */ (0,
|
|
14137
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react_native16.View, { style: styles14.container, children: [
|
|
14138
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_native16.View, { style: styles14.backRow, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
13971
14139
|
import_react_native16.TouchableOpacity,
|
|
13972
14140
|
{
|
|
13973
14141
|
style: styles14.backButton,
|
|
13974
14142
|
onPress: () => setShowForm(false),
|
|
13975
14143
|
activeOpacity: 0.7,
|
|
13976
14144
|
children: [
|
|
13977
|
-
/* @__PURE__ */ (0,
|
|
14145
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_native_svg8.default, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
13978
14146
|
import_react_native_svg8.Path,
|
|
13979
14147
|
{
|
|
13980
14148
|
d: "M19 12H5m0 0l7 7m-7-7l7-7",
|
|
@@ -13984,14 +14152,14 @@ function FormPage() {
|
|
|
13984
14152
|
strokeLinejoin: "round"
|
|
13985
14153
|
}
|
|
13986
14154
|
) }),
|
|
13987
|
-
/* @__PURE__ */ (0,
|
|
14155
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_native16.Text, { style: [styles14.backText, { color: colors.primary }], children: t("backToHome") || "Back" })
|
|
13988
14156
|
]
|
|
13989
14157
|
}
|
|
13990
14158
|
) }),
|
|
13991
|
-
/* @__PURE__ */ (0,
|
|
14159
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Form, { onCreateRequest: () => setShowForm(false) })
|
|
13992
14160
|
] });
|
|
13993
14161
|
}
|
|
13994
|
-
return /* @__PURE__ */ (0,
|
|
14162
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(CaseHistory, { onCreateRequest: () => setShowForm(true) });
|
|
13995
14163
|
}
|
|
13996
14164
|
var styles14 = import_react_native16.StyleSheet.create({
|
|
13997
14165
|
container: {
|
|
@@ -14017,7 +14185,7 @@ var styles14 = import_react_native16.StyleSheet.create({
|
|
|
14017
14185
|
var import_react_native17 = require("react-native");
|
|
14018
14186
|
var import_react_i18next10 = require("react-i18next");
|
|
14019
14187
|
var import_react_native_svg9 = __toESM(require("react-native-svg"));
|
|
14020
|
-
var
|
|
14188
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
14021
14189
|
var TAB_ITEMS = [
|
|
14022
14190
|
{ page: "consent-manager", labelKey: "consentManager", fallback: "Consents" },
|
|
14023
14191
|
{ page: "form", labelKey: "grievanceRequests", fallback: "Requests" },
|
|
@@ -14028,15 +14196,15 @@ function TabIcon({ page, color }) {
|
|
|
14028
14196
|
const size = 22;
|
|
14029
14197
|
switch (page) {
|
|
14030
14198
|
case "consent-manager":
|
|
14031
|
-
return /* @__PURE__ */ (0,
|
|
14199
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react_native_svg9.default, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react_native_svg9.Path, { d: "M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z", stroke: color, strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
14032
14200
|
case "form":
|
|
14033
|
-
return /* @__PURE__ */ (0,
|
|
14201
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react_native_svg9.default, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react_native_svg9.Path, { d: "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01", stroke: color, strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
14034
14202
|
case "activity":
|
|
14035
|
-
return /* @__PURE__ */ (0,
|
|
14203
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react_native_svg9.default, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react_native_svg9.Path, { d: "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z", stroke: color, strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
14036
14204
|
case "receipts":
|
|
14037
|
-
return /* @__PURE__ */ (0,
|
|
14038
|
-
/* @__PURE__ */ (0,
|
|
14039
|
-
/* @__PURE__ */ (0,
|
|
14205
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react_native_svg9.default, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: [
|
|
14206
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react_native_svg9.Path, { d: "M9 14l2 2 4-4m4 8V5a2 2 0 00-2-2h-4.586a1 1 0 00-.707.293l-4.414 4.414A1 1 0 007 8.414V19a2 2 0 002 2z", stroke: color, strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round" }),
|
|
14207
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react_native_svg9.Path, { d: "M14 3v4a1 1 0 001 1h4", stroke: color, strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round" })
|
|
14040
14208
|
] });
|
|
14041
14209
|
default:
|
|
14042
14210
|
return null;
|
|
@@ -14046,10 +14214,10 @@ function BottomTabBar() {
|
|
|
14046
14214
|
const { t } = (0, import_react_i18next10.useTranslation)();
|
|
14047
14215
|
const { currentPage, navigateTo } = useInternalNavigation();
|
|
14048
14216
|
const { colors } = useTheme();
|
|
14049
|
-
return /* @__PURE__ */ (0,
|
|
14217
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react_native17.View, { style: [styles15.container, { backgroundColor: colors.background, borderTopColor: colors.border }], children: TAB_ITEMS.map((item) => {
|
|
14050
14218
|
const isActive = currentPage === item.page || item.page === "form" && currentPage === "case-details";
|
|
14051
14219
|
const iconColor = isActive ? colors.primary : colors.textSecondary;
|
|
14052
|
-
return /* @__PURE__ */ (0,
|
|
14220
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
14053
14221
|
import_react_native17.TouchableOpacity,
|
|
14054
14222
|
{
|
|
14055
14223
|
style: styles15.tab,
|
|
@@ -14058,9 +14226,9 @@ function BottomTabBar() {
|
|
|
14058
14226
|
accessibilityRole: "tab",
|
|
14059
14227
|
accessibilityState: { selected: isActive },
|
|
14060
14228
|
children: [
|
|
14061
|
-
isActive && /* @__PURE__ */ (0,
|
|
14062
|
-
/* @__PURE__ */ (0,
|
|
14063
|
-
/* @__PURE__ */ (0,
|
|
14229
|
+
isActive && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react_native17.View, { style: [styles15.activeIndicator, { backgroundColor: colors.primary }] }),
|
|
14230
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(TabIcon, { page: item.page, color: iconColor }),
|
|
14231
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
14064
14232
|
import_react_native17.Text,
|
|
14065
14233
|
{
|
|
14066
14234
|
style: [
|
|
@@ -14110,7 +14278,7 @@ var styles15 = import_react_native17.StyleSheet.create({
|
|
|
14110
14278
|
});
|
|
14111
14279
|
|
|
14112
14280
|
// src/RedactoPrivacyCenter/components/Navbar.tsx
|
|
14113
|
-
var
|
|
14281
|
+
var import_react16 = require("react");
|
|
14114
14282
|
var import_react_native18 = require("react-native");
|
|
14115
14283
|
var import_react_i18next11 = require("react-i18next");
|
|
14116
14284
|
var import_react_native_svg10 = __toESM(require("react-native-svg"));
|
|
@@ -14137,35 +14305,35 @@ function navigateBack(onBack) {
|
|
|
14137
14305
|
}
|
|
14138
14306
|
|
|
14139
14307
|
// src/RedactoPrivacyCenter/components/Navbar.tsx
|
|
14140
|
-
var
|
|
14308
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
14141
14309
|
function Navbar({ onBack }) {
|
|
14142
14310
|
const { t } = (0, import_react_i18next11.useTranslation)();
|
|
14143
14311
|
const { currentPage } = useInternalNavigation();
|
|
14144
14312
|
const { email } = useAuth();
|
|
14145
14313
|
const { colors, theme, setTheme } = useTheme();
|
|
14146
|
-
const [locale, setLocale] = (0,
|
|
14314
|
+
const [locale, setLocale] = (0, import_react16.useState)(i18n_default.language || "en");
|
|
14147
14315
|
const pageChrome = PAGE_CHROME_BY_PAGE[currentPage] || PAGE_CHROME_BY_PAGE["consent-manager"];
|
|
14148
|
-
(0,
|
|
14316
|
+
(0, import_react16.useEffect)(() => {
|
|
14149
14317
|
const handleLanguageChanged = () => setLocale(i18n_default.language);
|
|
14150
14318
|
i18n_default.on("languageChanged", handleLanguageChanged);
|
|
14151
14319
|
return () => {
|
|
14152
14320
|
i18n_default.off("languageChanged", handleLanguageChanged);
|
|
14153
14321
|
};
|
|
14154
14322
|
}, []);
|
|
14155
|
-
const handleLanguageChange = (0,
|
|
14323
|
+
const handleLanguageChange = (0, import_react16.useCallback)((value) => {
|
|
14156
14324
|
i18n_default.changeLanguage(value);
|
|
14157
14325
|
}, []);
|
|
14158
|
-
const toggleTheme = (0,
|
|
14326
|
+
const toggleTheme = (0, import_react16.useCallback)(() => {
|
|
14159
14327
|
setTheme(theme === "light" ? "dark" : "light");
|
|
14160
14328
|
}, [theme, setTheme]);
|
|
14161
|
-
return /* @__PURE__ */ (0,
|
|
14162
|
-
onBack ? /* @__PURE__ */ (0,
|
|
14163
|
-
/* @__PURE__ */ (0,
|
|
14164
|
-
/* @__PURE__ */ (0,
|
|
14165
|
-
email ? /* @__PURE__ */ (0,
|
|
14329
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_react_native18.View, { style: [styles16.container, { backgroundColor: colors.background, borderBottomColor: colors.border }], children: [
|
|
14330
|
+
onBack ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_native18.TouchableOpacity, { style: styles16.backButton, onPress: () => navigateBack(onBack), activeOpacity: 0.7, children: onBack === "back" ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_native_svg10.default, { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_native_svg10.Path, { d: "M19 12H5m0 0l7 7m-7-7l7-7", stroke: colors.text, strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }) }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_native_svg10.default, { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_native_svg10.Path, { d: "M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1", stroke: colors.text, strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }) }) }) : null,
|
|
14331
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_react_native18.View, { style: styles16.leftSection, children: [
|
|
14332
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_native18.Text, { style: [styles16.title, { color: colors.text }], numberOfLines: 1, children: t(pageChrome.titleKey) }),
|
|
14333
|
+
email ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_native18.Text, { style: [styles16.email, { color: colors.primary }], numberOfLines: 1, children: email }) : null
|
|
14166
14334
|
] }),
|
|
14167
|
-
/* @__PURE__ */ (0,
|
|
14168
|
-
/* @__PURE__ */ (0,
|
|
14335
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_react_native18.View, { style: styles16.rightSection, children: [
|
|
14336
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
14169
14337
|
PCSelect,
|
|
14170
14338
|
{
|
|
14171
14339
|
value: locale,
|
|
@@ -14175,13 +14343,13 @@ function Navbar({ onBack }) {
|
|
|
14175
14343
|
compact: true
|
|
14176
14344
|
}
|
|
14177
14345
|
),
|
|
14178
|
-
/* @__PURE__ */ (0,
|
|
14346
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
14179
14347
|
import_react_native18.TouchableOpacity,
|
|
14180
14348
|
{
|
|
14181
14349
|
style: [styles16.themeButton, { borderColor: colors.border, backgroundColor: colors.surface }],
|
|
14182
14350
|
onPress: toggleTheme,
|
|
14183
14351
|
activeOpacity: 0.7,
|
|
14184
|
-
children: theme === "light" ? /* @__PURE__ */ (0,
|
|
14352
|
+
children: theme === "light" ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_native_svg10.default, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_native_svg10.Path, { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", stroke: colors.text, strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }) }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_native_svg10.default, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_native_svg10.Path, { d: "M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z", stroke: colors.text, strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }) })
|
|
14185
14353
|
}
|
|
14186
14354
|
)
|
|
14187
14355
|
] })
|
|
@@ -14241,14 +14409,14 @@ var styles16 = import_react_native18.StyleSheet.create({
|
|
|
14241
14409
|
// src/RedactoPrivacyCenter/components/Footer.tsx
|
|
14242
14410
|
var import_react_native19 = require("react-native");
|
|
14243
14411
|
var import_react_i18next12 = require("react-i18next");
|
|
14244
|
-
var
|
|
14412
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
14245
14413
|
function Footer() {
|
|
14246
14414
|
const { t } = (0, import_react_i18next12.useTranslation)();
|
|
14247
14415
|
const { colors } = useTheme();
|
|
14248
|
-
return /* @__PURE__ */ (0,
|
|
14416
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react_native19.View, { style: [styles17.container, { borderTopColor: colors.border }], children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_react_native19.Text, { style: [styles17.text, { color: colors.textSecondary }], children: [
|
|
14249
14417
|
t("poweredBy") || "Powered by",
|
|
14250
14418
|
" ",
|
|
14251
|
-
/* @__PURE__ */ (0,
|
|
14419
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react_native19.Text, { style: [styles17.brand, { color: colors.primary }], children: "Redacto" })
|
|
14252
14420
|
] }) });
|
|
14253
14421
|
}
|
|
14254
14422
|
var styles17 = import_react_native19.StyleSheet.create({
|
|
@@ -14265,31 +14433,67 @@ var styles17 = import_react_native19.StyleSheet.create({
|
|
|
14265
14433
|
}
|
|
14266
14434
|
});
|
|
14267
14435
|
|
|
14436
|
+
// src/RedactoPrivacyCenter/components/PrivacyCenterEmptyState.tsx
|
|
14437
|
+
var import_react_i18next13 = require("react-i18next");
|
|
14438
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
14439
|
+
function PrivacyCenterEmptyState() {
|
|
14440
|
+
const { t } = (0, import_react_i18next13.useTranslation)();
|
|
14441
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(PCEmpty, { title: t("noDataTitle"), description: t("noDataDescription") });
|
|
14442
|
+
}
|
|
14443
|
+
|
|
14444
|
+
// src/RedactoPrivacyCenter/ui/PCLoader.tsx
|
|
14445
|
+
var import_react_native20 = require("react-native");
|
|
14446
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
14447
|
+
var PCLoader = ({
|
|
14448
|
+
size = "large",
|
|
14449
|
+
color = "#4f87ff",
|
|
14450
|
+
text
|
|
14451
|
+
}) => {
|
|
14452
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native20.View, { style: styles18.container, children: [
|
|
14453
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native20.ActivityIndicator, { size, color }),
|
|
14454
|
+
text ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native20.Text, { style: styles18.text, children: text }) : null
|
|
14455
|
+
] });
|
|
14456
|
+
};
|
|
14457
|
+
var styles18 = import_react_native20.StyleSheet.create({
|
|
14458
|
+
container: {
|
|
14459
|
+
flex: 1,
|
|
14460
|
+
alignItems: "center",
|
|
14461
|
+
justifyContent: "center",
|
|
14462
|
+
padding: 24
|
|
14463
|
+
},
|
|
14464
|
+
text: {
|
|
14465
|
+
marginTop: 12,
|
|
14466
|
+
fontSize: 14,
|
|
14467
|
+
color: "#667085",
|
|
14468
|
+
textAlign: "center"
|
|
14469
|
+
}
|
|
14470
|
+
});
|
|
14471
|
+
|
|
14268
14472
|
// src/RedactoPrivacyCenter/components/CaseDetails/CaseDetailsPage.tsx
|
|
14269
|
-
var
|
|
14270
|
-
var
|
|
14271
|
-
var
|
|
14473
|
+
var import_react21 = require("react");
|
|
14474
|
+
var import_react_native28 = require("react-native");
|
|
14475
|
+
var import_react_i18next19 = require("react-i18next");
|
|
14272
14476
|
var import_react_native_svg18 = __toESM(require("react-native-svg"));
|
|
14273
14477
|
|
|
14274
14478
|
// src/RedactoPrivacyCenter/components/CaseDetails/RequestDetailsTab.tsx
|
|
14275
|
-
var
|
|
14276
|
-
var
|
|
14479
|
+
var import_react_native21 = require("react-native");
|
|
14480
|
+
var import_react_i18next14 = require("react-i18next");
|
|
14277
14481
|
var import_react_native_svg11 = __toESM(require("react-native-svg"));
|
|
14278
|
-
var
|
|
14482
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
14279
14483
|
function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
|
|
14280
|
-
const { t } = (0,
|
|
14484
|
+
const { t } = (0, import_react_i18next14.useTranslation)();
|
|
14281
14485
|
const { colors } = useTheme();
|
|
14282
14486
|
const details = selectedCase.request_details;
|
|
14283
14487
|
const isOverdue = selectedCase.due_date && new Date(selectedCase.due_date) < /* @__PURE__ */ new Date() && selectedCase.status !== "completed";
|
|
14284
|
-
return /* @__PURE__ */ (0,
|
|
14285
|
-
/* @__PURE__ */ (0,
|
|
14286
|
-
/* @__PURE__ */ (0,
|
|
14287
|
-
/* @__PURE__ */ (0,
|
|
14288
|
-
/* @__PURE__ */ (0,
|
|
14488
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.ScrollView, { style: styles19.container, contentContainerStyle: styles19.content, children: [
|
|
14489
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.View, { style: [styles19.summaryCard, { backgroundColor: colors.surface, borderColor: colors.border }], children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: styles19.summaryGrid, children: [
|
|
14490
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: styles19.summaryItem, children: [
|
|
14491
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.label, { color: colors.textSecondary }], children: t("requestType") || "Request Type" }),
|
|
14492
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.value, { color: colors.text }], children: requestTypeLabel })
|
|
14289
14493
|
] }),
|
|
14290
|
-
/* @__PURE__ */ (0,
|
|
14291
|
-
/* @__PURE__ */ (0,
|
|
14292
|
-
/* @__PURE__ */ (0,
|
|
14494
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: styles19.summaryItem, children: [
|
|
14495
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.label, { color: colors.textSecondary }], children: t("status") || "Status" }),
|
|
14496
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
14293
14497
|
PCBadge,
|
|
14294
14498
|
{
|
|
14295
14499
|
status: getCaseStatusVariant(selectedCase.status),
|
|
@@ -14297,30 +14501,30 @@ function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
|
|
|
14297
14501
|
}
|
|
14298
14502
|
)
|
|
14299
14503
|
] }),
|
|
14300
|
-
/* @__PURE__ */ (0,
|
|
14301
|
-
/* @__PURE__ */ (0,
|
|
14302
|
-
/* @__PURE__ */ (0,
|
|
14504
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: styles19.summaryItem, children: [
|
|
14505
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.label, { color: colors.textSecondary }], children: t("createdAt") || "Created" }),
|
|
14506
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.value, { color: colors.text }], children: formatDate2(selectedCase.created_at) })
|
|
14303
14507
|
] }),
|
|
14304
|
-
selectedCase.completed_at ? /* @__PURE__ */ (0,
|
|
14305
|
-
/* @__PURE__ */ (0,
|
|
14306
|
-
/* @__PURE__ */ (0,
|
|
14508
|
+
selectedCase.completed_at ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: styles19.summaryItem, children: [
|
|
14509
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.label, { color: colors.textSecondary }], children: t("completedAt") || "Completed" }),
|
|
14510
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.value, { color: colors.text }], children: formatDate2(selectedCase.completed_at) })
|
|
14307
14511
|
] }) : null,
|
|
14308
|
-
selectedCase.due_date ? /* @__PURE__ */ (0,
|
|
14309
|
-
/* @__PURE__ */ (0,
|
|
14310
|
-
/* @__PURE__ */ (0,
|
|
14512
|
+
selectedCase.due_date ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: styles19.summaryItem, children: [
|
|
14513
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.label, { color: colors.textSecondary }], children: t("dueDate") || "Due Date" }),
|
|
14514
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.Text, { style: [styles19.value, { color: isOverdue ? colors.error : colors.text }], children: [
|
|
14311
14515
|
formatDate2(selectedCase.due_date),
|
|
14312
14516
|
isOverdue ? ` (${t("overdue") || "Overdue"})` : ""
|
|
14313
14517
|
] })
|
|
14314
14518
|
] }) : null
|
|
14315
14519
|
] }) }),
|
|
14316
|
-
selectedCase.description_display || selectedCase.description ? /* @__PURE__ */ (0,
|
|
14317
|
-
/* @__PURE__ */ (0,
|
|
14318
|
-
/* @__PURE__ */ (0,
|
|
14520
|
+
selectedCase.description_display || selectedCase.description ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: [styles19.section, { borderColor: colors.border }], children: [
|
|
14521
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.sectionTitle, { color: colors.text }], children: t("descriptionLabel") || "Description" }),
|
|
14522
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.descriptionText, { color: colors.textSecondary }], children: selectedCase.description_display || selectedCase.description })
|
|
14319
14523
|
] }) : null,
|
|
14320
|
-
details ? /* @__PURE__ */ (0,
|
|
14321
|
-
/* @__PURE__ */ (0,
|
|
14322
|
-
details.purposes && details.purposes.length > 0 ? /* @__PURE__ */ (0,
|
|
14323
|
-
/* @__PURE__ */ (0,
|
|
14524
|
+
details ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: [styles19.section, { borderColor: colors.border }], children: [
|
|
14525
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.sectionTitle, { color: colors.text }], children: t("requestDetails") || "Request Details" }),
|
|
14526
|
+
details.purposes && details.purposes.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: styles19.detailGroup, children: [
|
|
14527
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.detailLabel, { color: colors.textSecondary }], children: t("purposesInvolved") || t("purposes") || "Purposes" }),
|
|
14324
14528
|
details.purposes.map((rawP, idx) => {
|
|
14325
14529
|
const p = (rawP == null ? void 0 : rawP.purpose) ? rawP.purpose : rawP;
|
|
14326
14530
|
const purposeId = (p == null ? void 0 : p.uuid) || (p == null ? void 0 : p.purpose_uuid) || (rawP == null ? void 0 : rawP.purpose_uuid) || idx;
|
|
@@ -14328,10 +14532,10 @@ function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
|
|
|
14328
14532
|
const purposeDescription = (p == null ? void 0 : p.description) || (rawP == null ? void 0 : rawP.description);
|
|
14329
14533
|
const dataElements = Array.isArray(p == null ? void 0 : p.data_elements) ? p.data_elements.filter((de) => (de == null ? void 0 : de.selected) || (de == null ? void 0 : de.given_consent)) : [];
|
|
14330
14534
|
const dataElementUuids = Array.isArray(rawP == null ? void 0 : rawP.data_element_uuids) ? rawP.data_element_uuids : Array.isArray(p == null ? void 0 : p.data_element_uuids) ? p.data_element_uuids : [];
|
|
14331
|
-
return /* @__PURE__ */ (0,
|
|
14332
|
-
/* @__PURE__ */ (0,
|
|
14333
|
-
purposeDescription ? /* @__PURE__ */ (0,
|
|
14334
|
-
dataElements.length > 0 ? /* @__PURE__ */ (0,
|
|
14535
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: [styles19.purposeCard, { borderColor: colors.border }], children: [
|
|
14536
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.purposeName, { color: colors.text }], children: purposeName }),
|
|
14537
|
+
purposeDescription ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.dataElements, { color: colors.textSecondary }], numberOfLines: 3, children: purposeDescription }) : null,
|
|
14538
|
+
dataElements.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.View, { style: styles19.badgeRow, children: dataElements.map((de) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(PCBadge, { status: "info", label: de.name }, de.uuid)) }) : dataElementUuids.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.Text, { style: [styles19.dataElements, { color: colors.textSecondary }], children: [
|
|
14335
14539
|
dataElementUuids.length,
|
|
14336
14540
|
" ",
|
|
14337
14541
|
t("dataElements") || "data elements"
|
|
@@ -14339,16 +14543,16 @@ function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
|
|
|
14339
14543
|
] }, purposeId);
|
|
14340
14544
|
})
|
|
14341
14545
|
] }) : null,
|
|
14342
|
-
details.correction_data && details.correction_data.length > 0 ? /* @__PURE__ */ (0,
|
|
14343
|
-
/* @__PURE__ */ (0,
|
|
14344
|
-
details.correction_data.map((item, idx) => /* @__PURE__ */ (0,
|
|
14345
|
-
/* @__PURE__ */ (0,
|
|
14346
|
-
/* @__PURE__ */ (0,
|
|
14347
|
-
/* @__PURE__ */ (0,
|
|
14348
|
-
/* @__PURE__ */ (0,
|
|
14349
|
-
/* @__PURE__ */ (0,
|
|
14546
|
+
details.correction_data && details.correction_data.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: styles19.detailGroup, children: [
|
|
14547
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.detailLabel, { color: colors.textSecondary }], children: t("correctionData") || "Correction Data" }),
|
|
14548
|
+
details.correction_data.map((item, idx) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: [styles19.correctionCard, { borderColor: colors.border }], children: [
|
|
14549
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.correctionField, { color: colors.text }], children: item.name }),
|
|
14550
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: styles19.correctionValues, children: [
|
|
14551
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: styles19.correctionValue, children: [
|
|
14552
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.correctionLabel, { color: colors.textSecondary }], children: t("currentValue") || "Current" }),
|
|
14553
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.correctionText, { color: colors.text }], children: item.curr_value || "-" })
|
|
14350
14554
|
] }),
|
|
14351
|
-
/* @__PURE__ */ (0,
|
|
14555
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native_svg11.default, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
14352
14556
|
import_react_native_svg11.Path,
|
|
14353
14557
|
{
|
|
14354
14558
|
d: "M5 12h14m0 0l-7-7m7 7l-7 7",
|
|
@@ -14358,16 +14562,16 @@ function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
|
|
|
14358
14562
|
strokeLinejoin: "round"
|
|
14359
14563
|
}
|
|
14360
14564
|
) }),
|
|
14361
|
-
/* @__PURE__ */ (0,
|
|
14362
|
-
/* @__PURE__ */ (0,
|
|
14363
|
-
/* @__PURE__ */ (0,
|
|
14565
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: styles19.correctionValue, children: [
|
|
14566
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.correctionLabel, { color: colors.textSecondary }], children: t("newValue") || "New" }),
|
|
14567
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.correctionText, { color: colors.primary }], children: item.new_value || "-" })
|
|
14364
14568
|
] })
|
|
14365
14569
|
] })
|
|
14366
14570
|
] }, idx))
|
|
14367
14571
|
] }) : null,
|
|
14368
|
-
details.grievance_types && details.grievance_types.length > 0 ? /* @__PURE__ */ (0,
|
|
14369
|
-
/* @__PURE__ */ (0,
|
|
14370
|
-
/* @__PURE__ */ (0,
|
|
14572
|
+
details.grievance_types && details.grievance_types.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: styles19.detailGroup, children: [
|
|
14573
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.detailLabel, { color: colors.textSecondary }], children: t("grievanceTypes") || "Grievance Types" }),
|
|
14574
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.View, { style: styles19.badgeRow, children: details.grievance_types.map((g, idx) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
14371
14575
|
PCBadge,
|
|
14372
14576
|
{
|
|
14373
14577
|
status: "warning",
|
|
@@ -14376,23 +14580,23 @@ function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
|
|
|
14376
14580
|
idx
|
|
14377
14581
|
)) })
|
|
14378
14582
|
] }) : null,
|
|
14379
|
-
details.nomination_data ? /* @__PURE__ */ (0,
|
|
14380
|
-
/* @__PURE__ */ (0,
|
|
14381
|
-
/* @__PURE__ */ (0,
|
|
14382
|
-
details.nomination_data.nominee_email ? /* @__PURE__ */ (0,
|
|
14383
|
-
/* @__PURE__ */ (0,
|
|
14384
|
-
/* @__PURE__ */ (0,
|
|
14583
|
+
details.nomination_data ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: styles19.detailGroup, children: [
|
|
14584
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.detailLabel, { color: colors.textSecondary }], children: t("nominationData") || "Nomination" }),
|
|
14585
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: [styles19.nominationCard, { borderColor: colors.border }], children: [
|
|
14586
|
+
details.nomination_data.nominee_email ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: styles19.nominationRow, children: [
|
|
14587
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.nominationLabel, { color: colors.textSecondary }], children: t("email") || "Email" }),
|
|
14588
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.nominationValue, { color: colors.text }], children: details.nomination_data.nominee_email })
|
|
14385
14589
|
] }) : null,
|
|
14386
|
-
details.nomination_data.nominee_mobile ? /* @__PURE__ */ (0,
|
|
14387
|
-
/* @__PURE__ */ (0,
|
|
14388
|
-
/* @__PURE__ */ (0,
|
|
14590
|
+
details.nomination_data.nominee_mobile ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_native21.View, { style: styles19.nominationRow, children: [
|
|
14591
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.nominationLabel, { color: colors.textSecondary }], children: t("mobile") || "Mobile" }),
|
|
14592
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native21.Text, { style: [styles19.nominationValue, { color: colors.text }], children: details.nomination_data.nominee_mobile })
|
|
14389
14593
|
] }) : null
|
|
14390
14594
|
] })
|
|
14391
14595
|
] }) : null
|
|
14392
14596
|
] }) : null
|
|
14393
14597
|
] });
|
|
14394
14598
|
}
|
|
14395
|
-
var
|
|
14599
|
+
var styles19 = import_react_native21.StyleSheet.create({
|
|
14396
14600
|
container: {
|
|
14397
14601
|
flex: 1
|
|
14398
14602
|
},
|
|
@@ -14511,42 +14715,42 @@ var styles18 = import_react_native20.StyleSheet.create({
|
|
|
14511
14715
|
});
|
|
14512
14716
|
|
|
14513
14717
|
// src/RedactoPrivacyCenter/components/CaseDetails/MessagesTab.tsx
|
|
14514
|
-
var
|
|
14515
|
-
var
|
|
14516
|
-
var
|
|
14718
|
+
var import_react20 = require("react");
|
|
14719
|
+
var import_react_native27 = require("react-native");
|
|
14720
|
+
var import_react_i18next18 = require("react-i18next");
|
|
14517
14721
|
var import_react_native_svg17 = __toESM(require("react-native-svg"));
|
|
14518
14722
|
|
|
14519
14723
|
// src/RedactoPrivacyCenter/components/CaseDetails/MessageItem.tsx
|
|
14520
|
-
var
|
|
14521
|
-
var
|
|
14724
|
+
var import_react18 = __toESM(require("react"));
|
|
14725
|
+
var import_react_i18next16 = require("react-i18next");
|
|
14522
14726
|
var import_react_native_svg15 = __toESM(require("react-native-svg"));
|
|
14523
14727
|
|
|
14524
14728
|
// src/RedactoPrivacyCenter/components/CaseDetails/ChatBubble.tsx
|
|
14525
|
-
var
|
|
14526
|
-
var
|
|
14729
|
+
var import_react17 = __toESM(require("react"));
|
|
14730
|
+
var import_react_native23 = require("react-native");
|
|
14527
14731
|
var import_react_native_svg13 = __toESM(require("react-native-svg"));
|
|
14528
14732
|
|
|
14529
14733
|
// src/RedactoPrivacyCenter/components/CaseDetails/AttachmentCard.tsx
|
|
14530
|
-
var
|
|
14734
|
+
var import_react_native22 = require("react-native");
|
|
14531
14735
|
var import_react_native_svg12 = __toESM(require("react-native-svg"));
|
|
14532
|
-
var
|
|
14736
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
14533
14737
|
function AttachmentCard({ doc }) {
|
|
14534
14738
|
const { colors } = useTheme();
|
|
14535
14739
|
const downloadUrl = getDownloadUrl(doc.file_url);
|
|
14536
14740
|
const handlePress = () => {
|
|
14537
14741
|
if (downloadUrl) {
|
|
14538
|
-
|
|
14742
|
+
import_react_native22.Linking.openURL(downloadUrl);
|
|
14539
14743
|
}
|
|
14540
14744
|
};
|
|
14541
|
-
return /* @__PURE__ */ (0,
|
|
14542
|
-
|
|
14745
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
14746
|
+
import_react_native22.TouchableOpacity,
|
|
14543
14747
|
{
|
|
14544
|
-
style: [
|
|
14748
|
+
style: [styles20.container, { backgroundColor: colors.surface, borderColor: colors.border }],
|
|
14545
14749
|
onPress: handlePress,
|
|
14546
14750
|
disabled: !downloadUrl,
|
|
14547
14751
|
activeOpacity: 0.7,
|
|
14548
14752
|
children: [
|
|
14549
|
-
/* @__PURE__ */ (0,
|
|
14753
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react_native_svg12.default, { width: 18, height: 18, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
14550
14754
|
import_react_native_svg12.Path,
|
|
14551
14755
|
{
|
|
14552
14756
|
d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z M14 2v6h6 M16 13H8 M16 17H8 M10 9H8",
|
|
@@ -14556,15 +14760,15 @@ function AttachmentCard({ doc }) {
|
|
|
14556
14760
|
strokeLinejoin: "round"
|
|
14557
14761
|
}
|
|
14558
14762
|
) }),
|
|
14559
|
-
/* @__PURE__ */ (0,
|
|
14560
|
-
/* @__PURE__ */ (0,
|
|
14561
|
-
doc.file_size ? /* @__PURE__ */ (0,
|
|
14763
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_react_native22.View, { style: styles20.info, children: [
|
|
14764
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react_native22.Text, { style: [styles20.fileName, { color: colors.text }], numberOfLines: 1, children: doc.file_name || "Document" }),
|
|
14765
|
+
doc.file_size ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react_native22.Text, { style: [styles20.fileSize, { color: colors.textSecondary }], children: formatFileSize(doc.file_size) }) : null
|
|
14562
14766
|
] })
|
|
14563
14767
|
]
|
|
14564
14768
|
}
|
|
14565
14769
|
);
|
|
14566
14770
|
}
|
|
14567
|
-
var
|
|
14771
|
+
var styles20 = import_react_native22.StyleSheet.create({
|
|
14568
14772
|
container: {
|
|
14569
14773
|
flexDirection: "row",
|
|
14570
14774
|
alignItems: "center",
|
|
@@ -14589,11 +14793,11 @@ var styles19 = import_react_native21.StyleSheet.create({
|
|
|
14589
14793
|
});
|
|
14590
14794
|
|
|
14591
14795
|
// src/RedactoPrivacyCenter/components/CaseDetails/ChatBubble.tsx
|
|
14592
|
-
var
|
|
14796
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
14593
14797
|
var AVATAR_SIZE = 28;
|
|
14594
14798
|
var AVATAR_GUTTER = 36;
|
|
14595
14799
|
function TeamAvatar({ tint }) {
|
|
14596
|
-
return /* @__PURE__ */ (0,
|
|
14800
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_native23.View, { style: [styles21.avatar, { backgroundColor: `${tint}1F` }], children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_native_svg13.default, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
14597
14801
|
import_react_native_svg13.Path,
|
|
14598
14802
|
{
|
|
14599
14803
|
d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",
|
|
@@ -14629,28 +14833,28 @@ function ChatBubbleImpl({
|
|
|
14629
14833
|
borderBottomRightRadius: 18,
|
|
14630
14834
|
borderBottomLeftRadius: tailRadius
|
|
14631
14835
|
};
|
|
14632
|
-
const bubble = /* @__PURE__ */ (0,
|
|
14633
|
-
!isPrincipal && isFirstInGroup ? /* @__PURE__ */ (0,
|
|
14634
|
-
message.body ? /* @__PURE__ */ (0,
|
|
14635
|
-
message.documents && message.documents.length > 0 ? /* @__PURE__ */ (0,
|
|
14836
|
+
const bubble = /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_react_native23.View, { style: [styles21.bubble, bubbleStyle], children: [
|
|
14837
|
+
!isPrincipal && isFirstInGroup ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_native23.Text, { style: [styles21.bubbleSender, { color: colors.primary }], numberOfLines: 1, children: senderLabel }) : null,
|
|
14838
|
+
message.body ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_native23.Text, { style: [styles21.body, { color: isPrincipal ? colors.primaryText : colors.text }], children: message.body }) : null,
|
|
14839
|
+
message.documents && message.documents.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_native23.View, { style: styles21.attachments, children: message.documents.map((doc) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(AttachmentCard, { doc }, doc.uuid)) }) : null
|
|
14636
14840
|
] });
|
|
14637
|
-
return /* @__PURE__ */ (0,
|
|
14638
|
-
|
|
14841
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
14842
|
+
import_react_native23.View,
|
|
14639
14843
|
{
|
|
14640
14844
|
style: [
|
|
14641
|
-
|
|
14642
|
-
isPrincipal ?
|
|
14845
|
+
styles21.row,
|
|
14846
|
+
isPrincipal ? styles21.rowRight : styles21.rowLeft,
|
|
14643
14847
|
{ marginTop: isFirstInGroup ? 12 : 2 }
|
|
14644
14848
|
],
|
|
14645
14849
|
children: [
|
|
14646
|
-
!isPrincipal ? /* @__PURE__ */ (0,
|
|
14647
|
-
/* @__PURE__ */ (0,
|
|
14850
|
+
!isPrincipal ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_native23.View, { style: styles21.avatarSlot, children: isFirstInGroup ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(TeamAvatar, { tint: colors.primary }) : null }) : null,
|
|
14851
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_react_native23.View, { style: [styles21.column, isPrincipal ? styles21.columnRight : styles21.columnLeft], children: [
|
|
14648
14852
|
bubble,
|
|
14649
|
-
isLastInGroup ? /* @__PURE__ */ (0,
|
|
14650
|
-
|
|
14853
|
+
isLastInGroup ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
14854
|
+
import_react_native23.Text,
|
|
14651
14855
|
{
|
|
14652
14856
|
style: [
|
|
14653
|
-
|
|
14857
|
+
styles21.timestamp,
|
|
14654
14858
|
{ color: colors.textSecondary, textAlign: isPrincipal ? "right" : "left" }
|
|
14655
14859
|
],
|
|
14656
14860
|
children: formatMessageTime(timestamp)
|
|
@@ -14661,8 +14865,8 @@ function ChatBubbleImpl({
|
|
|
14661
14865
|
}
|
|
14662
14866
|
);
|
|
14663
14867
|
}
|
|
14664
|
-
var ChatBubble =
|
|
14665
|
-
var
|
|
14868
|
+
var ChatBubble = import_react17.default.memo(ChatBubbleImpl);
|
|
14869
|
+
var styles21 = import_react_native23.StyleSheet.create({
|
|
14666
14870
|
row: {
|
|
14667
14871
|
flexDirection: "row",
|
|
14668
14872
|
paddingHorizontal: 12,
|
|
@@ -14721,10 +14925,10 @@ var styles20 = import_react_native22.StyleSheet.create({
|
|
|
14721
14925
|
});
|
|
14722
14926
|
|
|
14723
14927
|
// src/RedactoPrivacyCenter/components/CaseDetails/DocumentRequestCard.tsx
|
|
14724
|
-
var
|
|
14725
|
-
var
|
|
14928
|
+
var import_react_native24 = require("react-native");
|
|
14929
|
+
var import_react_i18next15 = require("react-i18next");
|
|
14726
14930
|
var import_react_native_svg14 = __toESM(require("react-native-svg"));
|
|
14727
|
-
var
|
|
14931
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
14728
14932
|
var STATUS_BADGE_MAP = {
|
|
14729
14933
|
pending: "warning",
|
|
14730
14934
|
under_review: "info",
|
|
@@ -14733,17 +14937,17 @@ var STATUS_BADGE_MAP = {
|
|
|
14733
14937
|
replacement_requested: "warning"
|
|
14734
14938
|
};
|
|
14735
14939
|
function DocumentRequestCard({ message, onUpload, isSubmitting }) {
|
|
14736
|
-
const { t } = (0,
|
|
14940
|
+
const { t } = (0, import_react_i18next15.useTranslation)();
|
|
14737
14941
|
const { colors } = useTheme();
|
|
14738
14942
|
const meta = message.document_request_metadata;
|
|
14739
14943
|
if (!meta) return null;
|
|
14740
14944
|
const status = meta.document_request_status;
|
|
14741
14945
|
const canUpload = status === "pending" || status === "replacement_requested";
|
|
14742
14946
|
const requestEventUuid = meta.document_request_uuid;
|
|
14743
|
-
return /* @__PURE__ */ (0,
|
|
14744
|
-
/* @__PURE__ */ (0,
|
|
14745
|
-
/* @__PURE__ */ (0,
|
|
14746
|
-
/* @__PURE__ */ (0,
|
|
14947
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_react_native24.View, { style: [styles22.container, { borderColor: colors.border, backgroundColor: colors.surface }], children: [
|
|
14948
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_react_native24.View, { style: styles22.header, children: [
|
|
14949
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_react_native24.View, { style: styles22.titleRow, children: [
|
|
14950
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_native_svg14.default, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
14747
14951
|
import_react_native_svg14.Path,
|
|
14748
14952
|
{
|
|
14749
14953
|
d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h5l2 3h9a2 2 0 012 2z",
|
|
@@ -14753,9 +14957,9 @@ function DocumentRequestCard({ message, onUpload, isSubmitting }) {
|
|
|
14753
14957
|
strokeLinejoin: "round"
|
|
14754
14958
|
}
|
|
14755
14959
|
) }),
|
|
14756
|
-
/* @__PURE__ */ (0,
|
|
14960
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_native24.Text, { style: [styles22.title, { color: colors.text }], children: meta.title || t("documentRequestedLabel") || "Document Requested" })
|
|
14757
14961
|
] }),
|
|
14758
|
-
/* @__PURE__ */ (0,
|
|
14962
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
14759
14963
|
PCBadge,
|
|
14760
14964
|
{
|
|
14761
14965
|
status: STATUS_BADGE_MAP[status] || "info",
|
|
@@ -14763,31 +14967,31 @@ function DocumentRequestCard({ message, onUpload, isSubmitting }) {
|
|
|
14763
14967
|
}
|
|
14764
14968
|
)
|
|
14765
14969
|
] }),
|
|
14766
|
-
meta.accepted_document ? /* @__PURE__ */ (0,
|
|
14970
|
+
meta.accepted_document ? /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_react_native24.Text, { style: [styles22.accepted, { color: colors.textSecondary }], children: [
|
|
14767
14971
|
t("acceptedLabel") || "Accepted",
|
|
14768
14972
|
": ",
|
|
14769
14973
|
meta.accepted_document
|
|
14770
14974
|
] }) : null,
|
|
14771
|
-
meta.rejection_reason ? /* @__PURE__ */ (0,
|
|
14772
|
-
/* @__PURE__ */ (0,
|
|
14975
|
+
meta.rejection_reason ? /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_react_native24.View, { style: [styles22.rejectionBox, { backgroundColor: `${colors.error}10`, borderColor: `${colors.error}30` }], children: [
|
|
14976
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_react_native24.Text, { style: [styles22.rejectionLabel, { color: colors.error }], children: [
|
|
14773
14977
|
t("rejectionReasonLabel") || "Rejection reason",
|
|
14774
14978
|
":"
|
|
14775
14979
|
] }),
|
|
14776
|
-
/* @__PURE__ */ (0,
|
|
14980
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_native24.Text, { style: [styles22.rejectionText, { color: colors.error }], children: meta.rejection_reason })
|
|
14777
14981
|
] }) : null,
|
|
14778
|
-
canUpload && requestEventUuid ? /* @__PURE__ */ (0,
|
|
14779
|
-
|
|
14982
|
+
canUpload && requestEventUuid ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
14983
|
+
import_react_native24.TouchableOpacity,
|
|
14780
14984
|
{
|
|
14781
|
-
style: [
|
|
14985
|
+
style: [styles22.uploadButton, { backgroundColor: colors.primary }],
|
|
14782
14986
|
onPress: () => onUpload(requestEventUuid),
|
|
14783
14987
|
disabled: isSubmitting,
|
|
14784
14988
|
activeOpacity: 0.7,
|
|
14785
|
-
children: /* @__PURE__ */ (0,
|
|
14989
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_native24.Text, { style: [styles22.uploadButtonText, { color: colors.primaryText }], children: isSubmitting ? t("loading") || "Loading..." : t("uploadAndSubmit") || "Upload & Submit" })
|
|
14786
14990
|
}
|
|
14787
14991
|
) : null
|
|
14788
14992
|
] });
|
|
14789
14993
|
}
|
|
14790
|
-
var
|
|
14994
|
+
var styles22 = import_react_native24.StyleSheet.create({
|
|
14791
14995
|
container: {
|
|
14792
14996
|
borderWidth: 1,
|
|
14793
14997
|
borderStyle: "dashed",
|
|
@@ -14842,20 +15046,20 @@ var styles21 = import_react_native23.StyleSheet.create({
|
|
|
14842
15046
|
});
|
|
14843
15047
|
|
|
14844
15048
|
// src/RedactoPrivacyCenter/components/CaseDetails/StatusEvent.tsx
|
|
14845
|
-
var
|
|
14846
|
-
var
|
|
15049
|
+
var import_react_native25 = require("react-native");
|
|
15050
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
14847
15051
|
function StatusEvent({ icon, color, bgColor, borderColor, text, subText, timestamp }) {
|
|
14848
15052
|
const { colors } = useTheme();
|
|
14849
|
-
return /* @__PURE__ */ (0,
|
|
14850
|
-
/* @__PURE__ */ (0,
|
|
14851
|
-
/* @__PURE__ */ (0,
|
|
14852
|
-
/* @__PURE__ */ (0,
|
|
14853
|
-
subText ? /* @__PURE__ */ (0,
|
|
15053
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_react_native25.View, { style: [styles23.container, { backgroundColor: bgColor, borderColor }], children: [
|
|
15054
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native25.View, { style: [styles23.iconBubble, { backgroundColor: `${color}1F` }], children: icon }),
|
|
15055
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_react_native25.View, { style: styles23.textContainer, children: [
|
|
15056
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native25.Text, { style: [styles23.text, { color }], children: text }),
|
|
15057
|
+
subText ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native25.Text, { style: [styles23.subText, { color: colors.textSecondary }], numberOfLines: 2, children: subText }) : null
|
|
14854
15058
|
] }),
|
|
14855
|
-
/* @__PURE__ */ (0,
|
|
15059
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native25.Text, { style: [styles23.timestamp, { color: colors.textSecondary }], children: formatMessageTime(timestamp) })
|
|
14856
15060
|
] });
|
|
14857
15061
|
}
|
|
14858
|
-
var
|
|
15062
|
+
var styles23 = import_react_native25.StyleSheet.create({
|
|
14859
15063
|
container: {
|
|
14860
15064
|
flexDirection: "row",
|
|
14861
15065
|
alignItems: "center",
|
|
@@ -14894,10 +15098,10 @@ var styles22 = import_react_native24.StyleSheet.create({
|
|
|
14894
15098
|
});
|
|
14895
15099
|
|
|
14896
15100
|
// src/RedactoPrivacyCenter/components/CaseDetails/MessageItem.tsx
|
|
14897
|
-
var
|
|
14898
|
-
var CheckIcon = ({ color }) => /* @__PURE__ */ (0,
|
|
14899
|
-
var XIcon = ({ color }) => /* @__PURE__ */ (0,
|
|
14900
|
-
var RefreshIcon = ({ color }) => /* @__PURE__ */ (0,
|
|
15101
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
15102
|
+
var CheckIcon = ({ color }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_native_svg15.default, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_native_svg15.Path, { d: "M20 6L9 17l-5-5", stroke: color, strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
15103
|
+
var XIcon = ({ color }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_native_svg15.default, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_native_svg15.Path, { d: "M18 6L6 18M6 6l12 12", stroke: color, strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
15104
|
+
var RefreshIcon = ({ color }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_native_svg15.default, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14901
15105
|
import_react_native_svg15.Path,
|
|
14902
15106
|
{
|
|
14903
15107
|
d: "M23 4v6h-6 M1 20v-6h6 M3.51 9a9 9 0 0114.85-3.36L23 10 M20.49 15A9 9 0 015.64 18.36L1 14",
|
|
@@ -14915,14 +15119,14 @@ function MessageItemImpl({
|
|
|
14915
15119
|
isLastInGroup = true
|
|
14916
15120
|
}) {
|
|
14917
15121
|
var _a, _b;
|
|
14918
|
-
const { t } = (0,
|
|
15122
|
+
const { t } = (0, import_react_i18next16.useTranslation)();
|
|
14919
15123
|
const isPrincipal = message.sender_role === "data_principal";
|
|
14920
15124
|
const senderLabel = isPrincipal ? t("senderYou") || "You" : t("senderPrivacyTeam") || "Privacy Team";
|
|
14921
15125
|
switch (message.message_type) {
|
|
14922
15126
|
case "message_sent":
|
|
14923
15127
|
case "document_submitted":
|
|
14924
15128
|
case "document_replaced":
|
|
14925
|
-
return /* @__PURE__ */ (0,
|
|
15129
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14926
15130
|
ChatBubble,
|
|
14927
15131
|
{
|
|
14928
15132
|
message,
|
|
@@ -14934,8 +15138,8 @@ function MessageItemImpl({
|
|
|
14934
15138
|
}
|
|
14935
15139
|
);
|
|
14936
15140
|
case "document_requested":
|
|
14937
|
-
return /* @__PURE__ */ (0,
|
|
14938
|
-
/* @__PURE__ */ (0,
|
|
15141
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
|
|
15142
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14939
15143
|
ChatBubble,
|
|
14940
15144
|
{
|
|
14941
15145
|
message,
|
|
@@ -14946,7 +15150,7 @@ function MessageItemImpl({
|
|
|
14946
15150
|
isLastInGroup
|
|
14947
15151
|
}
|
|
14948
15152
|
),
|
|
14949
|
-
/* @__PURE__ */ (0,
|
|
15153
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14950
15154
|
DocumentRequestCard,
|
|
14951
15155
|
{
|
|
14952
15156
|
message,
|
|
@@ -14956,10 +15160,10 @@ function MessageItemImpl({
|
|
|
14956
15160
|
)
|
|
14957
15161
|
] });
|
|
14958
15162
|
case "document_approved":
|
|
14959
|
-
return /* @__PURE__ */ (0,
|
|
15163
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14960
15164
|
StatusEvent,
|
|
14961
15165
|
{
|
|
14962
|
-
icon: /* @__PURE__ */ (0,
|
|
15166
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(CheckIcon, { color: "#059669" }),
|
|
14963
15167
|
color: "#059669",
|
|
14964
15168
|
bgColor: "rgba(16, 185, 129, 0.08)",
|
|
14965
15169
|
borderColor: "rgba(16, 185, 129, 0.2)",
|
|
@@ -14968,10 +15172,10 @@ function MessageItemImpl({
|
|
|
14968
15172
|
}
|
|
14969
15173
|
);
|
|
14970
15174
|
case "document_rejected":
|
|
14971
|
-
return /* @__PURE__ */ (0,
|
|
15175
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14972
15176
|
StatusEvent,
|
|
14973
15177
|
{
|
|
14974
|
-
icon: /* @__PURE__ */ (0,
|
|
15178
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(XIcon, { color: "#DC2626" }),
|
|
14975
15179
|
color: "#DC2626",
|
|
14976
15180
|
bgColor: "rgba(220, 38, 38, 0.08)",
|
|
14977
15181
|
borderColor: "rgba(220, 38, 38, 0.2)",
|
|
@@ -14981,10 +15185,10 @@ function MessageItemImpl({
|
|
|
14981
15185
|
}
|
|
14982
15186
|
);
|
|
14983
15187
|
case "document_replacement_requested":
|
|
14984
|
-
return /* @__PURE__ */ (0,
|
|
15188
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14985
15189
|
StatusEvent,
|
|
14986
15190
|
{
|
|
14987
|
-
icon: /* @__PURE__ */ (0,
|
|
15191
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(RefreshIcon, { color: "#D97706" }),
|
|
14988
15192
|
color: "#D97706",
|
|
14989
15193
|
bgColor: "rgba(245, 158, 11, 0.08)",
|
|
14990
15194
|
borderColor: "rgba(245, 158, 11, 0.2)",
|
|
@@ -14994,7 +15198,7 @@ function MessageItemImpl({
|
|
|
14994
15198
|
}
|
|
14995
15199
|
);
|
|
14996
15200
|
default:
|
|
14997
|
-
return /* @__PURE__ */ (0,
|
|
15201
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14998
15202
|
ChatBubble,
|
|
14999
15203
|
{
|
|
15000
15204
|
message,
|
|
@@ -15007,14 +15211,14 @@ function MessageItemImpl({
|
|
|
15007
15211
|
);
|
|
15008
15212
|
}
|
|
15009
15213
|
}
|
|
15010
|
-
var MessageItem =
|
|
15214
|
+
var MessageItem = import_react18.default.memo(MessageItemImpl);
|
|
15011
15215
|
|
|
15012
15216
|
// src/RedactoPrivacyCenter/components/CaseDetails/MessageComposer.tsx
|
|
15013
|
-
var
|
|
15014
|
-
var
|
|
15015
|
-
var
|
|
15217
|
+
var import_react19 = require("react");
|
|
15218
|
+
var import_react_native26 = require("react-native");
|
|
15219
|
+
var import_react_i18next17 = require("react-i18next");
|
|
15016
15220
|
var import_react_native_svg16 = __toESM(require("react-native-svg"));
|
|
15017
|
-
var
|
|
15221
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
15018
15222
|
function MessageComposer({
|
|
15019
15223
|
messageText,
|
|
15020
15224
|
onMessageTextChange,
|
|
@@ -15025,15 +15229,15 @@ function MessageComposer({
|
|
|
15025
15229
|
isSending,
|
|
15026
15230
|
isUploading
|
|
15027
15231
|
}) {
|
|
15028
|
-
const { t } = (0,
|
|
15232
|
+
const { t } = (0, import_react_i18next17.useTranslation)();
|
|
15029
15233
|
const { colors } = useTheme();
|
|
15030
15234
|
const canSend = (messageText.trim().length > 0 || pendingUpload) && !isSending && !isUploading;
|
|
15031
|
-
const activate = (0,
|
|
15032
|
-
(0,
|
|
15033
|
-
|
|
15235
|
+
const activate = (0, import_react19.useRef)(new import_react_native26.Animated.Value(canSend ? 1 : 0)).current;
|
|
15236
|
+
(0, import_react19.useEffect)(() => {
|
|
15237
|
+
import_react_native26.Animated.timing(activate, {
|
|
15034
15238
|
toValue: canSend ? 1 : 0,
|
|
15035
15239
|
duration: 180,
|
|
15036
|
-
easing:
|
|
15240
|
+
easing: import_react_native26.Easing.out(import_react_native26.Easing.quad),
|
|
15037
15241
|
useNativeDriver: false
|
|
15038
15242
|
}).start();
|
|
15039
15243
|
}, [canSend, activate]);
|
|
@@ -15041,30 +15245,30 @@ function MessageComposer({
|
|
|
15041
15245
|
inputRange: [0, 1],
|
|
15042
15246
|
outputRange: [colors.border, colors.primary]
|
|
15043
15247
|
});
|
|
15044
|
-
const pressScale = (0,
|
|
15248
|
+
const pressScale = (0, import_react19.useRef)(new import_react_native26.Animated.Value(1)).current;
|
|
15045
15249
|
const handlePressIn = () => {
|
|
15046
|
-
|
|
15250
|
+
import_react_native26.Animated.spring(pressScale, { toValue: 0.88, useNativeDriver: true, speed: 30, bounciness: 0 }).start();
|
|
15047
15251
|
};
|
|
15048
15252
|
const handlePressOut = () => {
|
|
15049
|
-
|
|
15253
|
+
import_react_native26.Animated.spring(pressScale, { toValue: 1, useNativeDriver: true, speed: 20, bounciness: 6 }).start();
|
|
15050
15254
|
};
|
|
15051
|
-
const pillIn = (0,
|
|
15052
|
-
(0,
|
|
15053
|
-
|
|
15255
|
+
const pillIn = (0, import_react19.useRef)(new import_react_native26.Animated.Value(0)).current;
|
|
15256
|
+
(0, import_react19.useEffect)(() => {
|
|
15257
|
+
import_react_native26.Animated.timing(pillIn, {
|
|
15054
15258
|
toValue: pendingUpload ? 1 : 0,
|
|
15055
15259
|
duration: 220,
|
|
15056
|
-
easing:
|
|
15260
|
+
easing: import_react_native26.Easing.out(import_react_native26.Easing.cubic),
|
|
15057
15261
|
useNativeDriver: true
|
|
15058
15262
|
}).start();
|
|
15059
15263
|
}, [pendingUpload, pillIn]);
|
|
15060
15264
|
const pillOpacity = pillIn;
|
|
15061
15265
|
const pillTranslateY = pillIn.interpolate({ inputRange: [0, 1], outputRange: [8, 0] });
|
|
15062
|
-
return /* @__PURE__ */ (0,
|
|
15063
|
-
pendingUpload && /* @__PURE__ */ (0,
|
|
15064
|
-
|
|
15266
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_react_native26.View, { style: [styles24.container, { borderTopColor: colors.border, backgroundColor: colors.background }], children: [
|
|
15267
|
+
pendingUpload && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
15268
|
+
import_react_native26.Animated.View,
|
|
15065
15269
|
{
|
|
15066
15270
|
style: [
|
|
15067
|
-
|
|
15271
|
+
styles24.uploadPill,
|
|
15068
15272
|
{
|
|
15069
15273
|
backgroundColor: `${colors.primary}15`,
|
|
15070
15274
|
borderColor: `${colors.primary}30`,
|
|
@@ -15073,7 +15277,7 @@ function MessageComposer({
|
|
|
15073
15277
|
}
|
|
15074
15278
|
],
|
|
15075
15279
|
children: [
|
|
15076
|
-
/* @__PURE__ */ (0,
|
|
15280
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_native_svg16.default, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
15077
15281
|
import_react_native_svg16.Path,
|
|
15078
15282
|
{
|
|
15079
15283
|
d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z M14 2v6h6",
|
|
@@ -15083,13 +15287,13 @@ function MessageComposer({
|
|
|
15083
15287
|
strokeLinejoin: "round"
|
|
15084
15288
|
}
|
|
15085
15289
|
) }),
|
|
15086
|
-
/* @__PURE__ */ (0,
|
|
15290
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_react_native26.Text, { style: [styles24.uploadFileName, { color: colors.primary }], numberOfLines: 1, children: [
|
|
15087
15291
|
pendingUpload.file_name,
|
|
15088
15292
|
" (",
|
|
15089
15293
|
formatFileSize(pendingUpload.file_size),
|
|
15090
15294
|
")"
|
|
15091
15295
|
] }),
|
|
15092
|
-
/* @__PURE__ */ (0,
|
|
15296
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_native26.TouchableOpacity, { onPress: onRemovePendingUpload, hitSlop: { top: 8, bottom: 8, left: 8, right: 8 }, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_native_svg16.default, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
15093
15297
|
import_react_native_svg16.Path,
|
|
15094
15298
|
{
|
|
15095
15299
|
d: "M18 6L6 18M6 6l12 12",
|
|
@@ -15102,16 +15306,16 @@ function MessageComposer({
|
|
|
15102
15306
|
]
|
|
15103
15307
|
}
|
|
15104
15308
|
),
|
|
15105
|
-
/* @__PURE__ */ (0,
|
|
15106
|
-
/* @__PURE__ */ (0,
|
|
15107
|
-
|
|
15309
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_react_native26.View, { style: [styles24.pill, { backgroundColor: colors.surface, borderColor: colors.border }], children: [
|
|
15310
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
15311
|
+
import_react_native26.TouchableOpacity,
|
|
15108
15312
|
{
|
|
15109
|
-
style:
|
|
15313
|
+
style: styles24.attachButton,
|
|
15110
15314
|
onPress: onAttachClick,
|
|
15111
15315
|
disabled: isUploading,
|
|
15112
15316
|
activeOpacity: 0.6,
|
|
15113
15317
|
accessibilityLabel: t("uploadFile") || "Attach file",
|
|
15114
|
-
children: isUploading ? /* @__PURE__ */ (0,
|
|
15318
|
+
children: isUploading ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_native26.ActivityIndicator, { size: "small", color: colors.primary }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_native_svg16.default, { width: 18, height: 18, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
15115
15319
|
import_react_native_svg16.Path,
|
|
15116
15320
|
{
|
|
15117
15321
|
d: "M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48",
|
|
@@ -15123,10 +15327,10 @@ function MessageComposer({
|
|
|
15123
15327
|
) })
|
|
15124
15328
|
}
|
|
15125
15329
|
),
|
|
15126
|
-
/* @__PURE__ */ (0,
|
|
15127
|
-
|
|
15330
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
15331
|
+
import_react_native26.TextInput,
|
|
15128
15332
|
{
|
|
15129
|
-
style: [
|
|
15333
|
+
style: [styles24.input, { color: colors.text }],
|
|
15130
15334
|
value: messageText,
|
|
15131
15335
|
onChangeText: onMessageTextChange,
|
|
15132
15336
|
placeholder: t("writeMessagePlaceholder") || "Type a message...",
|
|
@@ -15136,8 +15340,8 @@ function MessageComposer({
|
|
|
15136
15340
|
editable: !isSending
|
|
15137
15341
|
}
|
|
15138
15342
|
),
|
|
15139
|
-
/* @__PURE__ */ (0,
|
|
15140
|
-
|
|
15343
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_native26.Animated.View, { style: { transform: [{ scale: pressScale }] }, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
15344
|
+
import_react_native26.TouchableOpacity,
|
|
15141
15345
|
{
|
|
15142
15346
|
onPress: onSend,
|
|
15143
15347
|
onPressIn: handlePressIn,
|
|
@@ -15145,7 +15349,7 @@ function MessageComposer({
|
|
|
15145
15349
|
disabled: !canSend,
|
|
15146
15350
|
activeOpacity: 0.85,
|
|
15147
15351
|
accessibilityLabel: t("send") || "Send",
|
|
15148
|
-
children: /* @__PURE__ */ (0,
|
|
15352
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_native26.Animated.View, { style: [styles24.sendButton, { backgroundColor: sendBgColor }], children: isSending ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_native26.ActivityIndicator, { size: "small", color: colors.primaryText }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_native_svg16.default, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
15149
15353
|
import_react_native_svg16.Path,
|
|
15150
15354
|
{
|
|
15151
15355
|
d: "M22 2L11 13 M22 2l-7 20-4-9-9-4 20-7z",
|
|
@@ -15160,7 +15364,7 @@ function MessageComposer({
|
|
|
15160
15364
|
] })
|
|
15161
15365
|
] });
|
|
15162
15366
|
}
|
|
15163
|
-
var
|
|
15367
|
+
var styles24 = import_react_native26.StyleSheet.create({
|
|
15164
15368
|
container: {
|
|
15165
15369
|
borderTopWidth: 1,
|
|
15166
15370
|
paddingHorizontal: 12,
|
|
@@ -15220,7 +15424,7 @@ var styles23 = import_react_native25.StyleSheet.create({
|
|
|
15220
15424
|
});
|
|
15221
15425
|
|
|
15222
15426
|
// src/RedactoPrivacyCenter/components/CaseDetails/MessagesTab.tsx
|
|
15223
|
-
var
|
|
15427
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
15224
15428
|
var STREAK_GAP_MS = 5 * 60 * 1e3;
|
|
15225
15429
|
function isStreakBoundary(a, b) {
|
|
15226
15430
|
if (!a || !b) return true;
|
|
@@ -15249,11 +15453,11 @@ function sameDay(a, b) {
|
|
|
15249
15453
|
return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
|
|
15250
15454
|
}
|
|
15251
15455
|
function MessagesTab({ caseUuid }) {
|
|
15252
|
-
const { t } = (0,
|
|
15456
|
+
const { t } = (0, import_react_i18next18.useTranslation)();
|
|
15253
15457
|
const { accessToken, refreshToken, email, organizationId, workspaceId, onError, updateTokens } = useAuth();
|
|
15254
15458
|
const { consentClient } = useBaseUrl();
|
|
15255
15459
|
const { colors } = useTheme();
|
|
15256
|
-
const authContext = (0,
|
|
15460
|
+
const authContext = (0, import_react20.useMemo)(() => ({
|
|
15257
15461
|
accessToken,
|
|
15258
15462
|
refreshToken,
|
|
15259
15463
|
onError,
|
|
@@ -15265,13 +15469,13 @@ function MessagesTab({ caseUuid }) {
|
|
|
15265
15469
|
caseUuid,
|
|
15266
15470
|
authContext
|
|
15267
15471
|
);
|
|
15268
|
-
const [messageText, setMessageText] = (0,
|
|
15269
|
-
const [pendingUpload, setPendingUpload] = (0,
|
|
15270
|
-
const [isSending, setIsSending] = (0,
|
|
15271
|
-
const [isUploading, setIsUploading] = (0,
|
|
15272
|
-
const [isSubmittingForRequest, setIsSubmittingForRequest] = (0,
|
|
15273
|
-
const flatListRef = (0,
|
|
15274
|
-
(0,
|
|
15472
|
+
const [messageText, setMessageText] = (0, import_react20.useState)("");
|
|
15473
|
+
const [pendingUpload, setPendingUpload] = (0, import_react20.useState)(null);
|
|
15474
|
+
const [isSending, setIsSending] = (0, import_react20.useState)(false);
|
|
15475
|
+
const [isUploading, setIsUploading] = (0, import_react20.useState)(false);
|
|
15476
|
+
const [isSubmittingForRequest, setIsSubmittingForRequest] = (0, import_react20.useState)(false);
|
|
15477
|
+
const flatListRef = (0, import_react20.useRef)(null);
|
|
15478
|
+
(0, import_react20.useEffect)(() => {
|
|
15275
15479
|
if (messages && messages.length > 0) {
|
|
15276
15480
|
setTimeout(() => {
|
|
15277
15481
|
var _a;
|
|
@@ -15279,7 +15483,7 @@ function MessagesTab({ caseUuid }) {
|
|
|
15279
15483
|
}, 100);
|
|
15280
15484
|
}
|
|
15281
15485
|
}, [messages == null ? void 0 : messages.length]);
|
|
15282
|
-
const handleSend = (0,
|
|
15486
|
+
const handleSend = (0, import_react20.useCallback)(async () => {
|
|
15283
15487
|
if (!messageText.trim() && !pendingUpload) return;
|
|
15284
15488
|
if (!organizationId || !workspaceId) return;
|
|
15285
15489
|
setIsSending(true);
|
|
@@ -15303,7 +15507,7 @@ function MessagesTab({ caseUuid }) {
|
|
|
15303
15507
|
setIsSending(false);
|
|
15304
15508
|
}
|
|
15305
15509
|
}, [messageText, pendingUpload, organizationId, workspaceId, caseUuid, authContext, consentClient, refetch]);
|
|
15306
|
-
const handleAttach = (0,
|
|
15510
|
+
const handleAttach = (0, import_react20.useCallback)(async () => {
|
|
15307
15511
|
if (!organizationId || !workspaceId) return;
|
|
15308
15512
|
try {
|
|
15309
15513
|
const file = await pickFile();
|
|
@@ -15336,10 +15540,10 @@ function MessagesTab({ caseUuid }) {
|
|
|
15336
15540
|
setIsUploading(false);
|
|
15337
15541
|
}
|
|
15338
15542
|
}, [organizationId, workspaceId, caseUuid, authContext, consentClient]);
|
|
15339
|
-
const handleUploadForRequest = (0,
|
|
15543
|
+
const handleUploadForRequest = (0, import_react20.useCallback)((_requestEventUuid) => {
|
|
15340
15544
|
handleAttach();
|
|
15341
15545
|
}, [handleAttach]);
|
|
15342
|
-
const messagesList = (0,
|
|
15546
|
+
const messagesList = (0, import_react20.useMemo)(() => {
|
|
15343
15547
|
const list = messages ? [...messages] : [];
|
|
15344
15548
|
list.sort((a, b) => {
|
|
15345
15549
|
const ta = new Date(a.created_at).getTime();
|
|
@@ -15348,17 +15552,17 @@ function MessagesTab({ caseUuid }) {
|
|
|
15348
15552
|
});
|
|
15349
15553
|
return list;
|
|
15350
15554
|
}, [messages]);
|
|
15351
|
-
const keyExtractor = (0,
|
|
15352
|
-
const renderMessage = (0,
|
|
15555
|
+
const keyExtractor = (0, import_react20.useCallback)((item) => item.uuid, []);
|
|
15556
|
+
const renderMessage = (0, import_react20.useCallback)(
|
|
15353
15557
|
({ item, index }) => {
|
|
15354
15558
|
const prev = index > 0 ? messagesList[index - 1] : void 0;
|
|
15355
15559
|
const next = index < messagesList.length - 1 ? messagesList[index + 1] : void 0;
|
|
15356
15560
|
const isFirstInGroup = isStreakBoundary(prev, item);
|
|
15357
15561
|
const isLastInGroup = isStreakBoundary(item, next);
|
|
15358
15562
|
const dateSeparator = getDateSeparator(prev == null ? void 0 : prev.created_at, item.created_at, t);
|
|
15359
|
-
return /* @__PURE__ */ (0,
|
|
15360
|
-
dateSeparator ? /* @__PURE__ */ (0,
|
|
15361
|
-
/* @__PURE__ */ (0,
|
|
15563
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
|
|
15564
|
+
dateSeparator ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_native27.View, { style: styles25.daySeparator, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_native27.View, { style: [styles25.dayPill, { backgroundColor: colors.surface, borderColor: colors.border }], children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_native27.Text, { style: [styles25.dayPillText, { color: colors.textSecondary }], children: dateSeparator }) }) }) : null,
|
|
15565
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
15362
15566
|
MessageItem,
|
|
15363
15567
|
{
|
|
15364
15568
|
message: item,
|
|
@@ -15373,20 +15577,20 @@ function MessagesTab({ caseUuid }) {
|
|
|
15373
15577
|
[messagesList, handleUploadForRequest, isSubmittingForRequest, colors, t]
|
|
15374
15578
|
);
|
|
15375
15579
|
if (isLoading) {
|
|
15376
|
-
return /* @__PURE__ */ (0,
|
|
15580
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_native27.View, { style: styles25.centered, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_native27.ActivityIndicator, { size: "large", color: colors.primary }) });
|
|
15377
15581
|
}
|
|
15378
15582
|
if (error) {
|
|
15379
|
-
return /* @__PURE__ */ (0,
|
|
15583
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_native27.View, { style: styles25.centered, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_native27.Text, { style: [styles25.errorText, { color: colors.error }], children: t("errorLoadingMessages") || "Error loading messages" }) });
|
|
15380
15584
|
}
|
|
15381
|
-
return /* @__PURE__ */ (0,
|
|
15382
|
-
|
|
15585
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
15586
|
+
import_react_native27.KeyboardAvoidingView,
|
|
15383
15587
|
{
|
|
15384
|
-
style:
|
|
15385
|
-
behavior:
|
|
15386
|
-
keyboardVerticalOffset:
|
|
15588
|
+
style: styles25.container,
|
|
15589
|
+
behavior: import_react_native27.Platform.OS === "ios" ? "padding" : "height",
|
|
15590
|
+
keyboardVerticalOffset: import_react_native27.Platform.OS === "ios" ? 100 : 0,
|
|
15387
15591
|
children: [
|
|
15388
|
-
/* @__PURE__ */ (0,
|
|
15389
|
-
/* @__PURE__ */ (0,
|
|
15592
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_react_native27.View, { style: styles25.secureRow, children: [
|
|
15593
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_native_svg17.default, { width: 12, height: 12, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
15390
15594
|
import_react_native_svg17.Path,
|
|
15391
15595
|
{
|
|
15392
15596
|
d: "M5 11h14a1 1 0 011 1v8a1 1 0 01-1 1H5a1 1 0 01-1-1v-8a1 1 0 011-1zM8 11V7a4 4 0 118 0v4",
|
|
@@ -15396,18 +15600,18 @@ function MessagesTab({ caseUuid }) {
|
|
|
15396
15600
|
strokeLinejoin: "round"
|
|
15397
15601
|
}
|
|
15398
15602
|
) }),
|
|
15399
|
-
/* @__PURE__ */ (0,
|
|
15603
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_native27.Text, { style: [styles25.secureText, { color: colors.textSecondary }], children: t("secureMessagesNotice") || "Messages are encrypted and securely transmitted" })
|
|
15400
15604
|
] }),
|
|
15401
|
-
/* @__PURE__ */ (0,
|
|
15402
|
-
|
|
15605
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
15606
|
+
import_react_native27.FlatList,
|
|
15403
15607
|
{
|
|
15404
15608
|
ref: flatListRef,
|
|
15405
15609
|
data: messagesList,
|
|
15406
15610
|
keyExtractor,
|
|
15407
15611
|
renderItem: renderMessage,
|
|
15408
|
-
contentContainerStyle:
|
|
15409
|
-
ListEmptyComponent: /* @__PURE__ */ (0,
|
|
15410
|
-
/* @__PURE__ */ (0,
|
|
15612
|
+
contentContainerStyle: styles25.messagesList,
|
|
15613
|
+
ListEmptyComponent: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_react_native27.View, { style: styles25.emptyContainer, children: [
|
|
15614
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_native27.View, { style: [styles25.emptyIconWrap, { backgroundColor: `${colors.primary}12` }], children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_native_svg17.default, { width: 28, height: 28, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
15411
15615
|
import_react_native_svg17.Path,
|
|
15412
15616
|
{
|
|
15413
15617
|
d: "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z",
|
|
@@ -15417,8 +15621,8 @@ function MessagesTab({ caseUuid }) {
|
|
|
15417
15621
|
strokeLinejoin: "round"
|
|
15418
15622
|
}
|
|
15419
15623
|
) }) }),
|
|
15420
|
-
/* @__PURE__ */ (0,
|
|
15421
|
-
/* @__PURE__ */ (0,
|
|
15624
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_native27.Text, { style: [styles25.emptyTitle, { color: colors.text }], children: t("noMessagesYet") || "No messages yet" }),
|
|
15625
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_native27.Text, { style: [styles25.emptySubtitle, { color: colors.textSecondary }], children: t("noMessagesYetSubtitle", "Start the conversation below") })
|
|
15422
15626
|
] }),
|
|
15423
15627
|
onContentSizeChange: () => {
|
|
15424
15628
|
var _a;
|
|
@@ -15430,7 +15634,7 @@ function MessagesTab({ caseUuid }) {
|
|
|
15430
15634
|
removeClippedSubviews: true
|
|
15431
15635
|
}
|
|
15432
15636
|
),
|
|
15433
|
-
/* @__PURE__ */ (0,
|
|
15637
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
15434
15638
|
MessageComposer,
|
|
15435
15639
|
{
|
|
15436
15640
|
messageText,
|
|
@@ -15447,7 +15651,7 @@ function MessagesTab({ caseUuid }) {
|
|
|
15447
15651
|
}
|
|
15448
15652
|
);
|
|
15449
15653
|
}
|
|
15450
|
-
var
|
|
15654
|
+
var styles25 = import_react_native27.StyleSheet.create({
|
|
15451
15655
|
container: {
|
|
15452
15656
|
flex: 1
|
|
15453
15657
|
},
|
|
@@ -15522,16 +15726,16 @@ var styles24 = import_react_native26.StyleSheet.create({
|
|
|
15522
15726
|
});
|
|
15523
15727
|
|
|
15524
15728
|
// src/RedactoPrivacyCenter/components/CaseDetails/CaseDetailsPage.tsx
|
|
15525
|
-
var
|
|
15729
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
15526
15730
|
function CaseDetailsPage() {
|
|
15527
15731
|
var _a, _b;
|
|
15528
|
-
const { t } = (0,
|
|
15732
|
+
const { t } = (0, import_react_i18next19.useTranslation)();
|
|
15529
15733
|
const { navigateTo, selectedCase, setSelectedCase, pendingCaseUuid } = useInternalNavigation();
|
|
15530
15734
|
const { accessToken, refreshToken, email, organizationId, workspaceId, onError, updateTokens } = useAuth();
|
|
15531
15735
|
const { colors } = useTheme();
|
|
15532
15736
|
const requestTypeLabels = useRequestTypeLabels();
|
|
15533
|
-
const [activeTab, setActiveTab] = (0,
|
|
15534
|
-
const authContext = (0,
|
|
15737
|
+
const [activeTab, setActiveTab] = (0, import_react21.useState)("request-details");
|
|
15738
|
+
const authContext = (0, import_react21.useMemo)(() => ({
|
|
15535
15739
|
accessToken,
|
|
15536
15740
|
refreshToken,
|
|
15537
15741
|
onError,
|
|
@@ -15544,7 +15748,7 @@ function CaseDetailsPage() {
|
|
|
15544
15748
|
email != null ? email : void 0,
|
|
15545
15749
|
authContext
|
|
15546
15750
|
);
|
|
15547
|
-
(0,
|
|
15751
|
+
(0, import_react21.useEffect)(() => {
|
|
15548
15752
|
if (!cases) return;
|
|
15549
15753
|
if (cases.length === 0) {
|
|
15550
15754
|
navigateTo("form");
|
|
@@ -15558,23 +15762,23 @@ function CaseDetailsPage() {
|
|
|
15558
15762
|
navigateTo("form");
|
|
15559
15763
|
}
|
|
15560
15764
|
}, [cases, targetUuid, setSelectedCase, navigateTo]);
|
|
15561
|
-
(0,
|
|
15765
|
+
(0, import_react21.useEffect)(() => {
|
|
15562
15766
|
if (!selectedCase && !targetUuid && !isLoading) {
|
|
15563
15767
|
navigateTo("form");
|
|
15564
15768
|
}
|
|
15565
15769
|
}, [selectedCase, targetUuid, isLoading, navigateTo]);
|
|
15566
15770
|
if (!selectedCase) {
|
|
15567
|
-
return /* @__PURE__ */ (0,
|
|
15771
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_native28.View, { style: styles26.centered, children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_native28.ActivityIndicator, { size: "large", color: colors.primary }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_native28.Text, { style: [styles26.emptyText, { color: colors.textSecondary }], children: t("noCasesYet") || "No case selected" }) });
|
|
15568
15772
|
}
|
|
15569
15773
|
const requestTypeLabel = requestTypeLabels[(_b = selectedCase.request_type) == null ? void 0 : _b.toUpperCase()] || selectedCase.request_type_display || formatCaseStatus(selectedCase.request_type || "");
|
|
15570
15774
|
const tabs = [
|
|
15571
15775
|
{ id: "request-details", label: t("requestDetails") || "Request Details" },
|
|
15572
15776
|
{ id: "messages", label: t("messages") || "Messages" }
|
|
15573
15777
|
];
|
|
15574
|
-
return /* @__PURE__ */ (0,
|
|
15575
|
-
/* @__PURE__ */ (0,
|
|
15576
|
-
/* @__PURE__ */ (0,
|
|
15577
|
-
/* @__PURE__ */ (0,
|
|
15778
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_react_native28.View, { style: [styles26.container, { backgroundColor: colors.background }], children: [
|
|
15779
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_react_native28.View, { style: [styles26.header, { borderBottomColor: colors.border }], children: [
|
|
15780
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_react_native28.TouchableOpacity, { style: styles26.backButton, onPress: () => navigateTo("form"), activeOpacity: 0.7, children: [
|
|
15781
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_native_svg18.default, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
15578
15782
|
import_react_native_svg18.Path,
|
|
15579
15783
|
{
|
|
15580
15784
|
d: "M19 12H5m0 0l7 7m-7-7l7-7",
|
|
@@ -15584,12 +15788,12 @@ function CaseDetailsPage() {
|
|
|
15584
15788
|
strokeLinejoin: "round"
|
|
15585
15789
|
}
|
|
15586
15790
|
) }),
|
|
15587
|
-
/* @__PURE__ */ (0,
|
|
15791
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_native28.Text, { style: [styles26.backText, { color: colors.primary }], children: t("backToHome") || "Back" })
|
|
15588
15792
|
] }),
|
|
15589
|
-
/* @__PURE__ */ (0,
|
|
15590
|
-
/* @__PURE__ */ (0,
|
|
15591
|
-
/* @__PURE__ */ (0,
|
|
15592
|
-
/* @__PURE__ */ (0,
|
|
15793
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_react_native28.View, { style: styles26.caseInfo, children: [
|
|
15794
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_react_native28.View, { style: styles26.caseIdRow, children: [
|
|
15795
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_native28.Text, { style: [styles26.caseId, { color: colors.text }], children: selectedCase.case_id }),
|
|
15796
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
15593
15797
|
PCBadge,
|
|
15594
15798
|
{
|
|
15595
15799
|
status: getCaseStatusVariant(selectedCase.status),
|
|
@@ -15597,7 +15801,7 @@ function CaseDetailsPage() {
|
|
|
15597
15801
|
}
|
|
15598
15802
|
)
|
|
15599
15803
|
] }),
|
|
15600
|
-
/* @__PURE__ */ (0,
|
|
15804
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_react_native28.Text, { style: [styles26.caseType, { color: colors.textSecondary }], children: [
|
|
15601
15805
|
requestTypeLabel,
|
|
15602
15806
|
" ",
|
|
15603
15807
|
"\xB7",
|
|
@@ -15608,39 +15812,39 @@ function CaseDetailsPage() {
|
|
|
15608
15812
|
] })
|
|
15609
15813
|
] })
|
|
15610
15814
|
] }),
|
|
15611
|
-
/* @__PURE__ */ (0,
|
|
15612
|
-
|
|
15815
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_native28.View, { style: [styles26.tabBar, { borderBottomColor: colors.border }], children: tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
15816
|
+
import_react_native28.TouchableOpacity,
|
|
15613
15817
|
{
|
|
15614
|
-
style: [
|
|
15818
|
+
style: [styles26.tab, activeTab === tab.id && styles26.tabActive],
|
|
15615
15819
|
onPress: () => setActiveTab(tab.id),
|
|
15616
15820
|
activeOpacity: 0.7,
|
|
15617
15821
|
children: [
|
|
15618
|
-
/* @__PURE__ */ (0,
|
|
15619
|
-
|
|
15822
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
15823
|
+
import_react_native28.Text,
|
|
15620
15824
|
{
|
|
15621
15825
|
style: [
|
|
15622
|
-
|
|
15826
|
+
styles26.tabText,
|
|
15623
15827
|
{ color: activeTab === tab.id ? colors.primary : colors.textSecondary },
|
|
15624
|
-
activeTab === tab.id &&
|
|
15828
|
+
activeTab === tab.id && styles26.tabTextActive
|
|
15625
15829
|
],
|
|
15626
15830
|
children: tab.label
|
|
15627
15831
|
}
|
|
15628
15832
|
),
|
|
15629
|
-
activeTab === tab.id && /* @__PURE__ */ (0,
|
|
15833
|
+
activeTab === tab.id && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_native28.View, { style: [styles26.tabIndicator, { backgroundColor: colors.primary }] })
|
|
15630
15834
|
]
|
|
15631
15835
|
},
|
|
15632
15836
|
tab.id
|
|
15633
15837
|
)) }),
|
|
15634
|
-
/* @__PURE__ */ (0,
|
|
15838
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_native28.View, { style: styles26.tabContent, children: activeTab === "request-details" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
15635
15839
|
RequestDetailsTab,
|
|
15636
15840
|
{
|
|
15637
15841
|
selectedCase,
|
|
15638
15842
|
requestTypeLabel
|
|
15639
15843
|
}
|
|
15640
|
-
) : /* @__PURE__ */ (0,
|
|
15844
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(MessagesTab, { caseUuid: selectedCase.uuid }) })
|
|
15641
15845
|
] });
|
|
15642
15846
|
}
|
|
15643
|
-
var
|
|
15847
|
+
var styles26 = import_react_native28.StyleSheet.create({
|
|
15644
15848
|
container: {
|
|
15645
15849
|
flex: 1
|
|
15646
15850
|
},
|
|
@@ -15714,21 +15918,23 @@ var styles25 = import_react_native27.StyleSheet.create({
|
|
|
15714
15918
|
});
|
|
15715
15919
|
|
|
15716
15920
|
// src/RedactoPrivacyCenter/RedactoPrivacyCenter.tsx
|
|
15717
|
-
var
|
|
15921
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
15922
|
+
var privacyCenterQueryClient = new import_react_query2.QueryClient();
|
|
15718
15923
|
function PrivacyCenterContent({ onBack }) {
|
|
15719
15924
|
const { currentPage } = useInternalNavigation();
|
|
15720
15925
|
const { colors } = useTheme();
|
|
15721
|
-
|
|
15722
|
-
|
|
15723
|
-
/* @__PURE__ */ (0,
|
|
15724
|
-
|
|
15725
|
-
currentPage === "
|
|
15726
|
-
currentPage === "
|
|
15727
|
-
currentPage === "
|
|
15728
|
-
currentPage === "
|
|
15729
|
-
|
|
15730
|
-
|
|
15731
|
-
/* @__PURE__ */ (0,
|
|
15926
|
+
const { status } = useDataAvailability();
|
|
15927
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_native29.View, { style: [styles27.container, { backgroundColor: colors.background }], children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_react_native29.View, { style: styles27.mainColumn, children: [
|
|
15928
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Navbar, { onBack }),
|
|
15929
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_native29.View, { style: styles27.content, children: status === "checking" ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PCLoader, {}) : status === "empty" ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PrivacyCenterEmptyState, {}) : /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
|
|
15930
|
+
currentPage === "consent-manager" && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ConsentManager, {}),
|
|
15931
|
+
currentPage === "form" && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(FormPage, {}),
|
|
15932
|
+
currentPage === "activity" && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ActivitiesList, {}),
|
|
15933
|
+
currentPage === "receipts" && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ReceiptsList, {}),
|
|
15934
|
+
currentPage === "case-details" && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CaseDetailsPage, {})
|
|
15935
|
+
] }) }),
|
|
15936
|
+
status === "has-data" && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(BottomTabBar, {}),
|
|
15937
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Footer, {})
|
|
15732
15938
|
] }) });
|
|
15733
15939
|
}
|
|
15734
15940
|
function RedactoPrivacyCenter({
|
|
@@ -15741,17 +15947,17 @@ function RedactoPrivacyCenter({
|
|
|
15741
15947
|
initialPage = "consent-manager",
|
|
15742
15948
|
onBack
|
|
15743
15949
|
}) {
|
|
15744
|
-
return /* @__PURE__ */ (0,
|
|
15950
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_query2.QueryClientProvider, { client: privacyCenterQueryClient, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_i18next20.I18nextProvider, { i18n: i18n_default, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ThemeProvider, { defaultTheme: theme, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(BaseUrlProvider, { baseUrl, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
15745
15951
|
AuthProvider,
|
|
15746
15952
|
{
|
|
15747
15953
|
accessToken,
|
|
15748
15954
|
refreshToken,
|
|
15749
15955
|
onError,
|
|
15750
|
-
children: /* @__PURE__ */ (0,
|
|
15956
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(NavigationProvider, { initialPage, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DataAvailabilityProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PrivacyCenterContent, { onBack }) }) })
|
|
15751
15957
|
}
|
|
15752
|
-
) }) }) });
|
|
15958
|
+
) }) }) }) });
|
|
15753
15959
|
}
|
|
15754
|
-
var
|
|
15960
|
+
var styles27 = import_react_native29.StyleSheet.create({
|
|
15755
15961
|
container: {
|
|
15756
15962
|
flex: 1
|
|
15757
15963
|
},
|
|
@@ -15765,11 +15971,11 @@ var styles26 = import_react_native28.StyleSheet.create({
|
|
|
15765
15971
|
});
|
|
15766
15972
|
|
|
15767
15973
|
// src/RedactoPrivacyCenter/components/SideMenu.tsx
|
|
15768
|
-
var
|
|
15769
|
-
var
|
|
15974
|
+
var import_react_native30 = require("react-native");
|
|
15975
|
+
var import_react_i18next21 = require("react-i18next");
|
|
15770
15976
|
var import_react_native_svg19 = __toESM(require("react-native-svg"));
|
|
15771
|
-
var
|
|
15772
|
-
var ConsentIcon = ({ color, size = 18 }) => /* @__PURE__ */ (0,
|
|
15977
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
15978
|
+
var ConsentIcon = ({ color, size = 18 }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native_svg19.default, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
15773
15979
|
import_react_native_svg19.Path,
|
|
15774
15980
|
{
|
|
15775
15981
|
d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",
|
|
@@ -15779,7 +15985,7 @@ var ConsentIcon = ({ color, size = 18 }) => /* @__PURE__ */ (0, import_jsx_runti
|
|
|
15779
15985
|
strokeLinejoin: "round"
|
|
15780
15986
|
}
|
|
15781
15987
|
) });
|
|
15782
|
-
var FormIcon = ({ color, size = 18 }) => /* @__PURE__ */ (0,
|
|
15988
|
+
var FormIcon = ({ color, size = 18 }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native_svg19.default, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
15783
15989
|
import_react_native_svg19.Path,
|
|
15784
15990
|
{
|
|
15785
15991
|
d: "M9 4h6a2 2 0 012 2v14a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2z M9 4V2h6v2 M9 12h6 M9 16h6",
|
|
@@ -15789,7 +15995,7 @@ var FormIcon = ({ color, size = 18 }) => /* @__PURE__ */ (0, import_jsx_runtime3
|
|
|
15789
15995
|
strokeLinejoin: "round"
|
|
15790
15996
|
}
|
|
15791
15997
|
) });
|
|
15792
|
-
var ActivityIcon = ({ color, size = 18 }) => /* @__PURE__ */ (0,
|
|
15998
|
+
var ActivityIcon = ({ color, size = 18 }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native_svg19.default, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
15793
15999
|
import_react_native_svg19.Path,
|
|
15794
16000
|
{
|
|
15795
16001
|
d: "M12 2a10 10 0 100 20 10 10 0 000-20z M12 6v6l4 2",
|
|
@@ -15805,64 +16011,64 @@ var MENU_ITEMS = [
|
|
|
15805
16011
|
{ page: "activity", labelKey: "activities", fallback: "Activities", icon: ActivityIcon }
|
|
15806
16012
|
];
|
|
15807
16013
|
function SideMenu({ onBack } = {}) {
|
|
15808
|
-
const { t } = (0,
|
|
16014
|
+
const { t } = (0, import_react_i18next21.useTranslation)();
|
|
15809
16015
|
const { currentPage, navigateTo } = useInternalNavigation();
|
|
15810
16016
|
const { organizationName, email } = useAuth();
|
|
15811
16017
|
const { colors } = useTheme();
|
|
15812
16018
|
const orgInitial = organizationName ? organizationName.charAt(0).toUpperCase() : "R";
|
|
15813
16019
|
const displayName = organizationName || "Organization";
|
|
15814
|
-
return /* @__PURE__ */ (0,
|
|
15815
|
-
/* @__PURE__ */ (0,
|
|
15816
|
-
/* @__PURE__ */ (0,
|
|
15817
|
-
/* @__PURE__ */ (0,
|
|
15818
|
-
/* @__PURE__ */ (0,
|
|
15819
|
-
email ? /* @__PURE__ */ (0,
|
|
16020
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_native30.View, { style: [styles28.container, { backgroundColor: colors.surface }], children: [
|
|
16021
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_native30.View, { style: styles28.orgSection, children: [
|
|
16022
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native30.View, { style: [styles28.avatar, { backgroundColor: colors.primary }], children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native30.Text, { style: [styles28.avatarText, { color: colors.primaryText }], children: orgInitial }) }),
|
|
16023
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_native30.View, { style: styles28.orgInfo, children: [
|
|
16024
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native30.Text, { style: [styles28.orgName, { color: colors.text }], numberOfLines: 1, children: displayName }),
|
|
16025
|
+
email ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native30.Text, { style: [styles28.orgEmail, { color: colors.textSecondary }], numberOfLines: 1, children: email }) : null
|
|
15820
16026
|
] })
|
|
15821
16027
|
] }),
|
|
15822
|
-
/* @__PURE__ */ (0,
|
|
15823
|
-
/* @__PURE__ */ (0,
|
|
16028
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native30.View, { style: [styles28.divider, { backgroundColor: colors.border }] }),
|
|
16029
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native30.View, { style: styles28.menuSection, children: MENU_ITEMS.map((item) => {
|
|
15824
16030
|
const isActive = currentPage === item.page || item.page === "form" && currentPage === "case-details";
|
|
15825
|
-
return /* @__PURE__ */ (0,
|
|
15826
|
-
|
|
16031
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
16032
|
+
import_react_native30.TouchableOpacity,
|
|
15827
16033
|
{
|
|
15828
16034
|
style: [
|
|
15829
|
-
|
|
15830
|
-
isActive && [
|
|
16035
|
+
styles28.menuItem,
|
|
16036
|
+
isActive && [styles28.menuItemActive, { backgroundColor: `${colors.primary}14` }]
|
|
15831
16037
|
],
|
|
15832
16038
|
onPress: () => navigateTo(item.page),
|
|
15833
16039
|
activeOpacity: 0.7,
|
|
15834
16040
|
accessibilityRole: "button",
|
|
15835
16041
|
accessibilityState: { selected: isActive },
|
|
15836
16042
|
children: [
|
|
15837
|
-
/* @__PURE__ */ (0,
|
|
15838
|
-
/* @__PURE__ */ (0,
|
|
15839
|
-
|
|
16043
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native30.View, { style: styles28.menuIconWrap, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(item.icon, { color: isActive ? colors.primary : colors.textSecondary }) }),
|
|
16044
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
16045
|
+
import_react_native30.Text,
|
|
15840
16046
|
{
|
|
15841
16047
|
style: [
|
|
15842
|
-
|
|
16048
|
+
styles28.menuLabel,
|
|
15843
16049
|
{ color: isActive ? colors.primary : colors.text },
|
|
15844
|
-
isActive &&
|
|
16050
|
+
isActive && styles28.menuLabelActive
|
|
15845
16051
|
],
|
|
15846
16052
|
children: t(item.labelKey) || item.fallback
|
|
15847
16053
|
}
|
|
15848
16054
|
),
|
|
15849
|
-
isActive ? /* @__PURE__ */ (0,
|
|
16055
|
+
isActive ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native30.View, { style: [styles28.activeIndicator, { backgroundColor: colors.primary }] }) : null
|
|
15850
16056
|
]
|
|
15851
16057
|
},
|
|
15852
16058
|
item.page
|
|
15853
16059
|
);
|
|
15854
16060
|
}) }),
|
|
15855
|
-
onBack ? /* @__PURE__ */ (0,
|
|
15856
|
-
/* @__PURE__ */ (0,
|
|
15857
|
-
/* @__PURE__ */ (0,
|
|
15858
|
-
/* @__PURE__ */ (0,
|
|
15859
|
-
|
|
16061
|
+
onBack ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
|
16062
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native30.View, { style: { flex: 1 } }),
|
|
16063
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native30.View, { style: [styles28.divider, { backgroundColor: colors.border }] }),
|
|
16064
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
16065
|
+
import_react_native30.TouchableOpacity,
|
|
15860
16066
|
{
|
|
15861
|
-
style:
|
|
16067
|
+
style: styles28.backBtn,
|
|
15862
16068
|
onPress: () => navigateBack(onBack),
|
|
15863
16069
|
activeOpacity: 0.7,
|
|
15864
16070
|
children: [
|
|
15865
|
-
/* @__PURE__ */ (0,
|
|
16071
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native_svg19.default, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: onBack === "back" ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
15866
16072
|
import_react_native_svg19.Path,
|
|
15867
16073
|
{
|
|
15868
16074
|
d: "M19 12H5m0 0l7 7m-7-7l7-7",
|
|
@@ -15871,7 +16077,7 @@ function SideMenu({ onBack } = {}) {
|
|
|
15871
16077
|
strokeLinecap: "round",
|
|
15872
16078
|
strokeLinejoin: "round"
|
|
15873
16079
|
}
|
|
15874
|
-
) : /* @__PURE__ */ (0,
|
|
16080
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
15875
16081
|
import_react_native_svg19.Path,
|
|
15876
16082
|
{
|
|
15877
16083
|
d: "M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4 M16 17l5-5-5-5 M21 12H9",
|
|
@@ -15881,14 +16087,14 @@ function SideMenu({ onBack } = {}) {
|
|
|
15881
16087
|
strokeLinejoin: "round"
|
|
15882
16088
|
}
|
|
15883
16089
|
) }),
|
|
15884
|
-
/* @__PURE__ */ (0,
|
|
16090
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native30.Text, { style: [styles28.backBtnLabel, { color: colors.textSecondary }], children: onBack === "back" ? t("back") || "Back" : t("signOut") || "Sign Out" })
|
|
15885
16091
|
]
|
|
15886
16092
|
}
|
|
15887
16093
|
)
|
|
15888
16094
|
] }) : null
|
|
15889
16095
|
] });
|
|
15890
16096
|
}
|
|
15891
|
-
var
|
|
16097
|
+
var styles28 = import_react_native30.StyleSheet.create({
|
|
15892
16098
|
container: {
|
|
15893
16099
|
flex: 1,
|
|
15894
16100
|
paddingTop: 12
|
|
@@ -15972,34 +16178,6 @@ var styles27 = import_react_native29.StyleSheet.create({
|
|
|
15972
16178
|
fontWeight: "500"
|
|
15973
16179
|
}
|
|
15974
16180
|
});
|
|
15975
|
-
|
|
15976
|
-
// src/RedactoPrivacyCenter/ui/PCLoader.tsx
|
|
15977
|
-
var import_react_native30 = require("react-native");
|
|
15978
|
-
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
15979
|
-
var PCLoader = ({
|
|
15980
|
-
size = "large",
|
|
15981
|
-
color = "#4f87ff",
|
|
15982
|
-
text
|
|
15983
|
-
}) => {
|
|
15984
|
-
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_react_native30.View, { style: styles28.container, children: [
|
|
15985
|
-
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_native30.ActivityIndicator, { size, color }),
|
|
15986
|
-
text ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_native30.Text, { style: styles28.text, children: text }) : null
|
|
15987
|
-
] });
|
|
15988
|
-
};
|
|
15989
|
-
var styles28 = import_react_native30.StyleSheet.create({
|
|
15990
|
-
container: {
|
|
15991
|
-
flex: 1,
|
|
15992
|
-
alignItems: "center",
|
|
15993
|
-
justifyContent: "center",
|
|
15994
|
-
padding: 24
|
|
15995
|
-
},
|
|
15996
|
-
text: {
|
|
15997
|
-
marginTop: 12,
|
|
15998
|
-
fontSize: 14,
|
|
15999
|
-
color: "#667085",
|
|
16000
|
-
textAlign: "center"
|
|
16001
|
-
}
|
|
16002
|
-
});
|
|
16003
16181
|
// Annotate the CommonJS export names for ESM import in node:
|
|
16004
16182
|
0 && (module.exports = {
|
|
16005
16183
|
ActivitiesList,
|