@redacto.io/consent-sdk-react-native 5.0.0-beta.7 → 5.0.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +6 -3
- package/dist/index.mjs +6 -3
- package/dist/privacy-center.d.mts +35 -0
- package/dist/privacy-center.d.ts +35 -0
- package/dist/privacy-center.js +1080 -536
- package/dist/privacy-center.mjs +1051 -507
- package/package.json +1 -1
package/dist/privacy-center.mjs
CHANGED
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
} from "./chunk-B2TXWC2C.mjs";
|
|
6
6
|
|
|
7
7
|
// src/RedactoPrivacyCenter/RedactoPrivacyCenter.tsx
|
|
8
|
-
import { useEffect as
|
|
8
|
+
import { useEffect as useEffect21 } from "react";
|
|
9
9
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
10
10
|
import { I18nextProvider } from "react-i18next";
|
|
11
|
-
import { View as
|
|
11
|
+
import { View as View52, StyleSheet as StyleSheet55, StatusBar as StatusBar2, Platform as Platform8 } from "react-native";
|
|
12
12
|
|
|
13
13
|
// src/RedactoPrivacyCenter/lib/i18n.ts
|
|
14
14
|
import i18n from "i18next";
|
|
@@ -425,7 +425,14 @@ var translation_default = {
|
|
|
425
425
|
submittingAs: "Submitting as {{email}}",
|
|
426
426
|
tapToChooseFile: "Tap to choose a file",
|
|
427
427
|
view: "View",
|
|
428
|
-
whatDoYouNeed: "What do you need?"
|
|
428
|
+
whatDoYouNeed: "What do you need?",
|
|
429
|
+
sessionExpiredTitle: "Your session has expired",
|
|
430
|
+
sessionExpiredDescription: "Please sign in again to continue.",
|
|
431
|
+
chooseYourProfile: "Choose your profile",
|
|
432
|
+
loginIdentifierLinkedToMultipleProfiles: "The login identifier is linked to more than one profile. Choose the one you want to view.",
|
|
433
|
+
userIdLabel: "User ID: {{id}}",
|
|
434
|
+
signingInEllipsis: "Signing in\u2026",
|
|
435
|
+
switchProfile: "Switch profile"
|
|
429
436
|
};
|
|
430
437
|
|
|
431
438
|
// src/RedactoPrivacyCenter/locales/as/translation.json
|
|
@@ -839,7 +846,14 @@ var translation_default2 = {
|
|
|
839
846
|
submittingAs: "{{email}} \u09B9\u09BF\u099A\u09BE\u09AA\u09C7 \u09A6\u09BE\u0996\u09BF\u09B2 \u0995\u09F0\u09BF \u0986\u099B\u09C7",
|
|
840
847
|
tapToChooseFile: "\u09AB\u09BE\u0987\u09B2 \u09AC\u09BE\u099B\u09BF\u09AC\u09B2\u09C8 \u099F\u09BF\u09AA\u0995",
|
|
841
848
|
view: "\u099A\u09BE\u0993\u0995",
|
|
842
|
-
whatDoYouNeed: "\u0986\u09AA\u09CB\u09A8\u09BE\u0995 \u0995\u09BF \u09B2\u09BE\u0997\u09C7?"
|
|
849
|
+
whatDoYouNeed: "\u0986\u09AA\u09CB\u09A8\u09BE\u0995 \u0995\u09BF \u09B2\u09BE\u0997\u09C7?",
|
|
850
|
+
sessionExpiredTitle: "\u0986\u09AA\u09CB\u09A8\u09BE\u09F0 \u099B\u09C7\u099A\u09A8 \u09B6\u09C7\u09B7 \u09B9\u09C8\u099B\u09C7",
|
|
851
|
+
sessionExpiredDescription: "\u0985\u09AC\u09CD\u09AF\u09BE\u09B9\u09A4 \u09F0\u09BE\u0996\u09BF\u09AC\u09B2\u09C8 \u0985\u09A8\u09C1\u0997\u09CD\u09F0\u09B9 \u0995\u09F0\u09BF \u09AA\u09C1\u09A8\u09F0 \u099B\u09BE\u0987\u09A8 \u0987\u09A8 \u0995\u09F0\u0995\u0964",
|
|
852
|
+
chooseYourProfile: "\u0986\u09AA\u09CB\u09A8\u09BE\u09F0 \u09AA\u09CD\u09F0'\u09AB\u09BE\u0987\u09B2 \u09AC\u09BE\u099B\u09A8\u09BF \u0995\u09F0\u0995",
|
|
853
|
+
loginIdentifierLinkedToMultipleProfiles: "\u09B2\u0997\u0987\u09A8 \u0986\u0987\u09A1\u09BF \u098F\u0995\u09BE\u09A7\u09BF\u0995 \u09AA\u09CD\u09F0'\u09AB\u09BE\u0987\u09B2\u09F0 \u09B8\u09C8\u09A4\u09C7 \u09B8\u0982\u09AF\u09C1\u0995\u09CD\u09A4\u0964 \u0986\u09AA\u09C1\u09A8\u09BF \u099A\u09BE\u09AC \u09AC\u09BF\u099A\u09F0\u09BE\u099F\u09CB \u09AC\u09BE\u099B\u09A8\u09BF \u0995\u09F0\u0995\u0964",
|
|
854
|
+
userIdLabel: "\u09AC\u09CD\u09AF\u09F1\u09B9\u09BE\u09F0\u0995\u09BE\u09F0\u09C0 \u0986\u0987\u09A1\u09BF: {{id}}",
|
|
855
|
+
signingInEllipsis: "\u099B\u09BE\u0987\u09A8 \u0987\u09A8 \u09B9\u09C8 \u0986\u099B\u09C7\u2026",
|
|
856
|
+
switchProfile: "\u09AA\u09CD\u09F0'\u09AB\u09BE\u0987\u09B2 \u09B8\u09B2\u09A8\u09BF \u0995\u09F0\u0995"
|
|
843
857
|
};
|
|
844
858
|
|
|
845
859
|
// src/RedactoPrivacyCenter/locales/bn/translation.json
|
|
@@ -1253,7 +1267,14 @@ var translation_default3 = {
|
|
|
1253
1267
|
submittingAs: "{{email}} \u09B9\u09BF\u09B8\u09BE\u09AC\u09C7 \u099C\u09AE\u09BE \u09A6\u09C7\u0993\u09AF\u09BC\u09BE \u09B9\u099A\u09CD\u099B\u09C7",
|
|
1254
1268
|
tapToChooseFile: "\u09AB\u09BE\u0987\u09B2 \u09AC\u09C7\u099B\u09C7 \u09A8\u09BF\u09A4\u09C7 \u099F\u09CD\u09AF\u09BE\u09AA \u0995\u09B0\u09C1\u09A8",
|
|
1255
1269
|
view: "\u09A6\u09C7\u0996\u09C1\u09A8",
|
|
1256
|
-
whatDoYouNeed: "\u0986\u09AA\u09A8\u09BE\u09B0 \u0995\u09C0 \u09AA\u09CD\u09B0\u09AF\u09BC\u09CB\u099C\u09A8?"
|
|
1270
|
+
whatDoYouNeed: "\u0986\u09AA\u09A8\u09BE\u09B0 \u0995\u09C0 \u09AA\u09CD\u09B0\u09AF\u09BC\u09CB\u099C\u09A8?",
|
|
1271
|
+
sessionExpiredTitle: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09B8\u09C7\u09B6\u09A8 \u09AE\u09C7\u09AF\u09BC\u09BE\u09A6 \u09B6\u09C7\u09B7 \u09B9\u09AF\u09BC\u09C7 \u0997\u09C7\u099B\u09C7",
|
|
1272
|
+
sessionExpiredDescription: "\u099A\u09BE\u09B2\u09BF\u09AF\u09BC\u09C7 \u09AF\u09C7\u09A4\u09C7 \u0985\u09A8\u09C1\u0997\u09CD\u09B0\u09B9 \u0995\u09B0\u09C7 \u0986\u09AC\u09BE\u09B0 \u09B8\u09BE\u0987\u09A8 \u0987\u09A8 \u0995\u09B0\u09C1\u09A8\u0964",
|
|
1273
|
+
chooseYourProfile: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09AA\u09CD\u09B0\u09CB\u09AB\u09BE\u0987\u09B2 \u09AC\u09C7\u099B\u09C7 \u09A8\u09BF\u09A8",
|
|
1274
|
+
loginIdentifierLinkedToMultipleProfiles: "\u09B2\u0997\u0987\u09A8 \u0986\u0987\u09A1\u09BF \u098F\u0995\u09BE\u09A7\u09BF\u0995 \u09AA\u09CD\u09B0\u09CB\u09AB\u09BE\u0987\u09B2\u09C7\u09B0 \u09B8\u09BE\u09A5\u09C7 \u09AF\u09C1\u0995\u09CD\u09A4\u0964 \u0986\u09AA\u09A8\u09BF \u09AF\u09C7\u099F\u09BF \u09A6\u09C7\u0996\u09A4\u09C7 \u099A\u09BE\u09A8 \u09B8\u09C7\u099F\u09BF \u09AC\u09C7\u099B\u09C7 \u09A8\u09BF\u09A8\u0964",
|
|
1275
|
+
userIdLabel: "\u09AC\u09CD\u09AF\u09AC\u09B9\u09BE\u09B0\u0995\u09BE\u09B0\u09C0\u09B0 \u0986\u0987\u09A1\u09BF: {{id}}",
|
|
1276
|
+
signingInEllipsis: "\u09B8\u09BE\u0987\u09A8 \u0987\u09A8 \u09B9\u099A\u09CD\u099B\u09C7\u2026",
|
|
1277
|
+
switchProfile: "\u09AA\u09CD\u09B0\u09CB\u09AB\u09BE\u0987\u09B2 \u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09A8 \u0995\u09B0\u09C1\u09A8"
|
|
1257
1278
|
};
|
|
1258
1279
|
|
|
1259
1280
|
// src/RedactoPrivacyCenter/locales/brx/translation.json
|
|
@@ -1667,7 +1688,14 @@ var translation_default4 = {
|
|
|
1667
1688
|
submittingAs: "{{email}} \u092E\u0939\u0930\u0948 \u0917\u0925\u093E\u092F\u0917\u093E\u0938\u093F\u0928\u094B",
|
|
1668
1689
|
tapToChooseFile: "\u092B\u093E\u0907\u0932 \u0938\u093E\u092F\u0916\u0928\u094B \u091F\u0947\u092C \u0916\u093E\u0932\u093E\u092E",
|
|
1669
1690
|
view: "\u0928\u093E\u092F",
|
|
1670
|
-
whatDoYouNeed: "\u0928\u094B\u0902\u0925\u093E\u0902\u0928\u094B \u092E\u093E \u0917\u094B\u0928\u093E\u0902?"
|
|
1691
|
+
whatDoYouNeed: "\u0928\u094B\u0902\u0925\u093E\u0902\u0928\u094B \u092E\u093E \u0917\u094B\u0928\u093E\u0902?",
|
|
1692
|
+
sessionExpiredTitle: "\u0928\u094B\u0902\u0925\u093E\u0902\u0928\u093F \u0938\u0947\u0938\u0928 \u091C\u094B\u092C\u092C\u093E\u092F",
|
|
1693
|
+
sessionExpiredDescription: "\u0938\u093E\u0932\u093E\u092F\u0928\u094B \u0925\u093E\u0916\u093E\u092F \u0905\u0928\u0928\u093E\u0928\u0948 \u092B\u093F\u0928 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0916\u093E\u0932\u093E\u092E\u0964",
|
|
1694
|
+
chooseYourProfile: "\u0928\u094B\u0902\u0925\u093E\u0902\u0928\u093F \u092A\u094D\u0930\u092B\u093E\u0907\u0932 \u0938\u093E\u092F\u0916",
|
|
1695
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0932\u0949\u0917\u093F\u0928 \u0906\u0908\u0921\u0940 \u092E\u094B\u0928\u0938\u0947\u0928\u093F\u0916\u094D\u0930\u0941\u0907 \u092C\u093E\u0902\u0938\u093F\u0928 \u092A\u094D\u0930\u092B\u093E\u0907\u0932\u091C\u094B\u0902 \u0928\u093E\u0902\u091C\u093E\u092C \u0926\u0902\u0964 \u0928\u094B\u0902\u0925\u093E\u0919\u093E \u0928\u093E\u092F\u0928\u094B \u0932\u0941\u092C\u0948\u092F\u094B\u092C\u094D\u0932\u093E \u092C\u0947\u0916\u094C \u0938\u093E\u092F\u0916\u0964",
|
|
1696
|
+
userIdLabel: "\u092F\u0942\u091C\u0930 \u0906\u0908\u0921\u0940: {{id}}",
|
|
1697
|
+
signingInEllipsis: "\u0938\u093E\u0907\u0928 \u0907\u0928 \u091C\u093E\u092F\u0917\u093E\u0938\u093F\u0928\u094B \u0926\u0902\u2026",
|
|
1698
|
+
switchProfile: "\u092A\u094D\u0930\u094B\u092B\u093E\u0907\u0932 \u0938\u094B\u0932\u093E\u092F"
|
|
1671
1699
|
};
|
|
1672
1700
|
|
|
1673
1701
|
// src/RedactoPrivacyCenter/locales/doi/translation.json
|
|
@@ -2081,7 +2109,14 @@ var translation_default5 = {
|
|
|
2081
2109
|
submittingAs: "{{email}} \u0926\u0947 \u0930\u0942\u092A \u091A \u091C\u092E\u093E\u0902 \u0915\u0930\u0926\u0947",
|
|
2082
2110
|
tapToChooseFile: "\u092B\u093E\u0907\u0932 \u091A\u0941\u0928\u0928\u0947 \u0906\u0938\u094D\u0924\u0948 \u091F\u0948\u092A \u0915\u0930\u094B",
|
|
2083
2111
|
view: "\u0926\u093F\u0915\u094D\u0916\u094B",
|
|
2084
|
-
whatDoYouNeed: "\u0924\u0941\u0938\u0947\u0902 \u0915\u0947\u0939\u094D \u091A\u093E\u0939\u093F\u0926\u093E?"
|
|
2112
|
+
whatDoYouNeed: "\u0924\u0941\u0938\u0947\u0902 \u0915\u0947\u0939\u094D \u091A\u093E\u0939\u093F\u0926\u093E?",
|
|
2113
|
+
sessionExpiredTitle: "\u0924\u0941\u0902\u0926\u093E \u0938\u0924\u094D\u0930 \u0916\u0924\u092E \u0939\u094B\u0908 \u0917\u0947\u0906 \u0910",
|
|
2114
|
+
sessionExpiredDescription: "\u091C\u093E\u0930\u0940 \u0930\u0915\u094D\u0916\u0928\u0947 \u0906\u0938\u094D\u0924\u0948 \u0915\u0943\u092A\u093E \u0915\u0930\u093F\u092F\u0948 \u092B\u093F\u0930\u0940 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u094B\u0964",
|
|
2115
|
+
chooseYourProfile: "\u0905\u092A\u0928\u0940 \u092A\u094D\u0930\u094B\u092B\u093E\u0907\u0932 \u091A\u0941\u0928\u094B",
|
|
2116
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0932\u0949\u0917\u093F\u0928 \u0906\u0908\u0921\u0940 \u0907\u0915 \u0915\u094B\u0932\u093E \u092E\u0924\u093E \u092A\u094D\u0930\u094B\u092B\u093E\u0907\u0932\u0947\u0902 \u0915\u0928\u094D\u0928\u0948 \u091C\u0941\u0921\u093C\u094D\u092F\u093E \u0926\u093E \u0910\u0964 \u091C\u0947\u0939\u094D\u0921\u093C\u0940 \u0924\u0941\u0938\u0947\u0902 \u0926\u093F\u0915\u094D\u0916\u0928\u0940 \u0910 \u0913\u0939\u094D \u091A\u0941\u0928\u094B\u0964",
|
|
2117
|
+
userIdLabel: "\u092A\u094D\u0930\u092F\u094B\u0917\u0915\u0930\u094D\u0924\u093E \u0906\u0908\u0921\u0940: {{id}}",
|
|
2118
|
+
signingInEllipsis: "\u0938\u093E\u0907\u0928 \u0907\u0928 \u0939\u094B\u0906 \u0915\u0930\u0926\u093E \u0910\u2026",
|
|
2119
|
+
switchProfile: "\u092A\u094D\u0930\u094B\u092B\u093E\u0907\u0932 \u092C\u0926\u0932\u094B"
|
|
2085
2120
|
};
|
|
2086
2121
|
|
|
2087
2122
|
// src/RedactoPrivacyCenter/locales/gom/translation.json
|
|
@@ -2495,7 +2530,14 @@ var translation_default6 = {
|
|
|
2495
2530
|
submittingAs: "{{email}} \u092E\u094D\u0939\u0942\u0923 \u0938\u093E\u0926\u0930 \u0915\u0930\u0924\u093E",
|
|
2496
2531
|
tapToChooseFile: "\u092B\u093E\u092F\u0932 \u0928\u093F\u0935\u0921\u092A\u093E\u0915 \u091F\u0945\u092A \u0915\u0930\u093E\u0924",
|
|
2497
2532
|
view: "\u092A\u0933\u092F\u093E\u0924",
|
|
2498
|
-
whatDoYouNeed: "\u0924\u0941\u092E\u0915\u093E\u0902 \u0915\u093F\u0924\u0947\u0902 \u091C\u093E\u092F?"
|
|
2533
|
+
whatDoYouNeed: "\u0924\u0941\u092E\u0915\u093E\u0902 \u0915\u093F\u0924\u0947\u0902 \u091C\u093E\u092F?",
|
|
2534
|
+
sessionExpiredTitle: "\u0924\u0941\u092E\u091A\u0947\u0902 \u0938\u0924\u094D\u0930 \u0938\u094B\u0902\u092A\u0932\u093E\u0902",
|
|
2535
|
+
sessionExpiredDescription: "\u092B\u0941\u0921\u0947\u0902 \u0935\u091A\u092A\u093E\u0915 \u0909\u092A\u0915\u093E\u0930 \u0915\u0930\u0942\u0928 \u092A\u0930\u0924\u0942\u0928 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u093E\u0924.",
|
|
2536
|
+
chooseYourProfile: "\u0924\u0941\u092E\u091A\u0947\u0902 \u092A\u094D\u0930\u094B\u092B\u093E\u092F\u0932 \u0928\u093F\u0935\u0921\u093E\u0924",
|
|
2537
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0932\u0949\u0917\u093F\u0928 \u0906\u092F\u0921\u0940 \u090F\u0915\u093E\u092A\u0930\u0938 \u091A\u0921 \u092A\u094D\u0930\u094B\u092B\u093E\u092F\u0932\u093E\u0902\u0915 \u091C\u094B\u0921\u0932\u093E. \u0924\u0941\u092E\u0915\u093E\u0902 \u091C\u0947\u0902 \u092A\u0933\u094B\u0935\u092A\u093E\u0915 \u091C\u093E\u092F \u0924\u0947\u0902 \u0928\u093F\u0935\u0921\u093E\u0924.",
|
|
2538
|
+
userIdLabel: "\u0935\u093E\u092A\u0930\u092A\u0940 \u0906\u092F\u0921\u0940: {{id}}",
|
|
2539
|
+
signingInEllipsis: "\u0938\u093E\u0907\u0928 \u0907\u0928 \u091C\u093E\u0935\u0928 \u0906\u0938\u093E\u2026",
|
|
2540
|
+
switchProfile: "\u092A\u094D\u0930\u094B\u092B\u093E\u092F\u0932 \u092C\u0926\u0932\u093E"
|
|
2499
2541
|
};
|
|
2500
2542
|
|
|
2501
2543
|
// src/RedactoPrivacyCenter/locales/gu/translation.json
|
|
@@ -2909,7 +2951,14 @@ var translation_default7 = {
|
|
|
2909
2951
|
submittingAs: "{{email}} \u0AA4\u0AB0\u0AC0\u0A95\u0AC7 \u0AB8\u0AAC\u0AAE\u0ABF\u0A9F \u0A95\u0AB0\u0AC0 \u0AB0\u0AB9\u0ACD\u0AAF\u0ABE \u0A9B\u0ACB",
|
|
2910
2952
|
tapToChooseFile: "\u0AAB\u0ABE\u0A87\u0AB2 \u0AAA\u0AB8\u0A82\u0AA6 \u0A95\u0AB0\u0AB5\u0ABE \u0A9F\u0AC5\u0AAA \u0A95\u0AB0\u0ACB",
|
|
2911
2953
|
view: "\u0A9C\u0AC1\u0A93",
|
|
2912
|
-
whatDoYouNeed: "\u0AA4\u0AAE\u0AA8\u0AC7 \u0AB6\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F \u0A9B\u0AC7?"
|
|
2954
|
+
whatDoYouNeed: "\u0AA4\u0AAE\u0AA8\u0AC7 \u0AB6\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F \u0A9B\u0AC7?",
|
|
2955
|
+
sessionExpiredTitle: "\u0AA4\u0AAE\u0ABE\u0AB0\u0AC1\u0A82 \u0AB8\u0AA4\u0ACD\u0AB0 \u0AB8\u0AAE\u0ABE\u0AAA\u0ACD\u0AA4 \u0AA5\u0A88 \u0A97\u0AAF\u0AC1\u0A82 \u0A9B\u0AC7",
|
|
2956
|
+
sessionExpiredDescription: "\u0A9A\u0ABE\u0AB2\u0AC1 \u0AB0\u0ABE\u0A96\u0AB5\u0ABE \u0AAE\u0ABE\u0A9F\u0AC7 \u0A95\u0AC3\u0AAA\u0ABE \u0A95\u0AB0\u0AC0\u0AA8\u0AC7 \u0AAB\u0AB0\u0AC0\u0AA5\u0AC0 \u0AB8\u0ABE\u0A87\u0AA8 \u0A87\u0AA8 \u0A95\u0AB0\u0ACB.",
|
|
2957
|
+
chooseYourProfile: "\u0AA4\u0AAE\u0ABE\u0AB0\u0AC0 \u0AAA\u0ACD\u0AB0\u0ACB\u0AAB\u0ABE\u0A87\u0AB2 \u0AAA\u0AB8\u0A82\u0AA6 \u0A95\u0AB0\u0ACB",
|
|
2958
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0AB2\u0ACB\u0A97\u0ABF\u0AA8 \u0A86\u0A88\u0AA1\u0AC0 \u0A8F\u0A95 \u0A95\u0AB0\u0AA4\u0ABE\u0A82 \u0AB5\u0AA7\u0AC1 \u0AAA\u0ACD\u0AB0\u0ACB\u0AAB\u0ABE\u0A87\u0AB2 \u0AB8\u0ABE\u0AA5\u0AC7 \u0A9C\u0ACB\u0AA1\u0ABE\u0AAF\u0AC7\u0AB2 \u0A9B\u0AC7. \u0AA4\u0AAE\u0AC7 \u0A9C\u0AC7 \u0A9C\u0ACB\u0AB5\u0ABE \u0AAE\u0ABE\u0A82\u0A97\u0ACB \u0A9B\u0ACB \u0AA4\u0AC7 \u0AAA\u0AB8\u0A82\u0AA6 \u0A95\u0AB0\u0ACB.",
|
|
2959
|
+
userIdLabel: "\u0AB5\u0AAA\u0AB0\u0ABE\u0AB6\u0A95\u0AB0\u0ACD\u0AA4\u0ABE \u0A86\u0A88\u0AA1\u0AC0: {{id}}",
|
|
2960
|
+
signingInEllipsis: "\u0AB8\u0ABE\u0A87\u0AA8 \u0A87\u0AA8 \u0AA5\u0A88 \u0AB0\u0AB9\u0ACD\u0AAF\u0AC1\u0A82 \u0A9B\u0AC7\u2026",
|
|
2961
|
+
switchProfile: "\u0AAA\u0ACD\u0AB0\u0ACB\u0AAB\u0ABE\u0A87\u0AB2 \u0AAC\u0AA6\u0AB2\u0ACB"
|
|
2913
2962
|
};
|
|
2914
2963
|
|
|
2915
2964
|
// src/RedactoPrivacyCenter/locales/hi/translation.json
|
|
@@ -3323,7 +3372,14 @@ var translation_default8 = {
|
|
|
3323
3372
|
submittingAs: "{{email}} \u0915\u0947 \u0930\u0942\u092A \u092E\u0947\u0902 \u0938\u092C\u092E\u093F\u091F \u0915\u0930 \u0930\u0939\u0947 \u0939\u0948\u0902",
|
|
3324
3373
|
tapToChooseFile: "\u092B\u093C\u093E\u0907\u0932 \u091A\u0941\u0928\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u091F\u0948\u092A \u0915\u0930\u0947\u0902",
|
|
3325
3374
|
view: "\u0926\u0947\u0916\u0947\u0902",
|
|
3326
|
-
whatDoYouNeed: "\u0906\u092A\u0915\u094B \u0915\u094D\u092F\u093E \u091A\u093E\u0939\u093F\u090F?"
|
|
3375
|
+
whatDoYouNeed: "\u0906\u092A\u0915\u094B \u0915\u094D\u092F\u093E \u091A\u093E\u0939\u093F\u090F?",
|
|
3376
|
+
sessionExpiredTitle: "\u0906\u092A\u0915\u093E \u0938\u0924\u094D\u0930 \u0938\u092E\u093E\u092A\u094D\u0924 \u0939\u094B \u0917\u092F\u093E \u0939\u0948",
|
|
3377
|
+
sessionExpiredDescription: "\u091C\u093E\u0930\u0940 \u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0915\u0943\u092A\u092F\u093E \u092B\u093F\u0930 \u0938\u0947 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0947\u0902\u0964",
|
|
3378
|
+
chooseYourProfile: "\u0905\u092A\u0928\u0940 \u092A\u094D\u0930\u094B\u092B\u093C\u093E\u0907\u0932 \u091A\u0941\u0928\u0947\u0902",
|
|
3379
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0932\u0949\u0917\u093F\u0928 \u0906\u0908\u0921\u0940 \u090F\u0915 \u0938\u0947 \u0905\u0927\u093F\u0915 \u092A\u094D\u0930\u094B\u092B\u093C\u093E\u0907\u0932 \u0938\u0947 \u091C\u0941\u0921\u093C\u093E \u0939\u0948\u0964 \u091C\u093F\u0938\u0947 \u0906\u092A \u0926\u0947\u0916\u0928\u093E \u091A\u093E\u0939\u0924\u0947 \u0939\u0948\u0902 \u0909\u0938\u0947 \u091A\u0941\u0928\u0947\u0902\u0964",
|
|
3380
|
+
userIdLabel: "\u0909\u092A\u092F\u094B\u0917\u0915\u0930\u094D\u0924\u093E \u0906\u0908\u0921\u0940: {{id}}",
|
|
3381
|
+
signingInEllipsis: "\u0938\u093E\u0907\u0928 \u0907\u0928 \u0939\u094B \u0930\u0939\u093E \u0939\u0948\u2026",
|
|
3382
|
+
switchProfile: "\u092A\u094D\u0930\u094B\u092B\u093C\u093E\u0907\u0932 \u092C\u0926\u0932\u0947\u0902"
|
|
3327
3383
|
};
|
|
3328
3384
|
|
|
3329
3385
|
// src/RedactoPrivacyCenter/locales/kn/translation.json
|
|
@@ -3737,7 +3793,14 @@ var translation_default9 = {
|
|
|
3737
3793
|
submittingAs: "{{email}} \u0C86\u0C97\u0CBF \u0CB8\u0CB2\u0CCD\u0CB2\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CA6\u0CC6",
|
|
3738
3794
|
tapToChooseFile: "\u0CAB\u0CC8\u0CB2\u0CCD \u0C86\u0CAF\u0CCD\u0C95\u0CC6\u0CAE\u0CBE\u0CA1\u0CB2\u0CC1 \u0C9F\u0CCD\u0CAF\u0CBE\u0CAA\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF",
|
|
3739
3795
|
view: "\u0CB5\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CBF",
|
|
3740
|
-
whatDoYouNeed: "\u0CA8\u0CBF\u0CAE\u0C97\u0CC6 \u0C8F\u0CA8\u0CC1 \u0CAC\u0CC7\u0C95\u0CC1?"
|
|
3796
|
+
whatDoYouNeed: "\u0CA8\u0CBF\u0CAE\u0C97\u0CC6 \u0C8F\u0CA8\u0CC1 \u0CAC\u0CC7\u0C95\u0CC1?",
|
|
3797
|
+
sessionExpiredTitle: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CB8\u0CC6\u0CB7\u0CA8\u0CCD \u0C85\u0CB5\u0CA7\u0CBF \u0CAE\u0CC1\u0C97\u0CBF\u0CA6\u0CBF\u0CA6\u0CC6",
|
|
3798
|
+
sessionExpiredDescription: "\u0CAE\u0CC1\u0C82\u0CA6\u0CC1\u0CB5\u0CB0\u0CBF\u0CB8\u0CB2\u0CC1 \u0CA6\u0CAF\u0CB5\u0CBF\u0C9F\u0CCD\u0C9F\u0CC1 \u0CAE\u0CA4\u0CCD\u0CA4\u0CC6 \u0CB8\u0CC8\u0CA8\u0CCD \u0C87\u0CA8\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF.",
|
|
3799
|
+
chooseYourProfile: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAA\u0CCD\u0CB0\u0CCA\u0CAB\u0CC8\u0CB2\u0CCD \u0C86\u0CAF\u0CCD\u0C95\u0CC6\u0CAE\u0CBE\u0CA1\u0CBF",
|
|
3800
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0CB2\u0CBE\u0C97\u0CBF\u0CA8\u0CCD \u0C90\u0CA1\u0CBF \u0C92\u0C82\u0CA6\u0C95\u0CCD\u0C95\u0CBF\u0C82\u0CA4 \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CC1 \u0CAA\u0CCD\u0CB0\u0CCA\u0CAB\u0CC8\u0CB2\u0CCD\u200C\u0C97\u0CB3\u0CBF\u0C97\u0CC6 \u0CB2\u0CBF\u0C82\u0C95\u0CCD \u0C86\u0C97\u0CBF\u0CA6\u0CC6. \u0CA8\u0CC0\u0CB5\u0CC1 \u0CB5\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CC1 \u0CAC\u0CAF\u0CB8\u0CC1\u0CB5\u0CC1\u0CA6\u0CA8\u0CCD\u0CA8\u0CC1 \u0C86\u0CAF\u0CCD\u0C95\u0CC6\u0CAE\u0CBE\u0CA1\u0CBF.",
|
|
3801
|
+
userIdLabel: "\u0CAC\u0CB3\u0C95\u0CC6\u0CA6\u0CBE\u0CB0 \u0C90\u0CA1\u0CBF: {{id}}",
|
|
3802
|
+
signingInEllipsis: "\u0CB8\u0CC8\u0CA8\u0CCD \u0C87\u0CA8\u0CCD \u0C86\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CA6\u0CC6\u2026",
|
|
3803
|
+
switchProfile: "\u0CAA\u0CCD\u0CB0\u0CCA\u0CAB\u0CC8\u0CB2\u0CCD \u0CAC\u0CA6\u0CB2\u0CBE\u0CAF\u0CBF\u0CB8\u0CBF"
|
|
3741
3804
|
};
|
|
3742
3805
|
|
|
3743
3806
|
// src/RedactoPrivacyCenter/locales/ks/translation.json
|
|
@@ -4151,7 +4214,14 @@ var translation_default10 = {
|
|
|
4151
4214
|
submittingAs: "{{email}} \u067E\u0620\u0658\u0679\u06BE \u062C\u0645\u0639 \u06A9\u0631\u0627\u0646",
|
|
4152
4215
|
tapToChooseFile: "\u0641\u0627\u06CC\u0644 \u0698\u0627\u0631\u0646\u06C1 \u062E\u0672\u0637\u0631\u0655 \u0679\u06CC\u067E \u06A9\u0631\u06CC\u0648",
|
|
4153
4216
|
view: "\u0648\u064F\u0686\u06BE\u0650\u0648",
|
|
4154
|
-
whatDoYouNeed: "\u062A\u0648\u06C1\u0650 \u06A9\u06CC\u0627 \u0636\u0631\u0648\u0631\u062A \u0686\u06BE\u064F\u061F"
|
|
4217
|
+
whatDoYouNeed: "\u062A\u0648\u06C1\u0650 \u06A9\u06CC\u0627 \u0636\u0631\u0648\u0631\u062A \u0686\u06BE\u064F\u061F",
|
|
4218
|
+
sessionExpiredTitle: "\u062A\u064F\u06C1\u0646\u065B\u062F \u0633\u06CC\u0634\u064E\u0646 \u062E\u062A\u0645 \u06AF\u06C4\u0645\u064F\u062A",
|
|
4219
|
+
sessionExpiredDescription: "\u062C\u0627\u0631\u06CC \u0631\u06A9\u06BE\u0646\u06C1\u0655 \u062E\u0672\u0637\u0631\u0655 \u0645\u06C1\u0631\u0628\u0627\u0646\u06CC \u06A9\u0631\u0650\u062A\u06BE \u062F\u0648\u0628\u0627\u0631\u0655 \u0633\u0627\u0626\u0646 \u0627\u0650\u0646 \u06A9\u0631\u06CC\u0648\u06D4",
|
|
4220
|
+
chooseYourProfile: "\u067E\u0646\u0646\u06C1\u0655 \u067E\u0631\u0648\u0641\u0627\u0626\u0644 \u0698\u0627\u0631\u0655\u0648",
|
|
4221
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0644\u0627\u06AF \u0627\u0650\u0646 \u0622\u0626\u06CC \u0688\u06CC \u0686\u06BE\u064F \u0627\u06A9\u06C1 \u06A9\u06BE\u06C4\u062A\u06C1 \u0632\u06CC\u0627\u062F\u0655 \u067E\u0631\u0648\u0641\u0627\u0626\u0644\u0646 \u0633\u065F\u062A\u0620 \u062C\u0648\u0691\u0646\u06C1 \u0622\u0645\u064F\u062A\u06D4 \u06CC\u064F\u0633 \u062A\u0648\u06C1\u06C1\u0650 \u0648\u064F\u0686\u06BE\u064F\u0646 \u0686\u06BE\u0650\u0648 \u06CC\u0698\u06BE\u0627\u0646 \u0633\u064F \u0698\u0627\u0631\u0655\u0648\u06D4",
|
|
4222
|
+
userIdLabel: "\u0635\u0627\u0631\u0641 \u0622\u0626\u06CC \u0688\u06CC: {{id}}",
|
|
4223
|
+
signingInEllipsis: "\u0633\u0627\u0626\u0646 \u0627\u0650\u0646 \u06AF\u0698\u06BE\u0627\u0646 \u0686\u06BE\u064F\u2026",
|
|
4224
|
+
switchProfile: "\u067E\u0631\u0648\u0641\u0627\u0626\u0644 \u0628\u062F\u0644\u0627\u0648"
|
|
4155
4225
|
};
|
|
4156
4226
|
|
|
4157
4227
|
// src/RedactoPrivacyCenter/locales/mai/translation.json
|
|
@@ -4565,7 +4635,14 @@ var translation_default11 = {
|
|
|
4565
4635
|
submittingAs: "{{email}} \u0930\u0942\u092A\u092E\u0947 \u091C\u092E\u093E \u0915\u093D \u0930\u0939\u0932 \u091B\u0940",
|
|
4566
4636
|
tapToChooseFile: "\u092B\u093E\u0907\u0932 \u091A\u0941\u0928\u092C\u093E\u0915 \u0932\u0947\u0932 \u091F\u0948\u092A \u0915\u0930\u0942",
|
|
4567
4637
|
view: "\u0926\u0947\u0916\u0942",
|
|
4568
|
-
whatDoYouNeed: "\u0905\u0939\u093E\u0901\u0915\u0947\u0901 \u0915\u0940 \u091A\u093E\u0939\u0940?"
|
|
4638
|
+
whatDoYouNeed: "\u0905\u0939\u093E\u0901\u0915\u0947\u0901 \u0915\u0940 \u091A\u093E\u0939\u0940?",
|
|
4639
|
+
sessionExpiredTitle: "\u0905\u0939\u093E\u0901\u0915 \u0938\u0924\u094D\u0930 \u0938\u092E\u093E\u092A\u094D\u0924 \u092D\u093D \u0917\u0947\u0932 \u0905\u091B\u093F",
|
|
4640
|
+
sessionExpiredDescription: "\u091C\u093E\u0930\u0940 \u0930\u093E\u0916\u092C\u093E\u0915 \u0932\u0947\u0932 \u0915\u0943\u092A\u092F\u093E \u092B\u0947\u0930 \u0938\u0901 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0942\u0964",
|
|
4641
|
+
chooseYourProfile: "\u0905\u092A\u0928 \u092A\u094D\u0930\u094B\u092B\u093E\u0907\u0932 \u091A\u0941\u0928\u0942",
|
|
4642
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0932\u0949\u0917\u093F\u0928 \u0906\u0907\u0921\u0940 \u090F\u0915\u093E\u0927\u093F\u0915 \u092A\u094D\u0930\u094B\u092B\u093E\u0907\u0932\u0938\u0901 \u091C\u0941\u0921\u093C\u0932 \u0905\u091B\u093F\u0964 \u091C\u0947 \u0905\u0939\u093E\u0901 \u0926\u0947\u0916\u092F \u091A\u093E\u0939\u0948\u0924 \u091B\u0940 \u0913\u0915\u0930\u093E \u091A\u0941\u0928\u0942\u0964",
|
|
4643
|
+
userIdLabel: "\u0909\u092A\u092F\u094B\u0917\u0915\u0930\u094D\u0924\u093E \u0906\u0907\u0921\u0940: {{id}}",
|
|
4644
|
+
signingInEllipsis: "\u0938\u093E\u0907\u0928 \u0907\u0928 \u092D' \u0930\u0939\u0932 \u0905\u091B\u093F\u2026",
|
|
4645
|
+
switchProfile: "\u092A\u094D\u0930\u094B\u092B\u093E\u0907\u0932 \u092C\u0926\u0932\u0942"
|
|
4569
4646
|
};
|
|
4570
4647
|
|
|
4571
4648
|
// src/RedactoPrivacyCenter/locales/ml/translation.json
|
|
@@ -4979,7 +5056,14 @@ var translation_default12 = {
|
|
|
4979
5056
|
submittingAs: "{{email}} \u0D06\u0D2F\u0D3F \u0D38\u0D2E\u0D7C\u0D2A\u0D4D\u0D2A\u0D3F\u0D15\u0D4D\u0D15\u0D41\u0D28\u0D4D\u0D28\u0D41",
|
|
4980
5057
|
tapToChooseFile: "\u0D2B\u0D2F\u0D7D \u0D24\u0D3F\u0D30\u0D1E\u0D4D\u0D1E\u0D46\u0D1F\u0D41\u0D15\u0D4D\u0D15\u0D3E\u0D7B \u0D1F\u0D3E\u0D2A\u0D4D\u0D2A\u0D4D \u0D1A\u0D46\u0D2F\u0D4D\u0D2F\u0D41\u0D15",
|
|
4981
5058
|
view: "\u0D15\u0D3E\u0D23\u0D41\u0D15",
|
|
4982
|
-
whatDoYouNeed: "\u0D28\u0D3F\u0D19\u0D4D\u0D19\u0D7E\u0D15\u0D4D\u0D15\u0D4D \u0D0E\u0D28\u0D4D\u0D24\u0D3E\u0D23\u0D4D \u0D35\u0D47\u0D23\u0D4D\u0D1F\u0D24\u0D4D?"
|
|
5059
|
+
whatDoYouNeed: "\u0D28\u0D3F\u0D19\u0D4D\u0D19\u0D7E\u0D15\u0D4D\u0D15\u0D4D \u0D0E\u0D28\u0D4D\u0D24\u0D3E\u0D23\u0D4D \u0D35\u0D47\u0D23\u0D4D\u0D1F\u0D24\u0D4D?",
|
|
5060
|
+
sessionExpiredTitle: "\u0D28\u0D3F\u0D19\u0D4D\u0D19\u0D33\u0D41\u0D1F\u0D46 \u0D38\u0D46\u0D37\u0D7B \u0D15\u0D3E\u0D32\u0D39\u0D30\u0D23\u0D2A\u0D4D\u0D2A\u0D46\u0D1F\u0D4D\u0D1F\u0D41",
|
|
5061
|
+
sessionExpiredDescription: "\u0D24\u0D41\u0D1F\u0D30\u0D3E\u0D7B \u0D26\u0D2F\u0D35\u0D3E\u0D2F\u0D3F \u0D35\u0D40\u0D23\u0D4D\u0D1F\u0D41\u0D02 \u0D38\u0D48\u0D7B \u0D07\u0D7B \u0D1A\u0D46\u0D2F\u0D4D\u0D2F\u0D41\u0D15.",
|
|
5062
|
+
chooseYourProfile: "\u0D28\u0D3F\u0D19\u0D4D\u0D19\u0D33\u0D41\u0D1F\u0D46 \u0D2A\u0D4D\u0D30\u0D4A\u0D2B\u0D48\u0D7D \u0D24\u0D3F\u0D30\u0D1E\u0D4D\u0D1E\u0D46\u0D1F\u0D41\u0D15\u0D4D\u0D15\u0D41\u0D15",
|
|
5063
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0D32\u0D4B\u0D17\u0D3F\u0D7B \u0D10\u0D21\u0D3F \u0D12\u0D28\u0D4D\u0D28\u0D3F\u0D32\u0D27\u0D3F\u0D15\u0D02 \u0D2A\u0D4D\u0D30\u0D4A\u0D2B\u0D48\u0D32\u0D41\u0D15\u0D33\u0D41\u0D2E\u0D3E\u0D2F\u0D3F \u0D2C\u0D28\u0D4D\u0D27\u0D3F\u0D2A\u0D4D\u0D2A\u0D3F\u0D1A\u0D4D\u0D1A\u0D3F\u0D30\u0D3F\u0D15\u0D4D\u0D15\u0D41\u0D28\u0D4D\u0D28\u0D41. \u0D28\u0D3F\u0D19\u0D4D\u0D19\u0D7E \u0D15\u0D3E\u0D23\u0D3E\u0D7B \u0D06\u0D17\u0D4D\u0D30\u0D39\u0D3F\u0D15\u0D4D\u0D15\u0D41\u0D28\u0D4D\u0D28\u0D24\u0D4D \u0D24\u0D3F\u0D30\u0D1E\u0D4D\u0D1E\u0D46\u0D1F\u0D41\u0D15\u0D4D\u0D15\u0D41\u0D15.",
|
|
5064
|
+
userIdLabel: "\u0D09\u0D2A\u0D2F\u0D4B\u0D15\u0D4D\u0D24\u0D43 \u0D10\u0D21\u0D3F: {{id}}",
|
|
5065
|
+
signingInEllipsis: "\u0D38\u0D48\u0D7B \u0D07\u0D7B \u0D1A\u0D46\u0D2F\u0D4D\u0D2F\u0D41\u0D28\u0D4D\u0D28\u0D41\u2026",
|
|
5066
|
+
switchProfile: "\u0D2A\u0D4D\u0D30\u0D4A\u0D2B\u0D48\u0D7D \u0D2E\u0D3E\u0D31\u0D4D\u0D31\u0D41\u0D15"
|
|
4983
5067
|
};
|
|
4984
5068
|
|
|
4985
5069
|
// src/RedactoPrivacyCenter/locales/mni-Mtei/translation.json
|
|
@@ -5393,7 +5477,14 @@ var translation_default13 = {
|
|
|
5393
5477
|
submittingAs: "{{email}} \uABD1\uABE3\uABCF\uABC5 \uABCA\uABE5\uABD2\uABE0\uABC2\uABE4",
|
|
5394
5478
|
tapToChooseFile: "\uABD0\uABE5\uABCF\uABDC \uABC8\uABDF\uABC5\uABD5 \uABC7\uABE6\uABDE \uABC7\uABE7",
|
|
5395
5479
|
view: "\uABCC\uABE6\uABE1\uABCE",
|
|
5396
|
-
whatDoYouNeed: "\uABD1\uABD7\uABE3\uABDD\uABD7 \uABC0\uABD4\uABE4 \uABC7\uABC9\uABE5\uABCF\uABD0\uABD7\uABD5\uABD2\uABE6?"
|
|
5480
|
+
whatDoYouNeed: "\uABD1\uABD7\uABE3\uABDD\uABD7 \uABC0\uABD4\uABE4 \uABC7\uABC9\uABE5\uABCF\uABD0\uABD7\uABD5\uABD2\uABE6?",
|
|
5481
|
+
sessionExpiredTitle: "\uABD1\uABD7\uABE3\uABDD\uABD2\uABE4 \uABC1\uABE6\uABC1\uABDF \uABC2\uABE3\uABCF\uABD4\uABE6",
|
|
5482
|
+
sessionExpiredDescription: "\uABC3\uABC8\uABE5 \uABC6\uABE0\uABCA\uABD4\uABDB\uABC5\uABD5 \uABC6\uABE5\uABC5\uABD5\uABE4\uABD7\uABE8\uABC5 \uABD1\uABC3\uABE8\uABDB \uABCD\uABDF\uABC5 \uABC1\uABE5\uABCF\uABDF \uABCF\uABDF \uABC7\uABE7\uABD5\uABE4\uABCC\uABE8\uABEB",
|
|
5483
|
+
chooseYourProfile: "\u09A8\u09B9\u09BE\u0995\u09CD\u0995\u09C0 \u09AA\u09CD\u09B0\u09CB\u09AB\u09BE\u0987\u09B2 \u0996\u09A8\u09AC\u09BF\u09AF\u09BC\u09C1",
|
|
5484
|
+
loginIdentifierLinkedToMultipleProfiles: "\u09B2\u0997\u0987\u09A8 \u0986\u0987\u09A1\u09BF \u0985\u09B8\u09BF \u09AA\u09CD\u09B0\u09CB\u09AB\u09BE\u0987\u09B2 \u0985\u09AE\u09A6\u0997\u09C0 \u09B9\u09C7\u09A8\u09CD\u09A8\u09BE \u09B2\u09CB\u0987\u09A8\u09A8\u09AC\u09BE \u09B2\u09C8\u0964 \u09A8\u09B9\u09BE\u0995\u09CD\u09A8\u09BE \u09AF\u09BC\u09C7\u0982\u09A8\u09BF\u0982\u09AC\u09BE \u0985\u09A6\u09C1 \u0996\u09A8\u09AC\u09BF\u09AF\u09BC\u09C1\u0964",
|
|
5485
|
+
userIdLabel: "\uABC3\uABE4\uABD1\uABE3\uABCF\uABD5 \uABD1\uABE5\uABCF\uABD7\uABE4: {{id}}",
|
|
5486
|
+
signingInEllipsis: "\u09B8\u09BE\u0987\u09A8 \u0987\u09A8 \u09A4\u09CC\u09B0\u09BF\u2026",
|
|
5487
|
+
switchProfile: "\u09AA\u09CD\u09B0\u09CB\u09AB\u09BE\u0987\u09B2 \u09B9\u09CB\u0982\u09A6\u09CB\u0995-\u0989"
|
|
5397
5488
|
};
|
|
5398
5489
|
|
|
5399
5490
|
// src/RedactoPrivacyCenter/locales/mr/translation.json
|
|
@@ -5807,7 +5898,14 @@ var translation_default14 = {
|
|
|
5807
5898
|
submittingAs: "{{email}} \u092E\u094D\u0939\u0923\u0942\u0928 \u0938\u092C\u092E\u093F\u091F \u0915\u0930\u0924 \u0906\u0939\u0947",
|
|
5808
5899
|
tapToChooseFile: "\u092B\u093E\u0907\u0932 \u0928\u093F\u0935\u0921\u0923\u094D\u092F\u093E\u0938\u093E\u0920\u0940 \u091F\u0945\u092A \u0915\u0930\u093E",
|
|
5809
5900
|
view: "\u092A\u0939\u093E",
|
|
5810
|
-
whatDoYouNeed: "\u0924\u0941\u092E\u094D\u0939\u093E\u0932\u093E \u0915\u093E\u092F \u0939\u0935\u0947 \u0906\u0939\u0947?"
|
|
5901
|
+
whatDoYouNeed: "\u0924\u0941\u092E\u094D\u0939\u093E\u0932\u093E \u0915\u093E\u092F \u0939\u0935\u0947 \u0906\u0939\u0947?",
|
|
5902
|
+
sessionExpiredTitle: "\u0924\u0941\u092E\u091A\u0947 \u0938\u0924\u094D\u0930 \u0938\u0902\u092A\u0932\u0947 \u0906\u0939\u0947",
|
|
5903
|
+
sessionExpiredDescription: "\u0938\u0941\u0930\u0942 \u0920\u0947\u0935\u0923\u094D\u092F\u093E\u0938\u093E\u0920\u0940 \u0915\u0943\u092A\u092F\u093E \u092A\u0941\u0928\u094D\u0939\u093E \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u093E.",
|
|
5904
|
+
chooseYourProfile: "\u0924\u0941\u092E\u091A\u0940 \u092A\u094D\u0930\u094B\u092B\u093E\u0907\u0932 \u0928\u093F\u0935\u0921\u093E",
|
|
5905
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0932\u0949\u0917\u093F\u0928 \u0906\u092F\u0921\u0940 \u090F\u0915\u093E\u092A\u0947\u0915\u094D\u0937\u093E \u091C\u093E\u0938\u094D\u0924 \u092A\u094D\u0930\u094B\u092B\u093E\u0907\u0932\u0936\u0940 \u091C\u094B\u0921\u0932\u0947\u0932\u093E \u0906\u0939\u0947. \u0924\u0941\u092E\u094D\u0939\u093E\u0932\u093E \u091C\u0940 \u092A\u093E\u0939\u093E\u092F\u091A\u0940 \u0906\u0939\u0947 \u0924\u0940 \u0928\u093F\u0935\u0921\u093E.",
|
|
5906
|
+
userIdLabel: "\u0935\u093E\u092A\u0930\u0915\u0930\u094D\u0924\u093E \u0906\u092F\u0921\u0940: {{id}}",
|
|
5907
|
+
signingInEllipsis: "\u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0924 \u0906\u0939\u0947\u2026",
|
|
5908
|
+
switchProfile: "\u092A\u094D\u0930\u094B\u092B\u093E\u0907\u0932 \u092C\u0926\u0932\u093E"
|
|
5811
5909
|
};
|
|
5812
5910
|
|
|
5813
5911
|
// src/RedactoPrivacyCenter/locales/ne/translation.json
|
|
@@ -6221,7 +6319,14 @@ var translation_default15 = {
|
|
|
6221
6319
|
submittingAs: "{{email}} \u0915\u094B \u0930\u0942\u092A\u092E\u093E \u092A\u0947\u0936 \u0917\u0930\u094D\u0926\u0948",
|
|
6222
6320
|
tapToChooseFile: "\u092B\u093E\u0907\u0932 \u091B\u093E\u0928\u094D\u0928 \u091F\u094D\u092F\u093E\u092A \u0917\u0930\u094D\u0928\u0941\u0939\u094B\u0938\u094D",
|
|
6223
6321
|
view: "\u0939\u0947\u0930\u094D\u0928\u0941\u0939\u094B\u0938\u094D",
|
|
6224
|
-
whatDoYouNeed: "\u0924\u092A\u093E\u0908\u0902\u0932\u093E\u0908 \u0915\u0947 \u091A\u093E\u0939\u093F\u0928\u094D\u091B?"
|
|
6322
|
+
whatDoYouNeed: "\u0924\u092A\u093E\u0908\u0902\u0932\u093E\u0908 \u0915\u0947 \u091A\u093E\u0939\u093F\u0928\u094D\u091B?",
|
|
6323
|
+
sessionExpiredTitle: "\u0924\u092A\u093E\u0908\u0902\u0915\u094B \u0938\u0924\u094D\u0930 \u0938\u092E\u093E\u092A\u094D\u0924 \u092D\u090F\u0915\u094B \u091B",
|
|
6324
|
+
sessionExpiredDescription: "\u091C\u093E\u0930\u0940 \u0930\u093E\u0916\u094D\u0928 \u0915\u0943\u092A\u092F\u093E \u092B\u0947\u0930\u093F \u0938\u093E\u0907\u0928 \u0907\u0928 \u0917\u0930\u094D\u0928\u0941\u0939\u094B\u0938\u094D\u0964",
|
|
6325
|
+
chooseYourProfile: "\u0906\u092B\u094D\u0928\u094B \u092A\u094D\u0930\u094B\u092B\u093E\u0907\u0932 \u091B\u093E\u0928\u094D\u0928\u0941\u0939\u094B\u0938\u094D",
|
|
6326
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0932\u0917\u0907\u0928 \u0906\u0908\u0921\u0940 \u090F\u0915\u092D\u0928\u094D\u0926\u093E \u092C\u0922\u0940 \u092A\u094D\u0930\u094B\u092B\u093E\u0907\u0932\u0938\u0901\u0917 \u091C\u094B\u0921\u093F\u090F\u0915\u094B \u091B\u0964 \u0924\u092A\u093E\u0908\u0902\u0932\u0947 \u0939\u0947\u0930\u094D\u0928 \u091A\u093E\u0939\u0928\u0941\u092D\u090F\u0915\u094B \u091B\u093E\u0928\u094D\u0928\u0941\u0939\u094B\u0938\u094D\u0964",
|
|
6327
|
+
userIdLabel: "\u092A\u094D\u0930\u092F\u094B\u0917\u0915\u0930\u094D\u0924\u093E \u0906\u0908\u0921\u0940: {{id}}",
|
|
6328
|
+
signingInEllipsis: "\u0938\u093E\u0907\u0928 \u0907\u0928 \u0939\u0941\u0901\u0926\u0948\u091B\u2026",
|
|
6329
|
+
switchProfile: "\u092A\u094D\u0930\u094B\u092B\u093E\u0907\u0932 \u092C\u0926\u0932\u094D\u0928\u0941\u0939\u094B\u0938\u094D"
|
|
6225
6330
|
};
|
|
6226
6331
|
|
|
6227
6332
|
// src/RedactoPrivacyCenter/locales/or/translation.json
|
|
@@ -6635,7 +6740,14 @@ var translation_default16 = {
|
|
|
6635
6740
|
submittingAs: "{{email}} \u0B2D\u0B3E\u0B2C\u0B47 \u0B26\u0B3E\u0B16\u0B32 \u0B15\u0B30\u0B41\u0B1B\u0B28\u0B4D\u0B24\u0B3F",
|
|
6636
6741
|
tapToChooseFile: "\u0B2B\u0B3E\u0B07\u0B32 \u0B2C\u0B3E\u0B1B\u0B3F\u0B2C\u0B3E\u0B15\u0B41 \u0B1F\u0B4D\u0B5F\u0B3E\u0B2A \u0B15\u0B30\u0B28\u0B4D\u0B24\u0B41",
|
|
6637
6742
|
view: "\u0B26\u0B47\u0B16\u0B28\u0B4D\u0B24\u0B41",
|
|
6638
|
-
whatDoYouNeed: "\u0B06\u0B2A\u0B23 \u0B15\u0B23 \u0B1A\u0B3E\u0B39\u0B3E\u0B28\u0B4D\u0B24\u0B3F?"
|
|
6743
|
+
whatDoYouNeed: "\u0B06\u0B2A\u0B23 \u0B15\u0B23 \u0B1A\u0B3E\u0B39\u0B3E\u0B28\u0B4D\u0B24\u0B3F?",
|
|
6744
|
+
sessionExpiredTitle: "\u0B06\u0B2A\u0B23\u0B19\u0B4D\u0B15 \u0B38\u0B47\u0B38\u0B28\u0B4D \u0B38\u0B2E\u0B3E\u0B2A\u0B4D\u0B24 \u0B39\u0B4B\u0B07\u0B2F\u0B3E\u0B07\u0B1B\u0B3F",
|
|
6745
|
+
sessionExpiredDescription: "\u0B1C\u0B3E\u0B30\u0B3F \u0B30\u0B16\u0B3F\u0B2C\u0B3E\u0B15\u0B41 \u0B26\u0B5F\u0B3E\u0B15\u0B30\u0B3F \u0B2A\u0B41\u0B28\u0B30\u0B4D\u0B2C\u0B3E\u0B30 \u0B38\u0B3E\u0B07\u0B28\u0B4D \u0B07\u0B28\u0B4D \u0B15\u0B30\u0B28\u0B4D\u0B24\u0B41\u0964",
|
|
6746
|
+
chooseYourProfile: "\u0B06\u0B2A\u0B23\u0B19\u0B4D\u0B15 \u0B2A\u0B4D\u0B30\u0B4B\u0B2B\u0B3E\u0B07\u0B32\u0B4D \u0B2C\u0B3E\u0B1B\u0B28\u0B4D\u0B24\u0B41",
|
|
6747
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0B32\u0B17\u0B07\u0B28\u0B4D \u0B06\u0B07\u0B21\u0B3F \u0B0F\u0B15\u0B3E\u0B27\u0B3F\u0B15 \u0B2A\u0B4D\u0B30\u0B4B\u0B2B\u0B3E\u0B07\u0B32\u0B4D \u0B38\u0B39\u0B3F\u0B24 \u0B2F\u0B4B\u0B21\u0B3C\u0B3E\u0B2F\u0B3E\u0B07\u0B1B\u0B3F\u0964 \u0B06\u0B2A\u0B23 \u0B26\u0B47\u0B16\u0B3F\u0B2C\u0B3E\u0B15\u0B41 \u0B1A\u0B3E\u0B39\u0B41\u0B01\u0B25\u0B3F\u0B2C\u0B3E\u0B1F\u0B3F \u0B2C\u0B3E\u0B1B\u0B28\u0B4D\u0B24\u0B41\u0964",
|
|
6748
|
+
userIdLabel: "\u0B2C\u0B4D\u0B5F\u0B2C\u0B39\u0B3E\u0B30\u0B15\u0B3E\u0B30\u0B40 \u0B06\u0B07\u0B21\u0B3F: {{id}}",
|
|
6749
|
+
signingInEllipsis: "\u0B38\u0B3E\u0B07\u0B28\u0B4D \u0B07\u0B28\u0B4D \u0B39\u0B47\u0B09\u0B1B\u0B3F\u2026",
|
|
6750
|
+
switchProfile: "\u0B2A\u0B4D\u0B30\u0B4B\u0B2B\u0B3E\u0B07\u0B32\u0B4D \u0B2C\u0B26\u0B33\u0B3E\u0B28\u0B4D\u0B24\u0B41"
|
|
6639
6751
|
};
|
|
6640
6752
|
|
|
6641
6753
|
// src/RedactoPrivacyCenter/locales/pa/translation.json
|
|
@@ -7049,7 +7161,14 @@ var translation_default17 = {
|
|
|
7049
7161
|
submittingAs: "{{email}} \u0A35\u0A1C\u0A4B\u0A02 \u0A38\u0A2C\u0A2E\u0A3F\u0A1F \u0A15\u0A30 \u0A30\u0A39\u0A47 \u0A39\u0A4B",
|
|
7050
7162
|
tapToChooseFile: "\u0A2B\u0A3E\u0A08\u0A32 \u0A1A\u0A41\u0A23\u0A28 \u0A32\u0A08 \u0A1F\u0A48\u0A2A \u0A15\u0A30\u0A4B",
|
|
7051
7163
|
view: "\u0A26\u0A47\u0A16\u0A4B",
|
|
7052
|
-
whatDoYouNeed: "\u0A24\u0A41\u0A39\u0A3E\u0A28\u0A42\u0A70 \u0A15\u0A40 \u0A1A\u0A3E\u0A39\u0A40\u0A26\u0A3E \u0A39\u0A48?"
|
|
7164
|
+
whatDoYouNeed: "\u0A24\u0A41\u0A39\u0A3E\u0A28\u0A42\u0A70 \u0A15\u0A40 \u0A1A\u0A3E\u0A39\u0A40\u0A26\u0A3E \u0A39\u0A48?",
|
|
7165
|
+
sessionExpiredTitle: "\u0A24\u0A41\u0A39\u0A3E\u0A21\u0A3E \u0A38\u0A48\u0A38\u0A3C\u0A28 \u0A38\u0A2E\u0A3E\u0A2A\u0A24 \u0A39\u0A4B \u0A17\u0A3F\u0A06 \u0A39\u0A48",
|
|
7166
|
+
sessionExpiredDescription: "\u0A1C\u0A3E\u0A30\u0A40 \u0A30\u0A71\u0A16\u0A23 \u0A32\u0A08 \u0A15\u0A3F\u0A30\u0A2A\u0A3E \u0A15\u0A30\u0A15\u0A47 \u0A26\u0A41\u0A2C\u0A3E\u0A30\u0A3E \u0A38\u0A3E\u0A08\u0A28 \u0A07\u0A28 \u0A15\u0A30\u0A4B\u0964",
|
|
7167
|
+
chooseYourProfile: "\u0A06\u0A2A\u0A23\u0A40 \u0A2A\u0A4D\u0A30\u0A4B\u0A2B\u0A3E\u0A08\u0A32 \u0A1A\u0A41\u0A23\u0A4B",
|
|
7168
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0A32\u0A4C\u0A17\u0A07\u0A28 \u0A06\u0A08\u0A21\u0A40 \u0A07\u0A71\u0A15 \u0A24\u0A4B\u0A02 \u0A35\u0A71\u0A27 \u0A2A\u0A4D\u0A30\u0A4B\u0A2B\u0A3E\u0A08\u0A32\u0A3E\u0A02 \u0A28\u0A3E\u0A32 \u0A1C\u0A41\u0A5C\u0A3F\u0A06 \u0A39\u0A4B\u0A07\u0A06 \u0A39\u0A48\u0964 \u0A1C\u0A4B \u0A24\u0A41\u0A38\u0A40\u0A02 \u0A35\u0A47\u0A16\u0A23\u0A3E \u0A1A\u0A3E\u0A39\u0A41\u0A70\u0A26\u0A47 \u0A39\u0A4B \u0A09\u0A39 \u0A1A\u0A41\u0A23\u0A4B\u0964",
|
|
7169
|
+
userIdLabel: "\u0A09\u0A2A\u0A2F\u0A4B\u0A17\u0A15\u0A30\u0A24\u0A3E \u0A06\u0A08\u0A21\u0A40: {{id}}",
|
|
7170
|
+
signingInEllipsis: "\u0A38\u0A3E\u0A08\u0A28 \u0A07\u0A28 \u0A39\u0A4B \u0A30\u0A3F\u0A39\u0A3E \u0A39\u0A48\u2026",
|
|
7171
|
+
switchProfile: "\u0A2A\u0A4D\u0A30\u0A4B\u0A2B\u0A3E\u0A08\u0A32 \u0A2C\u0A26\u0A32\u0A4B"
|
|
7053
7172
|
};
|
|
7054
7173
|
|
|
7055
7174
|
// src/RedactoPrivacyCenter/locales/sa/translation.json
|
|
@@ -7463,7 +7582,14 @@ var translation_default18 = {
|
|
|
7463
7582
|
submittingAs: "{{email}} \u0907\u0924\u093F \u0938\u092E\u0930\u094D\u092A\u092F\u0928\u094D",
|
|
7464
7583
|
tapToChooseFile: "\u0938\u091E\u094D\u091A\u093F\u0915\u093E\u0902 \u091A\u0947\u0924\u0941\u0902 \u0938\u094D\u092A\u0943\u0936\u0924\u0941",
|
|
7465
7584
|
view: "\u092A\u0936\u094D\u092F",
|
|
7466
|
-
whatDoYouNeed: "\u092D\u0935\u0924\u0903 \u0915\u093F\u092E\u094D \u0906\u0935\u0936\u094D\u092F\u0915\u092E\u094D?"
|
|
7585
|
+
whatDoYouNeed: "\u092D\u0935\u0924\u0903 \u0915\u093F\u092E\u094D \u0906\u0935\u0936\u094D\u092F\u0915\u092E\u094D?",
|
|
7586
|
+
sessionExpiredTitle: "\u092D\u0935\u0924\u0903 \u0938\u0924\u094D\u0930\u0902 \u0938\u092E\u093E\u092A\u094D\u0924\u092E\u094D",
|
|
7587
|
+
sessionExpiredDescription: "\u0905\u0928\u0941\u0935\u0930\u094D\u0924\u0928\u093E\u0930\u094D\u0925\u0902 \u0915\u0943\u092A\u092F\u093E \u092A\u0941\u0928\u0903 \u092A\u094D\u0930\u0935\u0947\u0936\u0902 \u0915\u0930\u094B\u0924\u0941\u0964",
|
|
7588
|
+
chooseYourProfile: "\u0938\u094D\u0935\u092A\u094D\u0930\u094B\u092B\u093C\u093E\u0907\u0932\u0902 \u091A\u093F\u0928\u094B\u0924\u0941",
|
|
7589
|
+
loginIdentifierLinkedToMultipleProfiles: "\u092A\u094D\u0930\u0935\u0947\u0936-\u0906\u092F\u0921\u0940 \u090F\u0915\u093E\u0927\u093F\u0915\u0948\u0903 \u092A\u094D\u0930\u094B\u092B\u093C\u093E\u0907\u0932\u0948\u0903 \u0938\u0939 \u0938\u092E\u094D\u092C\u0926\u094D\u0927\u0903 \u0905\u0938\u094D\u0924\u093F\u0964 \u092F\u0924\u094D \u0926\u094D\u0930\u0937\u094D\u091F\u0941\u092E\u094D \u0907\u091A\u094D\u091B\u0924\u093F \u0924\u0924\u094D \u091A\u093F\u0928\u094B\u0924\u0941\u0964",
|
|
7590
|
+
userIdLabel: "\u0909\u092A\u092F\u094B\u0915\u094D\u0924\u0943-\u0906\u092F\u0921\u0940: {{id}}",
|
|
7591
|
+
signingInEllipsis: "\u092A\u094D\u0930\u0935\u0947\u0936\u0903 \u0915\u094D\u0930\u093F\u092F\u0924\u0947\u2026",
|
|
7592
|
+
switchProfile: "\u092A\u094D\u0930\u094B\u092B\u093C\u093E\u0907\u0932\u0902 \u092A\u0930\u093F\u0935\u0930\u094D\u0924\u092F\u0924\u0941"
|
|
7467
7593
|
};
|
|
7468
7594
|
|
|
7469
7595
|
// src/RedactoPrivacyCenter/locales/sat/translation.json
|
|
@@ -7877,7 +8003,14 @@ var translation_default19 = {
|
|
|
7877
8003
|
submittingAs: "{{email}} \u1C5E\u1C6E\u1C60\u1C5F\u1C5B\u1C6E \u1C61\u1C5A\u1C62\u1C5F \u1C6E\u1C6B\u1C5F",
|
|
7878
8004
|
tapToChooseFile: "\u1C6F\u1C77\u1C5F\u1C6D\u1C64\u1C5E \u1C75\u1C5F\u1C6A\u1C77\u1C5F\u1C63 \u1C5E\u1C5F\u1C79\u1C5C\u1C64\u1C6B \u1C74\u1C6E\u1C6F \u1C62\u1C6E",
|
|
7879
8005
|
view: "\u1C67\u1C6E\u1C5E \u1C62\u1C6E",
|
|
7880
|
-
whatDoYouNeed: "\u1C5F\u1C62 \u1C6A\u1C6E\u1C6B \u1C5E\u1C5F\u1C79\u1C60\u1C5B\u1C64?"
|
|
8006
|
+
whatDoYouNeed: "\u1C5F\u1C62 \u1C6A\u1C6E\u1C6B \u1C5E\u1C5F\u1C79\u1C60\u1C5B\u1C64?",
|
|
8007
|
+
sessionExpiredTitle: "\u1C5F\u1C62\u1C5F\u1C5C \u1C65\u1C6E\u1C65\u1C5A\u1C71 \u1C62\u1C69\u1C6A\u1C5F\u1C79\u1C6B\u1C6E\u1C71\u1C5F",
|
|
8008
|
+
sessionExpiredDescription: "\u1C5E\u1C5F\u1C66\u1C5F \u1C6A\u1C5F\u1C5E\u1C5F\u1C63 \u1C5E\u1C5F\u1C79\u1C5C\u1C64\u1C6B \u1C6B\u1C5F\u1C6D\u1C5F \u1C60\u1C5F\u1C5B\u1C6E \u1C6B\u1C73\u1C66\u1C72\u1C5F \u1C65\u1C5F\u1C6D\u1C71 \u1C64\u1C71 \u1C62\u1C6E\u1C7E",
|
|
8009
|
+
chooseYourProfile: "\u1C5F\u1C62\u1C5F\u1C5C \u1C6F\u1C68\u1C73\u1C6F\u1C77\u1C5F\u1C6D\u1C64\u1C5E \u1C75\u1C5F\u1C6A\u1C77\u1C5F\u1C63 \u1C62\u1C6E",
|
|
8010
|
+
loginIdentifierLinkedToMultipleProfiles: "\u1C5E\u1C5A\u1C5C\u1C64\u1C71 \u1C5F\u1C6D\u1C70\u1C64 \u1C6B\u1C5A \u1C62\u1C64\u1C6B \u1C60\u1C77\u1C5A\u1C71 \u1C70\u1C77\u1C6E\u1C68 \u1C6F\u1C68\u1C73\u1C6F\u1C77\u1C5F\u1C6D\u1C64\u1C5E \u1C65\u1C5F\u1C76 \u1C61\u1C69\u1C70\u1C5F\u1C79\u1C63 \u1C5F\u1C60\u1C5F\u1C71\u1C5F\u1C7E \u1C5F\u1C62 \u1C67\u1C6E\u1C5E \u1C65\u1C5F\u1C71\u1C5F\u1C62 \u1C5A\u1C71\u1C5F \u1C75\u1C5F\u1C6A\u1C77\u1C5F\u1C63 \u1C62\u1C6E\u1C7E",
|
|
8011
|
+
userIdLabel: "\u1C75\u1C6E\u1C75\u1C77\u1C5F\u1C68\u1C64\u1C6D\u1C5F\u1C79 \u1C5F\u1C6D\u1C70\u1C64: {{id}}",
|
|
8012
|
+
signingInEllipsis: "\u1C65\u1C5F\u1C6D\u1C64\u1C71 \u1C64\u1C71 \u1C6E\u1C6B\u1C5F\u1C6D\u2026",
|
|
8013
|
+
switchProfile: "\u1C6F\u1C68\u1C73\u1C6F\u1C77\u1C5F\u1C6D\u1C64\u1C5E \u1C75\u1C5A\u1C6B\u1C5A\u1C5E \u1C62\u1C6E"
|
|
7881
8014
|
};
|
|
7882
8015
|
|
|
7883
8016
|
// src/RedactoPrivacyCenter/locales/sd/translation.json
|
|
@@ -8291,7 +8424,14 @@ var translation_default20 = {
|
|
|
8291
8424
|
submittingAs: "{{email}} \u0637\u0648\u0631 \u062C\u0645\u0639 \u06AA\u0631\u064A \u0631\u0647\u064A\u0627 \u0622\u0647\u064A\u0648",
|
|
8292
8425
|
tapToChooseFile: "\u0641\u0627\u0626\u0644 \u0686\u0648\u0646\u068A\u06BB \u0644\u0627\u0621\u0650 \u067D\u064A\u067E \u06AA\u0631\u064A\u0648",
|
|
8293
8426
|
view: "\u068F\u0633\u0648",
|
|
8294
|
-
whatDoYouNeed: "\u062A\u0648\u0647\u0627\u0646 \u06A9\u064A \u0687\u0627 \u06AF\u0647\u0631\u062C\u064A\u061F"
|
|
8427
|
+
whatDoYouNeed: "\u062A\u0648\u0647\u0627\u0646 \u06A9\u064A \u0687\u0627 \u06AF\u0647\u0631\u062C\u064A\u061F",
|
|
8428
|
+
sessionExpiredTitle: "\u062A\u0648\u0647\u0627\u0646 \u062C\u0648 \u0633\u064A\u0634\u0646 \u062E\u062A\u0645 \u067F\u064A \u0648\u064A\u0648 \u0622\u0647\u064A",
|
|
8429
|
+
sessionExpiredDescription: "\u062C\u0627\u0631\u064A \u0631\u06A9\u06BB \u0644\u0627\u0621\u0650 \u0645\u0647\u0631\u0628\u0627\u0646\u064A \u06AA\u0631\u064A \u067B\u064A\u0647\u0631 \u0633\u0627\u0626\u0646 \u0627\u0646 \u06AA\u0631\u064A\u0648.",
|
|
8430
|
+
chooseYourProfile: "\u067E\u0646\u0647\u0646\u062C\u0648 \u067E\u0631\u0648\u0641\u0627\u0626\u0644 \u0686\u0648\u0646\u068A\u064A\u0648",
|
|
8431
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0644\u0627\u06AF \u0627\u0646 \u0622\u0626\u064A\u068A\u064A \u0647\u06AA \u06A9\u0627\u0646 \u0648\u068C\u064A\u06AA \u067E\u0631\u0648\u0641\u0627\u0626\u0644\u0646 \u0633\u0627\u0646 \u06B3\u0646\u068D\u064A\u0644 \u0622\u0647\u064A. \u062C\u064A\u06AA\u0648 \u062A\u0648\u0647\u0627\u0646 \u068F\u0633\u06BB \u0686\u0627\u0647\u064A\u0648 \u067F\u0627 \u0627\u0647\u0648 \u0686\u0648\u0646\u068A\u064A\u0648.",
|
|
8432
|
+
userIdLabel: "\u064A\u0648\u0632\u0631 \u0622\u0626\u064A\u068A\u064A: {{id}}",
|
|
8433
|
+
signingInEllipsis: "\u0633\u0627\u0626\u0646 \u0627\u0646 \u067F\u064A \u0631\u0647\u064A\u0648 \u0622\u0647\u064A\u2026",
|
|
8434
|
+
switchProfile: "\u067E\u0631\u0648\u0641\u0627\u0626\u0644 \u062A\u0628\u062F\u064A\u0644 \u06AA\u0631\u064A\u0648"
|
|
8295
8435
|
};
|
|
8296
8436
|
|
|
8297
8437
|
// src/RedactoPrivacyCenter/locales/ta/translation.json
|
|
@@ -8705,7 +8845,14 @@ var translation_default21 = {
|
|
|
8705
8845
|
submittingAs: "{{email}} \u0B86\u0B95 \u0B9A\u0BAE\u0BB0\u0BCD\u0BAA\u0BCD\u0BAA\u0BBF\u0B95\u0BCD\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BCD",
|
|
8706
8846
|
tapToChooseFile: "\u0B95\u0BCB\u0BAA\u0BCD\u0BAA\u0BC8\u0BA4\u0BCD \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95 \u0BA4\u0B9F\u0BCD\u0B9F\u0BB5\u0BC1\u0BAE\u0BCD",
|
|
8707
8847
|
view: "\u0BAA\u0BBE\u0BB0\u0BCD",
|
|
8708
|
-
whatDoYouNeed: "\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BC1 \u0B8E\u0BA9\u0BCD\u0BA9 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD?"
|
|
8848
|
+
whatDoYouNeed: "\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BC1 \u0B8E\u0BA9\u0BCD\u0BA9 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD?",
|
|
8849
|
+
sessionExpiredTitle: "\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B85\u0BAE\u0BB0\u0BCD\u0BB5\u0BC1 \u0B95\u0BBE\u0BB2\u0BBE\u0BB5\u0BA4\u0BBF\u0BAF\u0BBE\u0B95\u0BBF\u0BB5\u0BBF\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1",
|
|
8850
|
+
sessionExpiredDescription: "\u0BA4\u0BCA\u0B9F\u0BB0\u0BCD\u0BB5\u0BA4\u0BB1\u0BCD\u0B95\u0BC1 \u0BA4\u0BAF\u0BB5\u0BC1\u0B9A\u0BC6\u0BAF\u0BCD\u0BA4\u0BC1 \u0BAE\u0BC0\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD \u0B89\u0BB3\u0BCD\u0BA8\u0BC1\u0BB4\u0BC8\u0BAF\u0BB5\u0BC1\u0BAE\u0BCD.",
|
|
8851
|
+
chooseYourProfile: "\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BC1\u0BAF\u0BB5\u0BBF\u0BB5\u0BB0\u0BA4\u0BCD\u0BA4\u0BC8\u0BA4\u0BCD \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",
|
|
8852
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0B89\u0BB3\u0BCD\u0BA8\u0BC1\u0BB4\u0BC8\u0BB5\u0BC1 \u0B90\u0B9F\u0BBF \u0B92\u0BA9\u0BCD\u0BB1\u0BC1\u0B95\u0BCD\u0B95\u0BC1 \u0BAE\u0BC7\u0BB1\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F \u0B9A\u0BC1\u0BAF\u0BB5\u0BBF\u0BB5\u0BB0\u0B99\u0BCD\u0B95\u0BB3\u0BC1\u0B9F\u0BA9\u0BCD \u0B87\u0BA3\u0BC8\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BC1\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1. \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0BB5\u0BA4\u0BC8\u0BA4\u0BCD \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD.",
|
|
8853
|
+
userIdLabel: "\u0BAA\u0BAF\u0BA9\u0BB0\u0BCD \u0B90\u0B9F\u0BBF: {{id}}",
|
|
8854
|
+
signingInEllipsis: "\u0B89\u0BB3\u0BCD\u0BA8\u0BC1\u0BB4\u0BC8\u0B95\u0BBF\u0BB1\u0BA4\u0BC1\u2026",
|
|
8855
|
+
switchProfile: "\u0B9A\u0BC1\u0BAF\u0BB5\u0BBF\u0BB5\u0BB0\u0BA4\u0BCD\u0BA4\u0BC8 \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BC1"
|
|
8709
8856
|
};
|
|
8710
8857
|
|
|
8711
8858
|
// src/RedactoPrivacyCenter/locales/te/translation.json
|
|
@@ -9119,7 +9266,14 @@ var translation_default22 = {
|
|
|
9119
9266
|
submittingAs: "{{email}} \u0C17\u0C3E \u0C38\u0C2E\u0C30\u0C4D\u0C2A\u0C3F\u0C38\u0C4D\u0C24\u0C41\u0C28\u0C4D\u0C28\u0C3E\u0C30\u0C41",
|
|
9120
9267
|
tapToChooseFile: "\u0C2B\u0C48\u0C32\u0C4D\u200C\u0C28\u0C41 \u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C4B\u0C35\u0C21\u0C3E\u0C28\u0C3F\u0C15\u0C3F \u0C28\u0C4A\u0C15\u0C4D\u0C15\u0C02\u0C21\u0C3F",
|
|
9121
9268
|
view: "\u0C35\u0C40\u0C15\u0C4D\u0C37\u0C3F\u0C02\u0C1A\u0C02\u0C21\u0C3F",
|
|
9122
|
-
whatDoYouNeed: "\u0C2E\u0C40\u0C15\u0C41 \u0C0F\u0C2E\u0C3F \u0C15\u0C3E\u0C35\u0C3E\u0C32\u0C3F?"
|
|
9269
|
+
whatDoYouNeed: "\u0C2E\u0C40\u0C15\u0C41 \u0C0F\u0C2E\u0C3F \u0C15\u0C3E\u0C35\u0C3E\u0C32\u0C3F?",
|
|
9270
|
+
sessionExpiredTitle: "\u0C2E\u0C40 \u0C38\u0C46\u0C37\u0C28\u0C4D \u0C17\u0C21\u0C41\u0C35\u0C41 \u0C2E\u0C41\u0C17\u0C3F\u0C38\u0C3F\u0C02\u0C26\u0C3F",
|
|
9271
|
+
sessionExpiredDescription: "\u0C15\u0C4A\u0C28\u0C38\u0C3E\u0C17\u0C3F\u0C02\u0C1A\u0C21\u0C3E\u0C28\u0C3F\u0C15\u0C3F \u0C26\u0C2F\u0C1A\u0C47\u0C38\u0C3F \u0C2E\u0C33\u0C4D\u0C32\u0C40 \u0C38\u0C48\u0C28\u0C4D \u0C07\u0C28\u0C4D \u0C1A\u0C47\u0C2F\u0C02\u0C21\u0C3F.",
|
|
9272
|
+
chooseYourProfile: "\u0C2E\u0C40 \u0C2A\u0C4D\u0C30\u0C4A\u0C2B\u0C48\u0C32\u0C4D\u200C\u0C28\u0C41 \u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C4B\u0C02\u0C21\u0C3F",
|
|
9273
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0C32\u0C3E\u0C17\u0C3F\u0C28\u0C4D \u0C10\u0C21\u0C3F \u0C12\u0C15\u0C1F\u0C3F \u0C15\u0C02\u0C1F\u0C47 \u0C0E\u0C15\u0C4D\u0C15\u0C41\u0C35 \u0C2A\u0C4D\u0C30\u0C4A\u0C2B\u0C48\u0C32\u0C4D\u200C\u0C32\u0C24\u0C4B \u0C05\u0C28\u0C41\u0C38\u0C02\u0C27\u0C3E\u0C28\u0C3F\u0C02\u0C1A\u0C2C\u0C21\u0C3F\u0C02\u0C26\u0C3F. \u0C2E\u0C40\u0C30\u0C41 \u0C1A\u0C42\u0C21\u0C3E\u0C32\u0C28\u0C41\u0C15\u0C41\u0C02\u0C1F\u0C41\u0C28\u0C4D\u0C28\u0C26\u0C3E\u0C28\u0C4D\u0C28\u0C3F \u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C4B\u0C02\u0C21\u0C3F.",
|
|
9274
|
+
userIdLabel: "\u0C35\u0C3F\u0C28\u0C3F\u0C2F\u0C4B\u0C17\u0C26\u0C3E\u0C30\u0C41 \u0C10\u0C21\u0C3F: {{id}}",
|
|
9275
|
+
signingInEllipsis: "\u0C38\u0C48\u0C28\u0C4D \u0C07\u0C28\u0C4D \u0C05\u0C35\u0C41\u0C24\u0C4B\u0C02\u0C26\u0C3F\u2026",
|
|
9276
|
+
switchProfile: "\u0C2A\u0C4D\u0C30\u0C4A\u0C2B\u0C48\u0C32\u0C4D\u200C\u0C28\u0C41 \u0C2E\u0C3E\u0C30\u0C4D\u0C1A\u0C02\u0C21\u0C3F"
|
|
9123
9277
|
};
|
|
9124
9278
|
|
|
9125
9279
|
// src/RedactoPrivacyCenter/locales/ur/translation.json
|
|
@@ -9533,7 +9687,14 @@ var translation_default23 = {
|
|
|
9533
9687
|
submittingAs: "{{email}} \u06A9\u06D2 \u0637\u0648\u0631 \u067E\u0631 \u062C\u0645\u0639 \u06A9\u0631 \u0631\u06C1\u06D2 \u06C1\u06CC\u06BA",
|
|
9534
9688
|
tapToChooseFile: "\u0641\u0627\u0626\u0644 \u0645\u0646\u062A\u062E\u0628 \u06A9\u0631\u0646\u06D2 \u06A9\u06D2 \u0644\u06CC\u06D2 \u0679\u06CC\u067E \u06A9\u0631\u06CC\u06BA",
|
|
9535
9689
|
view: "\u062F\u06CC\u06A9\u06BE\u06CC\u06BA",
|
|
9536
|
-
whatDoYouNeed: "\u0622\u067E \u06A9\u0648 \u06A9\u06CC\u0627 \u0686\u0627\u06C1\u06CC\u06D2\u061F"
|
|
9690
|
+
whatDoYouNeed: "\u0622\u067E \u06A9\u0648 \u06A9\u06CC\u0627 \u0686\u0627\u06C1\u06CC\u06D2\u061F",
|
|
9691
|
+
sessionExpiredTitle: "\u0622\u067E \u06A9\u0627 \u0633\u06CC\u0634\u0646 \u062E\u062A\u0645 \u06C1\u0648 \u06AF\u06CC\u0627 \u06C1\u06D2",
|
|
9692
|
+
sessionExpiredDescription: "\u062C\u0627\u0631\u06CC \u0631\u06A9\u06BE\u0646\u06D2 \u06A9\u06D2 \u0644\u06CC\u06D2 \u0628\u0631\u0627\u06C1 \u06A9\u0631\u0645 \u062F\u0648\u0628\u0627\u0631\u06C1 \u0633\u0627\u0626\u0646 \u0627\u0650\u0646 \u06A9\u0631\u06CC\u06BA\u06D4",
|
|
9693
|
+
chooseYourProfile: "\u0627\u067E\u0646\u06CC \u067E\u0631\u0648\u0641\u0627\u0626\u0644 \u0645\u0646\u062A\u062E\u0628 \u06A9\u0631\u06CC\u06BA",
|
|
9694
|
+
loginIdentifierLinkedToMultipleProfiles: "\u0644\u0627\u06AF \u0627\u0646 \u0622\u0626\u06CC \u0688\u06CC \u0627\u06CC\u06A9 \u0633\u06D2 \u0632\u06CC\u0627\u062F\u06C1 \u067E\u0631\u0648\u0641\u0627\u0626\u0644\u0632 \u0633\u06D2 \u0645\u0646\u0633\u0644\u06A9 \u06C1\u06D2\u06D4 \u062C\u0633\u06D2 \u0622\u067E \u062F\u06CC\u06A9\u06BE\u0646\u0627 \u0686\u0627\u06C1\u062A\u06D2 \u06C1\u06CC\u06BA \u0627\u0633\u06D2 \u0645\u0646\u062A\u062E\u0628 \u06A9\u0631\u06CC\u06BA\u06D4",
|
|
9695
|
+
userIdLabel: "\u0635\u0627\u0631\u0641 \u0622\u0626\u06CC \u0688\u06CC: {{id}}",
|
|
9696
|
+
signingInEllipsis: "\u0633\u0627\u0626\u0646 \u0627\u0646 \u06C1\u0648 \u0631\u06C1\u0627 \u06C1\u06D2\u2026",
|
|
9697
|
+
switchProfile: "\u067E\u0631\u0648\u0641\u0627\u0626\u0644 \u062A\u0628\u062F\u06CC\u0644 \u06A9\u0631\u06CC\u06BA"
|
|
9537
9698
|
};
|
|
9538
9699
|
|
|
9539
9700
|
// src/RedactoPrivacyCenter/lib/locales.ts
|
|
@@ -9779,6 +9940,26 @@ var sandboxQueryIdentity = () => sandboxBodyIdentity();
|
|
|
9779
9940
|
var sandboxContact = () => sandboxConfig ? sandboxConfig.ucic || sandboxConfig.subject : null;
|
|
9780
9941
|
|
|
9781
9942
|
// src/RedactoPrivacyCenter/api/fetcher.ts
|
|
9943
|
+
var ApiError = class _ApiError extends Error {
|
|
9944
|
+
constructor(message, options = {}) {
|
|
9945
|
+
super(message);
|
|
9946
|
+
this.name = "ApiError";
|
|
9947
|
+
this.status = options.status;
|
|
9948
|
+
this.detail = options.detail;
|
|
9949
|
+
Object.setPrototypeOf(this, _ApiError.prototype);
|
|
9950
|
+
}
|
|
9951
|
+
};
|
|
9952
|
+
var TERMINAL_REFRESH_STATUSES = /* @__PURE__ */ new Set([400, 401, 403, 422]);
|
|
9953
|
+
function isTerminalRefreshError(error) {
|
|
9954
|
+
const e = error;
|
|
9955
|
+
if (!e) return false;
|
|
9956
|
+
if (typeof e.status === "number") {
|
|
9957
|
+
return TERMINAL_REFRESH_STATUSES.has(e.status);
|
|
9958
|
+
}
|
|
9959
|
+
const message = (typeof e.message === "string" ? e.message : "").toLowerCase();
|
|
9960
|
+
if (!message) return false;
|
|
9961
|
+
return message.includes("expired") || message.includes("revoked") || message.includes("not found") || message.includes("already used") || message.includes("invalid refresh token") || message.includes("unauthorized") || message.includes("[401]") || message.includes("[403]");
|
|
9962
|
+
}
|
|
9782
9963
|
async function apiFetch(url, options = {}) {
|
|
9783
9964
|
const { getAuthToken, headers = {}, ...fetchOptions } = options;
|
|
9784
9965
|
const requestHeaders = new Headers();
|
|
@@ -9843,7 +10024,7 @@ async function apiFetch(url, options = {}) {
|
|
|
9843
10024
|
} catch {
|
|
9844
10025
|
}
|
|
9845
10026
|
}
|
|
9846
|
-
throw new
|
|
10027
|
+
throw new ApiError(errorMessage, { status: response.status });
|
|
9847
10028
|
}
|
|
9848
10029
|
const contentLength = response.headers.get("Content-Length");
|
|
9849
10030
|
const contentType = response.headers.get("Content-Type") || "";
|
|
@@ -10261,6 +10442,32 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10261
10442
|
authToken: authToken || baseRequest.authToken
|
|
10262
10443
|
});
|
|
10263
10444
|
},
|
|
10445
|
+
/**
|
|
10446
|
+
* List all data principals that share this session's contact
|
|
10447
|
+
* (shared-contact profile picker). Identity is derived server-side from the
|
|
10448
|
+
* JWT — the caller sends nothing but its bearer token.
|
|
10449
|
+
*/
|
|
10450
|
+
async listIdentities(baseRequest, authToken, options) {
|
|
10451
|
+
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/identities`;
|
|
10452
|
+
return privacyCenterApiFetch(url, {
|
|
10453
|
+
...options,
|
|
10454
|
+
authToken: authToken || baseRequest.authToken
|
|
10455
|
+
});
|
|
10456
|
+
},
|
|
10457
|
+
/**
|
|
10458
|
+
* Re-scope the session to a chosen principal uuid (must be one of the
|
|
10459
|
+
* principals sharing this session's contact). Returns fresh access/refresh
|
|
10460
|
+
* tokens scoped to that principal.
|
|
10461
|
+
*/
|
|
10462
|
+
async selectPrincipal(baseRequest, principalUuid, authToken, options) {
|
|
10463
|
+
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/identities/select`;
|
|
10464
|
+
return privacyCenterApiFetch(url, {
|
|
10465
|
+
...options,
|
|
10466
|
+
method: "POST",
|
|
10467
|
+
body: JSON.stringify({ uuid: principalUuid }),
|
|
10468
|
+
authToken: authToken || baseRequest.authToken
|
|
10469
|
+
});
|
|
10470
|
+
},
|
|
10264
10471
|
/**
|
|
10265
10472
|
* Get receipts (privacy center)
|
|
10266
10473
|
*/
|
|
@@ -11557,6 +11764,40 @@ var acknowledgeNotification = async (organizationId, workspaceId, notificationUu
|
|
|
11557
11764
|
var isRefreshing = false;
|
|
11558
11765
|
var refreshPromise = null;
|
|
11559
11766
|
var TOKEN_EXPIRY_BUFFER_SECONDS = 30;
|
|
11767
|
+
var deadRefreshToken = null;
|
|
11768
|
+
var transientRefreshFailureUntil = 0;
|
|
11769
|
+
var transientRefreshBackoffMs = 0;
|
|
11770
|
+
var MIN_REFRESH_BACKOFF_MS = 3e4;
|
|
11771
|
+
var MAX_REFRESH_BACKOFF_MS = 3e5;
|
|
11772
|
+
var sessionExpiredListener = null;
|
|
11773
|
+
var setSessionExpiredListener = (fn) => {
|
|
11774
|
+
sessionExpiredListener = fn;
|
|
11775
|
+
};
|
|
11776
|
+
var notifySessionExpired = () => {
|
|
11777
|
+
sessionExpiredListener == null ? void 0 : sessionExpiredListener();
|
|
11778
|
+
};
|
|
11779
|
+
var activeRefreshToken = (authContext) => (authContext == null ? void 0 : authContext.refreshToken) || getStoredValue("refresh_token") || null;
|
|
11780
|
+
var isRefreshBlocked = (authContext) => {
|
|
11781
|
+
const active = activeRefreshToken(authContext);
|
|
11782
|
+
if (active !== null && active === deadRefreshToken) return true;
|
|
11783
|
+
return Date.now() < transientRefreshFailureUntil;
|
|
11784
|
+
};
|
|
11785
|
+
var noteTransientRefreshFailure = () => {
|
|
11786
|
+
transientRefreshBackoffMs = Math.min(
|
|
11787
|
+
Math.max(transientRefreshBackoffMs * 2, MIN_REFRESH_BACKOFF_MS),
|
|
11788
|
+
MAX_REFRESH_BACKOFF_MS
|
|
11789
|
+
);
|
|
11790
|
+
transientRefreshFailureUntil = Date.now() + transientRefreshBackoffMs;
|
|
11791
|
+
};
|
|
11792
|
+
var markRefreshTokenDead = (token) => {
|
|
11793
|
+
if (token) deadRefreshToken = token;
|
|
11794
|
+
notifySessionExpired();
|
|
11795
|
+
};
|
|
11796
|
+
var resetRefreshCircuit = () => {
|
|
11797
|
+
deadRefreshToken = null;
|
|
11798
|
+
transientRefreshFailureUntil = 0;
|
|
11799
|
+
transientRefreshBackoffMs = 0;
|
|
11800
|
+
};
|
|
11560
11801
|
var tokenStore = {};
|
|
11561
11802
|
var getStoredValue = (key) => {
|
|
11562
11803
|
var _a3;
|
|
@@ -11612,6 +11853,14 @@ var decodeJwtToken = (token) => {
|
|
|
11612
11853
|
return null;
|
|
11613
11854
|
}
|
|
11614
11855
|
};
|
|
11856
|
+
var resolveContactFromJwt = (decoded) => {
|
|
11857
|
+
if (!decoded) {
|
|
11858
|
+
return null;
|
|
11859
|
+
}
|
|
11860
|
+
const userData = decoded.user_data || {};
|
|
11861
|
+
const candidate = decoded.contact || decoded.primary_email || userData.primary_email || userData.primary_mobile || userData.org_user_id;
|
|
11862
|
+
return typeof candidate === "string" && candidate.trim() !== "" ? candidate : null;
|
|
11863
|
+
};
|
|
11615
11864
|
var isJwtExpired = (token, bufferSeconds = 30) => {
|
|
11616
11865
|
if (!token || typeof token !== "string") return true;
|
|
11617
11866
|
try {
|
|
@@ -11647,6 +11896,7 @@ var ensureValidToken = async (organizationId, workspaceId, _slug, authContext, c
|
|
|
11647
11896
|
return accessToken;
|
|
11648
11897
|
}
|
|
11649
11898
|
if (isRefreshing && refreshPromise) return refreshPromise;
|
|
11899
|
+
if (isRefreshBlocked(authContext)) return null;
|
|
11650
11900
|
isRefreshing = true;
|
|
11651
11901
|
refreshPromise = performTokenRefresh(
|
|
11652
11902
|
organizationId,
|
|
@@ -11674,6 +11924,7 @@ var performTokenRefresh = async (organizationId, workspaceId, authContext, conse
|
|
|
11674
11924
|
if (!refreshToken || typeof refreshToken !== "string" || refreshToken.trim() === "") {
|
|
11675
11925
|
if (authContext == null ? void 0 : authContext.onError)
|
|
11676
11926
|
authContext.onError(new Error("No refresh token available"));
|
|
11927
|
+
notifySessionExpired();
|
|
11677
11928
|
signOutPrivacyCenter();
|
|
11678
11929
|
return null;
|
|
11679
11930
|
}
|
|
@@ -11703,11 +11954,13 @@ var performTokenRefresh = async (organizationId, workspaceId, authContext, conse
|
|
|
11703
11954
|
if (newRefreshToken)
|
|
11704
11955
|
setStoredValue("refresh_token", newRefreshToken);
|
|
11705
11956
|
}
|
|
11957
|
+
resetRefreshCircuit();
|
|
11706
11958
|
return newAccessToken;
|
|
11707
11959
|
}
|
|
11708
11960
|
}
|
|
11709
11961
|
if (authContext == null ? void 0 : authContext.onError)
|
|
11710
11962
|
authContext.onError(new Error("Refresh token expired or revoked"));
|
|
11963
|
+
markRefreshTokenDead(refreshToken);
|
|
11711
11964
|
signOutPrivacyCenter();
|
|
11712
11965
|
return null;
|
|
11713
11966
|
} catch (error) {
|
|
@@ -11715,7 +11968,12 @@ var performTokenRefresh = async (organizationId, workspaceId, authContext, conse
|
|
|
11715
11968
|
authContext.onError(
|
|
11716
11969
|
error instanceof Error ? error : new Error(String(error))
|
|
11717
11970
|
);
|
|
11718
|
-
|
|
11971
|
+
if (isTerminalRefreshError(error)) {
|
|
11972
|
+
markRefreshTokenDead(refreshToken);
|
|
11973
|
+
signOutPrivacyCenter();
|
|
11974
|
+
} else {
|
|
11975
|
+
noteTransientRefreshFailure();
|
|
11976
|
+
}
|
|
11719
11977
|
return null;
|
|
11720
11978
|
}
|
|
11721
11979
|
};
|
|
@@ -11762,10 +12020,9 @@ function extractJwtAuthData(token) {
|
|
|
11762
12020
|
if (!decoded) {
|
|
11763
12021
|
return { email: null, organizationId: null, workspaceId: null, organizationName: null };
|
|
11764
12022
|
}
|
|
11765
|
-
const
|
|
11766
|
-
const userEmail = decoded.contact || decoded.primary_email || decoded.email || decoded.user_uuid || decoded.sub || (userData && typeof userData === "object" ? userData.primary_email || userData.email || userData.contact : null) || null;
|
|
12023
|
+
const contact = resolveContactFromJwt(decoded) || getStoredValue("email");
|
|
11767
12024
|
return {
|
|
11768
|
-
email: typeof
|
|
12025
|
+
email: typeof contact === "string" && contact.trim() !== "" ? contact : null,
|
|
11769
12026
|
organizationId: decoded.organisation_uuid || null,
|
|
11770
12027
|
workspaceId: decoded.workspace_uuid || null,
|
|
11771
12028
|
organizationName: decoded.organisation_name || null
|
|
@@ -12153,8 +12410,17 @@ function DataAvailabilityProvider({ children }) {
|
|
|
12153
12410
|
mountedRef.current = false;
|
|
12154
12411
|
};
|
|
12155
12412
|
}, []);
|
|
12413
|
+
useEffect3(() => {
|
|
12414
|
+
setSessionExpiredListener(() => {
|
|
12415
|
+
if (!mountedRef.current) return;
|
|
12416
|
+
runIdRef.current += 1;
|
|
12417
|
+
setStatus("session-expired");
|
|
12418
|
+
});
|
|
12419
|
+
return () => setSessionExpiredListener(null);
|
|
12420
|
+
}, []);
|
|
12156
12421
|
const runCheck = useCallback4(async () => {
|
|
12157
12422
|
if (!organizationId || !workspaceId) return;
|
|
12423
|
+
if (isRefreshBlocked(authContext)) return;
|
|
12158
12424
|
const runId = ++runIdRef.current;
|
|
12159
12425
|
setStatus("checking");
|
|
12160
12426
|
const contact = email;
|
|
@@ -18290,6 +18556,7 @@ function useUnreadCount() {
|
|
|
18290
18556
|
const loadRef = useRef8();
|
|
18291
18557
|
loadRef.current = async () => {
|
|
18292
18558
|
if (!organizationId || !workspaceId) return;
|
|
18559
|
+
if (isRefreshBlocked(authContext)) return;
|
|
18293
18560
|
const res = await fetchUnreadCount(organizationId, workspaceId, authContext, consentClient);
|
|
18294
18561
|
if (res && typeof res.count === "number") setCount(res.count);
|
|
18295
18562
|
};
|
|
@@ -18615,17 +18882,255 @@ function PrivacyCenterEmptyState() {
|
|
|
18615
18882
|
return /* @__PURE__ */ jsx49(PCEmpty, { iconName: "shield", title: t("noDataTitle"), description: t("noDataDescription") });
|
|
18616
18883
|
}
|
|
18617
18884
|
|
|
18885
|
+
// src/RedactoPrivacyCenter/components/PrivacyCenterSessionExpired.tsx
|
|
18886
|
+
import { useTranslation as useTranslation20 } from "react-i18next";
|
|
18887
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
18888
|
+
function PrivacyCenterSessionExpired() {
|
|
18889
|
+
const { t } = useTranslation20();
|
|
18890
|
+
return /* @__PURE__ */ jsx50(
|
|
18891
|
+
PCEmpty,
|
|
18892
|
+
{
|
|
18893
|
+
iconName: "shield",
|
|
18894
|
+
title: t("sessionExpiredTitle"),
|
|
18895
|
+
description: t("sessionExpiredDescription")
|
|
18896
|
+
}
|
|
18897
|
+
);
|
|
18898
|
+
}
|
|
18899
|
+
|
|
18900
|
+
// src/RedactoPrivacyCenter/components/SelectUserGate.tsx
|
|
18901
|
+
import { useCallback as useCallback11, useEffect as useEffect16, useState as useState22 } from "react";
|
|
18902
|
+
import { StyleSheet as StyleSheet41, View as View39 } from "react-native";
|
|
18903
|
+
|
|
18904
|
+
// src/RedactoPrivacyCenter/context/ProfileSwitchContext.tsx
|
|
18905
|
+
import { createContext as createContext7, useContext as useContext7 } from "react";
|
|
18906
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
|
18907
|
+
var ProfileSwitchContext = createContext7({
|
|
18908
|
+
switchProfile: null
|
|
18909
|
+
});
|
|
18910
|
+
function ProfileSwitchProvider({
|
|
18911
|
+
switchProfile,
|
|
18912
|
+
children
|
|
18913
|
+
}) {
|
|
18914
|
+
return /* @__PURE__ */ jsx51(ProfileSwitchContext.Provider, { value: { switchProfile }, children });
|
|
18915
|
+
}
|
|
18916
|
+
function useProfileSwitch() {
|
|
18917
|
+
return useContext7(ProfileSwitchContext);
|
|
18918
|
+
}
|
|
18919
|
+
|
|
18920
|
+
// src/RedactoPrivacyCenter/components/SelectUser.tsx
|
|
18921
|
+
import { ScrollView as ScrollView8, StyleSheet as StyleSheet40, Text as Text30, TouchableOpacity as TouchableOpacity15, View as View38 } from "react-native";
|
|
18922
|
+
import { useTranslation as useTranslation21 } from "react-i18next";
|
|
18923
|
+
|
|
18924
|
+
// src/RedactoPrivacyCenter/lib/identityLabels.ts
|
|
18925
|
+
var identityPrimaryValue = (candidate) => {
|
|
18926
|
+
const orgUserId = candidate.org_user_id || "";
|
|
18927
|
+
const email = candidate.primary_email || "";
|
|
18928
|
+
const mobile = candidate.primary_mobile || "";
|
|
18929
|
+
return { orgUserId, fallback: email || mobile || candidate.uuid };
|
|
18930
|
+
};
|
|
18931
|
+
var identitySecondaryLabels = (candidate, primaryLabel) => {
|
|
18932
|
+
const email = candidate.primary_email || "";
|
|
18933
|
+
const mobile = candidate.primary_mobile || "";
|
|
18934
|
+
return [email, mobile].filter(
|
|
18935
|
+
(value, index, all) => value !== "" && value !== primaryLabel && all.indexOf(value) === index
|
|
18936
|
+
);
|
|
18937
|
+
};
|
|
18938
|
+
var selectableIdentities = (candidates) => candidates.filter((candidate) => Boolean(candidate.uuid));
|
|
18939
|
+
|
|
18940
|
+
// src/RedactoPrivacyCenter/components/SelectUser.tsx
|
|
18941
|
+
import { jsx as jsx52, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
18942
|
+
var SelectUser = ({
|
|
18943
|
+
candidates,
|
|
18944
|
+
onSelect,
|
|
18945
|
+
busyUuid,
|
|
18946
|
+
error
|
|
18947
|
+
}) => {
|
|
18948
|
+
const { t } = useTranslation21();
|
|
18949
|
+
const { colors } = useTheme();
|
|
18950
|
+
const selectable = selectableIdentities(candidates);
|
|
18951
|
+
const busy = busyUuid !== null;
|
|
18952
|
+
return /* @__PURE__ */ jsxs32(ScrollView8, { contentContainerStyle: styles39.container, children: [
|
|
18953
|
+
/* @__PURE__ */ jsx52(Text30, { style: [typography.title, styles39.heading, { color: colors.text }], children: t("chooseYourProfile") }),
|
|
18954
|
+
/* @__PURE__ */ jsx52(Text30, { style: [typography.body, styles39.subtitle, { color: colors.textSecondary }], children: t("loginIdentifierLinkedToMultipleProfiles") }),
|
|
18955
|
+
error ? /* @__PURE__ */ jsx52(Text30, { style: [typography.caption, styles39.error, { color: colors.error }], children: error }) : null,
|
|
18956
|
+
selectable.map((candidate) => {
|
|
18957
|
+
const { orgUserId, fallback } = identityPrimaryValue(candidate);
|
|
18958
|
+
const primaryLabel = orgUserId ? t("userIdLabel", { id: orgUserId }) : fallback;
|
|
18959
|
+
const secondaryLabels = identitySecondaryLabels(candidate, primaryLabel);
|
|
18960
|
+
const isBusy = busyUuid === candidate.uuid;
|
|
18961
|
+
return /* @__PURE__ */ jsxs32(
|
|
18962
|
+
TouchableOpacity15,
|
|
18963
|
+
{
|
|
18964
|
+
accessibilityRole: "button",
|
|
18965
|
+
disabled: busy,
|
|
18966
|
+
onPress: () => onSelect(candidate.uuid),
|
|
18967
|
+
style: [
|
|
18968
|
+
styles39.row,
|
|
18969
|
+
{
|
|
18970
|
+
backgroundColor: colors.surface,
|
|
18971
|
+
borderColor: isBusy ? colors.primary : colors.border
|
|
18972
|
+
}
|
|
18973
|
+
],
|
|
18974
|
+
children: [
|
|
18975
|
+
/* @__PURE__ */ jsxs32(View38, { style: styles39.rowText, children: [
|
|
18976
|
+
/* @__PURE__ */ jsx52(Text30, { style: [typography.label, { color: colors.text }], children: primaryLabel }),
|
|
18977
|
+
secondaryLabels.map((label) => /* @__PURE__ */ jsx52(
|
|
18978
|
+
Text30,
|
|
18979
|
+
{
|
|
18980
|
+
style: [typography.caption, styles39.secondary, { color: colors.textSecondary }],
|
|
18981
|
+
children: label
|
|
18982
|
+
},
|
|
18983
|
+
label
|
|
18984
|
+
))
|
|
18985
|
+
] }),
|
|
18986
|
+
isBusy ? /* @__PURE__ */ jsx52(Text30, { style: [typography.caption, { color: colors.textSecondary }], children: t("signingInEllipsis") }) : /* @__PURE__ */ jsx52(Icon, { name: "chevron-right", size: 18, color: colors.textSecondary })
|
|
18987
|
+
]
|
|
18988
|
+
},
|
|
18989
|
+
candidate.uuid
|
|
18990
|
+
);
|
|
18991
|
+
})
|
|
18992
|
+
] });
|
|
18993
|
+
};
|
|
18994
|
+
var styles39 = StyleSheet40.create({
|
|
18995
|
+
container: { padding: spacing.lg },
|
|
18996
|
+
heading: { textAlign: "center" },
|
|
18997
|
+
subtitle: { textAlign: "center", marginTop: spacing.xs, marginBottom: spacing.lg },
|
|
18998
|
+
error: { textAlign: "center", marginBottom: spacing.md },
|
|
18999
|
+
row: {
|
|
19000
|
+
flexDirection: "row",
|
|
19001
|
+
alignItems: "center",
|
|
19002
|
+
borderWidth: 1,
|
|
19003
|
+
borderRadius: radii.md,
|
|
19004
|
+
padding: spacing.md,
|
|
19005
|
+
marginBottom: spacing.sm
|
|
19006
|
+
},
|
|
19007
|
+
rowText: { flex: 1 },
|
|
19008
|
+
secondary: { marginTop: 2 }
|
|
19009
|
+
});
|
|
19010
|
+
|
|
19011
|
+
// src/RedactoPrivacyCenter/components/SelectUserGate.tsx
|
|
19012
|
+
import { jsx as jsx53 } from "react/jsx-runtime";
|
|
19013
|
+
function SelectUserGate({ children }) {
|
|
19014
|
+
var _a3, _b;
|
|
19015
|
+
const { accessToken, organizationId, workspaceId, updateTokens } = useAuth();
|
|
19016
|
+
const { consentClient } = useBaseUrl();
|
|
19017
|
+
const { colors } = useTheme();
|
|
19018
|
+
const insets = useSafeInsets();
|
|
19019
|
+
const [phase, setPhase] = useState22("checking");
|
|
19020
|
+
const [candidates, setCandidates] = useState22([]);
|
|
19021
|
+
const [busyUuid, setBusyUuid] = useState22(null);
|
|
19022
|
+
const [selectError, setSelectError] = useState22(null);
|
|
19023
|
+
const [pinnedOrgUserId, setPinnedOrgUserId] = useState22(null);
|
|
19024
|
+
const tokenOrgUserId = ((_b = (_a3 = decodeJwtToken(accessToken)) == null ? void 0 : _a3.user_data) == null ? void 0 : _b.org_user_id) || "";
|
|
19025
|
+
useEffect16(() => {
|
|
19026
|
+
let cancelled = false;
|
|
19027
|
+
if (isSandboxMode() || !organizationId || !workspaceId || !accessToken) {
|
|
19028
|
+
setPhase("resolved");
|
|
19029
|
+
return;
|
|
19030
|
+
}
|
|
19031
|
+
const isPinned = Boolean(pinnedOrgUserId) && pinnedOrgUserId === tokenOrgUserId;
|
|
19032
|
+
setPhase(isPinned ? "resolved" : "checking");
|
|
19033
|
+
(async () => {
|
|
19034
|
+
var _a4;
|
|
19035
|
+
try {
|
|
19036
|
+
const res = await consentClient.listIdentities({
|
|
19037
|
+
organisationUuid: organizationId,
|
|
19038
|
+
workspaceUuid: workspaceId,
|
|
19039
|
+
authToken: accessToken
|
|
19040
|
+
});
|
|
19041
|
+
if (cancelled) return;
|
|
19042
|
+
const list = (_a4 = res == null ? void 0 : res.identities) != null ? _a4 : [];
|
|
19043
|
+
setCandidates(list);
|
|
19044
|
+
setPhase(list.length > 1 && !isPinned ? "picking" : "resolved");
|
|
19045
|
+
} catch {
|
|
19046
|
+
if (cancelled) return;
|
|
19047
|
+
setCandidates([]);
|
|
19048
|
+
setPhase("resolved");
|
|
19049
|
+
}
|
|
19050
|
+
})();
|
|
19051
|
+
return () => {
|
|
19052
|
+
cancelled = true;
|
|
19053
|
+
};
|
|
19054
|
+
}, [organizationId, workspaceId, tokenOrgUserId]);
|
|
19055
|
+
const handleSelect = useCallback11(
|
|
19056
|
+
async (principalUuid) => {
|
|
19057
|
+
var _a4, _b2;
|
|
19058
|
+
if (!principalUuid || busyUuid || !organizationId || !workspaceId) return;
|
|
19059
|
+
setBusyUuid(principalUuid);
|
|
19060
|
+
setSelectError(null);
|
|
19061
|
+
try {
|
|
19062
|
+
const res = await consentClient.selectPrincipal(
|
|
19063
|
+
{
|
|
19064
|
+
organisationUuid: organizationId,
|
|
19065
|
+
workspaceUuid: workspaceId,
|
|
19066
|
+
authToken: accessToken
|
|
19067
|
+
},
|
|
19068
|
+
principalUuid
|
|
19069
|
+
);
|
|
19070
|
+
if (!(res == null ? void 0 : res.token) || !(res == null ? void 0 : res.refresh_token)) {
|
|
19071
|
+
throw new Error("select-principal returned no tokens");
|
|
19072
|
+
}
|
|
19073
|
+
const pinned = ((_b2 = (_a4 = decodeJwtToken(res.token)) == null ? void 0 : _a4.user_data) == null ? void 0 : _b2.org_user_id) || null;
|
|
19074
|
+
setPinnedOrgUserId(pinned);
|
|
19075
|
+
setPhase("resolved");
|
|
19076
|
+
updateTokens(res.token, res.refresh_token);
|
|
19077
|
+
} catch (error) {
|
|
19078
|
+
setSelectError(
|
|
19079
|
+
error instanceof Error ? error.message : "Failed to switch profile"
|
|
19080
|
+
);
|
|
19081
|
+
} finally {
|
|
19082
|
+
setBusyUuid(null);
|
|
19083
|
+
}
|
|
19084
|
+
},
|
|
19085
|
+
[accessToken, busyUuid, consentClient, organizationId, workspaceId, updateTokens]
|
|
19086
|
+
);
|
|
19087
|
+
const canSwitch = candidates.length > 1;
|
|
19088
|
+
const switchProfile = useCallback11(() => {
|
|
19089
|
+
if (!canSwitch) return;
|
|
19090
|
+
setSelectError(null);
|
|
19091
|
+
setPhase("picking");
|
|
19092
|
+
}, [canSwitch]);
|
|
19093
|
+
if (phase === "checking" || phase === "picking") {
|
|
19094
|
+
return /* @__PURE__ */ jsx53(
|
|
19095
|
+
View39,
|
|
19096
|
+
{
|
|
19097
|
+
style: [
|
|
19098
|
+
styles40.screen,
|
|
19099
|
+
{
|
|
19100
|
+
backgroundColor: colors.canvasSubtle,
|
|
19101
|
+
paddingTop: insets.top,
|
|
19102
|
+
paddingBottom: insets.bottom
|
|
19103
|
+
}
|
|
19104
|
+
],
|
|
19105
|
+
children: phase === "checking" ? /* @__PURE__ */ jsx53(PCLoader, {}) : /* @__PURE__ */ jsx53(
|
|
19106
|
+
SelectUser,
|
|
19107
|
+
{
|
|
19108
|
+
candidates,
|
|
19109
|
+
onSelect: handleSelect,
|
|
19110
|
+
busyUuid,
|
|
19111
|
+
error: selectError
|
|
19112
|
+
}
|
|
19113
|
+
)
|
|
19114
|
+
}
|
|
19115
|
+
);
|
|
19116
|
+
}
|
|
19117
|
+
return /* @__PURE__ */ jsx53(ProfileSwitchProvider, { switchProfile: canSwitch ? switchProfile : null, children });
|
|
19118
|
+
}
|
|
19119
|
+
var styles40 = StyleSheet41.create({
|
|
19120
|
+
screen: { flex: 1 }
|
|
19121
|
+
});
|
|
19122
|
+
|
|
18618
19123
|
// src/RedactoPrivacyCenter/components/CaseDetails/CaseDetailsPage.tsx
|
|
18619
|
-
import { useState as
|
|
18620
|
-
import { View as
|
|
18621
|
-
import { useTranslation as
|
|
19124
|
+
import { useState as useState24, useMemo as useMemo20, useEffect as useEffect19 } from "react";
|
|
19125
|
+
import { View as View47, Text as Text38, StyleSheet as StyleSheet49, ActivityIndicator as ActivityIndicator8, Platform as Platform7 } from "react-native";
|
|
19126
|
+
import { useTranslation as useTranslation27 } from "react-i18next";
|
|
18622
19127
|
|
|
18623
19128
|
// src/RedactoPrivacyCenter/components/CaseDetails/RequestDetailsTab.tsx
|
|
18624
|
-
import { View as
|
|
18625
|
-
import { useTranslation as
|
|
18626
|
-
import { jsx as
|
|
19129
|
+
import { View as View40, Text as Text31, ScrollView as ScrollView9, StyleSheet as StyleSheet42 } from "react-native";
|
|
19130
|
+
import { useTranslation as useTranslation22 } from "react-i18next";
|
|
19131
|
+
import { jsx as jsx54, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
18627
19132
|
function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
|
|
18628
|
-
const { t } =
|
|
19133
|
+
const { t } = useTranslation22();
|
|
18629
19134
|
const { colors } = useTheme();
|
|
18630
19135
|
const { listBottom } = usePrivacyCenterInsets({ hasFooter: true });
|
|
18631
19136
|
const details = selectedCase.request_details;
|
|
@@ -18657,36 +19162,36 @@ function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
|
|
|
18657
19162
|
}
|
|
18658
19163
|
const description = selectedCase.description_display || selectedCase.description;
|
|
18659
19164
|
const hasDetails = description || details && (details.purposes && details.purposes.length > 0 || details.correction_data && details.correction_data.length > 0 || details.grievance_types && details.grievance_types.length > 0 || details.nomination_data);
|
|
18660
|
-
return /* @__PURE__ */
|
|
18661
|
-
/* @__PURE__ */
|
|
19165
|
+
return /* @__PURE__ */ jsxs33(ScrollView9, { style: [styles41.container, { backgroundColor: colors.canvasSubtle }], contentContainerStyle: [styles41.content, { flexGrow: 1, paddingBottom: listBottom }], showsVerticalScrollIndicator: false, children: [
|
|
19166
|
+
/* @__PURE__ */ jsx54(View40, { style: styles41.timeline, children: steps.map((step, i) => {
|
|
18662
19167
|
const isLast = i === steps.length - 1;
|
|
18663
|
-
return /* @__PURE__ */
|
|
18664
|
-
/* @__PURE__ */
|
|
18665
|
-
/* @__PURE__ */
|
|
18666
|
-
|
|
19168
|
+
return /* @__PURE__ */ jsxs33(View40, { style: styles41.stepRow, children: [
|
|
19169
|
+
/* @__PURE__ */ jsxs33(View40, { style: styles41.gutter, children: [
|
|
19170
|
+
/* @__PURE__ */ jsx54(
|
|
19171
|
+
View40,
|
|
18667
19172
|
{
|
|
18668
19173
|
style: [
|
|
18669
|
-
|
|
19174
|
+
styles41.dot,
|
|
18670
19175
|
step.state === "upcoming" ? { backgroundColor: colors.canvasSubtle, borderWidth: 2, borderColor: step.danger ? colors.error : colors.border } : { backgroundColor: step.color }
|
|
18671
19176
|
],
|
|
18672
|
-
children: step.state === "done" ? /* @__PURE__ */
|
|
19177
|
+
children: step.state === "done" ? /* @__PURE__ */ jsx54(Icon, { name: "check", size: 11, color: colors.primaryText, strokeWidth: 3 }) : step.state === "current" ? /* @__PURE__ */ jsx54(View40, { style: [styles41.dotInner, { backgroundColor: colors.primaryText }] }) : null
|
|
18673
19178
|
}
|
|
18674
19179
|
),
|
|
18675
|
-
!isLast ? /* @__PURE__ */
|
|
19180
|
+
!isLast ? /* @__PURE__ */ jsx54(View40, { style: [styles41.connector, { backgroundColor: colors.border }] }) : null
|
|
18676
19181
|
] }),
|
|
18677
|
-
/* @__PURE__ */
|
|
18678
|
-
/* @__PURE__ */
|
|
18679
|
-
step.date ? /* @__PURE__ */
|
|
19182
|
+
/* @__PURE__ */ jsxs33(View40, { style: [styles41.stepContent, isLast && styles41.stepContentLast], children: [
|
|
19183
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.stepLabel, { color: step.danger ? colors.error : colors.text }], children: step.label }),
|
|
19184
|
+
step.date ? /* @__PURE__ */ jsx54(Text31, { style: [styles41.stepDate, { color: step.danger ? colors.error : colors.textSecondary }], children: step.date }) : null
|
|
18680
19185
|
] })
|
|
18681
19186
|
] }, `${step.label}-${i}`);
|
|
18682
19187
|
}) }),
|
|
18683
|
-
hasDetails ? /* @__PURE__ */
|
|
18684
|
-
description ? /* @__PURE__ */
|
|
18685
|
-
/* @__PURE__ */
|
|
18686
|
-
/* @__PURE__ */
|
|
19188
|
+
hasDetails ? /* @__PURE__ */ jsxs33(View40, { style: [styles41.card, elevation.card, { backgroundColor: colors.surface }], children: [
|
|
19189
|
+
description ? /* @__PURE__ */ jsxs33(View40, { style: styles41.block, children: [
|
|
19190
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.blockLabel, { color: colors.textSecondary }], children: t("descriptionLabel") || "Description" }),
|
|
19191
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.descriptionText, { color: colors.text }], children: description })
|
|
18687
19192
|
] }) : null,
|
|
18688
|
-
(details == null ? void 0 : details.purposes) && details.purposes.length > 0 ? /* @__PURE__ */
|
|
18689
|
-
/* @__PURE__ */
|
|
19193
|
+
(details == null ? void 0 : details.purposes) && details.purposes.length > 0 ? /* @__PURE__ */ jsxs33(View40, { style: styles41.block, children: [
|
|
19194
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.blockLabel, { color: colors.textSecondary }], children: t("purposesInvolved") || t("purposes") || "Purposes" }),
|
|
18690
19195
|
details.purposes.map((rawP, idx) => {
|
|
18691
19196
|
const p = (rawP == null ? void 0 : rawP.purpose) ? rawP.purpose : rawP;
|
|
18692
19197
|
const purposeId = (p == null ? void 0 : p.uuid) || (p == null ? void 0 : p.purpose_uuid) || (rawP == null ? void 0 : rawP.purpose_uuid) || idx;
|
|
@@ -18694,10 +19199,10 @@ function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
|
|
|
18694
19199
|
const purposeDescription = (p == null ? void 0 : p.description) || (rawP == null ? void 0 : rawP.description);
|
|
18695
19200
|
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)) : [];
|
|
18696
19201
|
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 : [];
|
|
18697
|
-
return /* @__PURE__ */
|
|
18698
|
-
/* @__PURE__ */
|
|
18699
|
-
purposeDescription ? /* @__PURE__ */
|
|
18700
|
-
dataElements.length > 0 ? /* @__PURE__ */
|
|
19202
|
+
return /* @__PURE__ */ jsxs33(View40, { style: [styles41.itemRow, idx > 0 && { borderTopColor: colors.hairline, borderTopWidth: StyleSheet42.hairlineWidth }], children: [
|
|
19203
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.itemTitle, { color: colors.text }], children: purposeName }),
|
|
19204
|
+
purposeDescription ? /* @__PURE__ */ jsx54(Text31, { style: [styles41.itemDesc, { color: colors.textSecondary }], numberOfLines: 3, children: purposeDescription }) : null,
|
|
19205
|
+
dataElements.length > 0 ? /* @__PURE__ */ jsx54(View40, { style: styles41.chipRow, children: dataElements.map((de) => /* @__PURE__ */ jsx54(PCBadge, { status: "info", label: de.name }, de.uuid)) }) : dataElementUuids.length > 0 ? /* @__PURE__ */ jsxs33(Text31, { style: [styles41.itemDesc, { color: colors.textSecondary }], children: [
|
|
18701
19206
|
dataElementUuids.length,
|
|
18702
19207
|
" ",
|
|
18703
19208
|
t("dataElements") || "data elements"
|
|
@@ -18705,44 +19210,44 @@ function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
|
|
|
18705
19210
|
] }, purposeId);
|
|
18706
19211
|
})
|
|
18707
19212
|
] }) : null,
|
|
18708
|
-
(details == null ? void 0 : details.correction_data) && details.correction_data.length > 0 ? /* @__PURE__ */
|
|
18709
|
-
/* @__PURE__ */
|
|
18710
|
-
details.correction_data.map((item, idx) => /* @__PURE__ */
|
|
18711
|
-
/* @__PURE__ */
|
|
18712
|
-
/* @__PURE__ */
|
|
18713
|
-
/* @__PURE__ */
|
|
18714
|
-
/* @__PURE__ */
|
|
18715
|
-
/* @__PURE__ */
|
|
19213
|
+
(details == null ? void 0 : details.correction_data) && details.correction_data.length > 0 ? /* @__PURE__ */ jsxs33(View40, { style: styles41.block, children: [
|
|
19214
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.blockLabel, { color: colors.textSecondary }], children: t("correctionData") || "Correction" }),
|
|
19215
|
+
details.correction_data.map((item, idx) => /* @__PURE__ */ jsxs33(View40, { style: [styles41.itemRow, idx > 0 && { borderTopColor: colors.hairline, borderTopWidth: StyleSheet42.hairlineWidth }], children: [
|
|
19216
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.itemTitle, { color: colors.text }], children: item.name }),
|
|
19217
|
+
/* @__PURE__ */ jsxs33(View40, { style: styles41.correctionValues, children: [
|
|
19218
|
+
/* @__PURE__ */ jsxs33(View40, { style: styles41.correctionValue, children: [
|
|
19219
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.correctionLabel, { color: colors.textSecondary }], children: t("currentValue") || "Current" }),
|
|
19220
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.correctionText, { color: colors.text }], children: item.curr_value || "-" })
|
|
18716
19221
|
] }),
|
|
18717
|
-
/* @__PURE__ */
|
|
18718
|
-
/* @__PURE__ */
|
|
18719
|
-
/* @__PURE__ */
|
|
18720
|
-
/* @__PURE__ */
|
|
19222
|
+
/* @__PURE__ */ jsx54(Icon, { name: "chevron-right", size: 16, color: colors.textSecondary, strokeWidth: 2.2 }),
|
|
19223
|
+
/* @__PURE__ */ jsxs33(View40, { style: styles41.correctionValue, children: [
|
|
19224
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.correctionLabel, { color: colors.textSecondary }], children: t("newValue") || "New" }),
|
|
19225
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.correctionText, { color: colors.primary }], children: item.new_value || "-" })
|
|
18721
19226
|
] })
|
|
18722
19227
|
] })
|
|
18723
19228
|
] }, idx))
|
|
18724
19229
|
] }) : null,
|
|
18725
|
-
(details == null ? void 0 : details.grievance_types) && details.grievance_types.length > 0 ? /* @__PURE__ */
|
|
18726
|
-
/* @__PURE__ */
|
|
18727
|
-
/* @__PURE__ */
|
|
19230
|
+
(details == null ? void 0 : details.grievance_types) && details.grievance_types.length > 0 ? /* @__PURE__ */ jsxs33(View40, { style: styles41.block, children: [
|
|
19231
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.blockLabel, { color: colors.textSecondary }], children: t("grievanceTypes") || "Grievance" }),
|
|
19232
|
+
/* @__PURE__ */ jsx54(View40, { style: styles41.chipRow, children: details.grievance_types.map((g, idx) => /* @__PURE__ */ jsx54(PCBadge, { status: "warning", label: (g.grievance || "").replace(/_/g, " ") }, idx)) })
|
|
18728
19233
|
] }) : null,
|
|
18729
|
-
(details == null ? void 0 : details.nomination_data) ? /* @__PURE__ */
|
|
18730
|
-
/* @__PURE__ */
|
|
18731
|
-
details.nomination_data.nominee_email ? /* @__PURE__ */
|
|
18732
|
-
/* @__PURE__ */
|
|
18733
|
-
/* @__PURE__ */
|
|
19234
|
+
(details == null ? void 0 : details.nomination_data) ? /* @__PURE__ */ jsxs33(View40, { style: styles41.block, children: [
|
|
19235
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.blockLabel, { color: colors.textSecondary }], children: t("nominationData") || "Nomination" }),
|
|
19236
|
+
details.nomination_data.nominee_email ? /* @__PURE__ */ jsxs33(View40, { style: styles41.kvRow, children: [
|
|
19237
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.kvLabel, { color: colors.textSecondary }], children: t("email") || "Email" }),
|
|
19238
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.kvValue, { color: colors.text }], children: details.nomination_data.nominee_email })
|
|
18734
19239
|
] }) : null,
|
|
18735
|
-
details.nomination_data.nominee_mobile ? /* @__PURE__ */
|
|
18736
|
-
/* @__PURE__ */
|
|
18737
|
-
/* @__PURE__ */
|
|
19240
|
+
details.nomination_data.nominee_mobile ? /* @__PURE__ */ jsxs33(View40, { style: styles41.kvRow, children: [
|
|
19241
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.kvLabel, { color: colors.textSecondary }], children: t("mobile") || "Mobile" }),
|
|
19242
|
+
/* @__PURE__ */ jsx54(Text31, { style: [styles41.kvValue, { color: colors.text }], children: details.nomination_data.nominee_mobile })
|
|
18738
19243
|
] }) : null
|
|
18739
19244
|
] }) : null
|
|
18740
19245
|
] }) : null,
|
|
18741
|
-
/* @__PURE__ */
|
|
19246
|
+
/* @__PURE__ */ jsx54(View40, { style: { marginTop: "auto" }, children: /* @__PURE__ */ jsx54(Footer, {}) })
|
|
18742
19247
|
] });
|
|
18743
19248
|
}
|
|
18744
19249
|
var DOT = 22;
|
|
18745
|
-
var
|
|
19250
|
+
var styles41 = StyleSheet42.create({
|
|
18746
19251
|
container: {
|
|
18747
19252
|
flex: 1
|
|
18748
19253
|
},
|
|
@@ -18863,21 +19368,21 @@ var styles39 = StyleSheet40.create({
|
|
|
18863
19368
|
});
|
|
18864
19369
|
|
|
18865
19370
|
// src/RedactoPrivacyCenter/components/CaseDetails/MessagesTab.tsx
|
|
18866
|
-
import { useState as
|
|
18867
|
-
import { View as
|
|
18868
|
-
import { useTranslation as
|
|
19371
|
+
import { useState as useState23, useRef as useRef10, useEffect as useEffect18, useCallback as useCallback12, useMemo as useMemo19 } from "react";
|
|
19372
|
+
import { View as View46, Text as Text37, FlatList as FlatList2, StyleSheet as StyleSheet48, ActivityIndicator as ActivityIndicator7 } from "react-native";
|
|
19373
|
+
import { useTranslation as useTranslation26 } from "react-i18next";
|
|
18869
19374
|
|
|
18870
19375
|
// src/RedactoPrivacyCenter/components/CaseDetails/MessageItem.tsx
|
|
18871
|
-
import
|
|
18872
|
-
import { useTranslation as
|
|
19376
|
+
import React23 from "react";
|
|
19377
|
+
import { useTranslation as useTranslation24 } from "react-i18next";
|
|
18873
19378
|
|
|
18874
19379
|
// src/RedactoPrivacyCenter/components/CaseDetails/ChatBubble.tsx
|
|
18875
|
-
import
|
|
18876
|
-
import { StyleSheet as
|
|
19380
|
+
import React22 from "react";
|
|
19381
|
+
import { StyleSheet as StyleSheet44, Text as Text33, View as View42 } from "react-native";
|
|
18877
19382
|
|
|
18878
19383
|
// src/RedactoPrivacyCenter/components/CaseDetails/AttachmentCard.tsx
|
|
18879
|
-
import { View as
|
|
18880
|
-
import { jsx as
|
|
19384
|
+
import { View as View41, Text as Text32, TouchableOpacity as TouchableOpacity16, Linking, StyleSheet as StyleSheet43 } from "react-native";
|
|
19385
|
+
import { jsx as jsx55, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
18881
19386
|
function AttachmentCard({ doc }) {
|
|
18882
19387
|
const { colors } = useTheme();
|
|
18883
19388
|
const downloadUrl = getDownloadUrl(doc.file_url);
|
|
@@ -18886,28 +19391,28 @@ function AttachmentCard({ doc }) {
|
|
|
18886
19391
|
Linking.openURL(downloadUrl);
|
|
18887
19392
|
}
|
|
18888
19393
|
};
|
|
18889
|
-
return /* @__PURE__ */
|
|
18890
|
-
|
|
19394
|
+
return /* @__PURE__ */ jsxs34(
|
|
19395
|
+
TouchableOpacity16,
|
|
18891
19396
|
{
|
|
18892
|
-
style: [
|
|
19397
|
+
style: [styles42.container, { backgroundColor: colors.surface, borderColor: colors.border }],
|
|
18893
19398
|
onPress: handlePress,
|
|
18894
19399
|
disabled: !downloadUrl,
|
|
18895
19400
|
activeOpacity: 0.7,
|
|
18896
19401
|
children: [
|
|
18897
|
-
/* @__PURE__ */
|
|
18898
|
-
/* @__PURE__ */
|
|
18899
|
-
/* @__PURE__ */
|
|
18900
|
-
doc.file_size ? /* @__PURE__ */
|
|
19402
|
+
/* @__PURE__ */ jsx55(Icon, { name: "file-text", size: 18, color: colors.textSecondary }),
|
|
19403
|
+
/* @__PURE__ */ jsxs34(View41, { style: styles42.info, children: [
|
|
19404
|
+
/* @__PURE__ */ jsx55(Text32, { style: [styles42.fileName, { color: colors.text }], numberOfLines: 1, children: doc.file_name || "Document" }),
|
|
19405
|
+
doc.file_size ? /* @__PURE__ */ jsx55(Text32, { style: [styles42.fileSize, { color: colors.textSecondary }], children: formatFileSize(doc.file_size) }) : null
|
|
18901
19406
|
] })
|
|
18902
19407
|
]
|
|
18903
19408
|
}
|
|
18904
19409
|
);
|
|
18905
19410
|
}
|
|
18906
|
-
var
|
|
19411
|
+
var styles42 = StyleSheet43.create({
|
|
18907
19412
|
container: {
|
|
18908
19413
|
flexDirection: "row",
|
|
18909
19414
|
alignItems: "center",
|
|
18910
|
-
borderWidth:
|
|
19415
|
+
borderWidth: StyleSheet43.hairlineWidth,
|
|
18911
19416
|
borderRadius: radii.md,
|
|
18912
19417
|
paddingHorizontal: spacing.sm + 2,
|
|
18913
19418
|
paddingVertical: spacing.sm,
|
|
@@ -18927,11 +19432,11 @@ var styles40 = StyleSheet41.create({
|
|
|
18927
19432
|
});
|
|
18928
19433
|
|
|
18929
19434
|
// src/RedactoPrivacyCenter/components/CaseDetails/ChatBubble.tsx
|
|
18930
|
-
import { jsx as
|
|
19435
|
+
import { jsx as jsx56, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
18931
19436
|
var AVATAR_SIZE = 28;
|
|
18932
19437
|
var AVATAR_GUTTER = 36;
|
|
18933
19438
|
function TeamAvatar({ tint }) {
|
|
18934
|
-
return /* @__PURE__ */
|
|
19439
|
+
return /* @__PURE__ */ jsx56(View42, { style: [styles43.avatar, { backgroundColor: withAlpha(tint, 0.13) }], children: /* @__PURE__ */ jsx56(Icon, { name: "shield-check", size: 15, color: tint, strokeWidth: 2 }) });
|
|
18935
19440
|
}
|
|
18936
19441
|
function ChatBubbleImpl({
|
|
18937
19442
|
message,
|
|
@@ -18958,28 +19463,28 @@ function ChatBubbleImpl({
|
|
|
18958
19463
|
borderBottomRightRadius: BUBBLE_RADIUS,
|
|
18959
19464
|
borderBottomLeftRadius: tailRadius
|
|
18960
19465
|
};
|
|
18961
|
-
const bubble = /* @__PURE__ */
|
|
18962
|
-
!isPrincipal && isFirstInGroup ? /* @__PURE__ */
|
|
18963
|
-
message.body ? /* @__PURE__ */
|
|
18964
|
-
message.documents && message.documents.length > 0 ? /* @__PURE__ */
|
|
19466
|
+
const bubble = /* @__PURE__ */ jsxs35(View42, { style: [styles43.bubble, bubbleStyle], children: [
|
|
19467
|
+
!isPrincipal && isFirstInGroup ? /* @__PURE__ */ jsx56(Text33, { style: [styles43.bubbleSender, { color: colors.primary }], numberOfLines: 1, children: senderLabel }) : null,
|
|
19468
|
+
message.body ? /* @__PURE__ */ jsx56(Text33, { style: [styles43.body, { color: isPrincipal ? colors.primaryText : colors.text }], children: message.body }) : null,
|
|
19469
|
+
message.documents && message.documents.length > 0 ? /* @__PURE__ */ jsx56(View42, { style: styles43.attachments, children: message.documents.map((doc) => /* @__PURE__ */ jsx56(AttachmentCard, { doc }, doc.uuid)) }) : null
|
|
18965
19470
|
] });
|
|
18966
|
-
return /* @__PURE__ */
|
|
18967
|
-
|
|
19471
|
+
return /* @__PURE__ */ jsxs35(
|
|
19472
|
+
View42,
|
|
18968
19473
|
{
|
|
18969
19474
|
style: [
|
|
18970
|
-
|
|
18971
|
-
isPrincipal ?
|
|
19475
|
+
styles43.row,
|
|
19476
|
+
isPrincipal ? styles43.rowRight : styles43.rowLeft,
|
|
18972
19477
|
{ marginTop: isFirstInGroup ? spacing.md : 2 }
|
|
18973
19478
|
],
|
|
18974
19479
|
children: [
|
|
18975
|
-
!isPrincipal ? /* @__PURE__ */
|
|
18976
|
-
/* @__PURE__ */
|
|
19480
|
+
!isPrincipal ? /* @__PURE__ */ jsx56(View42, { style: styles43.avatarSlot, children: isFirstInGroup ? /* @__PURE__ */ jsx56(TeamAvatar, { tint: colors.primary }) : null }) : null,
|
|
19481
|
+
/* @__PURE__ */ jsxs35(View42, { style: [styles43.column, isPrincipal ? styles43.columnRight : styles43.columnLeft], children: [
|
|
18977
19482
|
bubble,
|
|
18978
|
-
isLastInGroup ? /* @__PURE__ */
|
|
18979
|
-
|
|
19483
|
+
isLastInGroup ? /* @__PURE__ */ jsx56(
|
|
19484
|
+
Text33,
|
|
18980
19485
|
{
|
|
18981
19486
|
style: [
|
|
18982
|
-
|
|
19487
|
+
styles43.timestamp,
|
|
18983
19488
|
{ color: colors.textSecondary, textAlign: isPrincipal ? "right" : "left" }
|
|
18984
19489
|
],
|
|
18985
19490
|
children: formatMessageTime(timestamp)
|
|
@@ -18990,8 +19495,8 @@ function ChatBubbleImpl({
|
|
|
18990
19495
|
}
|
|
18991
19496
|
);
|
|
18992
19497
|
}
|
|
18993
|
-
var ChatBubble =
|
|
18994
|
-
var
|
|
19498
|
+
var ChatBubble = React22.memo(ChatBubbleImpl);
|
|
19499
|
+
var styles43 = StyleSheet44.create({
|
|
18995
19500
|
row: {
|
|
18996
19501
|
flexDirection: "row",
|
|
18997
19502
|
paddingHorizontal: spacing.md,
|
|
@@ -19051,9 +19556,9 @@ var styles41 = StyleSheet42.create({
|
|
|
19051
19556
|
});
|
|
19052
19557
|
|
|
19053
19558
|
// src/RedactoPrivacyCenter/components/CaseDetails/DocumentRequestCard.tsx
|
|
19054
|
-
import { View as
|
|
19055
|
-
import { useTranslation as
|
|
19056
|
-
import { jsx as
|
|
19559
|
+
import { View as View43, Text as Text34, TouchableOpacity as TouchableOpacity17, StyleSheet as StyleSheet45 } from "react-native";
|
|
19560
|
+
import { useTranslation as useTranslation23 } from "react-i18next";
|
|
19561
|
+
import { jsx as jsx57, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
19057
19562
|
var STATUS_BADGE_MAP = {
|
|
19058
19563
|
pending: "warning",
|
|
19059
19564
|
under_review: "info",
|
|
@@ -19073,20 +19578,20 @@ function humanize(value) {
|
|
|
19073
19578
|
}
|
|
19074
19579
|
function DocumentRequestCard({ message, onUpload, isSubmitting, isCaseFinalized = false }) {
|
|
19075
19580
|
var _a3;
|
|
19076
|
-
const { t } =
|
|
19581
|
+
const { t } = useTranslation23();
|
|
19077
19582
|
const { colors } = useTheme();
|
|
19078
19583
|
const meta = message.document_request_metadata;
|
|
19079
19584
|
if (!meta) return null;
|
|
19080
19585
|
const status = meta.document_request_status;
|
|
19081
19586
|
const canUpload = (status === "pending" || status === "replacement_requested") && !isCaseFinalized;
|
|
19082
19587
|
const requestEventUuid = meta.document_request_uuid;
|
|
19083
|
-
return /* @__PURE__ */
|
|
19084
|
-
/* @__PURE__ */
|
|
19085
|
-
/* @__PURE__ */
|
|
19086
|
-
/* @__PURE__ */
|
|
19087
|
-
/* @__PURE__ */
|
|
19588
|
+
return /* @__PURE__ */ jsxs36(View43, { style: [styles44.container, { borderColor: colors.border, backgroundColor: colors.surface }], children: [
|
|
19589
|
+
/* @__PURE__ */ jsxs36(View43, { style: styles44.header, children: [
|
|
19590
|
+
/* @__PURE__ */ jsxs36(View43, { style: styles44.titleRow, children: [
|
|
19591
|
+
/* @__PURE__ */ jsx57(Icon, { name: "file-check", size: 16, color: colors.primary, strokeWidth: 2 }),
|
|
19592
|
+
/* @__PURE__ */ jsx57(Text34, { style: [styles44.title, { color: colors.text }], children: meta.title || t("documentRequestedLabel") || "Document Requested" })
|
|
19088
19593
|
] }),
|
|
19089
|
-
/* @__PURE__ */
|
|
19594
|
+
/* @__PURE__ */ jsx57(
|
|
19090
19595
|
PCBadge,
|
|
19091
19596
|
{
|
|
19092
19597
|
status: STATUS_BADGE_MAP[status] || "info",
|
|
@@ -19094,30 +19599,30 @@ function DocumentRequestCard({ message, onUpload, isSubmitting, isCaseFinalized
|
|
|
19094
19599
|
}
|
|
19095
19600
|
)
|
|
19096
19601
|
] }),
|
|
19097
|
-
meta.accepted_document ? /* @__PURE__ */
|
|
19602
|
+
meta.accepted_document ? /* @__PURE__ */ jsx57(Text34, { style: [styles44.accepted, { color: colors.textSecondary }], children: t("acceptedLabel", {
|
|
19098
19603
|
accepted: meta.accepted_document,
|
|
19099
19604
|
defaultValue: `Accepted: ${meta.accepted_document}`
|
|
19100
19605
|
}) }) : null,
|
|
19101
|
-
meta.rejection_reason ? /* @__PURE__ */
|
|
19102
|
-
/* @__PURE__ */
|
|
19606
|
+
meta.rejection_reason ? /* @__PURE__ */ jsxs36(View43, { style: [styles44.rejectionBox, { backgroundColor: colors.errorSoft }], children: [
|
|
19607
|
+
/* @__PURE__ */ jsxs36(Text34, { style: [styles44.rejectionLabel, { color: colors.error }], children: [
|
|
19103
19608
|
t("rejectionReasonLabel") || "Rejection reason",
|
|
19104
19609
|
":"
|
|
19105
19610
|
] }),
|
|
19106
|
-
/* @__PURE__ */
|
|
19611
|
+
/* @__PURE__ */ jsx57(Text34, { style: [styles44.rejectionText, { color: colors.error }], children: meta.rejection_reason })
|
|
19107
19612
|
] }) : null,
|
|
19108
|
-
canUpload && requestEventUuid ? /* @__PURE__ */
|
|
19109
|
-
|
|
19613
|
+
canUpload && requestEventUuid ? /* @__PURE__ */ jsx57(
|
|
19614
|
+
TouchableOpacity17,
|
|
19110
19615
|
{
|
|
19111
|
-
style: [
|
|
19616
|
+
style: [styles44.uploadButton, { backgroundColor: colors.primary }],
|
|
19112
19617
|
onPress: () => onUpload(requestEventUuid),
|
|
19113
19618
|
disabled: isSubmitting,
|
|
19114
19619
|
activeOpacity: 0.7,
|
|
19115
|
-
children: /* @__PURE__ */
|
|
19620
|
+
children: /* @__PURE__ */ jsx57(Text34, { style: [styles44.uploadButtonText, { color: colors.primaryText }], children: isSubmitting ? t("loading") || "Loading..." : t("uploadAndSubmit") || "Upload & Submit" })
|
|
19116
19621
|
}
|
|
19117
19622
|
) : null
|
|
19118
19623
|
] });
|
|
19119
19624
|
}
|
|
19120
|
-
var
|
|
19625
|
+
var styles44 = StyleSheet45.create({
|
|
19121
19626
|
container: {
|
|
19122
19627
|
borderWidth: 1.5,
|
|
19123
19628
|
borderStyle: "dashed",
|
|
@@ -19170,20 +19675,20 @@ var styles42 = StyleSheet43.create({
|
|
|
19170
19675
|
});
|
|
19171
19676
|
|
|
19172
19677
|
// src/RedactoPrivacyCenter/components/CaseDetails/StatusEvent.tsx
|
|
19173
|
-
import { StyleSheet as
|
|
19174
|
-
import { jsx as
|
|
19678
|
+
import { StyleSheet as StyleSheet46, Text as Text35, View as View44 } from "react-native";
|
|
19679
|
+
import { jsx as jsx58, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
19175
19680
|
function StatusEvent({ icon, color, bgColor, borderColor, text, subText, timestamp }) {
|
|
19176
19681
|
const { colors } = useTheme();
|
|
19177
|
-
return /* @__PURE__ */
|
|
19178
|
-
/* @__PURE__ */
|
|
19179
|
-
/* @__PURE__ */
|
|
19180
|
-
/* @__PURE__ */
|
|
19181
|
-
subText ? /* @__PURE__ */
|
|
19682
|
+
return /* @__PURE__ */ jsxs37(View44, { style: [styles45.container, { backgroundColor: bgColor }], children: [
|
|
19683
|
+
/* @__PURE__ */ jsx58(View44, { style: [styles45.iconBubble, { backgroundColor: `${color}1F` }], children: icon }),
|
|
19684
|
+
/* @__PURE__ */ jsxs37(View44, { style: styles45.textContainer, children: [
|
|
19685
|
+
/* @__PURE__ */ jsx58(Text35, { style: [styles45.text, { color }], children: text }),
|
|
19686
|
+
subText ? /* @__PURE__ */ jsx58(Text35, { style: [styles45.subText, { color: colors.textSecondary }], numberOfLines: 2, children: subText }) : null
|
|
19182
19687
|
] }),
|
|
19183
|
-
/* @__PURE__ */
|
|
19688
|
+
/* @__PURE__ */ jsx58(Text35, { style: [styles45.timestamp, { color: colors.textSecondary }], children: formatMessageTime(timestamp) })
|
|
19184
19689
|
] });
|
|
19185
19690
|
}
|
|
19186
|
-
var
|
|
19691
|
+
var styles45 = StyleSheet46.create({
|
|
19187
19692
|
container: {
|
|
19188
19693
|
flexDirection: "row",
|
|
19189
19694
|
alignItems: "center",
|
|
@@ -19222,10 +19727,10 @@ var styles43 = StyleSheet44.create({
|
|
|
19222
19727
|
});
|
|
19223
19728
|
|
|
19224
19729
|
// src/RedactoPrivacyCenter/components/CaseDetails/MessageItem.tsx
|
|
19225
|
-
import { Fragment as Fragment12, jsx as
|
|
19226
|
-
var CheckIcon = ({ color }) => /* @__PURE__ */
|
|
19227
|
-
var XIcon = ({ color }) => /* @__PURE__ */
|
|
19228
|
-
var RefreshIcon = ({ color }) => /* @__PURE__ */
|
|
19730
|
+
import { Fragment as Fragment12, jsx as jsx59, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
19731
|
+
var CheckIcon = ({ color }) => /* @__PURE__ */ jsx59(Icon, { name: "check", size: 14, color, strokeWidth: 2.6 });
|
|
19732
|
+
var XIcon = ({ color }) => /* @__PURE__ */ jsx59(Icon, { name: "x", size: 14, color, strokeWidth: 2.6 });
|
|
19733
|
+
var RefreshIcon = ({ color }) => /* @__PURE__ */ jsx59(Icon, { name: "refresh-cw", size: 14, color, strokeWidth: 2.2 });
|
|
19229
19734
|
function MessageItemImpl({
|
|
19230
19735
|
message,
|
|
19231
19736
|
onUploadForRequest,
|
|
@@ -19235,14 +19740,14 @@ function MessageItemImpl({
|
|
|
19235
19740
|
isLastInGroup = true
|
|
19236
19741
|
}) {
|
|
19237
19742
|
var _a3, _b;
|
|
19238
|
-
const { t } =
|
|
19743
|
+
const { t } = useTranslation24();
|
|
19239
19744
|
const isPrincipal = message.sender_role === "data_principal";
|
|
19240
19745
|
const senderLabel = isPrincipal ? t("senderYou") || "You" : t("senderPrivacyTeam") || "Privacy Team";
|
|
19241
19746
|
switch (message.message_type) {
|
|
19242
19747
|
case "message_sent":
|
|
19243
19748
|
case "document_submitted":
|
|
19244
19749
|
case "document_replaced":
|
|
19245
|
-
return /* @__PURE__ */
|
|
19750
|
+
return /* @__PURE__ */ jsx59(
|
|
19246
19751
|
ChatBubble,
|
|
19247
19752
|
{
|
|
19248
19753
|
message,
|
|
@@ -19254,8 +19759,8 @@ function MessageItemImpl({
|
|
|
19254
19759
|
}
|
|
19255
19760
|
);
|
|
19256
19761
|
case "document_requested":
|
|
19257
|
-
return /* @__PURE__ */
|
|
19258
|
-
/* @__PURE__ */
|
|
19762
|
+
return /* @__PURE__ */ jsxs38(Fragment12, { children: [
|
|
19763
|
+
/* @__PURE__ */ jsx59(
|
|
19259
19764
|
ChatBubble,
|
|
19260
19765
|
{
|
|
19261
19766
|
message,
|
|
@@ -19266,7 +19771,7 @@ function MessageItemImpl({
|
|
|
19266
19771
|
isLastInGroup
|
|
19267
19772
|
}
|
|
19268
19773
|
),
|
|
19269
|
-
/* @__PURE__ */
|
|
19774
|
+
/* @__PURE__ */ jsx59(
|
|
19270
19775
|
DocumentRequestCard,
|
|
19271
19776
|
{
|
|
19272
19777
|
message,
|
|
@@ -19277,10 +19782,10 @@ function MessageItemImpl({
|
|
|
19277
19782
|
)
|
|
19278
19783
|
] });
|
|
19279
19784
|
case "document_approved":
|
|
19280
|
-
return /* @__PURE__ */
|
|
19785
|
+
return /* @__PURE__ */ jsx59(
|
|
19281
19786
|
StatusEvent,
|
|
19282
19787
|
{
|
|
19283
|
-
icon: /* @__PURE__ */
|
|
19788
|
+
icon: /* @__PURE__ */ jsx59(CheckIcon, { color: "#059669" }),
|
|
19284
19789
|
color: "#059669",
|
|
19285
19790
|
bgColor: "rgba(16, 185, 129, 0.08)",
|
|
19286
19791
|
borderColor: "rgba(16, 185, 129, 0.2)",
|
|
@@ -19289,10 +19794,10 @@ function MessageItemImpl({
|
|
|
19289
19794
|
}
|
|
19290
19795
|
);
|
|
19291
19796
|
case "document_rejected":
|
|
19292
|
-
return /* @__PURE__ */
|
|
19797
|
+
return /* @__PURE__ */ jsx59(
|
|
19293
19798
|
StatusEvent,
|
|
19294
19799
|
{
|
|
19295
|
-
icon: /* @__PURE__ */
|
|
19800
|
+
icon: /* @__PURE__ */ jsx59(XIcon, { color: "#DC2626" }),
|
|
19296
19801
|
color: "#DC2626",
|
|
19297
19802
|
bgColor: "rgba(220, 38, 38, 0.08)",
|
|
19298
19803
|
borderColor: "rgba(220, 38, 38, 0.2)",
|
|
@@ -19302,10 +19807,10 @@ function MessageItemImpl({
|
|
|
19302
19807
|
}
|
|
19303
19808
|
);
|
|
19304
19809
|
case "document_replacement_requested":
|
|
19305
|
-
return /* @__PURE__ */
|
|
19810
|
+
return /* @__PURE__ */ jsx59(
|
|
19306
19811
|
StatusEvent,
|
|
19307
19812
|
{
|
|
19308
|
-
icon: /* @__PURE__ */
|
|
19813
|
+
icon: /* @__PURE__ */ jsx59(RefreshIcon, { color: "#D97706" }),
|
|
19309
19814
|
color: "#D97706",
|
|
19310
19815
|
bgColor: "rgba(245, 158, 11, 0.08)",
|
|
19311
19816
|
borderColor: "rgba(245, 158, 11, 0.2)",
|
|
@@ -19315,7 +19820,7 @@ function MessageItemImpl({
|
|
|
19315
19820
|
}
|
|
19316
19821
|
);
|
|
19317
19822
|
default:
|
|
19318
|
-
return /* @__PURE__ */
|
|
19823
|
+
return /* @__PURE__ */ jsx59(
|
|
19319
19824
|
ChatBubble,
|
|
19320
19825
|
{
|
|
19321
19826
|
message,
|
|
@@ -19328,22 +19833,22 @@ function MessageItemImpl({
|
|
|
19328
19833
|
);
|
|
19329
19834
|
}
|
|
19330
19835
|
}
|
|
19331
|
-
var MessageItem =
|
|
19836
|
+
var MessageItem = React23.memo(MessageItemImpl);
|
|
19332
19837
|
|
|
19333
19838
|
// src/RedactoPrivacyCenter/components/CaseDetails/MessageComposer.tsx
|
|
19334
|
-
import { useEffect as
|
|
19839
|
+
import { useEffect as useEffect17, useRef as useRef9 } from "react";
|
|
19335
19840
|
import {
|
|
19336
19841
|
ActivityIndicator as ActivityIndicator6,
|
|
19337
19842
|
Animated as Animated12,
|
|
19338
19843
|
Easing as Easing3,
|
|
19339
|
-
StyleSheet as
|
|
19340
|
-
Text as
|
|
19844
|
+
StyleSheet as StyleSheet47,
|
|
19845
|
+
Text as Text36,
|
|
19341
19846
|
TextInput as TextInput3,
|
|
19342
|
-
TouchableOpacity as
|
|
19343
|
-
View as
|
|
19847
|
+
TouchableOpacity as TouchableOpacity18,
|
|
19848
|
+
View as View45
|
|
19344
19849
|
} from "react-native";
|
|
19345
|
-
import { useTranslation as
|
|
19346
|
-
import { jsx as
|
|
19850
|
+
import { useTranslation as useTranslation25 } from "react-i18next";
|
|
19851
|
+
import { jsx as jsx60, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
19347
19852
|
function MessageComposer({
|
|
19348
19853
|
messageText,
|
|
19349
19854
|
onMessageTextChange,
|
|
@@ -19355,11 +19860,11 @@ function MessageComposer({
|
|
|
19355
19860
|
isUploading,
|
|
19356
19861
|
isCaseFinalized = false
|
|
19357
19862
|
}) {
|
|
19358
|
-
const { t } =
|
|
19863
|
+
const { t } = useTranslation25();
|
|
19359
19864
|
const { colors } = useTheme();
|
|
19360
19865
|
const canSend = (messageText.trim().length > 0 || pendingUpload) && !isSending && !isUploading && !isCaseFinalized;
|
|
19361
19866
|
const activate = useRef9(new Animated12.Value(canSend ? 1 : 0)).current;
|
|
19362
|
-
|
|
19867
|
+
useEffect17(() => {
|
|
19363
19868
|
Animated12.timing(activate, {
|
|
19364
19869
|
toValue: canSend ? 1 : 0,
|
|
19365
19870
|
duration: 180,
|
|
@@ -19379,7 +19884,7 @@ function MessageComposer({
|
|
|
19379
19884
|
Animated12.spring(pressScale, { toValue: 1, useNativeDriver: true, speed: 20, bounciness: 6 }).start();
|
|
19380
19885
|
};
|
|
19381
19886
|
const pillIn = useRef9(new Animated12.Value(0)).current;
|
|
19382
|
-
|
|
19887
|
+
useEffect17(() => {
|
|
19383
19888
|
Animated12.timing(pillIn, {
|
|
19384
19889
|
toValue: pendingUpload ? 1 : 0,
|
|
19385
19890
|
duration: 220,
|
|
@@ -19389,12 +19894,12 @@ function MessageComposer({
|
|
|
19389
19894
|
}, [pendingUpload, pillIn]);
|
|
19390
19895
|
const pillOpacity = pillIn;
|
|
19391
19896
|
const pillTranslateY = pillIn.interpolate({ inputRange: [0, 1], outputRange: [8, 0] });
|
|
19392
|
-
return /* @__PURE__ */
|
|
19393
|
-
pendingUpload && /* @__PURE__ */
|
|
19897
|
+
return /* @__PURE__ */ jsxs39(View45, { style: [styles46.container, { borderTopColor: colors.hairline, backgroundColor: colors.canvasSubtle, paddingBottom: spacing.sm }], children: [
|
|
19898
|
+
pendingUpload && /* @__PURE__ */ jsxs39(
|
|
19394
19899
|
Animated12.View,
|
|
19395
19900
|
{
|
|
19396
19901
|
style: [
|
|
19397
|
-
|
|
19902
|
+
styles46.uploadPill,
|
|
19398
19903
|
{
|
|
19399
19904
|
backgroundColor: colors.primarySoft,
|
|
19400
19905
|
opacity: pillOpacity,
|
|
@@ -19402,34 +19907,34 @@ function MessageComposer({
|
|
|
19402
19907
|
}
|
|
19403
19908
|
],
|
|
19404
19909
|
children: [
|
|
19405
|
-
/* @__PURE__ */
|
|
19406
|
-
/* @__PURE__ */
|
|
19910
|
+
/* @__PURE__ */ jsx60(Icon, { name: "file", size: 14, color: colors.primary }),
|
|
19911
|
+
/* @__PURE__ */ jsxs39(Text36, { style: [styles46.uploadFileName, { color: colors.primary }], numberOfLines: 1, children: [
|
|
19407
19912
|
pendingUpload.file_name,
|
|
19408
19913
|
" (",
|
|
19409
19914
|
formatFileSize(pendingUpload.file_size),
|
|
19410
19915
|
")"
|
|
19411
19916
|
] }),
|
|
19412
|
-
/* @__PURE__ */
|
|
19917
|
+
/* @__PURE__ */ jsx60(TouchableOpacity18, { onPress: onRemovePendingUpload, hitSlop: { top: 8, bottom: 8, left: 8, right: 8 }, children: /* @__PURE__ */ jsx60(Icon, { name: "x", size: 14, color: colors.textSecondary, strokeWidth: 2.4 }) })
|
|
19413
19918
|
]
|
|
19414
19919
|
}
|
|
19415
19920
|
),
|
|
19416
|
-
/* @__PURE__ */
|
|
19417
|
-
/* @__PURE__ */
|
|
19418
|
-
|
|
19921
|
+
/* @__PURE__ */ jsxs39(View45, { style: [styles46.pill, { backgroundColor: colors.surface, borderColor: colors.border }, isCaseFinalized && styles46.pillDisabled], children: [
|
|
19922
|
+
/* @__PURE__ */ jsx60(
|
|
19923
|
+
TouchableOpacity18,
|
|
19419
19924
|
{
|
|
19420
|
-
style:
|
|
19925
|
+
style: styles46.attachButton,
|
|
19421
19926
|
onPress: onAttachClick,
|
|
19422
19927
|
disabled: isUploading || isCaseFinalized,
|
|
19423
19928
|
activeOpacity: 0.6,
|
|
19424
19929
|
hitSlop: DEFAULT_HIT_SLOP,
|
|
19425
19930
|
accessibilityLabel: t("uploadFile") || "Attach file",
|
|
19426
|
-
children: isUploading ? /* @__PURE__ */
|
|
19931
|
+
children: isUploading ? /* @__PURE__ */ jsx60(ActivityIndicator6, { size: "small", color: colors.primary }) : /* @__PURE__ */ jsx60(Icon, { name: "paperclip", size: 20, color: colors.textSecondary })
|
|
19427
19932
|
}
|
|
19428
19933
|
),
|
|
19429
|
-
/* @__PURE__ */
|
|
19934
|
+
/* @__PURE__ */ jsx60(
|
|
19430
19935
|
TextInput3,
|
|
19431
19936
|
{
|
|
19432
|
-
style: [
|
|
19937
|
+
style: [styles46.input, { color: colors.text }],
|
|
19433
19938
|
value: messageText,
|
|
19434
19939
|
onChangeText: onMessageTextChange,
|
|
19435
19940
|
placeholder: t("messageInputPlaceholder", { defaultValue: "Message\u2026" }),
|
|
@@ -19439,8 +19944,8 @@ function MessageComposer({
|
|
|
19439
19944
|
editable: !isSending && !isCaseFinalized
|
|
19440
19945
|
}
|
|
19441
19946
|
),
|
|
19442
|
-
/* @__PURE__ */
|
|
19443
|
-
|
|
19947
|
+
/* @__PURE__ */ jsx60(Animated12.View, { style: { transform: [{ scale: pressScale }] }, children: /* @__PURE__ */ jsx60(
|
|
19948
|
+
TouchableOpacity18,
|
|
19444
19949
|
{
|
|
19445
19950
|
onPress: onSend,
|
|
19446
19951
|
onPressIn: handlePressIn,
|
|
@@ -19448,15 +19953,15 @@ function MessageComposer({
|
|
|
19448
19953
|
disabled: !canSend,
|
|
19449
19954
|
activeOpacity: 0.85,
|
|
19450
19955
|
accessibilityLabel: t("send") || "Send",
|
|
19451
|
-
children: /* @__PURE__ */
|
|
19956
|
+
children: /* @__PURE__ */ jsx60(Animated12.View, { style: [styles46.sendButton, { backgroundColor: sendBgColor }], children: isSending ? /* @__PURE__ */ jsx60(ActivityIndicator6, { size: "small", color: colors.primaryText }) : /* @__PURE__ */ jsx60(View45, { style: styles46.sendIcon, children: /* @__PURE__ */ jsx60(Icon, { name: "send", size: 18, color: canSend ? colors.primaryText : colors.textSecondary }) }) })
|
|
19452
19957
|
}
|
|
19453
19958
|
) })
|
|
19454
19959
|
] })
|
|
19455
19960
|
] });
|
|
19456
19961
|
}
|
|
19457
|
-
var
|
|
19962
|
+
var styles46 = StyleSheet47.create({
|
|
19458
19963
|
container: {
|
|
19459
|
-
borderTopWidth:
|
|
19964
|
+
borderTopWidth: StyleSheet47.hairlineWidth,
|
|
19460
19965
|
paddingHorizontal: spacing.md,
|
|
19461
19966
|
paddingVertical: spacing.sm
|
|
19462
19967
|
},
|
|
@@ -19479,7 +19984,7 @@ var styles44 = StyleSheet45.create({
|
|
|
19479
19984
|
pill: {
|
|
19480
19985
|
flexDirection: "row",
|
|
19481
19986
|
alignItems: "center",
|
|
19482
|
-
borderWidth:
|
|
19987
|
+
borderWidth: StyleSheet47.hairlineWidth,
|
|
19483
19988
|
borderRadius: radii.xxl + 4,
|
|
19484
19989
|
paddingHorizontal: spacing.xs + 2,
|
|
19485
19990
|
paddingVertical: spacing.xs,
|
|
@@ -19518,7 +20023,7 @@ var styles44 = StyleSheet45.create({
|
|
|
19518
20023
|
});
|
|
19519
20024
|
|
|
19520
20025
|
// src/RedactoPrivacyCenter/components/CaseDetails/MessagesTab.tsx
|
|
19521
|
-
import { Fragment as Fragment13, jsx as
|
|
20026
|
+
import { Fragment as Fragment13, jsx as jsx61, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
19522
20027
|
var STREAK_GAP_MS = 5 * 60 * 1e3;
|
|
19523
20028
|
function isStreakBoundary(a, b) {
|
|
19524
20029
|
if (!a || !b) return true;
|
|
@@ -19548,7 +20053,7 @@ function sameDay(a, b) {
|
|
|
19548
20053
|
}
|
|
19549
20054
|
var MESSAGE_POLL_INTERVAL = 3e4;
|
|
19550
20055
|
function MessagesTab({ caseUuid, isCaseFinalized = false }) {
|
|
19551
|
-
const { t } =
|
|
20056
|
+
const { t } = useTranslation26();
|
|
19552
20057
|
const { accessToken, refreshToken, email, organizationId, workspaceId, onError, updateTokens } = useAuth();
|
|
19553
20058
|
const { consentClient } = useBaseUrl();
|
|
19554
20059
|
const { colors } = useTheme();
|
|
@@ -19564,13 +20069,13 @@ function MessagesTab({ caseUuid, isCaseFinalized = false }) {
|
|
|
19564
20069
|
caseUuid,
|
|
19565
20070
|
authContext
|
|
19566
20071
|
);
|
|
19567
|
-
const [messageText, setMessageText] =
|
|
19568
|
-
const [pendingUpload, setPendingUpload] =
|
|
19569
|
-
const [isSending, setIsSending] =
|
|
19570
|
-
const [isUploading, setIsUploading] =
|
|
19571
|
-
const [isSubmittingForRequest, setIsSubmittingForRequest] =
|
|
20072
|
+
const [messageText, setMessageText] = useState23("");
|
|
20073
|
+
const [pendingUpload, setPendingUpload] = useState23(null);
|
|
20074
|
+
const [isSending, setIsSending] = useState23(false);
|
|
20075
|
+
const [isUploading, setIsUploading] = useState23(false);
|
|
20076
|
+
const [isSubmittingForRequest, setIsSubmittingForRequest] = useState23(false);
|
|
19572
20077
|
const flatListRef = useRef10(null);
|
|
19573
|
-
|
|
20078
|
+
useEffect18(() => {
|
|
19574
20079
|
if (messages && messages.length > 0) {
|
|
19575
20080
|
setTimeout(() => {
|
|
19576
20081
|
var _a3;
|
|
@@ -19580,14 +20085,17 @@ function MessagesTab({ caseUuid, isCaseFinalized = false }) {
|
|
|
19580
20085
|
}, [messages == null ? void 0 : messages.length]);
|
|
19581
20086
|
const refetchRef = useRef10(refetch);
|
|
19582
20087
|
refetchRef.current = refetch;
|
|
19583
|
-
|
|
20088
|
+
const authContextRef = useRef10(authContext);
|
|
20089
|
+
authContextRef.current = authContext;
|
|
20090
|
+
useEffect18(() => {
|
|
19584
20091
|
if (isCaseFinalized) return;
|
|
19585
20092
|
const id = setInterval(() => {
|
|
20093
|
+
if (isRefreshBlocked(authContextRef.current)) return;
|
|
19586
20094
|
refetchRef.current();
|
|
19587
20095
|
}, MESSAGE_POLL_INTERVAL);
|
|
19588
20096
|
return () => clearInterval(id);
|
|
19589
20097
|
}, [isCaseFinalized]);
|
|
19590
|
-
const handleSend =
|
|
20098
|
+
const handleSend = useCallback12(async () => {
|
|
19591
20099
|
if (isCaseFinalized) return;
|
|
19592
20100
|
if (!messageText.trim() && !pendingUpload) return;
|
|
19593
20101
|
if (!organizationId || !workspaceId) return;
|
|
@@ -19612,7 +20120,7 @@ function MessagesTab({ caseUuid, isCaseFinalized = false }) {
|
|
|
19612
20120
|
setIsSending(false);
|
|
19613
20121
|
}
|
|
19614
20122
|
}, [isCaseFinalized, messageText, pendingUpload, organizationId, workspaceId, caseUuid, authContext, consentClient, refetch]);
|
|
19615
|
-
const handleAttach =
|
|
20123
|
+
const handleAttach = useCallback12(async () => {
|
|
19616
20124
|
if (isCaseFinalized) return;
|
|
19617
20125
|
if (!organizationId || !workspaceId) return;
|
|
19618
20126
|
try {
|
|
@@ -19647,7 +20155,7 @@ function MessagesTab({ caseUuid, isCaseFinalized = false }) {
|
|
|
19647
20155
|
setIsUploading(false);
|
|
19648
20156
|
}
|
|
19649
20157
|
}, [isCaseFinalized, organizationId, workspaceId, caseUuid, authContext, consentClient]);
|
|
19650
|
-
const handleUploadForRequest =
|
|
20158
|
+
const handleUploadForRequest = useCallback12((_requestEventUuid) => {
|
|
19651
20159
|
handleAttach();
|
|
19652
20160
|
}, [handleAttach]);
|
|
19653
20161
|
const messagesList = useMemo19(() => {
|
|
@@ -19659,17 +20167,17 @@ function MessagesTab({ caseUuid, isCaseFinalized = false }) {
|
|
|
19659
20167
|
});
|
|
19660
20168
|
return list;
|
|
19661
20169
|
}, [messages]);
|
|
19662
|
-
const keyExtractor =
|
|
19663
|
-
const renderMessage =
|
|
20170
|
+
const keyExtractor = useCallback12((item) => item.uuid, []);
|
|
20171
|
+
const renderMessage = useCallback12(
|
|
19664
20172
|
({ item, index }) => {
|
|
19665
20173
|
const prev = index > 0 ? messagesList[index - 1] : void 0;
|
|
19666
20174
|
const next = index < messagesList.length - 1 ? messagesList[index + 1] : void 0;
|
|
19667
20175
|
const isFirstInGroup = isStreakBoundary(prev, item);
|
|
19668
20176
|
const isLastInGroup = isStreakBoundary(item, next);
|
|
19669
20177
|
const dateSeparator = getDateSeparator(prev == null ? void 0 : prev.created_at, item.created_at, t);
|
|
19670
|
-
return /* @__PURE__ */
|
|
19671
|
-
dateSeparator ? /* @__PURE__ */
|
|
19672
|
-
/* @__PURE__ */
|
|
20178
|
+
return /* @__PURE__ */ jsxs40(Fragment13, { children: [
|
|
20179
|
+
dateSeparator ? /* @__PURE__ */ jsx61(View46, { style: styles47.daySeparator, children: /* @__PURE__ */ jsx61(View46, { style: [styles47.dayPill, { backgroundColor: colors.surfaceAlt }], children: /* @__PURE__ */ jsx61(Text37, { style: [styles47.dayPillText, { color: colors.textSecondary }], children: dateSeparator }) }) }) : null,
|
|
20180
|
+
/* @__PURE__ */ jsx61(
|
|
19673
20181
|
MessageItem,
|
|
19674
20182
|
{
|
|
19675
20183
|
message: item,
|
|
@@ -19685,32 +20193,32 @@ function MessagesTab({ caseUuid, isCaseFinalized = false }) {
|
|
|
19685
20193
|
[messagesList, handleUploadForRequest, isSubmittingForRequest, isCaseFinalized, colors, t]
|
|
19686
20194
|
);
|
|
19687
20195
|
if (isLoading) {
|
|
19688
|
-
return /* @__PURE__ */
|
|
20196
|
+
return /* @__PURE__ */ jsx61(View46, { style: styles47.centered, children: /* @__PURE__ */ jsx61(ActivityIndicator7, { size: "large", color: colors.primary }) });
|
|
19689
20197
|
}
|
|
19690
20198
|
if (error) {
|
|
19691
|
-
return /* @__PURE__ */
|
|
20199
|
+
return /* @__PURE__ */ jsx61(View46, { style: styles47.centered, children: /* @__PURE__ */ jsx61(Text37, { style: [styles47.errorText, { color: colors.error }], children: t("errorLoadingMessages") || "Error loading messages" }) });
|
|
19692
20200
|
}
|
|
19693
|
-
return /* @__PURE__ */
|
|
19694
|
-
/* @__PURE__ */
|
|
19695
|
-
/* @__PURE__ */
|
|
19696
|
-
/* @__PURE__ */
|
|
20201
|
+
return /* @__PURE__ */ jsxs40(View46, { style: [styles47.container, { backgroundColor: colors.canvasSubtle }], children: [
|
|
20202
|
+
/* @__PURE__ */ jsxs40(View46, { style: styles47.secureRow, children: [
|
|
20203
|
+
/* @__PURE__ */ jsx61(Icon, { name: "lock", size: 12, color: colors.textSecondary, strokeWidth: 2.2 }),
|
|
20204
|
+
/* @__PURE__ */ jsx61(Text37, { style: [styles47.secureText, { color: colors.textSecondary }], children: isCaseFinalized ? t("caseFinalizedMessagesTooltip") || "This case is finalized \u2014 messages can no longer be sent." : `${t("private", { defaultValue: "Private" })} \xB7 ${t("senderPrivacyTeam") || "Privacy Team"}` })
|
|
19697
20205
|
] }),
|
|
19698
|
-
/* @__PURE__ */
|
|
20206
|
+
/* @__PURE__ */ jsx61(
|
|
19699
20207
|
FlatList2,
|
|
19700
20208
|
{
|
|
19701
20209
|
ref: flatListRef,
|
|
19702
|
-
style:
|
|
20210
|
+
style: styles47.list,
|
|
19703
20211
|
data: messagesList,
|
|
19704
20212
|
keyExtractor,
|
|
19705
20213
|
renderItem: renderMessage,
|
|
19706
20214
|
contentContainerStyle: [
|
|
19707
|
-
|
|
19708
|
-
messagesList.length ?
|
|
20215
|
+
styles47.messagesList,
|
|
20216
|
+
messagesList.length ? styles47.messagesListFill : styles47.messagesListCenter
|
|
19709
20217
|
],
|
|
19710
|
-
ListEmptyComponent: /* @__PURE__ */
|
|
19711
|
-
/* @__PURE__ */
|
|
19712
|
-
/* @__PURE__ */
|
|
19713
|
-
/* @__PURE__ */
|
|
20218
|
+
ListEmptyComponent: /* @__PURE__ */ jsxs40(View46, { style: styles47.emptyContainer, children: [
|
|
20219
|
+
/* @__PURE__ */ jsx61(View46, { style: [styles47.emptyIconWrap, { backgroundColor: colors.primarySoft }], children: /* @__PURE__ */ jsx61(Icon, { name: "messages-square", size: 28, color: colors.primary, strokeWidth: 2 }) }),
|
|
20220
|
+
/* @__PURE__ */ jsx61(Text37, { style: [styles47.emptyTitle, { color: colors.text }], children: t("noMessagesYet") || "No messages yet" }),
|
|
20221
|
+
/* @__PURE__ */ jsx61(Text37, { style: [styles47.emptySubtitle, { color: colors.textSecondary }], children: t("noMessagesYetSubtitle", "Start the conversation below") })
|
|
19714
20222
|
] }),
|
|
19715
20223
|
onContentSizeChange: () => {
|
|
19716
20224
|
var _a3;
|
|
@@ -19722,7 +20230,7 @@ function MessagesTab({ caseUuid, isCaseFinalized = false }) {
|
|
|
19722
20230
|
removeClippedSubviews: true
|
|
19723
20231
|
}
|
|
19724
20232
|
),
|
|
19725
|
-
/* @__PURE__ */
|
|
20233
|
+
/* @__PURE__ */ jsx61(
|
|
19726
20234
|
MessageComposer,
|
|
19727
20235
|
{
|
|
19728
20236
|
messageText,
|
|
@@ -19738,7 +20246,7 @@ function MessagesTab({ caseUuid, isCaseFinalized = false }) {
|
|
|
19738
20246
|
)
|
|
19739
20247
|
] });
|
|
19740
20248
|
}
|
|
19741
|
-
var
|
|
20249
|
+
var styles47 = StyleSheet48.create({
|
|
19742
20250
|
container: {
|
|
19743
20251
|
flex: 1
|
|
19744
20252
|
},
|
|
@@ -19821,16 +20329,16 @@ var styles45 = StyleSheet46.create({
|
|
|
19821
20329
|
});
|
|
19822
20330
|
|
|
19823
20331
|
// src/RedactoPrivacyCenter/components/CaseDetails/CaseDetailsPage.tsx
|
|
19824
|
-
import { jsx as
|
|
20332
|
+
import { jsx as jsx62, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
19825
20333
|
function CaseDetailsPage() {
|
|
19826
20334
|
var _a3, _b;
|
|
19827
|
-
const { t } =
|
|
20335
|
+
const { t } = useTranslation27();
|
|
19828
20336
|
const { navigateTo, selectedCase, setSelectedCase, pendingCaseUuid } = useInternalNavigation();
|
|
19829
20337
|
const { accessToken, refreshToken, email, organizationId, workspaceId, onError, updateTokens } = useAuth();
|
|
19830
20338
|
const { colors } = useTheme();
|
|
19831
20339
|
const { keyboardOffset } = usePrivacyCenterInsets();
|
|
19832
20340
|
const requestTypeLabels = useRequestTypeLabels();
|
|
19833
|
-
const [activeTab, setActiveTab] =
|
|
20341
|
+
const [activeTab, setActiveTab] = useState24("request-details");
|
|
19834
20342
|
const authContext = useMemo20(() => ({
|
|
19835
20343
|
accessToken,
|
|
19836
20344
|
refreshToken,
|
|
@@ -19844,7 +20352,7 @@ function CaseDetailsPage() {
|
|
|
19844
20352
|
email != null ? email : void 0,
|
|
19845
20353
|
authContext
|
|
19846
20354
|
);
|
|
19847
|
-
|
|
20355
|
+
useEffect19(() => {
|
|
19848
20356
|
if (!cases) return;
|
|
19849
20357
|
if (cases.length === 0) {
|
|
19850
20358
|
navigateTo("form");
|
|
@@ -19858,33 +20366,33 @@ function CaseDetailsPage() {
|
|
|
19858
20366
|
navigateTo("form");
|
|
19859
20367
|
}
|
|
19860
20368
|
}, [cases, targetUuid, setSelectedCase, navigateTo]);
|
|
19861
|
-
|
|
20369
|
+
useEffect19(() => {
|
|
19862
20370
|
if (!selectedCase && !targetUuid && !isLoading) {
|
|
19863
20371
|
navigateTo("form");
|
|
19864
20372
|
}
|
|
19865
20373
|
}, [selectedCase, targetUuid, isLoading, navigateTo]);
|
|
19866
20374
|
if (!selectedCase) {
|
|
19867
|
-
return /* @__PURE__ */
|
|
20375
|
+
return /* @__PURE__ */ jsx62(View47, { style: styles48.centered, children: isLoading ? /* @__PURE__ */ jsx62(ActivityIndicator8, { size: "large", color: colors.primary }) : /* @__PURE__ */ jsx62(Text38, { style: [styles48.emptyText, { color: colors.textSecondary }], children: t("noCasesYet") || "No case selected" }) });
|
|
19868
20376
|
}
|
|
19869
20377
|
const requestTypeLabel = requestTypeLabels[(_b = selectedCase.request_type) == null ? void 0 : _b.toUpperCase()] || selectedCase.request_type_display || formatCaseStatus(selectedCase.request_type || "");
|
|
19870
20378
|
const tabs = [
|
|
19871
20379
|
{ id: "request-details", label: t("requestDetails") || "Request Details" },
|
|
19872
20380
|
{ id: "messages", label: t("messages") || "Messages" }
|
|
19873
20381
|
];
|
|
19874
|
-
return /* @__PURE__ */
|
|
20382
|
+
return /* @__PURE__ */ jsxs41(
|
|
19875
20383
|
KeyboardAvoidingViewCompat,
|
|
19876
20384
|
{
|
|
19877
|
-
style: [
|
|
20385
|
+
style: [styles48.container, { backgroundColor: colors.canvasSubtle }],
|
|
19878
20386
|
behavior: "padding",
|
|
19879
20387
|
keyboardVerticalOffset: Platform7.OS === "ios" ? keyboardOffset : 0,
|
|
19880
20388
|
children: [
|
|
19881
|
-
/* @__PURE__ */
|
|
19882
|
-
/* @__PURE__ */
|
|
19883
|
-
/* @__PURE__ */
|
|
19884
|
-
/* @__PURE__ */
|
|
19885
|
-
/* @__PURE__ */
|
|
19886
|
-
/* @__PURE__ */
|
|
19887
|
-
/* @__PURE__ */
|
|
20389
|
+
/* @__PURE__ */ jsxs41(View47, { style: styles48.headerWrap, children: [
|
|
20390
|
+
/* @__PURE__ */ jsx62(View47, { style: [styles48.heroCard, elevation.card, { backgroundColor: colors.surface }], children: /* @__PURE__ */ jsxs41(View47, { style: styles48.heroInner, children: [
|
|
20391
|
+
/* @__PURE__ */ jsx62(View47, { style: [styles48.accent, { backgroundColor: getCaseStatusColor(selectedCase.status, colors) }] }),
|
|
20392
|
+
/* @__PURE__ */ jsxs41(View47, { style: styles48.heroBody, children: [
|
|
20393
|
+
/* @__PURE__ */ jsxs41(View47, { style: styles48.heroTopRow, children: [
|
|
20394
|
+
/* @__PURE__ */ jsx62(View47, { style: [styles48.typeChip, { backgroundColor: withAlpha(getRequestTypeColor(selectedCase.request_type, colors), 0.12) }], children: /* @__PURE__ */ jsx62(Text38, { style: [styles48.typeChipText, { color: getRequestTypeColor(selectedCase.request_type, colors) }], numberOfLines: 1, children: requestTypeLabel }) }),
|
|
20395
|
+
/* @__PURE__ */ jsx62(
|
|
19888
20396
|
PCBadge,
|
|
19889
20397
|
{
|
|
19890
20398
|
status: getCaseStatusVariant(selectedCase.status),
|
|
@@ -19893,10 +20401,10 @@ function CaseDetailsPage() {
|
|
|
19893
20401
|
}
|
|
19894
20402
|
)
|
|
19895
20403
|
] }),
|
|
19896
|
-
/* @__PURE__ */
|
|
20404
|
+
/* @__PURE__ */ jsx62(Text38, { style: [styles48.caseId, { color: colors.text }], numberOfLines: 1, children: selectedCase.case_id })
|
|
19897
20405
|
] })
|
|
19898
20406
|
] }) }),
|
|
19899
|
-
/* @__PURE__ */
|
|
20407
|
+
/* @__PURE__ */ jsx62(
|
|
19900
20408
|
Segmented,
|
|
19901
20409
|
{
|
|
19902
20410
|
options: tabs.map((tab) => ({ value: tab.id, label: tab.label })),
|
|
@@ -19905,18 +20413,18 @@ function CaseDetailsPage() {
|
|
|
19905
20413
|
}
|
|
19906
20414
|
)
|
|
19907
20415
|
] }),
|
|
19908
|
-
/* @__PURE__ */
|
|
20416
|
+
/* @__PURE__ */ jsx62(View47, { style: styles48.tabContent, children: activeTab === "request-details" ? /* @__PURE__ */ jsx62(
|
|
19909
20417
|
RequestDetailsTab,
|
|
19910
20418
|
{
|
|
19911
20419
|
selectedCase,
|
|
19912
20420
|
requestTypeLabel
|
|
19913
20421
|
}
|
|
19914
|
-
) : /* @__PURE__ */
|
|
20422
|
+
) : /* @__PURE__ */ jsx62(MessagesTab, { caseUuid: selectedCase.uuid, isCaseFinalized: isTerminalCaseStatus(selectedCase.status) }) })
|
|
19915
20423
|
]
|
|
19916
20424
|
}
|
|
19917
20425
|
);
|
|
19918
20426
|
}
|
|
19919
|
-
var
|
|
20427
|
+
var styles48 = StyleSheet49.create({
|
|
19920
20428
|
container: {
|
|
19921
20429
|
flex: 1
|
|
19922
20430
|
},
|
|
@@ -19981,36 +20489,36 @@ var styles46 = StyleSheet47.create({
|
|
|
19981
20489
|
});
|
|
19982
20490
|
|
|
19983
20491
|
// src/RedactoPrivacyCenter/components/NotificationHub/NotificationsScreen.tsx
|
|
19984
|
-
import { useCallback as
|
|
19985
|
-
import { FlatList as FlatList3, RefreshControl as RefreshControl5, StyleSheet as
|
|
19986
|
-
import { useTranslation as
|
|
20492
|
+
import { useCallback as useCallback14, useEffect as useEffect20, useMemo as useMemo23, useRef as useRef12, useState as useState25 } from "react";
|
|
20493
|
+
import { FlatList as FlatList3, RefreshControl as RefreshControl5, StyleSheet as StyleSheet54, Text as Text42, TouchableOpacity as TouchableOpacity22, View as View51 } from "react-native";
|
|
20494
|
+
import { useTranslation as useTranslation29 } from "react-i18next";
|
|
19987
20495
|
|
|
19988
20496
|
// src/RedactoPrivacyCenter/components/NotificationHub/NotificationRow.tsx
|
|
19989
|
-
import { StyleSheet as
|
|
19990
|
-
import { useTranslation as
|
|
20497
|
+
import { StyleSheet as StyleSheet53, Text as Text41, TouchableOpacity as TouchableOpacity21, View as View50 } from "react-native";
|
|
20498
|
+
import { useTranslation as useTranslation28 } from "react-i18next";
|
|
19991
20499
|
|
|
19992
20500
|
// src/RedactoPrivacyCenter/components/NotificationHub/NotificationCTAButton.tsx
|
|
19993
|
-
import { StyleSheet as
|
|
19994
|
-
import { jsx as
|
|
20501
|
+
import { StyleSheet as StyleSheet50, Text as Text39, TouchableOpacity as TouchableOpacity19 } from "react-native";
|
|
20502
|
+
import { jsx as jsx63 } from "react/jsx-runtime";
|
|
19995
20503
|
var NotificationCTAButton = ({ cta, onPress }) => {
|
|
19996
20504
|
const { colors } = useTheme();
|
|
19997
20505
|
const tone = cta.style === "danger" ? colors.error : colors.primary;
|
|
19998
20506
|
const isPrimary = cta.style === "primary" || cta.style === "danger";
|
|
19999
|
-
return /* @__PURE__ */
|
|
20000
|
-
|
|
20507
|
+
return /* @__PURE__ */ jsx63(
|
|
20508
|
+
TouchableOpacity19,
|
|
20001
20509
|
{
|
|
20002
20510
|
onPress,
|
|
20003
20511
|
activeOpacity: 0.7,
|
|
20004
20512
|
style: [
|
|
20005
|
-
|
|
20513
|
+
styles49.button,
|
|
20006
20514
|
isPrimary ? { backgroundColor: tone } : { backgroundColor: colors.primarySoft }
|
|
20007
20515
|
],
|
|
20008
20516
|
accessibilityRole: "button",
|
|
20009
|
-
children: /* @__PURE__ */
|
|
20517
|
+
children: /* @__PURE__ */ jsx63(Text39, { style: [styles49.label, { color: isPrimary ? colors.primaryText : colors.primary }], numberOfLines: 1, children: cta.label })
|
|
20010
20518
|
}
|
|
20011
20519
|
);
|
|
20012
20520
|
};
|
|
20013
|
-
var
|
|
20521
|
+
var styles49 = StyleSheet50.create({
|
|
20014
20522
|
button: {
|
|
20015
20523
|
paddingHorizontal: spacing.lg,
|
|
20016
20524
|
paddingVertical: spacing.sm,
|
|
@@ -20025,8 +20533,8 @@ var styles47 = StyleSheet48.create({
|
|
|
20025
20533
|
});
|
|
20026
20534
|
|
|
20027
20535
|
// src/RedactoPrivacyCenter/components/NotificationHub/NotificationIcon.tsx
|
|
20028
|
-
import { StyleSheet as
|
|
20029
|
-
import { jsx as
|
|
20536
|
+
import { StyleSheet as StyleSheet51, View as View48 } from "react-native";
|
|
20537
|
+
import { jsx as jsx64 } from "react/jsx-runtime";
|
|
20030
20538
|
var CATEGORY_ICON = {
|
|
20031
20539
|
guardian: "user-round",
|
|
20032
20540
|
consent: "clock",
|
|
@@ -20039,18 +20547,18 @@ var NotificationIcon = ({ notificationType, size = 40 }) => {
|
|
|
20039
20547
|
var _a3;
|
|
20040
20548
|
const category = (_a3 = TYPE_TO_ICON_CATEGORY[notificationType]) != null ? _a3 : "system";
|
|
20041
20549
|
const color = ICON_COLORS[category];
|
|
20042
|
-
return /* @__PURE__ */
|
|
20043
|
-
|
|
20550
|
+
return /* @__PURE__ */ jsx64(
|
|
20551
|
+
View48,
|
|
20044
20552
|
{
|
|
20045
20553
|
style: [
|
|
20046
|
-
|
|
20554
|
+
styles50.wrap,
|
|
20047
20555
|
{ width: size, height: size, borderRadius: radii.md, backgroundColor: withAlpha(color, 0.13) }
|
|
20048
20556
|
],
|
|
20049
|
-
children: /* @__PURE__ */
|
|
20557
|
+
children: /* @__PURE__ */ jsx64(Icon, { name: CATEGORY_ICON[category], size: Math.round(size * 0.5), color, strokeWidth: 2 })
|
|
20050
20558
|
}
|
|
20051
20559
|
);
|
|
20052
20560
|
};
|
|
20053
|
-
var
|
|
20561
|
+
var styles50 = StyleSheet51.create({
|
|
20054
20562
|
wrap: {
|
|
20055
20563
|
alignItems: "center",
|
|
20056
20564
|
justifyContent: "center"
|
|
@@ -20059,8 +20567,8 @@ var styles48 = StyleSheet49.create({
|
|
|
20059
20567
|
|
|
20060
20568
|
// src/RedactoPrivacyCenter/components/NotificationHub/SwipeableRow.tsx
|
|
20061
20569
|
import { useMemo as useMemo21, useRef as useRef11 } from "react";
|
|
20062
|
-
import { Animated as Animated13, PanResponder as PanResponder2, StyleSheet as
|
|
20063
|
-
import { Fragment as Fragment14, jsx as
|
|
20570
|
+
import { Animated as Animated13, PanResponder as PanResponder2, StyleSheet as StyleSheet52, Text as Text40, TouchableOpacity as TouchableOpacity20, View as View49 } from "react-native";
|
|
20571
|
+
import { Fragment as Fragment14, jsx as jsx65, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
20064
20572
|
var ACTION_WIDTH = 80;
|
|
20065
20573
|
var CLAIM_THRESHOLD = 8;
|
|
20066
20574
|
var SwipeableRow = ({ actions, background, children }) => {
|
|
@@ -20099,37 +20607,37 @@ var SwipeableRow = ({ actions, background, children }) => {
|
|
|
20099
20607
|
[maxOpen]
|
|
20100
20608
|
);
|
|
20101
20609
|
if (actions.length === 0) {
|
|
20102
|
-
return /* @__PURE__ */
|
|
20610
|
+
return /* @__PURE__ */ jsx65(Fragment14, { children });
|
|
20103
20611
|
}
|
|
20104
20612
|
const runAction = (action) => {
|
|
20105
20613
|
settle(0);
|
|
20106
20614
|
action.onPress();
|
|
20107
20615
|
};
|
|
20108
|
-
return /* @__PURE__ */
|
|
20109
|
-
/* @__PURE__ */
|
|
20110
|
-
|
|
20616
|
+
return /* @__PURE__ */ jsxs42(View49, { style: styles51.root, children: [
|
|
20617
|
+
/* @__PURE__ */ jsx65(View49, { style: styles51.actionsLayer, pointerEvents: "box-none", children: actions.map((action) => /* @__PURE__ */ jsxs42(
|
|
20618
|
+
TouchableOpacity20,
|
|
20111
20619
|
{
|
|
20112
|
-
style: [
|
|
20620
|
+
style: [styles51.action, { width: ACTION_WIDTH, backgroundColor: toneColor2[action.tone] }],
|
|
20113
20621
|
onPress: () => runAction(action),
|
|
20114
20622
|
activeOpacity: 0.85,
|
|
20115
20623
|
accessibilityRole: "button",
|
|
20116
20624
|
accessibilityLabel: action.label,
|
|
20117
20625
|
children: [
|
|
20118
|
-
/* @__PURE__ */
|
|
20119
|
-
/* @__PURE__ */
|
|
20626
|
+
/* @__PURE__ */ jsx65(Icon, { name: action.icon, size: 20, color: colors.primaryText, strokeWidth: 2.2 }),
|
|
20627
|
+
/* @__PURE__ */ jsx65(Text40, { style: [styles51.actionLabel, { color: colors.primaryText }], numberOfLines: 1, children: action.label })
|
|
20120
20628
|
]
|
|
20121
20629
|
},
|
|
20122
20630
|
action.key
|
|
20123
20631
|
)) }),
|
|
20124
|
-
/* @__PURE__ */
|
|
20632
|
+
/* @__PURE__ */ jsx65(Animated13.View, { style: [{ backgroundColor: background, transform: [{ translateX }] }], ...panResponder.panHandlers, children })
|
|
20125
20633
|
] });
|
|
20126
20634
|
};
|
|
20127
|
-
var
|
|
20635
|
+
var styles51 = StyleSheet52.create({
|
|
20128
20636
|
root: {
|
|
20129
20637
|
position: "relative"
|
|
20130
20638
|
},
|
|
20131
20639
|
actionsLayer: {
|
|
20132
|
-
...
|
|
20640
|
+
...StyleSheet52.absoluteFillObject,
|
|
20133
20641
|
flexDirection: "row",
|
|
20134
20642
|
justifyContent: "flex-end"
|
|
20135
20643
|
},
|
|
@@ -20162,10 +20670,10 @@ var formatTimeAgo = (dateString, t) => {
|
|
|
20162
20670
|
};
|
|
20163
20671
|
|
|
20164
20672
|
// src/RedactoPrivacyCenter/components/NotificationHub/NotificationRow.tsx
|
|
20165
|
-
import { Fragment as Fragment15, jsx as
|
|
20673
|
+
import { Fragment as Fragment15, jsx as jsx66, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
20166
20674
|
var NotificationRow = ({ notification, onPress, onMarkRead, onAcknowledge }) => {
|
|
20167
20675
|
var _a3, _b;
|
|
20168
|
-
const { t } =
|
|
20676
|
+
const { t } = useTranslation28();
|
|
20169
20677
|
const { colors } = useTheme();
|
|
20170
20678
|
const isUnread = !notification.is_read;
|
|
20171
20679
|
const statusLabel = notification.status_label_display || notification.status_label;
|
|
@@ -20192,35 +20700,35 @@ var NotificationRow = ({ notification, onPress, onMarkRead, onAcknowledge }) =>
|
|
|
20192
20700
|
onPress: onAcknowledge
|
|
20193
20701
|
});
|
|
20194
20702
|
}
|
|
20195
|
-
return /* @__PURE__ */
|
|
20196
|
-
isUnread ? /* @__PURE__ */
|
|
20197
|
-
/* @__PURE__ */
|
|
20198
|
-
/* @__PURE__ */
|
|
20199
|
-
/* @__PURE__ */
|
|
20200
|
-
/* @__PURE__ */
|
|
20201
|
-
|
|
20703
|
+
return /* @__PURE__ */ jsx66(SwipeableRow, { actions, background: colors.surface, children: /* @__PURE__ */ jsxs43(TouchableOpacity21, { onPress, activeOpacity: 0.6, accessibilityRole: "button", style: styles52.row, children: [
|
|
20704
|
+
isUnread ? /* @__PURE__ */ jsx66(View50, { style: [styles52.accent, { backgroundColor: accent }] }) : null,
|
|
20705
|
+
/* @__PURE__ */ jsx66(NotificationIcon, { notificationType: notification.notification_type, size: 36 }),
|
|
20706
|
+
/* @__PURE__ */ jsxs43(View50, { style: styles52.content, children: [
|
|
20707
|
+
/* @__PURE__ */ jsxs43(View50, { style: styles52.titleRow, children: [
|
|
20708
|
+
/* @__PURE__ */ jsx66(
|
|
20709
|
+
Text41,
|
|
20202
20710
|
{
|
|
20203
|
-
style: [
|
|
20711
|
+
style: [styles52.title, { color: colors.text, fontWeight: isUnread ? "700" : "600" }],
|
|
20204
20712
|
numberOfLines: 2,
|
|
20205
20713
|
children: notification.title
|
|
20206
20714
|
}
|
|
20207
20715
|
),
|
|
20208
|
-
isUnread ? /* @__PURE__ */
|
|
20716
|
+
isUnread ? /* @__PURE__ */ jsx66(View50, { style: [styles52.unreadDot, { backgroundColor: colors.primary }] }) : null
|
|
20209
20717
|
] }),
|
|
20210
|
-
/* @__PURE__ */
|
|
20211
|
-
statusLabel ? /* @__PURE__ */
|
|
20212
|
-
/* @__PURE__ */
|
|
20213
|
-
/* @__PURE__ */
|
|
20214
|
-
/* @__PURE__ */
|
|
20718
|
+
/* @__PURE__ */ jsxs43(View50, { style: styles52.metaRow, children: [
|
|
20719
|
+
statusLabel ? /* @__PURE__ */ jsxs43(Fragment15, { children: [
|
|
20720
|
+
/* @__PURE__ */ jsx66(View50, { style: [styles52.statusDot, { backgroundColor: accent }] }),
|
|
20721
|
+
/* @__PURE__ */ jsx66(Text41, { style: [styles52.metaText, { color: colors.textSecondary }], numberOfLines: 1, children: statusLabel }),
|
|
20722
|
+
/* @__PURE__ */ jsx66(Text41, { style: [styles52.metaDivider, { color: colors.textSecondary }], children: "\xB7" })
|
|
20215
20723
|
] }) : null,
|
|
20216
|
-
/* @__PURE__ */
|
|
20724
|
+
/* @__PURE__ */ jsx66(Text41, { style: [styles52.metaText, { color: colors.textSecondary }], children: formatTimeAgo(notification.created_at, t) })
|
|
20217
20725
|
] }),
|
|
20218
|
-
showAcknowledge && ackCta ? /* @__PURE__ */
|
|
20726
|
+
showAcknowledge && ackCta ? /* @__PURE__ */ jsx66(View50, { style: styles52.ackWrap, children: /* @__PURE__ */ jsx66(NotificationCTAButton, { cta: ackCta, onPress: onAcknowledge }) }) : null
|
|
20219
20727
|
] }),
|
|
20220
|
-
/* @__PURE__ */
|
|
20728
|
+
/* @__PURE__ */ jsx66(View50, { style: styles52.chevron, children: /* @__PURE__ */ jsx66(Icon, { name: "chevron-right", size: 18, color: colors.textSecondary }) })
|
|
20221
20729
|
] }) });
|
|
20222
20730
|
};
|
|
20223
|
-
var
|
|
20731
|
+
var styles52 = StyleSheet53.create({
|
|
20224
20732
|
row: {
|
|
20225
20733
|
flexDirection: "row",
|
|
20226
20734
|
alignItems: "center",
|
|
@@ -20283,7 +20791,7 @@ var styles50 = StyleSheet51.create({
|
|
|
20283
20791
|
});
|
|
20284
20792
|
|
|
20285
20793
|
// src/RedactoPrivacyCenter/components/NotificationHub/useNotificationActions.ts
|
|
20286
|
-
import { useCallback as
|
|
20794
|
+
import { useCallback as useCallback13, useMemo as useMemo22 } from "react";
|
|
20287
20795
|
import { Linking as Linking2 } from "react-native";
|
|
20288
20796
|
var useNotificationActions = () => {
|
|
20289
20797
|
const { navigateTo, setSelectedCase } = useInternalNavigation();
|
|
@@ -20294,14 +20802,14 @@ var useNotificationActions = () => {
|
|
|
20294
20802
|
() => ({ accessToken, refreshToken, onError, updateTokens }),
|
|
20295
20803
|
[accessToken, refreshToken, onError, updateTokens]
|
|
20296
20804
|
);
|
|
20297
|
-
const hasAcknowledgeCTA =
|
|
20805
|
+
const hasAcknowledgeCTA = useCallback13(
|
|
20298
20806
|
(notification) => {
|
|
20299
20807
|
var _a3, _b;
|
|
20300
20808
|
return (_b = (_a3 = notification.ctas) == null ? void 0 : _a3.some((cta) => cta.action_type === "acknowledge")) != null ? _b : false;
|
|
20301
20809
|
},
|
|
20302
20810
|
[]
|
|
20303
20811
|
);
|
|
20304
|
-
const handleMarkRead =
|
|
20812
|
+
const handleMarkRead = useCallback13(
|
|
20305
20813
|
async (notificationUuid) => {
|
|
20306
20814
|
if (!organizationId || !workspaceId) return false;
|
|
20307
20815
|
const result = await markNotificationRead(organizationId, workspaceId, notificationUuid, authContext, consentClient);
|
|
@@ -20309,12 +20817,12 @@ var useNotificationActions = () => {
|
|
|
20309
20817
|
},
|
|
20310
20818
|
[organizationId, workspaceId, authContext, consentClient]
|
|
20311
20819
|
);
|
|
20312
|
-
const handleMarkAllRead =
|
|
20820
|
+
const handleMarkAllRead = useCallback13(async () => {
|
|
20313
20821
|
if (!organizationId || !workspaceId) return false;
|
|
20314
20822
|
const result = await markAllRead(organizationId, workspaceId, authContext, consentClient);
|
|
20315
20823
|
return result !== null;
|
|
20316
20824
|
}, [organizationId, workspaceId, authContext, consentClient]);
|
|
20317
|
-
const handleAcknowledge =
|
|
20825
|
+
const handleAcknowledge = useCallback13(
|
|
20318
20826
|
async (notificationUuid) => {
|
|
20319
20827
|
if (!organizationId || !workspaceId) return false;
|
|
20320
20828
|
const result = await acknowledgeNotification(organizationId, workspaceId, notificationUuid, authContext, consentClient);
|
|
@@ -20322,7 +20830,7 @@ var useNotificationActions = () => {
|
|
|
20322
20830
|
},
|
|
20323
20831
|
[organizationId, workspaceId, authContext, consentClient]
|
|
20324
20832
|
);
|
|
20325
|
-
const handleCTAClick =
|
|
20833
|
+
const handleCTAClick = useCallback13(
|
|
20326
20834
|
async (notification, cta) => {
|
|
20327
20835
|
var _a3;
|
|
20328
20836
|
if (cta.action_type === "acknowledge") {
|
|
@@ -20379,7 +20887,7 @@ var useNotificationActions = () => {
|
|
|
20379
20887
|
};
|
|
20380
20888
|
|
|
20381
20889
|
// src/RedactoPrivacyCenter/components/NotificationHub/NotificationsScreen.tsx
|
|
20382
|
-
import { Fragment as Fragment16, jsx as
|
|
20890
|
+
import { Fragment as Fragment16, jsx as jsx67, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
20383
20891
|
var EMPTY_SUMMARY = { total: 0, unread: 0, action_needed: 0, acknowledged: 0 };
|
|
20384
20892
|
var READ_FILTER_TO_PARAM = {
|
|
20385
20893
|
all: void 0,
|
|
@@ -20387,7 +20895,7 @@ var READ_FILTER_TO_PARAM = {
|
|
|
20387
20895
|
read: true
|
|
20388
20896
|
};
|
|
20389
20897
|
var NotificationsScreen = () => {
|
|
20390
|
-
const { t } =
|
|
20898
|
+
const { t } = useTranslation29();
|
|
20391
20899
|
const { colors } = useTheme();
|
|
20392
20900
|
const { langParam } = useCurrentLanguage();
|
|
20393
20901
|
const { listBottom } = usePrivacyCenterInsets();
|
|
@@ -20404,15 +20912,15 @@ var NotificationsScreen = () => {
|
|
|
20404
20912
|
handleAcknowledge,
|
|
20405
20913
|
handleCTAClick
|
|
20406
20914
|
} = useNotificationActions();
|
|
20407
|
-
const [notifications, setNotifications] =
|
|
20408
|
-
const [summary, setSummary] =
|
|
20409
|
-
const [activeTab, setActiveTab] =
|
|
20410
|
-
const [readFilter, setReadFilter] =
|
|
20411
|
-
const [isLoading, setIsLoading] =
|
|
20412
|
-
const [isRefreshing2, setIsRefreshing] =
|
|
20413
|
-
const [filterOpen, setFilterOpen] =
|
|
20915
|
+
const [notifications, setNotifications] = useState25([]);
|
|
20916
|
+
const [summary, setSummary] = useState25(EMPTY_SUMMARY);
|
|
20917
|
+
const [activeTab, setActiveTab] = useState25("all");
|
|
20918
|
+
const [readFilter, setReadFilter] = useState25("all");
|
|
20919
|
+
const [isLoading, setIsLoading] = useState25(true);
|
|
20920
|
+
const [isRefreshing2, setIsRefreshing] = useState25(false);
|
|
20921
|
+
const [filterOpen, setFilterOpen] = useState25(false);
|
|
20414
20922
|
const isFiltered = activeTab !== "all" || readFilter !== "all";
|
|
20415
|
-
const loadNotifications =
|
|
20923
|
+
const loadNotifications = useCallback14(
|
|
20416
20924
|
async (includeSummary = false, silent = false) => {
|
|
20417
20925
|
if (!organizationId || !workspaceId) return;
|
|
20418
20926
|
if (!silent) setIsLoading(true);
|
|
@@ -20442,18 +20950,21 @@ var NotificationsScreen = () => {
|
|
|
20442
20950
|
},
|
|
20443
20951
|
[organizationId, workspaceId, activeTab, readFilter, authContext, consentClient, langParam]
|
|
20444
20952
|
);
|
|
20445
|
-
|
|
20953
|
+
useEffect20(() => {
|
|
20446
20954
|
loadNotifications(true);
|
|
20447
20955
|
}, [loadNotifications]);
|
|
20448
20956
|
const loadRef = useRef12(loadNotifications);
|
|
20449
20957
|
loadRef.current = loadNotifications;
|
|
20450
|
-
|
|
20958
|
+
const authContextRef = useRef12(authContext);
|
|
20959
|
+
authContextRef.current = authContext;
|
|
20960
|
+
useEffect20(() => {
|
|
20451
20961
|
const id = setInterval(() => {
|
|
20962
|
+
if (isRefreshBlocked(authContextRef.current)) return;
|
|
20452
20963
|
loadRef.current(false, true);
|
|
20453
20964
|
}, POLL_INTERVAL);
|
|
20454
20965
|
return () => clearInterval(id);
|
|
20455
20966
|
}, []);
|
|
20456
|
-
const onNotificationClick =
|
|
20967
|
+
const onNotificationClick = useCallback14(
|
|
20457
20968
|
async (notification) => {
|
|
20458
20969
|
const shouldMarkRead = !notification.is_read;
|
|
20459
20970
|
const shouldAutoAcknowledge = !notification.is_acknowledged && !hasAcknowledgeCTA(notification);
|
|
@@ -20474,7 +20985,7 @@ var NotificationsScreen = () => {
|
|
|
20474
20985
|
},
|
|
20475
20986
|
[hasAcknowledgeCTA, handleAcknowledge, handleMarkRead]
|
|
20476
20987
|
);
|
|
20477
|
-
const onRowPress =
|
|
20988
|
+
const onRowPress = useCallback14(
|
|
20478
20989
|
async (notification) => {
|
|
20479
20990
|
var _a3;
|
|
20480
20991
|
const linkCta = (_a3 = notification.ctas) == null ? void 0 : _a3.find((cta) => cta.action_type === "link" && cta.url);
|
|
@@ -20492,7 +21003,7 @@ var NotificationsScreen = () => {
|
|
|
20492
21003
|
},
|
|
20493
21004
|
[handleCTAClick, onNotificationClick]
|
|
20494
21005
|
);
|
|
20495
|
-
const onMarkReadRow =
|
|
21006
|
+
const onMarkReadRow = useCallback14(
|
|
20496
21007
|
async (notification) => {
|
|
20497
21008
|
if (notification.is_read) return;
|
|
20498
21009
|
const ok = await handleMarkRead(notification.uuid);
|
|
@@ -20502,7 +21013,7 @@ var NotificationsScreen = () => {
|
|
|
20502
21013
|
},
|
|
20503
21014
|
[handleMarkRead]
|
|
20504
21015
|
);
|
|
20505
|
-
const onAcknowledgeRow =
|
|
21016
|
+
const onAcknowledgeRow = useCallback14(
|
|
20506
21017
|
async (notification) => {
|
|
20507
21018
|
if (notification.is_acknowledged) return;
|
|
20508
21019
|
const ok = await handleAcknowledge(notification.uuid);
|
|
@@ -20519,7 +21030,14 @@ var NotificationsScreen = () => {
|
|
|
20519
21030
|
},
|
|
20520
21031
|
[handleAcknowledge]
|
|
20521
21032
|
);
|
|
20522
|
-
const
|
|
21033
|
+
const onMarkAllRead = useCallback14(async () => {
|
|
21034
|
+
const ok = await handleMarkAllRead();
|
|
21035
|
+
if (!ok) return;
|
|
21036
|
+
setNotifications((prev) => prev.map((item) => ({ ...item, is_read: true })));
|
|
21037
|
+
setSummary((prev) => ({ ...prev, unread: 0 }));
|
|
21038
|
+
if (readFilter !== "all") loadNotifications(true, true);
|
|
21039
|
+
}, [handleMarkAllRead, readFilter, loadNotifications]);
|
|
21040
|
+
const onRefresh = useCallback14(() => {
|
|
20523
21041
|
setIsRefreshing(true);
|
|
20524
21042
|
loadNotifications(true, true);
|
|
20525
21043
|
}, [loadNotifications]);
|
|
@@ -20527,14 +21045,14 @@ var NotificationsScreen = () => {
|
|
|
20527
21045
|
() => groupByTime(notifications, (item) => item.created_at, classifyTime),
|
|
20528
21046
|
[notifications, classifyTime]
|
|
20529
21047
|
);
|
|
20530
|
-
const header = /* @__PURE__ */
|
|
20531
|
-
/* @__PURE__ */
|
|
20532
|
-
/* @__PURE__ */
|
|
20533
|
-
/* @__PURE__ */
|
|
20534
|
-
|
|
21048
|
+
const header = /* @__PURE__ */ jsxs44(View51, { style: styles53.header, children: [
|
|
21049
|
+
/* @__PURE__ */ jsxs44(View51, { style: styles53.titleRow, children: [
|
|
21050
|
+
/* @__PURE__ */ jsx67(Text42, { style: [styles53.screenTitle, { color: colors.text }], children: t("notifications", { defaultValue: "Notifications" }) }),
|
|
21051
|
+
/* @__PURE__ */ jsx67(
|
|
21052
|
+
TouchableOpacity22,
|
|
20535
21053
|
{
|
|
20536
21054
|
style: [
|
|
20537
|
-
|
|
21055
|
+
styles53.filterBtn,
|
|
20538
21056
|
{
|
|
20539
21057
|
backgroundColor: isFiltered ? colors.primarySoft : colors.surface,
|
|
20540
21058
|
borderColor: isFiltered ? colors.primary : colors.border
|
|
@@ -20543,30 +21061,30 @@ var NotificationsScreen = () => {
|
|
|
20543
21061
|
onPress: () => setFilterOpen(true),
|
|
20544
21062
|
accessibilityRole: "button",
|
|
20545
21063
|
accessibilityLabel: t("filter") || "Filter",
|
|
20546
|
-
children: /* @__PURE__ */
|
|
21064
|
+
children: /* @__PURE__ */ jsx67(Icon, { name: "sliders-horizontal", size: 18, color: isFiltered ? colors.primary : colors.text })
|
|
20547
21065
|
}
|
|
20548
21066
|
)
|
|
20549
21067
|
] }),
|
|
20550
|
-
summary.unread > 0 ? /* @__PURE__ */
|
|
20551
|
-
/* @__PURE__ */
|
|
20552
|
-
/* @__PURE__ */
|
|
21068
|
+
summary.unread > 0 ? /* @__PURE__ */ jsxs44(TouchableOpacity22, { style: styles53.markAllBtn, onPress: onMarkAllRead, activeOpacity: 0.7, accessibilityRole: "button", children: [
|
|
21069
|
+
/* @__PURE__ */ jsx67(Icon, { name: "check-check", size: 15, color: colors.primary, strokeWidth: 2.2 }),
|
|
21070
|
+
/* @__PURE__ */ jsx67(Text42, { style: [styles53.markAllLabel, { color: colors.primary }], children: t("markAllAsRead") || "Mark all as read" })
|
|
20553
21071
|
] }) : null
|
|
20554
21072
|
] });
|
|
20555
|
-
return /* @__PURE__ */
|
|
20556
|
-
/* @__PURE__ */
|
|
21073
|
+
return /* @__PURE__ */ jsxs44(Fragment16, { children: [
|
|
21074
|
+
/* @__PURE__ */ jsx67(
|
|
20557
21075
|
FlatList3,
|
|
20558
21076
|
{
|
|
20559
21077
|
data: sections,
|
|
20560
21078
|
keyExtractor: (section2) => section2.key,
|
|
20561
|
-
style: [
|
|
20562
|
-
contentContainerStyle: [
|
|
21079
|
+
style: [styles53.list, { backgroundColor: colors.canvasSubtle }],
|
|
21080
|
+
contentContainerStyle: [styles53.listContent, { flexGrow: 1, paddingBottom: listBottom }],
|
|
20563
21081
|
ListHeaderComponent: header,
|
|
20564
21082
|
showsVerticalScrollIndicator: false,
|
|
20565
|
-
refreshControl: /* @__PURE__ */
|
|
20566
|
-
renderItem: ({ item: section2 }) => /* @__PURE__ */
|
|
20567
|
-
/* @__PURE__ */
|
|
20568
|
-
/* @__PURE__ */
|
|
20569
|
-
/* @__PURE__ */
|
|
21083
|
+
refreshControl: /* @__PURE__ */ jsx67(RefreshControl5, { refreshing: isRefreshing2, onRefresh, tintColor: colors.primary, colors: [colors.primary] }),
|
|
21084
|
+
renderItem: ({ item: section2 }) => /* @__PURE__ */ jsxs44(View51, { style: styles53.section, children: [
|
|
21085
|
+
/* @__PURE__ */ jsx67(Text42, { style: [styles53.sectionTitle, { color: colors.textSecondary }], children: section2.title }),
|
|
21086
|
+
/* @__PURE__ */ jsx67(View51, { style: [styles53.cardShadow, elevation.card], children: /* @__PURE__ */ jsx67(View51, { style: [styles53.cardClip, { backgroundColor: colors.surface }], children: section2.data.map((item, index) => /* @__PURE__ */ jsxs44(View51, { children: [
|
|
21087
|
+
/* @__PURE__ */ jsx67(
|
|
20570
21088
|
NotificationRow,
|
|
20571
21089
|
{
|
|
20572
21090
|
notification: item,
|
|
@@ -20575,19 +21093,19 @@ var NotificationsScreen = () => {
|
|
|
20575
21093
|
onAcknowledge: () => onAcknowledgeRow(item)
|
|
20576
21094
|
}
|
|
20577
21095
|
),
|
|
20578
|
-
index < section2.data.length - 1 ? /* @__PURE__ */
|
|
21096
|
+
index < section2.data.length - 1 ? /* @__PURE__ */ jsx67(View51, { style: [styles53.separator, { backgroundColor: colors.hairline }] }) : null
|
|
20579
21097
|
] }, item.uuid)) }) })
|
|
20580
21098
|
] }),
|
|
20581
|
-
ListEmptyComponent: isLoading ? /* @__PURE__ */
|
|
20582
|
-
/* @__PURE__ */
|
|
20583
|
-
/* @__PURE__ */
|
|
20584
|
-
/* @__PURE__ */
|
|
20585
|
-
/* @__PURE__ */
|
|
20586
|
-
/* @__PURE__ */
|
|
21099
|
+
ListEmptyComponent: isLoading ? /* @__PURE__ */ jsx67(View51, { style: styles53.skeletonWrap, children: /* @__PURE__ */ jsx67(View51, { style: [styles53.cardClip, elevation.card, { backgroundColor: colors.surface }], children: [0, 1, 2, 3].map((i) => /* @__PURE__ */ jsxs44(View51, { children: [
|
|
21100
|
+
/* @__PURE__ */ jsxs44(View51, { style: styles53.skeletonRow, children: [
|
|
21101
|
+
/* @__PURE__ */ jsx67(Skeleton, { width: 36, height: 36, radius: radii.md }),
|
|
21102
|
+
/* @__PURE__ */ jsxs44(View51, { style: styles53.skeletonLines, children: [
|
|
21103
|
+
/* @__PURE__ */ jsx67(Skeleton, { width: "70%", height: 13 }),
|
|
21104
|
+
/* @__PURE__ */ jsx67(Skeleton, { width: "40%", height: 10 })
|
|
20587
21105
|
] })
|
|
20588
21106
|
] }),
|
|
20589
|
-
i < 3 ? /* @__PURE__ */
|
|
20590
|
-
] }, i)) }) }) : /* @__PURE__ */
|
|
21107
|
+
i < 3 ? /* @__PURE__ */ jsx67(View51, { style: [styles53.separator, { backgroundColor: colors.hairline }] }) : null
|
|
21108
|
+
] }, i)) }) }) : /* @__PURE__ */ jsx67(View51, { style: styles53.emptyWrap, children: /* @__PURE__ */ jsx67(
|
|
20591
21109
|
PCEmpty,
|
|
20592
21110
|
{
|
|
20593
21111
|
iconName: "circle-check",
|
|
@@ -20596,14 +21114,14 @@ var NotificationsScreen = () => {
|
|
|
20596
21114
|
}
|
|
20597
21115
|
) }),
|
|
20598
21116
|
ListFooterComponentStyle: { marginTop: "auto" },
|
|
20599
|
-
ListFooterComponent: /* @__PURE__ */
|
|
21117
|
+
ListFooterComponent: /* @__PURE__ */ jsx67(Footer, {})
|
|
20600
21118
|
}
|
|
20601
21119
|
),
|
|
20602
|
-
/* @__PURE__ */
|
|
20603
|
-
/* @__PURE__ */
|
|
20604
|
-
/* @__PURE__ */
|
|
21120
|
+
/* @__PURE__ */ jsx67(BottomSheet, { visible: filterOpen, onClose: () => setFilterOpen(false), title: t("filter") || "Filter", children: /* @__PURE__ */ jsxs44(View51, { style: styles53.filterSheet, children: [
|
|
21121
|
+
/* @__PURE__ */ jsx67(Text42, { style: [styles53.filterGroupLabel, { color: colors.textSecondary }], children: t("category", { defaultValue: "Category" }) }),
|
|
21122
|
+
/* @__PURE__ */ jsx67(View51, { style: styles53.chipWrap, children: filterTabs.map((tab) => {
|
|
20605
21123
|
const selected = tab.key === activeTab;
|
|
20606
|
-
return /* @__PURE__ */
|
|
21124
|
+
return /* @__PURE__ */ jsx67(
|
|
20607
21125
|
FilterChip,
|
|
20608
21126
|
{
|
|
20609
21127
|
label: tab.label,
|
|
@@ -20613,12 +21131,12 @@ var NotificationsScreen = () => {
|
|
|
20613
21131
|
tab.key
|
|
20614
21132
|
);
|
|
20615
21133
|
}) }),
|
|
20616
|
-
/* @__PURE__ */
|
|
20617
|
-
/* @__PURE__ */
|
|
21134
|
+
/* @__PURE__ */ jsx67(Text42, { style: [styles53.filterGroupLabel, { color: colors.textSecondary, marginTop: spacing.lg }], children: t("readStatus", { defaultValue: "Status" }) }),
|
|
21135
|
+
/* @__PURE__ */ jsx67(View51, { style: styles53.chipWrap, children: [
|
|
20618
21136
|
{ key: "all", label: t("all") || "All" },
|
|
20619
21137
|
{ key: "unread", label: t("unread") || "Unread" },
|
|
20620
21138
|
{ key: "read", label: t("read", { defaultValue: "Read" }) }
|
|
20621
|
-
].map((opt) => /* @__PURE__ */
|
|
21139
|
+
].map((opt) => /* @__PURE__ */ jsx67(
|
|
20622
21140
|
FilterChip,
|
|
20623
21141
|
{
|
|
20624
21142
|
label: opt.label,
|
|
@@ -20627,13 +21145,13 @@ var NotificationsScreen = () => {
|
|
|
20627
21145
|
},
|
|
20628
21146
|
opt.key
|
|
20629
21147
|
)) }),
|
|
20630
|
-
/* @__PURE__ */
|
|
20631
|
-
|
|
21148
|
+
/* @__PURE__ */ jsx67(
|
|
21149
|
+
TouchableOpacity22,
|
|
20632
21150
|
{
|
|
20633
|
-
style: [
|
|
21151
|
+
style: [styles53.applyBtn, { backgroundColor: colors.primary }],
|
|
20634
21152
|
onPress: () => setFilterOpen(false),
|
|
20635
21153
|
accessibilityRole: "button",
|
|
20636
|
-
children: /* @__PURE__ */
|
|
21154
|
+
children: /* @__PURE__ */ jsx67(Text42, { style: [styles53.applyLabel, { color: colors.primaryText }], children: t("done", { defaultValue: "Done" }) })
|
|
20637
21155
|
}
|
|
20638
21156
|
)
|
|
20639
21157
|
] }) })
|
|
@@ -20641,25 +21159,25 @@ var NotificationsScreen = () => {
|
|
|
20641
21159
|
};
|
|
20642
21160
|
var FilterChip = ({ label, selected, onPress }) => {
|
|
20643
21161
|
const { colors } = useTheme();
|
|
20644
|
-
return /* @__PURE__ */
|
|
20645
|
-
|
|
21162
|
+
return /* @__PURE__ */ jsx67(
|
|
21163
|
+
TouchableOpacity22,
|
|
20646
21164
|
{
|
|
20647
21165
|
onPress,
|
|
20648
21166
|
activeOpacity: 0.7,
|
|
20649
21167
|
accessibilityRole: "button",
|
|
20650
21168
|
accessibilityState: { selected },
|
|
20651
21169
|
style: [
|
|
20652
|
-
|
|
21170
|
+
styles53.chip,
|
|
20653
21171
|
{
|
|
20654
21172
|
backgroundColor: selected ? colors.primary : colors.surfaceAlt,
|
|
20655
21173
|
borderColor: selected ? colors.primary : colors.border
|
|
20656
21174
|
}
|
|
20657
21175
|
],
|
|
20658
|
-
children: /* @__PURE__ */
|
|
21176
|
+
children: /* @__PURE__ */ jsx67(Text42, { style: [styles53.chipLabel, { color: selected ? colors.primaryText : colors.text }], children: label })
|
|
20659
21177
|
}
|
|
20660
21178
|
);
|
|
20661
21179
|
};
|
|
20662
|
-
var
|
|
21180
|
+
var styles53 = StyleSheet54.create({
|
|
20663
21181
|
list: {
|
|
20664
21182
|
flex: 1
|
|
20665
21183
|
},
|
|
@@ -20693,7 +21211,7 @@ var styles51 = StyleSheet52.create({
|
|
|
20693
21211
|
filterBtn: {
|
|
20694
21212
|
width: 40,
|
|
20695
21213
|
height: 40,
|
|
20696
|
-
borderWidth:
|
|
21214
|
+
borderWidth: StyleSheet54.hairlineWidth,
|
|
20697
21215
|
borderRadius: radii.md,
|
|
20698
21216
|
justifyContent: "center",
|
|
20699
21217
|
alignItems: "center"
|
|
@@ -20714,7 +21232,7 @@ var styles51 = StyleSheet52.create({
|
|
|
20714
21232
|
overflow: "hidden"
|
|
20715
21233
|
},
|
|
20716
21234
|
separator: {
|
|
20717
|
-
height:
|
|
21235
|
+
height: StyleSheet54.hairlineWidth,
|
|
20718
21236
|
marginLeft: spacing.lg + 36 + spacing.md
|
|
20719
21237
|
},
|
|
20720
21238
|
emptyWrap: {
|
|
@@ -20752,7 +21270,7 @@ var styles51 = StyleSheet52.create({
|
|
|
20752
21270
|
justifyContent: "center",
|
|
20753
21271
|
paddingHorizontal: spacing.lg,
|
|
20754
21272
|
borderRadius: radii.pill,
|
|
20755
|
-
borderWidth:
|
|
21273
|
+
borderWidth: StyleSheet54.hairlineWidth
|
|
20756
21274
|
},
|
|
20757
21275
|
chipLabel: {
|
|
20758
21276
|
...typography.label
|
|
@@ -20771,7 +21289,7 @@ var styles51 = StyleSheet52.create({
|
|
|
20771
21289
|
});
|
|
20772
21290
|
|
|
20773
21291
|
// src/RedactoPrivacyCenter/RedactoPrivacyCenter.tsx
|
|
20774
|
-
import { Fragment as Fragment17, jsx as
|
|
21292
|
+
import { Fragment as Fragment17, jsx as jsx68, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
20775
21293
|
var privacyCenterQueryClient = new QueryClient();
|
|
20776
21294
|
function PrivacyCenterContent({ onBack }) {
|
|
20777
21295
|
const { currentPage } = useInternalNavigation();
|
|
@@ -20781,24 +21299,24 @@ function PrivacyCenterContent({ onBack }) {
|
|
|
20781
21299
|
const chromeMode = getPageChromeMode(currentPage);
|
|
20782
21300
|
const canvasIsLight = isLightColor(colors.canvasSubtle);
|
|
20783
21301
|
const barStyle = canvasIsLight ? "dark-content" : "light-content";
|
|
20784
|
-
|
|
21302
|
+
useEffect21(() => {
|
|
20785
21303
|
StatusBar2.setBarStyle(barStyle, true);
|
|
20786
21304
|
if (Platform8.OS === "android") {
|
|
20787
21305
|
setNavBarIconStyle(canvasIsLight ? "dark" : "light");
|
|
20788
21306
|
}
|
|
20789
21307
|
}, [barStyle, canvasIsLight]);
|
|
20790
|
-
return /* @__PURE__ */
|
|
20791
|
-
/* @__PURE__ */
|
|
20792
|
-
/* @__PURE__ */
|
|
20793
|
-
/* @__PURE__ */
|
|
20794
|
-
/* @__PURE__ */
|
|
20795
|
-
currentPage === "home" && /* @__PURE__ */
|
|
20796
|
-
currentPage === "consent-manager" && /* @__PURE__ */
|
|
20797
|
-
currentPage === "form" && /* @__PURE__ */
|
|
20798
|
-
currentPage === "activity" && /* @__PURE__ */
|
|
20799
|
-
currentPage === "receipts" && /* @__PURE__ */
|
|
20800
|
-
currentPage === "case-details" && /* @__PURE__ */
|
|
20801
|
-
currentPage === "notifications" && /* @__PURE__ */
|
|
21308
|
+
return /* @__PURE__ */ jsxs45(View52, { style: [styles54.container, { backgroundColor: colors.canvasSubtle }], children: [
|
|
21309
|
+
/* @__PURE__ */ jsx68(StatusBar2, { barStyle, translucent: true }),
|
|
21310
|
+
/* @__PURE__ */ jsx68(View52, { style: styles54.mainColumn, children: brandingLoading ? /* @__PURE__ */ jsx68(PCLoader, {}) : /* @__PURE__ */ jsxs45(Fragment17, { children: [
|
|
21311
|
+
/* @__PURE__ */ jsx68(SlimTopBar, { mode: chromeMode, onBack }),
|
|
21312
|
+
/* @__PURE__ */ jsx68(View52, { style: [styles54.content, { paddingBottom: insets.bottom }], children: status === "checking" ? /* @__PURE__ */ jsx68(PCLoader, {}) : status === "session-expired" ? /* @__PURE__ */ jsx68(PrivacyCenterSessionExpired, {}) : status === "empty" ? /* @__PURE__ */ jsx68(PrivacyCenterEmptyState, {}) : /* @__PURE__ */ jsxs45(Fragment17, { children: [
|
|
21313
|
+
currentPage === "home" && /* @__PURE__ */ jsx68(HomeHub, {}),
|
|
21314
|
+
currentPage === "consent-manager" && /* @__PURE__ */ jsx68(ConsentManager, {}),
|
|
21315
|
+
currentPage === "form" && /* @__PURE__ */ jsx68(FormPage, {}),
|
|
21316
|
+
currentPage === "activity" && /* @__PURE__ */ jsx68(ActivitiesList, {}),
|
|
21317
|
+
currentPage === "receipts" && /* @__PURE__ */ jsx68(ReceiptsList, {}),
|
|
21318
|
+
currentPage === "case-details" && /* @__PURE__ */ jsx68(CaseDetailsPage, {}),
|
|
21319
|
+
currentPage === "notifications" && /* @__PURE__ */ jsx68(NotificationsScreen, {})
|
|
20802
21320
|
] }) })
|
|
20803
21321
|
] }) })
|
|
20804
21322
|
] });
|
|
@@ -20823,7 +21341,7 @@ function RedactoPrivacyCenter({
|
|
|
20823
21341
|
initialCaseUuid,
|
|
20824
21342
|
onBack
|
|
20825
21343
|
}) {
|
|
20826
|
-
return /* @__PURE__ */
|
|
21344
|
+
return /* @__PURE__ */ jsx68(SafeAreaBoundary, { children: /* @__PURE__ */ jsx68(KeyboardProviderCompat, { children: /* @__PURE__ */ jsx68(QueryClientProvider, { client: privacyCenterQueryClient, children: /* @__PURE__ */ jsx68(I18nextProvider, { i18n: i18n_default, children: /* @__PURE__ */ jsx68(ThemeProvider, { slug, baseUrl, children: /* @__PURE__ */ jsx68(BaseUrlProvider, { baseUrl, ledgerBaseUrl, children: /* @__PURE__ */ jsx68(
|
|
20827
21345
|
AuthProvider,
|
|
20828
21346
|
{
|
|
20829
21347
|
accessToken: accessToken != null ? accessToken : "",
|
|
@@ -20835,11 +21353,11 @@ function RedactoPrivacyCenter({
|
|
|
20835
21353
|
workspaceUuid,
|
|
20836
21354
|
slug,
|
|
20837
21355
|
onError,
|
|
20838
|
-
children: /* @__PURE__ */
|
|
21356
|
+
children: /* @__PURE__ */ jsx68(NavigationProvider, { initialPage, initialPendingCaseUuid: initialCaseUuid != null ? initialCaseUuid : null, children: /* @__PURE__ */ jsx68(SelectUserGate, { children: /* @__PURE__ */ jsx68(DataAvailabilityProvider, { children: /* @__PURE__ */ jsx68(PageStatusProvider, { children: /* @__PURE__ */ jsx68(PrivacyCenterContent, { onBack }) }) }) }) })
|
|
20839
21357
|
}
|
|
20840
21358
|
) }) }) }) }) }) });
|
|
20841
21359
|
}
|
|
20842
|
-
var
|
|
21360
|
+
var styles54 = StyleSheet55.create({
|
|
20843
21361
|
container: {
|
|
20844
21362
|
flex: 1
|
|
20845
21363
|
},
|
|
@@ -20854,78 +21372,78 @@ var styles52 = StyleSheet53.create({
|
|
|
20854
21372
|
|
|
20855
21373
|
// src/RedactoPrivacyCenter/components/SideMenu.tsx
|
|
20856
21374
|
import {
|
|
20857
|
-
StyleSheet as
|
|
20858
|
-
Text as
|
|
20859
|
-
TouchableOpacity as
|
|
20860
|
-
View as
|
|
21375
|
+
StyleSheet as StyleSheet56,
|
|
21376
|
+
Text as Text43,
|
|
21377
|
+
TouchableOpacity as TouchableOpacity23,
|
|
21378
|
+
View as View53
|
|
20861
21379
|
} from "react-native";
|
|
20862
|
-
import { useTranslation as
|
|
21380
|
+
import { useTranslation as useTranslation30 } from "react-i18next";
|
|
20863
21381
|
import Svg2, { Path as Path2 } from "react-native-svg";
|
|
20864
|
-
import { Fragment as Fragment18, jsx as
|
|
21382
|
+
import { Fragment as Fragment18, jsx as jsx69, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
20865
21383
|
var MENU_ITEMS = [
|
|
20866
21384
|
{ page: "consent-manager", labelKey: "consentManager", fallback: "Consent Manager", icon: "shield-check" },
|
|
20867
21385
|
{ page: "form", labelKey: "grievanceRequests", fallback: "Privacy Requests", icon: "message-circle-warning" },
|
|
20868
21386
|
{ page: "activity", labelKey: "activity", fallback: "Activity", icon: "activity" }
|
|
20869
21387
|
];
|
|
20870
21388
|
function SideMenu({ onBack } = {}) {
|
|
20871
|
-
const { t } =
|
|
21389
|
+
const { t } = useTranslation30();
|
|
20872
21390
|
const { currentPage, navigateTo } = useInternalNavigation();
|
|
20873
21391
|
const { organizationName, email } = useAuth();
|
|
20874
21392
|
const { colors } = useTheme();
|
|
20875
21393
|
const orgInitial = organizationName ? organizationName.charAt(0).toUpperCase() : "R";
|
|
20876
21394
|
const displayName = organizationName || "Organization";
|
|
20877
|
-
return /* @__PURE__ */
|
|
20878
|
-
/* @__PURE__ */
|
|
20879
|
-
/* @__PURE__ */
|
|
20880
|
-
/* @__PURE__ */
|
|
20881
|
-
/* @__PURE__ */
|
|
20882
|
-
email ? /* @__PURE__ */
|
|
21395
|
+
return /* @__PURE__ */ jsxs46(View53, { style: [styles55.container, { backgroundColor: colors.surface }], children: [
|
|
21396
|
+
/* @__PURE__ */ jsxs46(View53, { style: styles55.orgSection, children: [
|
|
21397
|
+
/* @__PURE__ */ jsx69(View53, { style: [styles55.avatar, { backgroundColor: colors.primary }], children: /* @__PURE__ */ jsx69(Text43, { style: [styles55.avatarText, { color: colors.primaryText }], children: orgInitial }) }),
|
|
21398
|
+
/* @__PURE__ */ jsxs46(View53, { style: styles55.orgInfo, children: [
|
|
21399
|
+
/* @__PURE__ */ jsx69(Text43, { style: [styles55.orgName, { color: colors.text }], numberOfLines: 1, children: displayName }),
|
|
21400
|
+
email ? /* @__PURE__ */ jsx69(Text43, { style: [styles55.orgEmail, { color: colors.textSecondary }], numberOfLines: 1, children: email }) : null
|
|
20883
21401
|
] })
|
|
20884
21402
|
] }),
|
|
20885
|
-
/* @__PURE__ */
|
|
20886
|
-
/* @__PURE__ */
|
|
21403
|
+
/* @__PURE__ */ jsx69(View53, { style: [styles55.divider, { backgroundColor: colors.border }] }),
|
|
21404
|
+
/* @__PURE__ */ jsx69(View53, { style: styles55.menuSection, children: MENU_ITEMS.map((item) => {
|
|
20887
21405
|
const isActive = currentPage === item.page || item.page === "form" && currentPage === "case-details";
|
|
20888
|
-
return /* @__PURE__ */
|
|
20889
|
-
|
|
21406
|
+
return /* @__PURE__ */ jsxs46(
|
|
21407
|
+
TouchableOpacity23,
|
|
20890
21408
|
{
|
|
20891
21409
|
style: [
|
|
20892
|
-
|
|
20893
|
-
isActive && [
|
|
21410
|
+
styles55.menuItem,
|
|
21411
|
+
isActive && [styles55.menuItemActive, { backgroundColor: `${colors.primary}14` }]
|
|
20894
21412
|
],
|
|
20895
21413
|
onPress: () => navigateTo(item.page),
|
|
20896
21414
|
activeOpacity: 0.7,
|
|
20897
21415
|
accessibilityRole: "button",
|
|
20898
21416
|
accessibilityState: { selected: isActive },
|
|
20899
21417
|
children: [
|
|
20900
|
-
/* @__PURE__ */
|
|
20901
|
-
/* @__PURE__ */
|
|
20902
|
-
|
|
21418
|
+
/* @__PURE__ */ jsx69(View53, { style: styles55.menuIconWrap, children: /* @__PURE__ */ jsx69(Icon, { name: item.icon, size: 18, color: isActive ? colors.primary : colors.textSecondary }) }),
|
|
21419
|
+
/* @__PURE__ */ jsx69(
|
|
21420
|
+
Text43,
|
|
20903
21421
|
{
|
|
20904
21422
|
style: [
|
|
20905
|
-
|
|
21423
|
+
styles55.menuLabel,
|
|
20906
21424
|
{ color: isActive ? colors.primary : colors.text },
|
|
20907
|
-
isActive &&
|
|
21425
|
+
isActive && styles55.menuLabelActive
|
|
20908
21426
|
],
|
|
20909
21427
|
children: t(item.labelKey) || item.fallback
|
|
20910
21428
|
}
|
|
20911
21429
|
),
|
|
20912
|
-
isActive ? /* @__PURE__ */
|
|
21430
|
+
isActive ? /* @__PURE__ */ jsx69(View53, { style: [styles55.activeIndicator, { backgroundColor: colors.primary }] }) : null
|
|
20913
21431
|
]
|
|
20914
21432
|
},
|
|
20915
21433
|
item.page
|
|
20916
21434
|
);
|
|
20917
21435
|
}) }),
|
|
20918
|
-
onBack ? /* @__PURE__ */
|
|
20919
|
-
/* @__PURE__ */
|
|
20920
|
-
/* @__PURE__ */
|
|
20921
|
-
/* @__PURE__ */
|
|
20922
|
-
|
|
21436
|
+
onBack ? /* @__PURE__ */ jsxs46(Fragment18, { children: [
|
|
21437
|
+
/* @__PURE__ */ jsx69(View53, { style: { flex: 1 } }),
|
|
21438
|
+
/* @__PURE__ */ jsx69(View53, { style: [styles55.divider, { backgroundColor: colors.border }] }),
|
|
21439
|
+
/* @__PURE__ */ jsxs46(
|
|
21440
|
+
TouchableOpacity23,
|
|
20923
21441
|
{
|
|
20924
|
-
style:
|
|
21442
|
+
style: styles55.backBtn,
|
|
20925
21443
|
onPress: () => navigateBack(onBack),
|
|
20926
21444
|
activeOpacity: 0.7,
|
|
20927
21445
|
children: [
|
|
20928
|
-
/* @__PURE__ */
|
|
21446
|
+
/* @__PURE__ */ jsx69(Svg2, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: onBack === "back" ? /* @__PURE__ */ jsx69(
|
|
20929
21447
|
Path2,
|
|
20930
21448
|
{
|
|
20931
21449
|
d: "M19 12H5m0 0l7 7m-7-7l7-7",
|
|
@@ -20934,7 +21452,7 @@ function SideMenu({ onBack } = {}) {
|
|
|
20934
21452
|
strokeLinecap: "round",
|
|
20935
21453
|
strokeLinejoin: "round"
|
|
20936
21454
|
}
|
|
20937
|
-
) : /* @__PURE__ */
|
|
21455
|
+
) : /* @__PURE__ */ jsx69(
|
|
20938
21456
|
Path2,
|
|
20939
21457
|
{
|
|
20940
21458
|
d: "M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4 M16 17l5-5-5-5 M21 12H9",
|
|
@@ -20944,14 +21462,14 @@ function SideMenu({ onBack } = {}) {
|
|
|
20944
21462
|
strokeLinejoin: "round"
|
|
20945
21463
|
}
|
|
20946
21464
|
) }),
|
|
20947
|
-
/* @__PURE__ */
|
|
21465
|
+
/* @__PURE__ */ jsx69(Text43, { style: [styles55.backBtnLabel, { color: colors.textSecondary }], children: onBack === "back" ? t("back") || "Back" : t("signOut") || "Sign Out" })
|
|
20948
21466
|
]
|
|
20949
21467
|
}
|
|
20950
21468
|
)
|
|
20951
21469
|
] }) : null
|
|
20952
21470
|
] });
|
|
20953
21471
|
}
|
|
20954
|
-
var
|
|
21472
|
+
var styles55 = StyleSheet56.create({
|
|
20955
21473
|
container: {
|
|
20956
21474
|
flex: 1,
|
|
20957
21475
|
paddingTop: 12
|
|
@@ -21037,42 +21555,68 @@ var styles53 = StyleSheet54.create({
|
|
|
21037
21555
|
});
|
|
21038
21556
|
|
|
21039
21557
|
// src/RedactoPrivacyCenter/components/Navbar.tsx
|
|
21040
|
-
import { useCallback as
|
|
21041
|
-
import { StyleSheet as
|
|
21042
|
-
import { useTranslation as
|
|
21558
|
+
import { useCallback as useCallback15, useEffect as useEffect22, useState as useState26 } from "react";
|
|
21559
|
+
import { StyleSheet as StyleSheet58, Text as Text45, TouchableOpacity as TouchableOpacity25, View as View55 } from "react-native";
|
|
21560
|
+
import { useTranslation as useTranslation32 } from "react-i18next";
|
|
21043
21561
|
import Svg4, { Path as Path4 } from "react-native-svg";
|
|
21044
21562
|
|
|
21045
21563
|
// src/RedactoPrivacyCenter/components/UserOrgMenu.tsx
|
|
21046
|
-
import { Image as Image4, StyleSheet as
|
|
21047
|
-
import { useTranslation as
|
|
21564
|
+
import { Image as Image4, StyleSheet as StyleSheet57, Text as Text44, TouchableOpacity as TouchableOpacity24, View as View54 } from "react-native";
|
|
21565
|
+
import { useTranslation as useTranslation31 } from "react-i18next";
|
|
21048
21566
|
import Svg3, { Path as Path3 } from "react-native-svg";
|
|
21049
|
-
import { jsx as
|
|
21567
|
+
import { jsx as jsx70, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
21050
21568
|
var UserOrgMenu = ({ visible, onClose, onBack }) => {
|
|
21051
|
-
const { t } =
|
|
21569
|
+
const { t } = useTranslation31();
|
|
21052
21570
|
const { organizationName, email } = useAuth();
|
|
21053
21571
|
const { colors, branding } = useTheme();
|
|
21572
|
+
const { switchProfile } = useProfileSwitch();
|
|
21054
21573
|
const brandName = (branding == null ? void 0 : branding.brand_name) || organizationName || t("privacyCenter") || "Privacy Center";
|
|
21055
21574
|
const handleAction = () => {
|
|
21056
21575
|
onClose();
|
|
21057
21576
|
navigateBack(onBack);
|
|
21058
21577
|
};
|
|
21059
|
-
return /* @__PURE__ */
|
|
21060
|
-
/* @__PURE__ */
|
|
21061
|
-
(branding == null ? void 0 : branding.logo_url) ? /* @__PURE__ */
|
|
21062
|
-
/* @__PURE__ */
|
|
21063
|
-
/* @__PURE__ */
|
|
21064
|
-
email ? /* @__PURE__ */
|
|
21578
|
+
return /* @__PURE__ */ jsxs47(BottomSheet, { visible, onClose, title: t("account") || "Account", children: [
|
|
21579
|
+
/* @__PURE__ */ jsxs47(View54, { style: styles56.identity, children: [
|
|
21580
|
+
(branding == null ? void 0 : branding.logo_url) ? /* @__PURE__ */ jsx70(Image4, { source: { uri: branding.logo_url }, style: styles56.logo, resizeMode: "contain" }) : /* @__PURE__ */ jsx70(PCAvatar, { name: organizationName || brandName, imageUrl: branding == null ? void 0 : branding.icon_url, size: 52 }),
|
|
21581
|
+
/* @__PURE__ */ jsxs47(View54, { style: styles56.identityText, children: [
|
|
21582
|
+
/* @__PURE__ */ jsx70(Text44, { style: [styles56.orgName, { color: colors.text }], numberOfLines: 2, children: brandName }),
|
|
21583
|
+
email ? /* @__PURE__ */ jsx70(Text44, { style: [styles56.email, { color: colors.textSecondary }], numberOfLines: 1, children: email }) : null
|
|
21065
21584
|
] })
|
|
21066
21585
|
] }),
|
|
21067
|
-
|
|
21068
|
-
|
|
21586
|
+
switchProfile ? /* @__PURE__ */ jsxs47(
|
|
21587
|
+
TouchableOpacity24,
|
|
21588
|
+
{
|
|
21589
|
+
style: [styles56.actionRow, { backgroundColor: withAlpha(colors.primary, 0.1) }],
|
|
21590
|
+
onPress: () => {
|
|
21591
|
+
onClose();
|
|
21592
|
+
switchProfile();
|
|
21593
|
+
},
|
|
21594
|
+
activeOpacity: 0.7,
|
|
21595
|
+
accessibilityRole: "button",
|
|
21596
|
+
children: [
|
|
21597
|
+
/* @__PURE__ */ jsx70(Svg3, { width: 18, height: 18, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx70(
|
|
21598
|
+
Path3,
|
|
21599
|
+
{
|
|
21600
|
+
d: "M16 3h5v5 M21 3l-7 7 M8 21H3v-5 M3 21l7-7",
|
|
21601
|
+
stroke: colors.primary,
|
|
21602
|
+
strokeWidth: 2,
|
|
21603
|
+
strokeLinecap: "round",
|
|
21604
|
+
strokeLinejoin: "round"
|
|
21605
|
+
}
|
|
21606
|
+
) }),
|
|
21607
|
+
/* @__PURE__ */ jsx70(Text44, { style: [styles56.actionLabel, { color: colors.primary }], children: t("switchProfile") })
|
|
21608
|
+
]
|
|
21609
|
+
}
|
|
21610
|
+
) : null,
|
|
21611
|
+
onBack ? /* @__PURE__ */ jsxs47(
|
|
21612
|
+
TouchableOpacity24,
|
|
21069
21613
|
{
|
|
21070
|
-
style: [
|
|
21614
|
+
style: [styles56.actionRow, { backgroundColor: withAlpha(onBack === "signout" ? colors.error : colors.primary, 0.1) }],
|
|
21071
21615
|
onPress: handleAction,
|
|
21072
21616
|
activeOpacity: 0.7,
|
|
21073
21617
|
accessibilityRole: "button",
|
|
21074
21618
|
children: [
|
|
21075
|
-
/* @__PURE__ */
|
|
21619
|
+
/* @__PURE__ */ jsx70(Svg3, { width: 18, height: 18, viewBox: "0 0 24 24", fill: "none", children: onBack === "signout" ? /* @__PURE__ */ jsx70(
|
|
21076
21620
|
Path3,
|
|
21077
21621
|
{
|
|
21078
21622
|
d: "M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4 M16 17l5-5-5-5 M21 12H9",
|
|
@@ -21081,7 +21625,7 @@ var UserOrgMenu = ({ visible, onClose, onBack }) => {
|
|
|
21081
21625
|
strokeLinecap: "round",
|
|
21082
21626
|
strokeLinejoin: "round"
|
|
21083
21627
|
}
|
|
21084
|
-
) : /* @__PURE__ */
|
|
21628
|
+
) : /* @__PURE__ */ jsx70(
|
|
21085
21629
|
Path3,
|
|
21086
21630
|
{
|
|
21087
21631
|
d: "M19 12H5m0 0l7 7m-7-7l7-7",
|
|
@@ -21091,13 +21635,13 @@ var UserOrgMenu = ({ visible, onClose, onBack }) => {
|
|
|
21091
21635
|
strokeLinejoin: "round"
|
|
21092
21636
|
}
|
|
21093
21637
|
) }),
|
|
21094
|
-
/* @__PURE__ */
|
|
21638
|
+
/* @__PURE__ */ jsx70(Text44, { style: [styles56.actionLabel, { color: onBack === "signout" ? colors.error : colors.primary }], children: onBack === "signout" ? t("signOut") || "Sign Out" : t("back") || "Back" })
|
|
21095
21639
|
]
|
|
21096
21640
|
}
|
|
21097
21641
|
) : null
|
|
21098
21642
|
] });
|
|
21099
21643
|
};
|
|
21100
|
-
var
|
|
21644
|
+
var styles56 = StyleSheet57.create({
|
|
21101
21645
|
identity: {
|
|
21102
21646
|
flexDirection: "row",
|
|
21103
21647
|
alignItems: "center",
|
|
@@ -21138,33 +21682,33 @@ var styles54 = StyleSheet55.create({
|
|
|
21138
21682
|
});
|
|
21139
21683
|
|
|
21140
21684
|
// src/RedactoPrivacyCenter/components/Navbar.tsx
|
|
21141
|
-
import { Fragment as Fragment19, jsx as
|
|
21685
|
+
import { Fragment as Fragment19, jsx as jsx71, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
21142
21686
|
function Navbar({ mode = "primary", onBack }) {
|
|
21143
|
-
const { t } =
|
|
21687
|
+
const { t } = useTranslation32();
|
|
21144
21688
|
const { currentPage, navigateTo } = useInternalNavigation();
|
|
21145
21689
|
const { organizationName, email } = useAuth();
|
|
21146
21690
|
const { colors, branding } = useTheme();
|
|
21147
|
-
const [locale, setLocale] =
|
|
21148
|
-
const [menuOpen, setMenuOpen] =
|
|
21691
|
+
const [locale, setLocale] = useState26(i18n_default.language || "en");
|
|
21692
|
+
const [menuOpen, setMenuOpen] = useState26(false);
|
|
21149
21693
|
const unreadCount = useUnreadCount();
|
|
21150
21694
|
const { status: pageStatus } = usePageStatus();
|
|
21151
21695
|
const pageChrome = PAGE_CHROME_BY_PAGE[currentPage] || PAGE_CHROME_BY_PAGE["consent-manager"];
|
|
21152
21696
|
const isDetail = mode === "detail";
|
|
21153
|
-
|
|
21697
|
+
useEffect22(() => {
|
|
21154
21698
|
const handleLanguageChanged = () => setLocale(i18n_default.language);
|
|
21155
21699
|
i18n_default.on("languageChanged", handleLanguageChanged);
|
|
21156
21700
|
return () => {
|
|
21157
21701
|
i18n_default.off("languageChanged", handleLanguageChanged);
|
|
21158
21702
|
};
|
|
21159
21703
|
}, []);
|
|
21160
|
-
const handleLanguageChange =
|
|
21704
|
+
const handleLanguageChange = useCallback15((value) => {
|
|
21161
21705
|
i18n_default.changeLanguage(value);
|
|
21162
21706
|
}, []);
|
|
21163
21707
|
const brandLabel = (branding == null ? void 0 : branding.brand_name) || organizationName || t("privacyCenter") || "Privacy Center";
|
|
21164
21708
|
const accountLabel = brandLabel || email || t("account") || "Account";
|
|
21165
|
-
const brandLockup = /* @__PURE__ */
|
|
21166
|
-
/* @__PURE__ */
|
|
21167
|
-
/* @__PURE__ */
|
|
21709
|
+
const brandLockup = /* @__PURE__ */ jsxs48(View55, { style: styles57.brandRow, children: [
|
|
21710
|
+
/* @__PURE__ */ jsx71(PCAvatar, { name: organizationName || brandLabel, imageUrl: branding == null ? void 0 : branding.icon_url, size: 28 }),
|
|
21711
|
+
/* @__PURE__ */ jsx71(Text45, { style: [styles57.brandText, { color: colors.text }], numberOfLines: 1, children: brandLabel })
|
|
21168
21712
|
] });
|
|
21169
21713
|
const handleDetailBack = () => {
|
|
21170
21714
|
if (currentPage === "case-details") {
|
|
@@ -21176,26 +21720,26 @@ function Navbar({ mode = "primary", onBack }) {
|
|
|
21176
21720
|
}
|
|
21177
21721
|
};
|
|
21178
21722
|
if (isDetail) {
|
|
21179
|
-
return /* @__PURE__ */
|
|
21180
|
-
/* @__PURE__ */
|
|
21181
|
-
|
|
21723
|
+
return /* @__PURE__ */ jsxs48(Fragment19, { children: [
|
|
21724
|
+
/* @__PURE__ */ jsx71(
|
|
21725
|
+
View55,
|
|
21182
21726
|
{
|
|
21183
21727
|
style: [
|
|
21184
|
-
|
|
21185
|
-
|
|
21728
|
+
styles57.container,
|
|
21729
|
+
styles57.detailContainer,
|
|
21186
21730
|
{ backgroundColor: colors.background, borderBottomColor: colors.border, paddingTop: TOP_INSET + spacing.xs }
|
|
21187
21731
|
],
|
|
21188
|
-
children: /* @__PURE__ */
|
|
21189
|
-
/* @__PURE__ */
|
|
21190
|
-
|
|
21732
|
+
children: /* @__PURE__ */ jsxs48(View55, { style: styles57.detailRow, children: [
|
|
21733
|
+
/* @__PURE__ */ jsx71(
|
|
21734
|
+
TouchableOpacity25,
|
|
21191
21735
|
{
|
|
21192
|
-
style:
|
|
21736
|
+
style: styles57.backButton,
|
|
21193
21737
|
onPress: handleDetailBack,
|
|
21194
21738
|
activeOpacity: 0.7,
|
|
21195
21739
|
hitSlop: DEFAULT_HIT_SLOP,
|
|
21196
21740
|
accessibilityRole: "button",
|
|
21197
21741
|
accessibilityLabel: t("back") || "Back",
|
|
21198
|
-
children: /* @__PURE__ */
|
|
21742
|
+
children: /* @__PURE__ */ jsx71(Svg4, { width: 22, height: 22, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx71(
|
|
21199
21743
|
Path4,
|
|
21200
21744
|
{
|
|
21201
21745
|
d: "M19 12H5m0 0l7 7m-7-7l7-7",
|
|
@@ -21207,36 +21751,36 @@ function Navbar({ mode = "primary", onBack }) {
|
|
|
21207
21751
|
) })
|
|
21208
21752
|
}
|
|
21209
21753
|
),
|
|
21210
|
-
/* @__PURE__ */
|
|
21211
|
-
/* @__PURE__ */
|
|
21212
|
-
pageStatus ? /* @__PURE__ */
|
|
21754
|
+
/* @__PURE__ */ jsxs48(View55, { style: styles57.detailTitleWrap, children: [
|
|
21755
|
+
/* @__PURE__ */ jsx71(Text45, { style: [styles57.detailTitle, { color: colors.text }], numberOfLines: 1, children: t(pageChrome.titleKey) }),
|
|
21756
|
+
pageStatus ? /* @__PURE__ */ jsx71(PCBadge, { status: pageStatus.tone, label: pageStatus.label }) : null
|
|
21213
21757
|
] })
|
|
21214
21758
|
] })
|
|
21215
21759
|
}
|
|
21216
21760
|
),
|
|
21217
|
-
/* @__PURE__ */
|
|
21761
|
+
/* @__PURE__ */ jsx71(UserOrgMenu, { visible: menuOpen, onClose: () => setMenuOpen(false), onBack })
|
|
21218
21762
|
] });
|
|
21219
21763
|
}
|
|
21220
|
-
return /* @__PURE__ */
|
|
21221
|
-
/* @__PURE__ */
|
|
21222
|
-
|
|
21764
|
+
return /* @__PURE__ */ jsxs48(Fragment19, { children: [
|
|
21765
|
+
/* @__PURE__ */ jsxs48(
|
|
21766
|
+
View55,
|
|
21223
21767
|
{
|
|
21224
21768
|
style: [
|
|
21225
|
-
|
|
21769
|
+
styles57.container,
|
|
21226
21770
|
{ backgroundColor: colors.background, borderBottomColor: colors.border, paddingTop: TOP_INSET + spacing.xs }
|
|
21227
21771
|
],
|
|
21228
21772
|
children: [
|
|
21229
|
-
/* @__PURE__ */
|
|
21230
|
-
onBack ? /* @__PURE__ */
|
|
21231
|
-
|
|
21773
|
+
/* @__PURE__ */ jsxs48(View55, { style: styles57.appBar, children: [
|
|
21774
|
+
onBack ? /* @__PURE__ */ jsx71(
|
|
21775
|
+
TouchableOpacity25,
|
|
21232
21776
|
{
|
|
21233
|
-
style:
|
|
21777
|
+
style: styles57.backButton,
|
|
21234
21778
|
onPress: () => navigateBack(onBack),
|
|
21235
21779
|
activeOpacity: 0.7,
|
|
21236
21780
|
hitSlop: DEFAULT_HIT_SLOP,
|
|
21237
21781
|
accessibilityRole: "button",
|
|
21238
21782
|
accessibilityLabel: onBack === "back" ? t("back") || "Back" : t("signOut") || "Sign Out",
|
|
21239
|
-
children: /* @__PURE__ */
|
|
21783
|
+
children: /* @__PURE__ */ jsx71(Svg4, { width: 22, height: 22, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx71(
|
|
21240
21784
|
Path4,
|
|
21241
21785
|
{
|
|
21242
21786
|
d: "M19 12H5m0 0l7 7m-7-7l7-7",
|
|
@@ -21248,39 +21792,39 @@ function Navbar({ mode = "primary", onBack }) {
|
|
|
21248
21792
|
) })
|
|
21249
21793
|
}
|
|
21250
21794
|
) : null,
|
|
21251
|
-
/* @__PURE__ */
|
|
21252
|
-
/* @__PURE__ */
|
|
21253
|
-
/* @__PURE__ */
|
|
21254
|
-
/* @__PURE__ */
|
|
21255
|
-
/* @__PURE__ */
|
|
21256
|
-
|
|
21795
|
+
/* @__PURE__ */ jsx71(View55, { style: styles57.brandWrap, children: (branding == null ? void 0 : branding.logo_url) ? /* @__PURE__ */ jsx71(BrandImage, { uri: branding.logo_url, height: 34, maxWidth: 170, fallback: brandLockup }) : brandLockup }),
|
|
21796
|
+
/* @__PURE__ */ jsxs48(View55, { style: styles57.actions, children: [
|
|
21797
|
+
/* @__PURE__ */ jsx71(NotificationBell, { count: unreadCount, onPress: () => navigateTo("notifications") }),
|
|
21798
|
+
/* @__PURE__ */ jsx71(PCSelect, { value: locale, options: languageOptions, onChange: handleLanguageChange, placeholder: t("language"), compact: true }),
|
|
21799
|
+
/* @__PURE__ */ jsx71(
|
|
21800
|
+
TouchableOpacity25,
|
|
21257
21801
|
{
|
|
21258
|
-
style:
|
|
21802
|
+
style: styles57.avatarButton,
|
|
21259
21803
|
onPress: () => setMenuOpen(true),
|
|
21260
21804
|
activeOpacity: 0.7,
|
|
21261
21805
|
hitSlop: DEFAULT_HIT_SLOP,
|
|
21262
21806
|
accessibilityRole: "button",
|
|
21263
21807
|
accessibilityLabel: accountLabel,
|
|
21264
|
-
children: /* @__PURE__ */
|
|
21808
|
+
children: /* @__PURE__ */ jsx71(PCAvatar, { name: organizationName || accountLabel, imageUrl: branding == null ? void 0 : branding.icon_url, size: 28 })
|
|
21265
21809
|
}
|
|
21266
21810
|
)
|
|
21267
21811
|
] })
|
|
21268
21812
|
] }),
|
|
21269
|
-
/* @__PURE__ */
|
|
21270
|
-
/* @__PURE__ */
|
|
21271
|
-
pageStatus ? /* @__PURE__ */
|
|
21813
|
+
/* @__PURE__ */ jsx71(View55, { style: styles57.pageHeader, children: /* @__PURE__ */ jsxs48(View55, { style: styles57.titleRow, children: [
|
|
21814
|
+
/* @__PURE__ */ jsx71(Text45, { style: [styles57.pageTitle, { color: colors.text }], numberOfLines: 1, children: t(pageChrome.titleKey) }),
|
|
21815
|
+
pageStatus ? /* @__PURE__ */ jsx71(PCBadge, { status: pageStatus.tone, label: pageStatus.label }) : null
|
|
21272
21816
|
] }) })
|
|
21273
21817
|
]
|
|
21274
21818
|
}
|
|
21275
21819
|
),
|
|
21276
|
-
/* @__PURE__ */
|
|
21820
|
+
/* @__PURE__ */ jsx71(UserOrgMenu, { visible: menuOpen, onClose: () => setMenuOpen(false), onBack })
|
|
21277
21821
|
] });
|
|
21278
21822
|
}
|
|
21279
|
-
var
|
|
21823
|
+
var styles57 = StyleSheet58.create({
|
|
21280
21824
|
container: {
|
|
21281
21825
|
paddingHorizontal: spacing.lg,
|
|
21282
21826
|
paddingBottom: spacing.md,
|
|
21283
|
-
borderBottomWidth:
|
|
21827
|
+
borderBottomWidth: StyleSheet58.hairlineWidth
|
|
21284
21828
|
},
|
|
21285
21829
|
detailContainer: {
|
|
21286
21830
|
paddingBottom: spacing.sm
|
|
@@ -21360,10 +21904,10 @@ var styles55 = StyleSheet56.create({
|
|
|
21360
21904
|
});
|
|
21361
21905
|
|
|
21362
21906
|
// src/RedactoPrivacyCenter/components/BottomTabBar.tsx
|
|
21363
|
-
import { useState as
|
|
21364
|
-
import { Animated as Animated14, StyleSheet as
|
|
21365
|
-
import { useTranslation as
|
|
21366
|
-
import { jsx as
|
|
21907
|
+
import { useState as useState27 } from "react";
|
|
21908
|
+
import { Animated as Animated14, StyleSheet as StyleSheet59, Text as Text46, TouchableOpacity as TouchableOpacity26, View as View56 } from "react-native";
|
|
21909
|
+
import { useTranslation as useTranslation33 } from "react-i18next";
|
|
21910
|
+
import { jsx as jsx72, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
21367
21911
|
var TAB_ITEMS = [
|
|
21368
21912
|
{ page: "consent-manager", labelKey: "consentManager", fallback: "Consents", icon: "shield-check" },
|
|
21369
21913
|
{ page: "form", labelKey: "grievanceRequests", fallback: "Requests", icon: "message-circle-warning" },
|
|
@@ -21374,10 +21918,10 @@ var PAD_H = spacing.lg;
|
|
|
21374
21918
|
var PILL_WIDTH = 56;
|
|
21375
21919
|
var PILL_HEIGHT = 34;
|
|
21376
21920
|
function BottomTabBar({ showFooter = true }) {
|
|
21377
|
-
const { t } =
|
|
21921
|
+
const { t } = useTranslation33();
|
|
21378
21922
|
const { currentPage, navigateTo } = useInternalNavigation();
|
|
21379
21923
|
const { colors } = useTheme();
|
|
21380
|
-
const [rowWidth, setRowWidth] =
|
|
21924
|
+
const [rowWidth, setRowWidth] = useState27(0);
|
|
21381
21925
|
const innerWidth = Math.max(0, rowWidth - PAD_H * 2);
|
|
21382
21926
|
const tabWidth = innerWidth > 0 ? innerWidth / TAB_ITEMS.length : 0;
|
|
21383
21927
|
const activeIndex = TAB_ITEMS.findIndex(
|
|
@@ -21385,13 +21929,13 @@ function BottomTabBar({ showFooter = true }) {
|
|
|
21385
21929
|
);
|
|
21386
21930
|
const { translateX } = useAnimatedTabIndicator(Math.max(0, activeIndex), tabWidth);
|
|
21387
21931
|
const onLayout = (e) => setRowWidth(e.nativeEvent.layout.width);
|
|
21388
|
-
return /* @__PURE__ */
|
|
21389
|
-
/* @__PURE__ */
|
|
21390
|
-
tabWidth > 0 && activeIndex >= 0 ? /* @__PURE__ */
|
|
21932
|
+
return /* @__PURE__ */ jsxs49(View56, { style: [styles58.wrapper, { backgroundColor: colors.canvasSubtle, borderTopColor: colors.hairline }], children: [
|
|
21933
|
+
/* @__PURE__ */ jsxs49(View56, { style: styles58.container, onLayout, children: [
|
|
21934
|
+
tabWidth > 0 && activeIndex >= 0 ? /* @__PURE__ */ jsx72(
|
|
21391
21935
|
Animated14.View,
|
|
21392
21936
|
{
|
|
21393
21937
|
style: [
|
|
21394
|
-
|
|
21938
|
+
styles58.pill,
|
|
21395
21939
|
{
|
|
21396
21940
|
width: PILL_WIDTH,
|
|
21397
21941
|
left: PAD_H + (tabWidth - PILL_WIDTH) / 2,
|
|
@@ -21404,17 +21948,17 @@ function BottomTabBar({ showFooter = true }) {
|
|
|
21404
21948
|
TAB_ITEMS.map((item) => {
|
|
21405
21949
|
const isActive = currentPage === item.page || item.page === "form" && currentPage === "case-details";
|
|
21406
21950
|
const label = t(item.labelKey) || item.fallback;
|
|
21407
|
-
return /* @__PURE__ */
|
|
21408
|
-
|
|
21951
|
+
return /* @__PURE__ */ jsxs49(
|
|
21952
|
+
TouchableOpacity26,
|
|
21409
21953
|
{
|
|
21410
|
-
style:
|
|
21954
|
+
style: styles58.tab,
|
|
21411
21955
|
onPress: () => navigateTo(item.page),
|
|
21412
21956
|
activeOpacity: 0.7,
|
|
21413
21957
|
accessibilityRole: "tab",
|
|
21414
21958
|
accessibilityState: { selected: isActive },
|
|
21415
21959
|
accessibilityLabel: label,
|
|
21416
21960
|
children: [
|
|
21417
|
-
/* @__PURE__ */
|
|
21961
|
+
/* @__PURE__ */ jsx72(View56, { style: styles58.iconWrap, children: /* @__PURE__ */ jsx72(
|
|
21418
21962
|
Icon,
|
|
21419
21963
|
{
|
|
21420
21964
|
name: item.icon,
|
|
@@ -21423,10 +21967,10 @@ function BottomTabBar({ showFooter = true }) {
|
|
|
21423
21967
|
strokeWidth: isActive ? 2.1 : 1.85
|
|
21424
21968
|
}
|
|
21425
21969
|
) }),
|
|
21426
|
-
/* @__PURE__ */
|
|
21427
|
-
|
|
21970
|
+
/* @__PURE__ */ jsx72(
|
|
21971
|
+
Text46,
|
|
21428
21972
|
{
|
|
21429
|
-
style: [
|
|
21973
|
+
style: [styles58.tabLabel, { color: isActive ? colors.primary : colors.textSecondary }],
|
|
21430
21974
|
numberOfLines: 1,
|
|
21431
21975
|
children: label
|
|
21432
21976
|
}
|
|
@@ -21437,13 +21981,13 @@ function BottomTabBar({ showFooter = true }) {
|
|
|
21437
21981
|
);
|
|
21438
21982
|
})
|
|
21439
21983
|
] }),
|
|
21440
|
-
showFooter ? /* @__PURE__ */
|
|
21441
|
-
/* @__PURE__ */
|
|
21984
|
+
showFooter ? /* @__PURE__ */ jsx72(Footer, { inline: true }) : null,
|
|
21985
|
+
/* @__PURE__ */ jsx72(View56, { style: { height: BOTTOM_INSET } })
|
|
21442
21986
|
] });
|
|
21443
21987
|
}
|
|
21444
|
-
var
|
|
21988
|
+
var styles58 = StyleSheet59.create({
|
|
21445
21989
|
wrapper: {
|
|
21446
|
-
borderTopWidth:
|
|
21990
|
+
borderTopWidth: StyleSheet59.hairlineWidth
|
|
21447
21991
|
},
|
|
21448
21992
|
container: {
|
|
21449
21993
|
flexDirection: "row",
|