@carlonicora/nextjs-jsonapi 6.24.0 → 6.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BlockNoteEditor-MONT74RQ.js → BlockNoteEditor-JHXDOCS5.js} +28 -25
- package/dist/BlockNoteEditor-JHXDOCS5.js.map +1 -0
- package/dist/{BlockNoteEditor-ENDOVTAW.mjs → BlockNoteEditor-RVDSB6TF.mjs} +13 -10
- package/dist/{BlockNoteEditor-ENDOVTAW.mjs.map → BlockNoteEditor-RVDSB6TF.mjs.map} +1 -1
- package/dist/{BlockNoteViewer-2TJZ6JET.mjs → BlockNoteViewer-76CKL6W5.mjs} +8 -6
- package/dist/{BlockNoteViewer-2TJZ6JET.mjs.map → BlockNoteViewer-76CKL6W5.mjs.map} +1 -1
- package/dist/{BlockNoteViewer-K2HBF3IP.js → BlockNoteViewer-B25WKYQP.js} +9 -7
- package/dist/BlockNoteViewer-B25WKYQP.js.map +1 -0
- package/dist/JsonApiRequest-OKNQZLS6.js +26 -0
- package/dist/{JsonApiRequest-KC6DOHKT.js.map → JsonApiRequest-OKNQZLS6.js.map} +1 -1
- package/dist/{JsonApiRequest-ADLBJ5RX.mjs → JsonApiRequest-WNPDS356.mjs} +2 -2
- package/dist/billing/index.js +504 -517
- package/dist/billing/index.js.map +1 -1
- package/dist/billing/index.mjs +20 -33
- package/dist/billing/index.mjs.map +1 -1
- package/dist/{chunk-VNUT2D27.mjs → chunk-2PWYG2WJ.mjs} +2 -2
- package/dist/{chunk-W4ML6D2X.mjs → chunk-3U7YJ73T.mjs} +7 -7
- package/dist/{chunk-BQ2WAG4K.js → chunk-3VNDFKT7.js} +19 -19
- package/dist/{chunk-BQ2WAG4K.js.map → chunk-3VNDFKT7.js.map} +1 -1
- package/dist/{chunk-BE6UMM5X.mjs → chunk-47HNJQ7U.mjs} +3 -3
- package/dist/chunk-5T2AQMQ2.mjs +90 -0
- package/dist/chunk-5T2AQMQ2.mjs.map +1 -0
- package/dist/{chunk-A5M3MORY.js → chunk-5WM72MLE.js} +3 -3
- package/dist/{chunk-A5M3MORY.js.map → chunk-5WM72MLE.js.map} +1 -1
- package/dist/{chunk-OZADFYE7.mjs → chunk-64REWDSK.mjs} +308 -241
- package/dist/chunk-64REWDSK.mjs.map +1 -0
- package/dist/{chunk-S7SPAC6X.mjs → chunk-73NKUBMP.mjs} +3 -3
- package/dist/chunk-743M4TIB.mjs +76 -0
- package/dist/chunk-743M4TIB.mjs.map +1 -0
- package/dist/{chunk-HN7L6RRW.js → chunk-77JC2UCF.js} +903 -955
- package/dist/chunk-77JC2UCF.js.map +1 -0
- package/dist/{chunk-7OIWOPM5.mjs → chunk-7MGXQIEP.mjs} +4 -3
- package/dist/chunk-7MGXQIEP.mjs.map +1 -0
- package/dist/{chunk-YTDGYI62.mjs → chunk-DWPHHUMV.mjs} +3 -3
- package/dist/{chunk-SO3YUCL6.js → chunk-F3EVYBMA.js} +6 -5
- package/dist/chunk-F3EVYBMA.js.map +1 -0
- package/dist/{chunk-53SD4YRF.js → chunk-FBHUUPRV.js} +5 -5
- package/dist/{chunk-53SD4YRF.js.map → chunk-FBHUUPRV.js.map} +1 -1
- package/dist/{chunk-T6G2F2BK.mjs → chunk-FJUKLVVX.mjs} +16 -68
- package/dist/chunk-FJUKLVVX.mjs.map +1 -0
- package/dist/chunk-HROKKUBQ.js +156 -0
- package/dist/chunk-HROKKUBQ.js.map +1 -0
- package/dist/{chunk-BDWV4KYR.js → chunk-JE6QWCNE.js} +1386 -1319
- package/dist/chunk-JE6QWCNE.js.map +1 -0
- package/dist/{chunk-RCOKQ3R4.js → chunk-LNO2JLU3.js} +2 -2
- package/dist/{chunk-RCOKQ3R4.js.map → chunk-LNO2JLU3.js.map} +1 -1
- package/dist/{chunk-TMV7TL7O.mjs → chunk-M7YK5CCE.mjs} +8 -6
- package/dist/{chunk-TMV7TL7O.mjs.map → chunk-M7YK5CCE.mjs.map} +1 -1
- package/dist/{chunk-GMMDXINC.js → chunk-N3NQS7X6.js} +12 -12
- package/dist/{chunk-GMMDXINC.js.map → chunk-N3NQS7X6.js.map} +1 -1
- package/dist/chunk-NP3AFULU.js +76 -0
- package/dist/chunk-NP3AFULU.js.map +1 -0
- package/dist/{chunk-TNTCLVUR.js → chunk-ONU4WCDG.js} +17 -15
- package/dist/chunk-ONU4WCDG.js.map +1 -0
- package/dist/{chunk-YSE2Z4RB.js → chunk-PQQFOONG.js} +12 -12
- package/dist/{chunk-YSE2Z4RB.js.map → chunk-PQQFOONG.js.map} +1 -1
- package/dist/chunk-RW6XZGZG.mjs +156 -0
- package/dist/chunk-RW6XZGZG.mjs.map +1 -0
- package/dist/chunk-SYMI4IDW.js +90 -0
- package/dist/chunk-SYMI4IDW.js.map +1 -0
- package/dist/{chunk-N2BFT7KI.mjs → chunk-W7U6O3OE.mjs} +2 -71
- package/dist/chunk-W7U6O3OE.mjs.map +1 -0
- package/dist/{chunk-YMCL3JXZ.mjs → chunk-YPBIPE2B.mjs} +2 -2
- package/dist/{chunk-P7L6OFX5.js → chunk-Z6T2575A.js} +12 -81
- package/dist/chunk-Z6T2575A.js.map +1 -0
- package/dist/client/index.js +13 -10
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +17 -14
- package/dist/components/forms/DatePickerPopover.d.ts.map +1 -1
- package/dist/components/forms/DateRangeSelector.d.ts.map +1 -1
- package/dist/components/forms/FormDate.d.ts.map +1 -1
- package/dist/components/forms/FormDateTime.d.ts.map +1 -1
- package/dist/components/forms/time-cycle.d.ts +14 -0
- package/dist/components/forms/time-cycle.d.ts.map +1 -0
- package/dist/components/index.js +11 -8
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +10 -7
- package/dist/components/tables/cells/cell.date.d.ts.map +1 -1
- package/dist/components/tables/cells/cell.dateTime.d.ts.map +1 -1
- package/dist/contexts/DateLocaleContext.d.ts +56 -0
- package/dist/contexts/DateLocaleContext.d.ts.map +1 -0
- package/dist/contexts/index.d.ts +1 -0
- package/dist/contexts/index.d.ts.map +1 -1
- package/dist/contexts/index.js +24 -8
- package/dist/contexts/index.js.map +1 -1
- package/dist/contexts/index.mjs +23 -7
- package/dist/core/index.js +17 -6
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +19 -8
- package/dist/date-locale/index.d.ts +2 -0
- package/dist/date-locale/index.d.ts.map +1 -0
- package/dist/date-locale/index.js +21 -0
- package/dist/date-locale/index.js.map +1 -0
- package/dist/date-locale/index.mjs +21 -0
- package/dist/email-automations/index.js +131 -123
- package/dist/email-automations/index.js.map +1 -1
- package/dist/email-automations/index.mjs +23 -15
- package/dist/email-automations/index.mjs.map +1 -1
- package/dist/features/account-deletion/components/AccountDeletionAdminTrigger.d.ts.map +1 -1
- package/dist/features/analytics/components/AnalyticsJourneyContainer.d.ts.map +1 -1
- package/dist/features/analytics/components/AnalyticsSessionsTable.d.ts.map +1 -1
- package/dist/features/analytics/index.js +154 -147
- package/dist/features/analytics/index.js.map +1 -1
- package/dist/features/analytics/index.mjs +32 -25
- package/dist/features/analytics/index.mjs.map +1 -1
- package/dist/features/analytics/server.js +11 -9
- package/dist/features/analytics/server.js.map +1 -1
- package/dist/features/analytics/server.mjs +9 -7
- package/dist/features/analytics/server.mjs.map +1 -1
- package/dist/features/billing/components/utils/date.d.ts +3 -3
- package/dist/features/billing/components/utils/format-options.d.ts +6 -4
- package/dist/features/billing/components/utils/format-options.d.ts.map +1 -1
- package/dist/features/billing/components/utils/useBillingFormatOptions.d.ts +5 -1
- package/dist/features/billing/components/utils/useBillingFormatOptions.d.ts.map +1 -1
- package/dist/features/billing/stripe-usage/components/details/UsageSummaryCard.d.ts.map +1 -1
- package/dist/features/billing/stripe-usage/components/lists/UsageHistoryTable.d.ts.map +1 -1
- package/dist/features/blog/components/admin/BlogTranslationStatus.d.ts.map +1 -1
- package/dist/features/blog/components/public/BlogPostMeta.d.ts.map +1 -1
- package/dist/features/blog/hooks/useBlogPostTableStructure.d.ts.map +1 -1
- package/dist/features/blog/index.js +168 -162
- package/dist/features/blog/index.js.map +1 -1
- package/dist/features/blog/index.mjs +25 -19
- package/dist/features/blog/index.mjs.map +1 -1
- package/dist/features/blog/server.js +29 -27
- package/dist/features/blog/server.js.map +1 -1
- package/dist/features/blog/server.mjs +8 -6
- package/dist/features/blog/server.mjs.map +1 -1
- package/dist/features/email-automation/hooks/useEmailAutomationEnrollmentTableStructure.d.ts.map +1 -1
- package/dist/features/handbook/components/parts/HandbookIndexStatus.d.ts.map +1 -1
- package/dist/features/help/components/HelpArticleBody.d.ts.map +1 -1
- package/dist/features/help/index.js +48 -43
- package/dist/features/help/index.js.map +1 -1
- package/dist/features/help/index.mjs +15 -10
- package/dist/features/help/index.mjs.map +1 -1
- package/dist/features/notification/components/notifications/Notification.d.ts +2 -1
- package/dist/features/notification/components/notifications/Notification.d.ts.map +1 -1
- package/dist/features/notification/contexts/NotificationContext.d.ts.map +1 -1
- package/dist/features/notification/hooks/useNotificationTableStructure.d.ts.map +1 -1
- package/dist/features/oauth/components/OAuthClientCard.d.ts.map +1 -1
- package/dist/features/oauth/components/OAuthClientDetail.d.ts.map +1 -1
- package/dist/features/tokenusage/index.js +133 -130
- package/dist/features/tokenusage/index.js.map +1 -1
- package/dist/features/tokenusage/index.mjs +10 -7
- package/dist/features/tokenusage/index.mjs.map +1 -1
- package/dist/features/tokenusage/lib/formatters.d.ts +6 -3
- package/dist/features/tokenusage/lib/formatters.d.ts.map +1 -1
- package/dist/index.js +19 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +23 -11
- package/dist/local-transport-AT4TE264.js +15 -0
- package/dist/{local-transport-MJPOKPTU.js.map → local-transport-AT4TE264.js.map} +1 -1
- package/dist/{local-transport-RVD4FZGA.mjs → local-transport-KWEUZ4GX.mjs} +5 -5
- package/dist/offline/index.js +56 -54
- package/dist/offline/index.js.map +1 -1
- package/dist/offline/index.mjs +23 -21
- package/dist/offline/index.mjs.map +1 -1
- package/dist/{request-4AWGPIGH.mjs → request-6GAIWWTG.mjs} +2 -2
- package/dist/{request-H5FZBZA2.js → request-BWO4Y434.js} +3 -3
- package/dist/{request-H5FZBZA2.js.map → request-BWO4Y434.js.map} +1 -1
- package/dist/server/ServerSession.d.ts +2 -0
- package/dist/server/ServerSession.d.ts.map +1 -1
- package/dist/server/index.js +10 -8
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +9 -7
- package/dist/utils/date-formatter.d.ts +45 -4
- package/dist/utils/date-formatter.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/toast.d.ts +2 -0
- package/dist/utils/toast.d.ts.map +1 -1
- package/dist/write-through-KNRI5L4V.mjs +15 -0
- package/dist/write-through-KNRI5L4V.mjs.map +1 -0
- package/dist/write-through-MYHQ6GJU.js +15 -0
- package/dist/{write-through-HE2QSOVI.js.map → write-through-MYHQ6GJU.js.map} +1 -1
- package/messages/en.json +1 -0
- package/messages/it.json +1 -0
- package/package.json +6 -1
- package/src/components/forms/DatePickerPopover.tsx +5 -3
- package/src/components/forms/DateRangeSelector.tsx +9 -7
- package/src/components/forms/FormDate.tsx +5 -3
- package/src/components/forms/FormDateTime.tsx +75 -39
- package/src/components/forms/__tests__/time-cycle.spec.ts +37 -0
- package/src/components/forms/time-cycle.ts +27 -0
- package/src/components/tables/cells/cell.date.tsx +3 -5
- package/src/components/tables/cells/cell.dateTime.tsx +3 -7
- package/src/contexts/DateLocaleContext.tsx +106 -0
- package/src/contexts/__tests__/DateLocaleContext.spec.tsx +175 -0
- package/src/contexts/index.ts +1 -0
- package/src/date-locale/index.ts +12 -0
- package/src/features/account-deletion/components/AccountDeletionAdminTrigger.tsx +3 -4
- package/src/features/analytics/components/AnalyticsJourneyContainer.tsx +8 -8
- package/src/features/analytics/components/AnalyticsSessionsTable.tsx +4 -6
- package/src/features/auth/components/two-factor/PasskeyList.tsx +3 -3
- package/src/features/auth/components/two-factor/TotpAuthenticatorList.tsx +3 -3
- package/src/features/billing/components/utils/__tests__/billing-formatters.spec.ts +14 -6
- package/src/features/billing/components/utils/date.ts +5 -5
- package/src/features/billing/components/utils/format-options.ts +6 -4
- package/src/features/billing/components/utils/useBillingFormatOptions.ts +8 -2
- package/src/features/billing/stripe-usage/components/details/UsageSummaryCard.tsx +4 -12
- package/src/features/billing/stripe-usage/components/lists/UsageHistoryTable.tsx +4 -17
- package/src/features/blog/components/admin/BlogTranslationStatus.tsx +3 -2
- package/src/features/blog/components/public/BlogPostMeta.tsx +5 -4
- package/src/features/blog/components/public/__tests__/BlogList.spec.tsx +1 -2
- package/src/features/blog/components/public/__tests__/BlogPostView.spec.tsx +2 -3
- package/src/features/blog/hooks/useBlogPostTableStructure.tsx +4 -8
- package/src/features/email-automation/hooks/useEmailAutomationEnrollmentTableStructure.tsx +11 -5
- package/src/features/email-blast/components/containers/EmailBlastContainer.tsx +3 -3
- package/src/features/email-blast/hooks/useEmailBlastTableStructure.tsx +4 -4
- package/src/features/handbook/components/parts/HandbookIndexStatus.tsx +4 -3
- package/src/features/help/components/HelpArticleBody.tsx +4 -3
- package/src/features/notification/components/notifications/Notification.tsx +38 -7
- package/src/features/notification/contexts/NotificationContext.tsx +6 -3
- package/src/features/notification/hooks/useNotificationTableStructure.tsx +6 -5
- package/src/features/oauth/components/OAuthClientCard.tsx +8 -5
- package/src/features/oauth/components/OAuthClientDetail.tsx +3 -6
- package/src/features/tokenusage/lib/__tests__/formatters.spec.ts +19 -0
- package/src/features/tokenusage/lib/formatters.ts +11 -6
- package/src/features/waitlist/hooks/useWaitlistTableStructure.tsx +5 -5
- package/src/server/ServerSession.ts +3 -0
- package/src/server/__tests__/ServerSession.read.spec.ts +18 -1
- package/src/utils/__tests__/date-formatter.spec.ts +134 -10
- package/src/utils/__tests__/toast.spec.ts +39 -0
- package/src/utils/date-formatter.ts +200 -44
- package/src/utils/index.ts +11 -1
- package/src/utils/toast.ts +2 -0
- package/dist/BlockNoteEditor-MONT74RQ.js.map +0 -1
- package/dist/BlockNoteViewer-K2HBF3IP.js.map +0 -1
- package/dist/JsonApiRequest-KC6DOHKT.js +0 -26
- package/dist/chunk-7OIWOPM5.mjs.map +0 -1
- package/dist/chunk-BDWV4KYR.js.map +0 -1
- package/dist/chunk-HN7L6RRW.js.map +0 -1
- package/dist/chunk-N2BFT7KI.mjs.map +0 -1
- package/dist/chunk-OZADFYE7.mjs.map +0 -1
- package/dist/chunk-P7L6OFX5.js.map +0 -1
- package/dist/chunk-SO3YUCL6.js.map +0 -1
- package/dist/chunk-T6G2F2BK.mjs.map +0 -1
- package/dist/chunk-TNTCLVUR.js.map +0 -1
- package/dist/local-transport-MJPOKPTU.js +0 -15
- package/dist/write-through-7I3LA2WN.mjs +0 -15
- package/dist/write-through-HE2QSOVI.js +0 -15
- /package/dist/{JsonApiRequest-ADLBJ5RX.mjs.map → JsonApiRequest-WNPDS356.mjs.map} +0 -0
- /package/dist/{chunk-VNUT2D27.mjs.map → chunk-2PWYG2WJ.mjs.map} +0 -0
- /package/dist/{chunk-W4ML6D2X.mjs.map → chunk-3U7YJ73T.mjs.map} +0 -0
- /package/dist/{chunk-BE6UMM5X.mjs.map → chunk-47HNJQ7U.mjs.map} +0 -0
- /package/dist/{chunk-S7SPAC6X.mjs.map → chunk-73NKUBMP.mjs.map} +0 -0
- /package/dist/{chunk-YTDGYI62.mjs.map → chunk-DWPHHUMV.mjs.map} +0 -0
- /package/dist/{chunk-YMCL3JXZ.mjs.map → chunk-YPBIPE2B.mjs.map} +0 -0
- /package/dist/{local-transport-RVD4FZGA.mjs.map → date-locale/index.mjs.map} +0 -0
- /package/dist/{request-4AWGPIGH.mjs.map → local-transport-KWEUZ4GX.mjs.map} +0 -0
- /package/dist/{write-through-7I3LA2WN.mjs.map → request-6GAIWWTG.mjs.map} +0 -0
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DateLocaleSourceProvider,
|
|
3
|
+
mapThenable,
|
|
4
|
+
useDateFormatter,
|
|
5
|
+
useDateLocale,
|
|
6
|
+
useDateLocaleSource,
|
|
7
|
+
useMountedNow
|
|
8
|
+
} from "./chunk-5T2AQMQ2.mjs";
|
|
1
9
|
import {
|
|
2
10
|
JsonApiContext
|
|
3
11
|
} from "./chunk-VOXD3ZLY.mjs";
|
|
@@ -19,7 +27,7 @@ import {
|
|
|
19
27
|
isReferralEnabled,
|
|
20
28
|
isRegistrationAllowed,
|
|
21
29
|
useWaitlistText
|
|
22
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-M7YK5CCE.mjs";
|
|
23
31
|
import {
|
|
24
32
|
getRoleId,
|
|
25
33
|
isRolesConfigured
|
|
@@ -65,10 +73,8 @@ import {
|
|
|
65
73
|
cn,
|
|
66
74
|
consumeAccountDeletionCancelled,
|
|
67
75
|
couponPlacesLeft,
|
|
68
|
-
dateFormatLocale,
|
|
69
76
|
formatCouponDiscount,
|
|
70
77
|
formatCurrency,
|
|
71
|
-
formatDate,
|
|
72
78
|
formatInterval,
|
|
73
79
|
getIconByModule,
|
|
74
80
|
getInitials,
|
|
@@ -96,7 +102,11 @@ import {
|
|
|
96
102
|
useIsMobile,
|
|
97
103
|
validateItalianTaxCode,
|
|
98
104
|
validatePartitaIva
|
|
99
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-FJUKLVVX.mjs";
|
|
106
|
+
import {
|
|
107
|
+
dateFormatLocale,
|
|
108
|
+
formatDate
|
|
109
|
+
} from "./chunk-RW6XZGZG.mjs";
|
|
100
110
|
import {
|
|
101
111
|
useOfflineState
|
|
102
112
|
} from "./chunk-OY65RYD3.mjs";
|
|
@@ -104,22 +114,24 @@ import {
|
|
|
104
114
|
EndpointCreator,
|
|
105
115
|
ModuleRegistry,
|
|
106
116
|
Modules,
|
|
107
|
-
RehydrationFactory
|
|
108
|
-
|
|
109
|
-
useI18nDateFnsLocale,
|
|
110
|
-
useI18nLocale,
|
|
111
|
-
useI18nRouter,
|
|
112
|
-
useI18nTranslations
|
|
113
|
-
} from "./chunk-N2BFT7KI.mjs";
|
|
117
|
+
RehydrationFactory
|
|
118
|
+
} from "./chunk-W7U6O3OE.mjs";
|
|
114
119
|
import {
|
|
115
120
|
CURRENT_USER_STORAGE_KEY
|
|
116
|
-
} from "./chunk-
|
|
121
|
+
} from "./chunk-47HNJQ7U.mjs";
|
|
117
122
|
import {
|
|
118
123
|
isOfflineConfigured
|
|
119
124
|
} from "./chunk-4ZJIUTIV.mjs";
|
|
120
125
|
import {
|
|
121
126
|
ENV
|
|
122
|
-
} from "./chunk-
|
|
127
|
+
} from "./chunk-YPBIPE2B.mjs";
|
|
128
|
+
import {
|
|
129
|
+
getI18nLink,
|
|
130
|
+
useI18nDateFnsLocale,
|
|
131
|
+
useI18nLocale,
|
|
132
|
+
useI18nRouter,
|
|
133
|
+
useI18nTranslations
|
|
134
|
+
} from "./chunk-743M4TIB.mjs";
|
|
123
135
|
import {
|
|
124
136
|
__name
|
|
125
137
|
} from "./chunk-PAWJFY3S.mjs";
|
|
@@ -3779,16 +3791,6 @@ __name(TooltipContent, "TooltipContent");
|
|
|
3779
3791
|
|
|
3780
3792
|
// src/shadcnui/ui/sidebar.tsx
|
|
3781
3793
|
import { PanelLeftIcon } from "lucide-react";
|
|
3782
|
-
|
|
3783
|
-
// src/utils/map-thenable.ts
|
|
3784
|
-
function mapThenable(thenable, map) {
|
|
3785
|
-
return new Promise((resolve, reject) => {
|
|
3786
|
-
thenable.then((value) => resolve(map(value)), reject);
|
|
3787
|
-
});
|
|
3788
|
-
}
|
|
3789
|
-
__name(mapThenable, "mapThenable");
|
|
3790
|
-
|
|
3791
|
-
// src/shadcnui/ui/sidebar.tsx
|
|
3792
3794
|
import { jsx as jsx40, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3793
3795
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
3794
3796
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
@@ -6765,7 +6767,7 @@ __name(useHeaderLogo, "useHeaderLogo");
|
|
|
6765
6767
|
|
|
6766
6768
|
// src/components/navigations/Breadcrumb.tsx
|
|
6767
6769
|
import { useTranslations as useTranslations57 } from "next-intl";
|
|
6768
|
-
import { Fragment as
|
|
6770
|
+
import { Fragment as Fragment23, useState as useState49 } from "react";
|
|
6769
6771
|
import { ChevronDownIcon as ChevronDownIcon8 } from "lucide-react";
|
|
6770
6772
|
|
|
6771
6773
|
// src/hooks/TableGeneratorRegistry.ts
|
|
@@ -8205,7 +8207,7 @@ function matchesConfirmation(status, email, value) {
|
|
|
8205
8207
|
__name(matchesConfirmation, "matchesConfirmation");
|
|
8206
8208
|
function AccountDeletionAdminTriggerInternal({ user }) {
|
|
8207
8209
|
const t = useTranslations3();
|
|
8208
|
-
const
|
|
8210
|
+
const dates = useDateFormatter();
|
|
8209
8211
|
const [status, setStatus] = useState12();
|
|
8210
8212
|
const [open, setOpen] = useState12(false);
|
|
8211
8213
|
const [confirmation, setConfirmation] = useState12("");
|
|
@@ -8222,7 +8224,7 @@ function AccountDeletionAdminTriggerInternal({ user }) {
|
|
|
8222
8224
|
};
|
|
8223
8225
|
}, [user.id]);
|
|
8224
8226
|
if (!status) return null;
|
|
8225
|
-
const formatDate3 = /* @__PURE__ */ __name((date) =>
|
|
8227
|
+
const formatDate3 = /* @__PURE__ */ __name((date) => dates.format(date, "dateLong"), "formatDate");
|
|
8226
8228
|
if (status.scheduledAt) {
|
|
8227
8229
|
return /* @__PURE__ */ jsx63("span", { className: "text-destructive text-xs font-medium", children: t("accountDeletion.admin.pending", { date: formatDate3(status.scheduledAt) }) });
|
|
8228
8230
|
}
|
|
@@ -9742,8 +9744,9 @@ var DatePickerPopover = /* @__PURE__ */ __name(({
|
|
|
9742
9744
|
align = "start",
|
|
9743
9745
|
className
|
|
9744
9746
|
}) => {
|
|
9745
|
-
const locale =
|
|
9747
|
+
const { locale } = useDateLocale();
|
|
9746
9748
|
const dateFnsLocale = useI18nDateFnsLocale();
|
|
9749
|
+
const weekStartsOn = dateFnsLocale?.options?.weekStartsOn ?? 1;
|
|
9747
9750
|
const [isOpen, setIsOpen] = useState22(false);
|
|
9748
9751
|
const [displayMonth, setDisplayMonth] = useState22(() => value || /* @__PURE__ */ new Date());
|
|
9749
9752
|
const dateFormatter = useMemo12(
|
|
@@ -9881,7 +9884,7 @@ var DatePickerPopover = /* @__PURE__ */ __name(({
|
|
|
9881
9884
|
onSelect: handleCalendarSelect,
|
|
9882
9885
|
disabled: (date) => minDate && date < minDate ? true : false,
|
|
9883
9886
|
locale: dateFnsLocale,
|
|
9884
|
-
weekStartsOn
|
|
9887
|
+
weekStartsOn,
|
|
9885
9888
|
month: displayMonth,
|
|
9886
9889
|
onMonthChange: setDisplayMonth
|
|
9887
9890
|
}
|
|
@@ -9891,7 +9894,6 @@ var DatePickerPopover = /* @__PURE__ */ __name(({
|
|
|
9891
9894
|
}, "DatePickerPopover");
|
|
9892
9895
|
|
|
9893
9896
|
// src/components/forms/DateRangeSelector.tsx
|
|
9894
|
-
import { format } from "date-fns";
|
|
9895
9897
|
import { CalendarIcon as CalendarIcon2 } from "lucide-react";
|
|
9896
9898
|
import { useTranslations as useTranslations18 } from "next-intl";
|
|
9897
9899
|
import { useEffect as useEffect17, useState as useState23 } from "react";
|
|
@@ -9905,7 +9907,9 @@ function nextDateRange(params) {
|
|
|
9905
9907
|
__name(nextDateRange, "nextDateRange");
|
|
9906
9908
|
function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth }) {
|
|
9907
9909
|
const t = useTranslations18();
|
|
9910
|
+
const { format } = useDateFormatter();
|
|
9908
9911
|
const dateFnsLocale = useI18nDateFnsLocale();
|
|
9912
|
+
const weekStartsOn = dateFnsLocale?.options?.weekStartsOn ?? 1;
|
|
9909
9913
|
const [date, setDate] = useState23(
|
|
9910
9914
|
avoidSettingDates ? void 0 : {
|
|
9911
9915
|
from: new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1),
|
|
@@ -9938,11 +9942,10 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
|
|
|
9938
9942
|
children: [
|
|
9939
9943
|
/* @__PURE__ */ jsx87(CalendarIcon2, {}),
|
|
9940
9944
|
date?.from ? date.to ? /* @__PURE__ */ jsxs48(Fragment10, { children: [
|
|
9941
|
-
format(date.from, "
|
|
9942
|
-
" -",
|
|
9943
|
-
|
|
9944
|
-
|
|
9945
|
-
] }) : format(date.from, "d MMM yyyy", { locale: dateFnsLocale }) : /* @__PURE__ */ jsx87("span", { children: t("ui.labels.pick_a_date") })
|
|
9945
|
+
format(date.from, "dateMedium"),
|
|
9946
|
+
" - ",
|
|
9947
|
+
format(date.to, "dateMedium")
|
|
9948
|
+
] }) : format(date.from, "dateMedium") : /* @__PURE__ */ jsx87("span", { children: t("ui.labels.pick_a_date") })
|
|
9946
9949
|
]
|
|
9947
9950
|
}
|
|
9948
9951
|
) });
|
|
@@ -9962,11 +9965,10 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
|
|
|
9962
9965
|
children: [
|
|
9963
9966
|
/* @__PURE__ */ jsx87(CalendarIcon2, {}),
|
|
9964
9967
|
date?.from ? date.to ? /* @__PURE__ */ jsxs48(Fragment10, { children: [
|
|
9965
|
-
format(date.from, "
|
|
9966
|
-
" -",
|
|
9967
|
-
|
|
9968
|
-
|
|
9969
|
-
] }) : format(date.from, "d MMM yyyy", { locale: dateFnsLocale }) : /* @__PURE__ */ jsx87("span", { children: t("ui.labels.pick_a_date") })
|
|
9968
|
+
format(date.from, "dateMedium"),
|
|
9969
|
+
" - ",
|
|
9970
|
+
format(date.to, "dateMedium")
|
|
9971
|
+
] }) : format(date.from, "dateMedium") : /* @__PURE__ */ jsx87("span", { children: t("ui.labels.pick_a_date") })
|
|
9970
9972
|
]
|
|
9971
9973
|
}
|
|
9972
9974
|
),
|
|
@@ -9978,7 +9980,9 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
|
|
|
9978
9980
|
defaultMonth: date?.from ?? (showPreviousMonth ? new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth() - 1, 1) : void 0),
|
|
9979
9981
|
selected: date,
|
|
9980
9982
|
onSelect: handleSelect,
|
|
9981
|
-
numberOfMonths: 2
|
|
9983
|
+
numberOfMonths: 2,
|
|
9984
|
+
locale: dateFnsLocale,
|
|
9985
|
+
weekStartsOn
|
|
9982
9986
|
}
|
|
9983
9987
|
),
|
|
9984
9988
|
/* @__PURE__ */ jsx87(
|
|
@@ -10871,7 +10875,7 @@ import { useRef as useRef18 } from "react";
|
|
|
10871
10875
|
import dynamic from "next/dynamic";
|
|
10872
10876
|
import React18 from "react";
|
|
10873
10877
|
import { jsx as jsx91 } from "react/jsx-runtime";
|
|
10874
|
-
var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-
|
|
10878
|
+
var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-RVDSB6TF.mjs"), {
|
|
10875
10879
|
ssr: false
|
|
10876
10880
|
});
|
|
10877
10881
|
var BlockNoteEditorContainer = React18.memo(/* @__PURE__ */ __name(function EditorContainer(props) {
|
|
@@ -11029,8 +11033,9 @@ function FormDate({
|
|
|
11029
11033
|
futureYears
|
|
11030
11034
|
}) {
|
|
11031
11035
|
const t = useI18nTranslations();
|
|
11032
|
-
const locale =
|
|
11036
|
+
const { locale } = useDateLocale();
|
|
11033
11037
|
const dateFnsLocale = useI18nDateFnsLocale();
|
|
11038
|
+
const weekStartsOn = dateFnsLocale?.options?.weekStartsOn ?? 1;
|
|
11034
11039
|
const [open, setOpen] = useState27(false);
|
|
11035
11040
|
const [displayMonth, setDisplayMonth] = useState27(() => {
|
|
11036
11041
|
const currentValue = form.getValues(id);
|
|
@@ -11125,7 +11130,7 @@ function FormDate({
|
|
|
11125
11130
|
},
|
|
11126
11131
|
disabled: (date) => minDate && date < minDate ? true : false,
|
|
11127
11132
|
locale: dateFnsLocale,
|
|
11128
|
-
weekStartsOn
|
|
11133
|
+
weekStartsOn,
|
|
11129
11134
|
month: displayMonth,
|
|
11130
11135
|
onMonthChange: setDisplayMonth,
|
|
11131
11136
|
startMonth: new Date(1900, 0),
|
|
@@ -11156,6 +11161,33 @@ __name(FormDate, "FormDate");
|
|
|
11156
11161
|
// src/components/forms/FormDateTime.tsx
|
|
11157
11162
|
import { Calendar as CalendarIcon4, CircleXIcon as CircleXIcon3 } from "lucide-react";
|
|
11158
11163
|
import { useMemo as useMemo15, useState as useState28 } from "react";
|
|
11164
|
+
|
|
11165
|
+
// src/components/forms/time-cycle.ts
|
|
11166
|
+
function to24Hour(hour12, period) {
|
|
11167
|
+
const base = hour12 % 12;
|
|
11168
|
+
return period === "pm" ? base + 12 : base;
|
|
11169
|
+
}
|
|
11170
|
+
__name(to24Hour, "to24Hour");
|
|
11171
|
+
function from24Hour(hour24) {
|
|
11172
|
+
const period = hour24 >= 12 ? "pm" : "am";
|
|
11173
|
+
const hour12 = hour24 % 12 === 0 ? 12 : hour24 % 12;
|
|
11174
|
+
return { hour12, period };
|
|
11175
|
+
}
|
|
11176
|
+
__name(from24Hour, "from24Hour");
|
|
11177
|
+
function dayPeriodOf(formatter, date) {
|
|
11178
|
+
return formatter.formatToParts(date).find((part) => part.type === "dayPeriod")?.value ?? "";
|
|
11179
|
+
}
|
|
11180
|
+
__name(dayPeriodOf, "dayPeriodOf");
|
|
11181
|
+
function dayPeriodLabels(locale) {
|
|
11182
|
+
const formatter = new Intl.DateTimeFormat(locale, { hour: "numeric", hourCycle: "h12" });
|
|
11183
|
+
return {
|
|
11184
|
+
am: dayPeriodOf(formatter, new Date(2e3, 0, 1, 1, 0)),
|
|
11185
|
+
pm: dayPeriodOf(formatter, new Date(2e3, 0, 1, 13, 0))
|
|
11186
|
+
};
|
|
11187
|
+
}
|
|
11188
|
+
__name(dayPeriodLabels, "dayPeriodLabels");
|
|
11189
|
+
|
|
11190
|
+
// src/components/forms/FormDateTime.tsx
|
|
11159
11191
|
import { jsx as jsx95, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
11160
11192
|
function snapToFiveMinutes(date) {
|
|
11161
11193
|
const snapped = new Date(date);
|
|
@@ -11179,24 +11211,15 @@ function FormDateTime({
|
|
|
11179
11211
|
}) {
|
|
11180
11212
|
const [open, setOpen] = useState28(false);
|
|
11181
11213
|
const t = useI18nTranslations();
|
|
11182
|
-
const locale =
|
|
11214
|
+
const { format, locale, twelveHourClock } = useDateFormatter();
|
|
11183
11215
|
const dateFnsLocale = useI18nDateFnsLocale();
|
|
11216
|
+
const weekStartsOn = dateFnsLocale?.options?.weekStartsOn ?? 1;
|
|
11184
11217
|
const [displayMonth, setDisplayMonth] = useState28(() => {
|
|
11185
11218
|
const currentValue = form.getValues(id);
|
|
11186
11219
|
return currentValue || defaultMonth || reference?.date || /* @__PURE__ */ new Date();
|
|
11187
11220
|
});
|
|
11188
|
-
const
|
|
11189
|
-
|
|
11190
|
-
year: "numeric",
|
|
11191
|
-
month: "long",
|
|
11192
|
-
day: "numeric",
|
|
11193
|
-
hour: "2-digit",
|
|
11194
|
-
minute: "2-digit",
|
|
11195
|
-
hour12: false
|
|
11196
|
-
}),
|
|
11197
|
-
[locale]
|
|
11198
|
-
);
|
|
11199
|
-
const formatDateTime = /* @__PURE__ */ __name((date) => dateTimeFormatter.format(date), "formatDateTime");
|
|
11221
|
+
const formatDateTime = /* @__PURE__ */ __name((date) => format(date, "dateTimeLong"), "formatDateTime");
|
|
11222
|
+
const periodLabels = useMemo15(() => dayPeriodLabels(locale), [locale]);
|
|
11200
11223
|
const initialTime = reference ? snapToFiveMinutes(reference.date) : /* @__PURE__ */ new Date();
|
|
11201
11224
|
const [selectedHours, setSelectedHours] = useState28(initialTime.getHours());
|
|
11202
11225
|
const [selectedMinutes, setSelectedMinutes] = useState28(roundToNearestFiveMinutes(initialTime.getMinutes()));
|
|
@@ -11208,13 +11231,23 @@ function FormDateTime({
|
|
|
11208
11231
|
reference: "rounded-(--cell-radius) ring-1 ring-primary ring-offset-1 ring-offset-background",
|
|
11209
11232
|
marked: "[&>button]:underline [&>button]:decoration-2 [&>button]:underline-offset-4"
|
|
11210
11233
|
};
|
|
11211
|
-
const hoursOptions = Array.from({ length:
|
|
11234
|
+
const hoursOptions = twelveHourClock ? Array.from({ length: 12 }, (_, i) => {
|
|
11235
|
+
const hour = i + 1;
|
|
11236
|
+
return {
|
|
11237
|
+
value: hour,
|
|
11238
|
+
label: hour.toString()
|
|
11239
|
+
};
|
|
11240
|
+
}) : Array.from({ length: 24 }, (_, i) => {
|
|
11212
11241
|
const hour = i;
|
|
11213
11242
|
return {
|
|
11214
11243
|
value: hour,
|
|
11215
11244
|
label: hour.toString().padStart(2, "0")
|
|
11216
11245
|
};
|
|
11217
11246
|
});
|
|
11247
|
+
const periodOptions = [
|
|
11248
|
+
{ value: "am", label: periodLabels.am },
|
|
11249
|
+
{ value: "pm", label: periodLabels.pm }
|
|
11250
|
+
];
|
|
11218
11251
|
const minutesOptions = Array.from({ length: 12 }, (_, i) => {
|
|
11219
11252
|
const minute = i * 5;
|
|
11220
11253
|
return {
|
|
@@ -11224,6 +11257,7 @@ function FormDateTime({
|
|
|
11224
11257
|
});
|
|
11225
11258
|
const hoursItems = Object.fromEntries(hoursOptions.map((option) => [String(option.value), option.label]));
|
|
11226
11259
|
const minutesItems = Object.fromEntries(minutesOptions.map((option) => [String(option.value), option.label]));
|
|
11260
|
+
const periodItems = Object.fromEntries(periodOptions.map((option) => [option.value, option.label]));
|
|
11227
11261
|
function roundToNearestFiveMinutes(minutes) {
|
|
11228
11262
|
return Math.round(minutes / 5) * 5 % 60;
|
|
11229
11263
|
}
|
|
@@ -11237,6 +11271,8 @@ function FormDateTime({
|
|
|
11237
11271
|
setSelectedHours(referenceDate.getHours());
|
|
11238
11272
|
setSelectedMinutes(referenceDate.getMinutes());
|
|
11239
11273
|
}, "handleUseReference");
|
|
11274
|
+
const currentHours = /* @__PURE__ */ __name((value) => value ? new Date(value).getHours() : selectedHours, "currentHours");
|
|
11275
|
+
const currentMinutes = /* @__PURE__ */ __name((value) => value ? roundToNearestFiveMinutes(new Date(value).getMinutes()) : selectedMinutes, "currentMinutes");
|
|
11240
11276
|
const handleTimeChange = /* @__PURE__ */ __name((hours, minutes) => {
|
|
11241
11277
|
const currentDate = form.getValues(id);
|
|
11242
11278
|
if (currentDate) {
|
|
@@ -11303,7 +11339,7 @@ function FormDateTime({
|
|
|
11303
11339
|
},
|
|
11304
11340
|
disabled: (date) => minDate && date < minDate ? true : false,
|
|
11305
11341
|
locale: dateFnsLocale,
|
|
11306
|
-
weekStartsOn
|
|
11342
|
+
weekStartsOn,
|
|
11307
11343
|
startMonth: new Date(1900, 0),
|
|
11308
11344
|
endMonth: new Date((/* @__PURE__ */ new Date()).getFullYear() + 10, 11),
|
|
11309
11345
|
modifiers: dayModifiers,
|
|
@@ -11325,18 +11361,18 @@ function FormDateTime({
|
|
|
11325
11361
|
Select,
|
|
11326
11362
|
{
|
|
11327
11363
|
items: hoursItems,
|
|
11328
|
-
value: String(
|
|
11364
|
+
value: String(
|
|
11365
|
+
twelveHourClock ? from24Hour(currentHours(field.value)).hour12 : currentHours(field.value)
|
|
11366
|
+
),
|
|
11329
11367
|
onValueChange: (value) => {
|
|
11330
11368
|
if (!value) return;
|
|
11331
|
-
const
|
|
11369
|
+
const picked = parseInt(value);
|
|
11370
|
+
const hours = twelveHourClock ? to24Hour(picked, from24Hour(currentHours(field.value)).period) : picked;
|
|
11332
11371
|
setSelectedHours(hours);
|
|
11333
|
-
handleTimeChange(
|
|
11334
|
-
hours,
|
|
11335
|
-
field.value ? roundToNearestFiveMinutes(new Date(field.value).getMinutes()) : selectedMinutes
|
|
11336
|
-
);
|
|
11372
|
+
handleTimeChange(hours, currentMinutes(field.value));
|
|
11337
11373
|
},
|
|
11338
11374
|
children: [
|
|
11339
|
-
/* @__PURE__ */ jsx95(SelectTrigger, { id: "hours-select", className: "w-[70px]", children: /* @__PURE__ */ jsx95(SelectValue, {}) }),
|
|
11375
|
+
/* @__PURE__ */ jsx95(SelectTrigger, { id: "hours-select", "data-testid": "form-datetime-hours", className: "w-[70px]", children: /* @__PURE__ */ jsx95(SelectValue, {}) }),
|
|
11340
11376
|
/* @__PURE__ */ jsx95(SelectContent, { children: hoursOptions.map((option) => /* @__PURE__ */ jsx95(SelectItem, { value: String(option.value), children: option.label }, option.value)) })
|
|
11341
11377
|
]
|
|
11342
11378
|
}
|
|
@@ -11349,21 +11385,39 @@ function FormDateTime({
|
|
|
11349
11385
|
Select,
|
|
11350
11386
|
{
|
|
11351
11387
|
items: minutesItems,
|
|
11352
|
-
value: String(
|
|
11353
|
-
field.value ? roundToNearestFiveMinutes(new Date(field.value).getMinutes()) : selectedMinutes
|
|
11354
|
-
),
|
|
11388
|
+
value: String(currentMinutes(field.value)),
|
|
11355
11389
|
onValueChange: (value) => {
|
|
11356
11390
|
if (!value) return;
|
|
11357
11391
|
const minutes = parseInt(value);
|
|
11358
11392
|
setSelectedMinutes(minutes);
|
|
11359
|
-
handleTimeChange(
|
|
11393
|
+
handleTimeChange(currentHours(field.value), minutes);
|
|
11360
11394
|
},
|
|
11361
11395
|
children: [
|
|
11362
|
-
/* @__PURE__ */ jsx95(SelectTrigger, { id: "minutes-select", className: "w-[70px]", children: /* @__PURE__ */ jsx95(SelectValue, {}) }),
|
|
11396
|
+
/* @__PURE__ */ jsx95(SelectTrigger, { id: "minutes-select", "data-testid": "form-datetime-minutes", className: "w-[70px]", children: /* @__PURE__ */ jsx95(SelectValue, {}) }),
|
|
11363
11397
|
/* @__PURE__ */ jsx95(SelectContent, { children: minutesOptions.map((option) => /* @__PURE__ */ jsx95(SelectItem, { value: String(option.value), children: option.label }, option.value)) })
|
|
11364
11398
|
]
|
|
11365
11399
|
}
|
|
11366
11400
|
)
|
|
11401
|
+
] }),
|
|
11402
|
+
twelveHourClock && /* @__PURE__ */ jsxs54("div", { className: "flex flex-col space-y-2", children: [
|
|
11403
|
+
/* @__PURE__ */ jsx95(Label, { htmlFor: "period-select", children: t(`common.dayPeriod`) }),
|
|
11404
|
+
/* @__PURE__ */ jsxs54(
|
|
11405
|
+
Select,
|
|
11406
|
+
{
|
|
11407
|
+
items: periodItems,
|
|
11408
|
+
value: from24Hour(currentHours(field.value)).period,
|
|
11409
|
+
onValueChange: (value) => {
|
|
11410
|
+
if (!value) return;
|
|
11411
|
+
const hours = to24Hour(from24Hour(currentHours(field.value)).hour12, value);
|
|
11412
|
+
setSelectedHours(hours);
|
|
11413
|
+
handleTimeChange(hours, currentMinutes(field.value));
|
|
11414
|
+
},
|
|
11415
|
+
children: [
|
|
11416
|
+
/* @__PURE__ */ jsx95(SelectTrigger, { id: "period-select", "data-testid": "form-datetime-period", className: "w-[70px]", children: /* @__PURE__ */ jsx95(SelectValue, {}) }),
|
|
11417
|
+
/* @__PURE__ */ jsx95(SelectContent, { children: periodOptions.map((option) => /* @__PURE__ */ jsx95(SelectItem, { value: option.value, children: option.label }, option.value)) })
|
|
11418
|
+
]
|
|
11419
|
+
}
|
|
11420
|
+
)
|
|
11367
11421
|
] })
|
|
11368
11422
|
] }),
|
|
11369
11423
|
/* @__PURE__ */ jsxs54("div", { className: "mt-2 flex flex-row gap-x-2", children: [
|
|
@@ -13772,7 +13826,7 @@ import { createContext as createContext18, useCallback as useCallback23, useCont
|
|
|
13772
13826
|
|
|
13773
13827
|
// src/features/notification/components/notifications/Notification.tsx
|
|
13774
13828
|
import { useTranslations as useTranslations48 } from "next-intl";
|
|
13775
|
-
import { useEffect as useEffect29, useState as useState39 } from "react";
|
|
13829
|
+
import { Suspense, useEffect as useEffect29, useState as useState39 } from "react";
|
|
13776
13830
|
|
|
13777
13831
|
// src/features/notification/components/notifications/NotificationIcon.tsx
|
|
13778
13832
|
import { ArchiveIcon, AudioLinesIcon, BellIcon } from "lucide-react";
|
|
@@ -13801,7 +13855,7 @@ function NotificationIcon({ notificationType, className }) {
|
|
|
13801
13855
|
__name(NotificationIcon, "NotificationIcon");
|
|
13802
13856
|
|
|
13803
13857
|
// src/features/notification/components/notifications/Notification.tsx
|
|
13804
|
-
import { jsx as jsx145, jsxs as jsxs82 } from "react/jsx-runtime";
|
|
13858
|
+
import { Fragment as Fragment22, jsx as jsx145, jsxs as jsxs82 } from "react/jsx-runtime";
|
|
13805
13859
|
var generateNotificationData = /* @__PURE__ */ __name((params) => {
|
|
13806
13860
|
const response = {};
|
|
13807
13861
|
response.actor = params.notification.actor;
|
|
@@ -13810,7 +13864,12 @@ var generateNotificationData = /* @__PURE__ */ __name((params) => {
|
|
|
13810
13864
|
}
|
|
13811
13865
|
return response;
|
|
13812
13866
|
}, "generateNotificationData");
|
|
13813
|
-
function
|
|
13867
|
+
function NotificationToastTime({ date }) {
|
|
13868
|
+
const { format } = useDateFormatter();
|
|
13869
|
+
return /* @__PURE__ */ jsx145(Fragment22, { children: format(new Date(date), "dateTime") });
|
|
13870
|
+
}
|
|
13871
|
+
__name(NotificationToastTime, "NotificationToastTime");
|
|
13872
|
+
function NotificationToast(notification, t, generateUrl, reouter, dateLocaleSource = null) {
|
|
13814
13873
|
const data = generateNotificationData({ notification, generateUrl });
|
|
13815
13874
|
return {
|
|
13816
13875
|
title: t(`notification.${notification.notificationType}.title`),
|
|
@@ -13823,7 +13882,7 @@ function NotificationToast(notification, t, generateUrl, reouter, locale) {
|
|
|
13823
13882
|
title: data.title,
|
|
13824
13883
|
message: notification.message ?? ""
|
|
13825
13884
|
}) }),
|
|
13826
|
-
/* @__PURE__ */ jsx145("div", { className: "text-muted-foreground mt-1 w-full text-xs", children:
|
|
13885
|
+
/* @__PURE__ */ jsx145("div", { className: "text-muted-foreground mt-1 w-full text-xs", children: /* @__PURE__ */ jsx145(DateLocaleSourceProvider, { value: dateLocaleSource, children: /* @__PURE__ */ jsx145(Suspense, { fallback: null, children: /* @__PURE__ */ jsx145(NotificationToastTime, { date: notification.createdAt }) }) }) })
|
|
13827
13886
|
] })
|
|
13828
13887
|
] }),
|
|
13829
13888
|
action: data.url ? {
|
|
@@ -13835,11 +13894,16 @@ function NotificationToast(notification, t, generateUrl, reouter, locale) {
|
|
|
13835
13894
|
};
|
|
13836
13895
|
}
|
|
13837
13896
|
__name(NotificationToast, "NotificationToast");
|
|
13897
|
+
function NotificationMenuItemTime({ date }) {
|
|
13898
|
+
const { locale } = useDateFormatter();
|
|
13899
|
+
const now = useMountedNow();
|
|
13900
|
+
return /* @__PURE__ */ jsx145(Fragment22, { children: now ? formatDate(new Date(date), "default", locale, now) : "" });
|
|
13901
|
+
}
|
|
13902
|
+
__name(NotificationMenuItemTime, "NotificationMenuItemTime");
|
|
13838
13903
|
function NotificationMenuItem({ notification, closePopover }) {
|
|
13839
13904
|
const generateUrl = usePageUrlGenerator();
|
|
13840
13905
|
const [isRead, setIsRead] = useState39(false);
|
|
13841
13906
|
const t = useTranslations48();
|
|
13842
|
-
const dateLocale = dateFormatLocale(useI18nLocale());
|
|
13843
13907
|
useEffect29(() => {
|
|
13844
13908
|
setIsRead(notification.isRead);
|
|
13845
13909
|
}, []);
|
|
@@ -13861,7 +13925,7 @@ function NotificationMenuItem({ notification, closePopover }) {
|
|
|
13861
13925
|
title: data.title,
|
|
13862
13926
|
message: notification.message ?? ""
|
|
13863
13927
|
}) }),
|
|
13864
|
-
/* @__PURE__ */ jsx145("div", { className: "text-muted-foreground mt-0.5 text-xs", children:
|
|
13928
|
+
/* @__PURE__ */ jsx145("div", { className: "text-muted-foreground mt-0.5 text-xs", children: /* @__PURE__ */ jsx145(Suspense, { fallback: null, children: /* @__PURE__ */ jsx145(NotificationMenuItemTime, { date: notification.createdAt }) }) })
|
|
13865
13929
|
] }),
|
|
13866
13930
|
!isRead && /* @__PURE__ */ jsx145("span", { className: "bg-primary mt-1.5 size-2 shrink-0 rounded-full", "aria-hidden": true })
|
|
13867
13931
|
]
|
|
@@ -13878,7 +13942,7 @@ import { jsx as jsx146 } from "react/jsx-runtime";
|
|
|
13878
13942
|
var NotificationContext = createContext18(void 0);
|
|
13879
13943
|
var NotificationContextProvider = /* @__PURE__ */ __name(({ children }) => {
|
|
13880
13944
|
const t = useTranslations49();
|
|
13881
|
-
const
|
|
13945
|
+
const dateLocaleSource = useDateLocaleSource();
|
|
13882
13946
|
const tRef = useRef23(t);
|
|
13883
13947
|
tRef.current = t;
|
|
13884
13948
|
const router = useI18nRouter();
|
|
@@ -13965,7 +14029,7 @@ var NotificationContextProvider = /* @__PURE__ */ __name(({ children }) => {
|
|
|
13965
14029
|
}
|
|
13966
14030
|
}, []);
|
|
13967
14031
|
const generateToastNotification = /* @__PURE__ */ __name((notification, t2, generateUrl) => {
|
|
13968
|
-
return NotificationToast(notification, t2, generateUrl, router,
|
|
14032
|
+
return NotificationToast(notification, t2, generateUrl, router, dateLocaleSource);
|
|
13969
14033
|
}, "generateToastNotification");
|
|
13970
14034
|
const generateNotification = /* @__PURE__ */ __name((notification, closePopover) => {
|
|
13971
14035
|
return /* @__PURE__ */ jsx146(NotificationMenuItem, { notification, closePopover });
|
|
@@ -15654,7 +15718,7 @@ function useSocket({ token, paused = false }) {
|
|
|
15654
15718
|
__name(useSocket, "useSocket");
|
|
15655
15719
|
|
|
15656
15720
|
// src/components/navigations/Breadcrumb.tsx
|
|
15657
|
-
import { Fragment as
|
|
15721
|
+
import { Fragment as Fragment24, jsx as jsx161, jsxs as jsxs87 } from "react/jsx-runtime";
|
|
15658
15722
|
var ITEMS_TO_DISPLAY = 4;
|
|
15659
15723
|
function BreadcrumbDesktop({
|
|
15660
15724
|
items,
|
|
@@ -15665,24 +15729,24 @@ function BreadcrumbDesktop({
|
|
|
15665
15729
|
const t = useTranslations57();
|
|
15666
15730
|
const [open, setOpen] = useState49(false);
|
|
15667
15731
|
return /* @__PURE__ */ jsx161(Breadcrumb, { children: /* @__PURE__ */ jsxs87(BreadcrumbList, { children: [
|
|
15668
|
-
showRoot && /* @__PURE__ */ jsxs87(
|
|
15732
|
+
showRoot && /* @__PURE__ */ jsxs87(Fragment24, { children: [
|
|
15669
15733
|
/* @__PURE__ */ jsx161(BreadcrumbItem, { children: /* @__PURE__ */ jsx161(Link, { href: generateUrl({ page: `/` }), children: rootLabel }) }),
|
|
15670
15734
|
items.length > 0 && /* @__PURE__ */ jsx161(BreadcrumbSeparator, {})
|
|
15671
15735
|
] }),
|
|
15672
|
-
items.length > ITEMS_TO_DISPLAY ? /* @__PURE__ */ jsxs87(
|
|
15673
|
-
/* @__PURE__ */ jsx161(BreadcrumbItem, { children: items[0].href ? /* @__PURE__ */ jsx161(Link, { href: items[0].href, onClick: items[0].onClick, children: items[0].name }) : /* @__PURE__ */ jsx161(
|
|
15736
|
+
items.length > ITEMS_TO_DISPLAY ? /* @__PURE__ */ jsxs87(Fragment24, { children: [
|
|
15737
|
+
/* @__PURE__ */ jsx161(BreadcrumbItem, { children: items[0].href ? /* @__PURE__ */ jsx161(Link, { href: items[0].href, onClick: items[0].onClick, children: items[0].name }) : /* @__PURE__ */ jsx161(Fragment24, { children: items[0].name }) }),
|
|
15674
15738
|
/* @__PURE__ */ jsx161(BreadcrumbSeparator, {}),
|
|
15675
15739
|
/* @__PURE__ */ jsx161(BreadcrumbItem, { children: /* @__PURE__ */ jsxs87(DropdownMenu, { open, onOpenChange: setOpen, children: [
|
|
15676
15740
|
/* @__PURE__ */ jsx161(DropdownMenuTrigger, { className: "flex items-center gap-1", "aria-label": t("ui.labels.toggle_menu"), children: /* @__PURE__ */ jsx161(BreadcrumbEllipsis, { className: "h-4 w-4", label: t("ui.labels.more") }) }),
|
|
15677
15741
|
/* @__PURE__ */ jsx161(DropdownMenuContent, { align: "start", children: items.slice(1, -ITEMS_TO_DISPLAY + 2).map((item, index) => /* @__PURE__ */ jsx161(DropdownMenuItem, { children: /* @__PURE__ */ jsx161(Link, { href: item.href ? item.href : "#", onClick: item.onClick, children: item.name }) }, index)) })
|
|
15678
15742
|
] }) }),
|
|
15679
15743
|
/* @__PURE__ */ jsx161(BreadcrumbSeparator, {}),
|
|
15680
|
-
items.slice(-ITEMS_TO_DISPLAY + 2).map((item, index) => /* @__PURE__ */ jsxs87(
|
|
15681
|
-
/* @__PURE__ */ jsx161(BreadcrumbItem, { children: item.href ? /* @__PURE__ */ jsx161(Link, { href: item.href, onClick: item.onClick, children: item.name }) : /* @__PURE__ */ jsx161(
|
|
15744
|
+
items.slice(-ITEMS_TO_DISPLAY + 2).map((item, index) => /* @__PURE__ */ jsxs87(Fragment23, { children: [
|
|
15745
|
+
/* @__PURE__ */ jsx161(BreadcrumbItem, { children: item.href ? /* @__PURE__ */ jsx161(Link, { href: item.href, onClick: item.onClick, children: item.name }) : /* @__PURE__ */ jsx161(Fragment24, { children: item.name }) }),
|
|
15682
15746
|
index < items.slice(-ITEMS_TO_DISPLAY + 2).length - 1 && /* @__PURE__ */ jsx161(BreadcrumbSeparator, {})
|
|
15683
15747
|
] }, index))
|
|
15684
|
-
] }) : /* @__PURE__ */ jsx161(
|
|
15685
|
-
/* @__PURE__ */ jsx161(BreadcrumbItem, { children: item.href ? /* @__PURE__ */ jsx161(Link, { href: item.href, onClick: item.onClick, children: item.name }) : /* @__PURE__ */ jsx161(
|
|
15748
|
+
] }) : /* @__PURE__ */ jsx161(Fragment24, { children: items.map((item, index) => /* @__PURE__ */ jsxs87(Fragment23, { children: [
|
|
15749
|
+
/* @__PURE__ */ jsx161(BreadcrumbItem, { children: item.href ? /* @__PURE__ */ jsx161(Link, { href: item.href, onClick: item.onClick, children: item.name }) : /* @__PURE__ */ jsx161(Fragment24, { children: item.name }) }),
|
|
15686
15750
|
index < items.length - 1 && /* @__PURE__ */ jsx161(BreadcrumbSeparator, {})
|
|
15687
15751
|
] }, index)) })
|
|
15688
15752
|
] }) });
|
|
@@ -15846,7 +15910,7 @@ __name(Header, "Header");
|
|
|
15846
15910
|
// src/components/navigations/MobileNavigationBar.tsx
|
|
15847
15911
|
import { useTranslations as useTranslations59 } from "next-intl";
|
|
15848
15912
|
import { usePathname as usePathname2 } from "next/navigation";
|
|
15849
|
-
import { Fragment as
|
|
15913
|
+
import { Fragment as Fragment25, jsx as jsx164, jsxs as jsxs90 } from "react/jsx-runtime";
|
|
15850
15914
|
function isActiveHref(pathname, href) {
|
|
15851
15915
|
if (href === "/") return pathname === "/";
|
|
15852
15916
|
return pathname === href || pathname.startsWith(`${href}/`);
|
|
@@ -15858,7 +15922,7 @@ var slotClass = cn(
|
|
|
15858
15922
|
"transition-colors"
|
|
15859
15923
|
);
|
|
15860
15924
|
function SlotContent({ item }) {
|
|
15861
|
-
if (item.render) return /* @__PURE__ */ jsx164(
|
|
15925
|
+
if (item.render) return /* @__PURE__ */ jsx164(Fragment25, { children: item.render });
|
|
15862
15926
|
const Icon = item.icon;
|
|
15863
15927
|
return Icon ? /* @__PURE__ */ jsx164(Icon, { className: "size-6" }) : null;
|
|
15864
15928
|
}
|
|
@@ -15879,7 +15943,7 @@ function MobileNavigationBar({ className } = {}) {
|
|
|
15879
15943
|
children: items.map((item) => {
|
|
15880
15944
|
const active = item.href ? isActiveHref(pathname, item.href) : false;
|
|
15881
15945
|
const tone = active ? "text-primary" : "text-muted-foreground";
|
|
15882
|
-
const body = /* @__PURE__ */ jsxs90(
|
|
15946
|
+
const body = /* @__PURE__ */ jsxs90(Fragment25, { children: [
|
|
15883
15947
|
active && /* @__PURE__ */ jsx164("span", { "aria-hidden": true, className: "bg-primary absolute inset-x-0 top-0 h-0.5" }),
|
|
15884
15948
|
/* @__PURE__ */ jsx164(SlotContent, { item })
|
|
15885
15949
|
] });
|
|
@@ -16295,7 +16359,7 @@ __name(ReactMarkdownContainer, "ReactMarkdownContainer");
|
|
|
16295
16359
|
// src/components/containers/RoundPageContainerTitle.tsx
|
|
16296
16360
|
import { InfoIcon as InfoIcon2 } from "lucide-react";
|
|
16297
16361
|
import { useTranslations as useTranslations62 } from "next-intl";
|
|
16298
|
-
import { Fragment as
|
|
16362
|
+
import { Fragment as Fragment26, jsx as jsx171, jsxs as jsxs95 } from "react/jsx-runtime";
|
|
16299
16363
|
var HEADER_ROW_MIN_H = "min-h-[53px]";
|
|
16300
16364
|
function RoundPageContainerTitle({
|
|
16301
16365
|
module,
|
|
@@ -16355,7 +16419,7 @@ function RoundPageContainerTitle({
|
|
|
16355
16419
|
module && module.icon ? /* @__PURE__ */ jsx171(module.icon, { className: "text-primary h-5 w-5 shrink-0" }) : title.icon,
|
|
16356
16420
|
/* @__PURE__ */ jsxs95("span", { className: "truncate", children: [
|
|
16357
16421
|
title.type,
|
|
16358
|
-
title.element && /* @__PURE__ */ jsxs95(
|
|
16422
|
+
title.element && /* @__PURE__ */ jsxs95(Fragment26, { children: [
|
|
16359
16423
|
/* @__PURE__ */ jsx171("span", { "aria-hidden": true, children: " \xB7 " }),
|
|
16360
16424
|
/* @__PURE__ */ jsx171("span", { className: "text-primary font-semibold", children: title.element })
|
|
16361
16425
|
] })
|
|
@@ -16395,8 +16459,8 @@ __name(RoundPageContainerTitle, "RoundPageContainerTitle");
|
|
|
16395
16459
|
// src/components/containers/RoundPageContainer.tsx
|
|
16396
16460
|
import { useTranslations as useTranslations63 } from "next-intl";
|
|
16397
16461
|
import { useSearchParams } from "next/navigation";
|
|
16398
|
-
import { Fragment as
|
|
16399
|
-
import { Fragment as
|
|
16462
|
+
import { Fragment as Fragment27, useCallback as useCallback28, useEffect as useEffect45, useMemo as useMemo23, useRef as useRef29, useState as useState55 } from "react";
|
|
16463
|
+
import { Fragment as Fragment28, jsx as jsx172, jsxs as jsxs96 } from "react/jsx-runtime";
|
|
16400
16464
|
var DETAILS_COOKIE_NAME = "round_page_details_state";
|
|
16401
16465
|
var DETAILS_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
16402
16466
|
var railTriggerClass = cn(
|
|
@@ -16512,7 +16576,7 @@ function RoundPageContainer({
|
|
|
16512
16576
|
const innerScrollY = mobileFlow ? `` : scrollY;
|
|
16513
16577
|
const showMobileSectionPicker = (tabs?.length ?? 0) > 1;
|
|
16514
16578
|
if (!isReady) {
|
|
16515
|
-
return /* @__PURE__ */ jsxs96(
|
|
16579
|
+
return /* @__PURE__ */ jsxs96(Fragment28, { children: [
|
|
16516
16580
|
/* @__PURE__ */ jsx172(
|
|
16517
16581
|
Header,
|
|
16518
16582
|
{
|
|
@@ -16550,7 +16614,7 @@ function RoundPageContainer({
|
|
|
16550
16614
|
)
|
|
16551
16615
|
] });
|
|
16552
16616
|
}
|
|
16553
|
-
return /* @__PURE__ */ jsxs96(
|
|
16617
|
+
return /* @__PURE__ */ jsxs96(Fragment28, { children: [
|
|
16554
16618
|
/* @__PURE__ */ jsx172(
|
|
16555
16619
|
Header,
|
|
16556
16620
|
{
|
|
@@ -16624,7 +16688,7 @@ function RoundPageContainer({
|
|
|
16624
16688
|
railHeader && /* @__PURE__ */ jsx172("div", { children: railHeader }),
|
|
16625
16689
|
/* @__PURE__ */ jsxs96(TabsList, { className: "flex h-auto w-full flex-col items-stretch gap-0.5 bg-transparent p-0", children: [
|
|
16626
16690
|
ungrouped.map((tab) => /* @__PURE__ */ jsx172(TabsTrigger, { value: tabValue(tab), className: railTriggerClass, children: tab.contentLabel ?? tab.label }, tabValue(tab))),
|
|
16627
|
-
groups.map((group) => /* @__PURE__ */ jsxs96(
|
|
16691
|
+
groups.map((group) => /* @__PURE__ */ jsxs96(Fragment27, { children: [
|
|
16628
16692
|
/* @__PURE__ */ jsx172(MicroLabel, { as: "span", role: "presentation", className: "block px-3 pt-3 pb-1", children: group.label }),
|
|
16629
16693
|
group.items.map((tab) => /* @__PURE__ */ jsx172(TabsTrigger, { value: tabValue(tab), className: railTriggerClass, children: tab.contentLabel ?? tab.label }, tabValue(tab)))
|
|
16630
16694
|
] }, group.label))
|
|
@@ -16715,7 +16779,7 @@ function RoundPageContainer({
|
|
|
16715
16779
|
),
|
|
16716
16780
|
children: [
|
|
16717
16781
|
header,
|
|
16718
|
-
tabs ? /* @__PURE__ */ jsxs96(
|
|
16782
|
+
tabs ? /* @__PURE__ */ jsxs96(Fragment28, { children: [
|
|
16719
16783
|
/* @__PURE__ */ jsxs96(
|
|
16720
16784
|
Tabs,
|
|
16721
16785
|
{
|
|
@@ -16820,7 +16884,7 @@ function RoundPageContainer({
|
|
|
16820
16884
|
__name(RoundPageContainer, "RoundPageContainer");
|
|
16821
16885
|
|
|
16822
16886
|
// src/components/containers/TabsContainer.tsx
|
|
16823
|
-
import { Fragment as
|
|
16887
|
+
import { Fragment as Fragment29, jsx as jsx173, jsxs as jsxs97 } from "react/jsx-runtime";
|
|
16824
16888
|
function TabsContainer({
|
|
16825
16889
|
tabs,
|
|
16826
16890
|
defaultTab,
|
|
@@ -16865,7 +16929,7 @@ function TabsContainer({
|
|
|
16865
16929
|
),
|
|
16866
16930
|
additionalComponent && additionalComponent
|
|
16867
16931
|
] }),
|
|
16868
|
-
scrollAreaClassName ? /* @__PURE__ */ jsx173(ScrollArea, { className: scrollAreaClassName, children: validTabs.map((tab) => /* @__PURE__ */ jsx173(TabsContent, { value: tab.label, children: tab.content }, tab.label)) }) : /* @__PURE__ */ jsx173(
|
|
16932
|
+
scrollAreaClassName ? /* @__PURE__ */ jsx173(ScrollArea, { className: scrollAreaClassName, children: validTabs.map((tab) => /* @__PURE__ */ jsx173(TabsContent, { value: tab.label, children: tab.content }, tab.label)) }) : /* @__PURE__ */ jsx173(Fragment29, { children: validTabs.map((tab) => /* @__PURE__ */ jsx173(TabsContent, { value: tab.label, children: tab.content }, tab.label)) })
|
|
16869
16933
|
] });
|
|
16870
16934
|
}
|
|
16871
16935
|
__name(TabsContainer, "TabsContainer");
|
|
@@ -17145,7 +17209,7 @@ __name(BlockNoteEditorMentionSuggestionMenu, "BlockNoteEditorMentionSuggestionMe
|
|
|
17145
17209
|
import dynamic2 from "next/dynamic";
|
|
17146
17210
|
import React29 from "react";
|
|
17147
17211
|
import { jsx as jsx178 } from "react/jsx-runtime";
|
|
17148
|
-
var BlockNoteViewer = dynamic2(() => import("./BlockNoteViewer-
|
|
17212
|
+
var BlockNoteViewer = dynamic2(() => import("./BlockNoteViewer-76CKL6W5.mjs").then((m) => m.BlockNoteViewer), { ssr: false });
|
|
17149
17213
|
var BlockNoteViewerContainer = React29.memo(/* @__PURE__ */ __name(function ViewerContainer(props) {
|
|
17150
17214
|
return /* @__PURE__ */ jsx178(BlockNoteViewer, { ...props });
|
|
17151
17215
|
}, "ViewerContainer"));
|
|
@@ -17302,8 +17366,8 @@ var cellComponent = /* @__PURE__ */ __name((params) => {
|
|
|
17302
17366
|
// src/components/tables/cells/cell.date.tsx
|
|
17303
17367
|
import { jsx as jsx182 } from "react/jsx-runtime";
|
|
17304
17368
|
function DateCell({ date }) {
|
|
17305
|
-
const
|
|
17306
|
-
return /* @__PURE__ */ jsx182("span", { className: "text-muted-foreground text-xs", children: date
|
|
17369
|
+
const { format } = useDateFormatter();
|
|
17370
|
+
return /* @__PURE__ */ jsx182("span", { className: "text-muted-foreground text-xs", children: format(date, "dateMedium") });
|
|
17307
17371
|
}
|
|
17308
17372
|
__name(DateCell, "DateCell");
|
|
17309
17373
|
var cellDate = /* @__PURE__ */ __name((params) => {
|
|
@@ -17324,8 +17388,8 @@ var cellDate = /* @__PURE__ */ __name((params) => {
|
|
|
17324
17388
|
// src/components/tables/cells/cell.dateTime.tsx
|
|
17325
17389
|
import { jsx as jsx183 } from "react/jsx-runtime";
|
|
17326
17390
|
function DateTimeCell({ date }) {
|
|
17327
|
-
const
|
|
17328
|
-
return /* @__PURE__ */ jsx183("span", { className: "text-muted-foreground text-xs", children: date
|
|
17391
|
+
const { format } = useDateFormatter();
|
|
17392
|
+
return /* @__PURE__ */ jsx183("span", { className: "text-muted-foreground text-xs", children: format(date, "dateTimeMedium") });
|
|
17329
17393
|
}
|
|
17330
17394
|
__name(DateTimeCell, "DateTimeCell");
|
|
17331
17395
|
var cellDateTime = /* @__PURE__ */ __name((params) => {
|
|
@@ -17427,7 +17491,7 @@ function useJsonApiGet(params) {
|
|
|
17427
17491
|
setLoading(true);
|
|
17428
17492
|
setError(null);
|
|
17429
17493
|
try {
|
|
17430
|
-
const { JsonApiGet } = await import("./JsonApiRequest-
|
|
17494
|
+
const { JsonApiGet } = await import("./JsonApiRequest-WNPDS356.mjs");
|
|
17431
17495
|
const language = navigator.language.split("-")[0] || "en";
|
|
17432
17496
|
const apiResponse = await JsonApiGet({
|
|
17433
17497
|
classKey: params.classKey,
|
|
@@ -17532,7 +17596,7 @@ function useJsonApiMutation(config) {
|
|
|
17532
17596
|
setLoading(true);
|
|
17533
17597
|
setError(null);
|
|
17534
17598
|
try {
|
|
17535
|
-
const { JsonApiPost, JsonApiPut, JsonApiPatch, JsonApiDelete } = await import("./JsonApiRequest-
|
|
17599
|
+
const { JsonApiPost, JsonApiPut, JsonApiPatch, JsonApiDelete } = await import("./JsonApiRequest-WNPDS356.mjs");
|
|
17536
17600
|
const language = navigator.language.split("-")[0] || "en";
|
|
17537
17601
|
let apiResponse;
|
|
17538
17602
|
switch (config.method) {
|
|
@@ -17767,7 +17831,7 @@ __name(useSubscriptionStatus, "useSubscriptionStatus");
|
|
|
17767
17831
|
// src/features/role/hooks/useRoleTableStructure.tsx
|
|
17768
17832
|
import { useTranslations as useTranslations67 } from "next-intl";
|
|
17769
17833
|
import { useMemo as useMemo29 } from "react";
|
|
17770
|
-
import { Fragment as
|
|
17834
|
+
import { Fragment as Fragment30, jsx as jsx189 } from "react/jsx-runtime";
|
|
17771
17835
|
var useRoleTableStructure = /* @__PURE__ */ __name((params) => {
|
|
17772
17836
|
const t = useTranslations67();
|
|
17773
17837
|
const generateUrl = usePageUrlGenerator();
|
|
@@ -17804,7 +17868,7 @@ var useRoleTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
17804
17868
|
id: "description",
|
|
17805
17869
|
accessorKey: "description",
|
|
17806
17870
|
header: t(`role.fields.description.label`),
|
|
17807
|
-
cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx189(
|
|
17871
|
+
cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx189(Fragment30, { children: row.getValue("description") }), "cell"),
|
|
17808
17872
|
enableSorting: false,
|
|
17809
17873
|
enableHiding: false
|
|
17810
17874
|
}),
|
|
@@ -17826,11 +17890,11 @@ import { useMemo as useMemo31 } from "react";
|
|
|
17826
17890
|
|
|
17827
17891
|
// src/features/billing/components/utils/date.ts
|
|
17828
17892
|
function formatDate2(date, options = {}) {
|
|
17829
|
-
const { locale, t } = options;
|
|
17893
|
+
const { locale, dateLocale, t } = options;
|
|
17830
17894
|
if (!date) return t ? t("billing.ui.not_available") : "N/A";
|
|
17831
17895
|
const dateObj = typeof date === "string" ? new Date(date) : date;
|
|
17832
17896
|
try {
|
|
17833
|
-
return new Intl.DateTimeFormat(dateFormatLocale(locale), {
|
|
17897
|
+
return new Intl.DateTimeFormat(dateLocale ?? dateFormatLocale(locale), {
|
|
17834
17898
|
month: "short",
|
|
17835
17899
|
day: "numeric",
|
|
17836
17900
|
year: "numeric"
|
|
@@ -17848,7 +17912,8 @@ import { useMemo as useMemo30 } from "react";
|
|
|
17848
17912
|
function useBillingFormatOptions() {
|
|
17849
17913
|
const t = useTranslations68();
|
|
17850
17914
|
const locale = useI18nLocale();
|
|
17851
|
-
|
|
17915
|
+
const { locale: dateLocale } = useDateFormatter();
|
|
17916
|
+
return useMemo30(() => ({ locale, dateLocale, t }), [locale, dateLocale, t]);
|
|
17852
17917
|
}
|
|
17853
17918
|
__name(useBillingFormatOptions, "useBillingFormatOptions");
|
|
17854
17919
|
|
|
@@ -19056,7 +19121,7 @@ __name(formatSignupSource, "formatSignupSource");
|
|
|
19056
19121
|
import { jsx as jsx199, jsxs as jsxs107 } from "react/jsx-runtime";
|
|
19057
19122
|
var useWaitlistTableStructure = /* @__PURE__ */ __name((params) => {
|
|
19058
19123
|
const t = useTranslations78();
|
|
19059
|
-
const
|
|
19124
|
+
const dates = useDateFormatter();
|
|
19060
19125
|
const onInvite = params.context?.onInvite;
|
|
19061
19126
|
const tableData = useMemo37(() => {
|
|
19062
19127
|
return params.data.map((entry) => {
|
|
@@ -19102,7 +19167,7 @@ var useWaitlistTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
19102
19167
|
cell: /* @__PURE__ */ __name(({ row }) => {
|
|
19103
19168
|
const entry = row.original.jsonApiData;
|
|
19104
19169
|
if (!entry.createdAt) return "-";
|
|
19105
|
-
return
|
|
19170
|
+
return dates.format(entry.createdAt, "date");
|
|
19106
19171
|
}, "cell"),
|
|
19107
19172
|
enableSorting: false,
|
|
19108
19173
|
enableHiding: false
|
|
@@ -19158,7 +19223,7 @@ var useWaitlistTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
19158
19223
|
] });
|
|
19159
19224
|
}
|
|
19160
19225
|
if (entry.status === "invited" && entry.invitedAt) {
|
|
19161
|
-
return /* @__PURE__ */ jsx199("span", { className: "text-muted-foreground text-xs", children: t("waitlist.admin.actions.invited_on", { date:
|
|
19226
|
+
return /* @__PURE__ */ jsx199("span", { className: "text-muted-foreground text-xs", children: t("waitlist.admin.actions.invited_on", { date: dates.format(entry.invitedAt, "dateMedium") }) });
|
|
19162
19227
|
}
|
|
19163
19228
|
if (entry.status === "registered") {
|
|
19164
19229
|
return /* @__PURE__ */ jsx199("span", { className: "text-muted-foreground text-sm", children: t("waitlist.admin.actions.registered") });
|
|
@@ -19171,14 +19236,14 @@ var useWaitlistTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
19171
19236
|
};
|
|
19172
19237
|
const columns = useMemo37(() => {
|
|
19173
19238
|
return params.fields.map((field) => fieldColumnMap[field]?.()).filter((col) => col !== void 0);
|
|
19174
|
-
}, [params.fields, fieldColumnMap, t,
|
|
19239
|
+
}, [params.fields, fieldColumnMap, t, dates]);
|
|
19175
19240
|
return useMemo37(() => ({ data: tableData, columns }), [tableData, columns]);
|
|
19176
19241
|
}, "useWaitlistTableStructure");
|
|
19177
19242
|
|
|
19178
19243
|
// src/features/content/hooks/useContentTableStructure.tsx
|
|
19179
19244
|
import { useTranslations as useTranslations79 } from "next-intl";
|
|
19180
19245
|
import { useMemo as useMemo38 } from "react";
|
|
19181
|
-
import { Fragment as
|
|
19246
|
+
import { Fragment as Fragment31, jsx as jsx200, jsxs as jsxs108 } from "react/jsx-runtime";
|
|
19182
19247
|
var useContentTableStructure = /* @__PURE__ */ __name((params) => {
|
|
19183
19248
|
const t = useTranslations79();
|
|
19184
19249
|
const generateUrl = usePageUrlGenerator();
|
|
@@ -19209,7 +19274,7 @@ var useContentTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
19209
19274
|
const contentModule = content.contentType ? Modules.findByModelName(content.contentType) : void 0;
|
|
19210
19275
|
const link = contentModule ? generateUrl({ page: contentModule, id: content.id }) : "#";
|
|
19211
19276
|
return /* @__PURE__ */ jsxs108(Tooltip2, { children: [
|
|
19212
|
-
/* @__PURE__ */ jsx200(TooltipTrigger, { className: "flex items-center justify-start space-x-2", children: /* @__PURE__ */ jsxs108(
|
|
19277
|
+
/* @__PURE__ */ jsx200(TooltipTrigger, { className: "flex items-center justify-start space-x-2", children: /* @__PURE__ */ jsxs108(Fragment31, { children: [
|
|
19213
19278
|
contentModule && getIconByModule({ module: contentModule, className: "h-4 w-4" }),
|
|
19214
19279
|
/* @__PURE__ */ jsx200(Link, { href: link, children: content.name })
|
|
19215
19280
|
] }) }),
|
|
@@ -19225,7 +19290,7 @@ var useContentTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
19225
19290
|
header: t(`common.relevance`),
|
|
19226
19291
|
cell: /* @__PURE__ */ __name(({ row }) => {
|
|
19227
19292
|
const content = row.original.jsonApiData;
|
|
19228
|
-
if (!content.relevance) return /* @__PURE__ */ jsx200(
|
|
19293
|
+
if (!content.relevance) return /* @__PURE__ */ jsx200(Fragment31, {});
|
|
19229
19294
|
const response = `${content.relevance.toFixed(0)}%`;
|
|
19230
19295
|
return /* @__PURE__ */ jsxs108("div", { className: "relative flex h-5 w-20 items-center justify-center overflow-clip rounded border text-center", children: [
|
|
19231
19296
|
/* @__PURE__ */ jsx200(
|
|
@@ -19735,7 +19800,7 @@ function ContentTableSearch({ data }) {
|
|
|
19735
19800
|
__name(ContentTableSearch, "ContentTableSearch");
|
|
19736
19801
|
|
|
19737
19802
|
// src/components/tables/ContentListTable.tsx
|
|
19738
|
-
import { Fragment as
|
|
19803
|
+
import { Fragment as Fragment32, jsx as jsx202, jsxs as jsxs110 } from "react/jsx-runtime";
|
|
19739
19804
|
var EMPTY_ARRAY = [];
|
|
19740
19805
|
function getGroupKeys(item, field) {
|
|
19741
19806
|
const value = item.jsonApiData[field];
|
|
@@ -19750,7 +19815,7 @@ function getGroupKeys(item, field) {
|
|
|
19750
19815
|
__name(getGroupKeys, "getGroupKeys");
|
|
19751
19816
|
var isClassComponent = /* @__PURE__ */ __name((component) => typeof component === "function" && !!component.prototype?.isReactComponent, "isClassComponent");
|
|
19752
19817
|
function StableCell({ render, context }) {
|
|
19753
|
-
return /* @__PURE__ */ jsx202(
|
|
19818
|
+
return /* @__PURE__ */ jsx202(Fragment32, { children: render(context) });
|
|
19754
19819
|
}
|
|
19755
19820
|
__name(StableCell, "StableCell");
|
|
19756
19821
|
function renderCell(cellDef, context) {
|
|
@@ -19866,7 +19931,7 @@ var ContentListTable = memo(/* @__PURE__ */ __name(function ContentListTable2(pr
|
|
|
19866
19931
|
}
|
|
19867
19932
|
);
|
|
19868
19933
|
const hasTitleControls = !!(props.functions || props.filters || allowSearch);
|
|
19869
|
-
const titleControls = /* @__PURE__ */ jsxs110(
|
|
19934
|
+
const titleControls = /* @__PURE__ */ jsxs110(Fragment32, { children: [
|
|
19870
19935
|
props.filters,
|
|
19871
19936
|
props.functions,
|
|
19872
19937
|
allowSearch !== false && /* @__PURE__ */ jsx202(ContentTableSearch, { data })
|
|
@@ -19968,7 +20033,7 @@ var ContentListTable = memo(/* @__PURE__ */ __name(function ContentListTable2(pr
|
|
|
19968
20033
|
|
|
19969
20034
|
// src/components/grids/ContentListGrid.tsx
|
|
19970
20035
|
import { useEffect as useEffect56, useRef as useRef37 } from "react";
|
|
19971
|
-
import { Fragment as
|
|
20036
|
+
import { Fragment as Fragment33, jsx as jsx203, jsxs as jsxs111 } from "react/jsx-runtime";
|
|
19972
20037
|
var DEFAULT_GRID_CLASSES = "grid grid-cols-2 gap-4 p-4 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5";
|
|
19973
20038
|
function ContentListGrid(props) {
|
|
19974
20039
|
const { data, ItemComponent, allowSearch, fullWidth, gridClassName } = props;
|
|
@@ -19999,7 +20064,7 @@ function ContentListGrid(props) {
|
|
|
19999
20064
|
]
|
|
20000
20065
|
}
|
|
20001
20066
|
) }),
|
|
20002
|
-
(props.functions || props.filters || allowSearch) && /* @__PURE__ */ jsxs111(
|
|
20067
|
+
(props.functions || props.filters || allowSearch) && /* @__PURE__ */ jsxs111(Fragment33, { children: [
|
|
20003
20068
|
props.functions,
|
|
20004
20069
|
props.filters,
|
|
20005
20070
|
allowSearch && /* @__PURE__ */ jsx203(ContentTableSearch, { data })
|
|
@@ -20291,14 +20356,14 @@ import { z as z7 } from "zod";
|
|
|
20291
20356
|
|
|
20292
20357
|
// src/features/auth/components/GdprConsentSection.tsx
|
|
20293
20358
|
import { useTranslations as useTranslations89 } from "next-intl";
|
|
20294
|
-
import { Fragment as
|
|
20359
|
+
import { Fragment as Fragment34, jsx as jsx212, jsxs as jsxs118 } from "react/jsx-runtime";
|
|
20295
20360
|
function GdprConsentSection({
|
|
20296
20361
|
form,
|
|
20297
20362
|
termsCheckboxId = "termsAccepted",
|
|
20298
20363
|
marketingCheckboxId = "marketingConsent"
|
|
20299
20364
|
}) {
|
|
20300
20365
|
const t = useTranslations89("auth.gdpr");
|
|
20301
|
-
const termsLabel = /* @__PURE__ */ jsxs118(
|
|
20366
|
+
const termsLabel = /* @__PURE__ */ jsxs118(Fragment34, { children: [
|
|
20302
20367
|
t("terms_prefix"),
|
|
20303
20368
|
" ",
|
|
20304
20369
|
/* @__PURE__ */ jsx212(Link, { href: "/terms", target: "_blank", rel: "noopener", children: t("terms_of_service") }),
|
|
@@ -20323,7 +20388,7 @@ function GdprConsentSection({
|
|
|
20323
20388
|
__name(GdprConsentSection, "GdprConsentSection");
|
|
20324
20389
|
|
|
20325
20390
|
// src/features/auth/components/forms/Register.tsx
|
|
20326
|
-
import { Fragment as
|
|
20391
|
+
import { Fragment as Fragment35, jsx as jsx213, jsxs as jsxs119 } from "react/jsx-runtime";
|
|
20327
20392
|
var REFERRAL_COOKIE_NAME = "referral_code";
|
|
20328
20393
|
function getReferralCode() {
|
|
20329
20394
|
if (typeof document === "undefined") return null;
|
|
@@ -20445,7 +20510,7 @@ function Register() {
|
|
|
20445
20510
|
}
|
|
20446
20511
|
}, "onSubmit");
|
|
20447
20512
|
if (registrationMode === "waitlist" && inviteCode && isValidatingInvite) {
|
|
20448
|
-
return /* @__PURE__ */ jsxs119(
|
|
20513
|
+
return /* @__PURE__ */ jsxs119(Fragment35, { children: [
|
|
20449
20514
|
/* @__PURE__ */ jsx213(CardHeader, { children: /* @__PURE__ */ jsxs119(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
20450
20515
|
/* @__PURE__ */ jsx213(Image7, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
20451
20516
|
t("waitlist.invite.validating_title")
|
|
@@ -20457,7 +20522,7 @@ function Register() {
|
|
|
20457
20522
|
] });
|
|
20458
20523
|
}
|
|
20459
20524
|
if (registrationMode === "waitlist" && inviteCode && inviteError) {
|
|
20460
|
-
return /* @__PURE__ */ jsxs119(
|
|
20525
|
+
return /* @__PURE__ */ jsxs119(Fragment35, { children: [
|
|
20461
20526
|
/* @__PURE__ */ jsx213(CardHeader, { children: /* @__PURE__ */ jsxs119(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
20462
20527
|
/* @__PURE__ */ jsx213(Image7, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
20463
20528
|
t("waitlist.invite.invalid_title")
|
|
@@ -20470,7 +20535,7 @@ function Register() {
|
|
|
20470
20535
|
] });
|
|
20471
20536
|
}
|
|
20472
20537
|
if (registrationMode === "waitlist" && !inviteCode) {
|
|
20473
|
-
return /* @__PURE__ */ jsxs119(
|
|
20538
|
+
return /* @__PURE__ */ jsxs119(Fragment35, { children: [
|
|
20474
20539
|
/* @__PURE__ */ jsx213(CardHeader, { children: /* @__PURE__ */ jsxs119(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
20475
20540
|
/* @__PURE__ */ jsx213(Image7, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
20476
20541
|
t("waitlist.invite.registration_title")
|
|
@@ -20483,13 +20548,13 @@ function Register() {
|
|
|
20483
20548
|
/* @__PURE__ */ jsx213(CardFooter, { className: "flex w-full flex-row justify-between", children: /* @__PURE__ */ jsx213(Link, { href: "#", className: "flex w-full justify-start", onClick: () => setComponentType(0 /* Login */), children: t("auth.buttons.login") }) })
|
|
20484
20549
|
] });
|
|
20485
20550
|
}
|
|
20486
|
-
return /* @__PURE__ */ jsxs119(
|
|
20551
|
+
return /* @__PURE__ */ jsxs119(Fragment35, { children: [
|
|
20487
20552
|
/* @__PURE__ */ jsxs119(CardHeader, { children: [
|
|
20488
20553
|
/* @__PURE__ */ jsxs119(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
20489
20554
|
/* @__PURE__ */ jsx213(Image7, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
20490
20555
|
t(`auth.buttons.register`)
|
|
20491
20556
|
] }),
|
|
20492
|
-
/* @__PURE__ */ jsx213(CardDescription, { className: "text-sm", children: showConfirmation ? /* @__PURE__ */ jsx213(
|
|
20557
|
+
/* @__PURE__ */ jsx213(CardDescription, { className: "text-sm", children: showConfirmation ? /* @__PURE__ */ jsx213(Fragment35, { children: " " }) : /* @__PURE__ */ jsx213(Fragment35, { children: t(`auth.register_description`) }) })
|
|
20493
20558
|
] }),
|
|
20494
20559
|
showConfirmation ? /* @__PURE__ */ jsx213(CardContent, { children: /* @__PURE__ */ jsx213(CardDescription, { className: "text-center text-xl", children: t("auth.register_confirmation") }) }) : /* @__PURE__ */ jsx213(Form, { ...form, children: /* @__PURE__ */ jsxs119("form", { onSubmit: form.handleSubmit(onSubmit), children: [
|
|
20495
20560
|
/* @__PURE__ */ jsxs119(CardContent, { children: [
|
|
@@ -20924,10 +20989,10 @@ __name(DisableTwoFactorDialog, "DisableTwoFactorDialog");
|
|
|
20924
20989
|
import { Edit, Key, Trash2 } from "lucide-react";
|
|
20925
20990
|
import { useTranslations as useTranslations93 } from "next-intl";
|
|
20926
20991
|
import { useState as useState80 } from "react";
|
|
20927
|
-
import { Fragment as
|
|
20992
|
+
import { Fragment as Fragment36, jsx as jsx219, jsxs as jsxs123 } from "react/jsx-runtime";
|
|
20928
20993
|
function PasskeyList({ passkeys, onRefresh }) {
|
|
20929
20994
|
const t = useTranslations93();
|
|
20930
|
-
const
|
|
20995
|
+
const dates = useDateFormatter();
|
|
20931
20996
|
const [renameDialogOpen, setRenameDialogOpen] = useState80(false);
|
|
20932
20997
|
const [selectedPasskey, setSelectedPasskey] = useState80(null);
|
|
20933
20998
|
const [newName, setNewName] = useState80("");
|
|
@@ -20981,7 +21046,7 @@ function PasskeyList({ passkeys, onRefresh }) {
|
|
|
20981
21046
|
if (passkeys.length === 0) {
|
|
20982
21047
|
return /* @__PURE__ */ jsx219("p", { className: "text-sm text-muted-foreground text-center py-4", children: t("auth.two_factor.no_passkeys") });
|
|
20983
21048
|
}
|
|
20984
|
-
return /* @__PURE__ */ jsxs123(
|
|
21049
|
+
return /* @__PURE__ */ jsxs123(Fragment36, { children: [
|
|
20985
21050
|
/* @__PURE__ */ jsx219("div", { className: "space-y-2", children: passkeys.map((passkey) => /* @__PURE__ */ jsxs123("div", { className: "flex items-center justify-between p-3 border rounded-lg", children: [
|
|
20986
21051
|
/* @__PURE__ */ jsxs123("div", { className: "flex items-center gap-3", children: [
|
|
20987
21052
|
/* @__PURE__ */ jsx219(Key, { className: "h-5 w-5 text-muted-foreground" }),
|
|
@@ -20989,7 +21054,7 @@ function PasskeyList({ passkeys, onRefresh }) {
|
|
|
20989
21054
|
/* @__PURE__ */ jsx219("p", { className: "font-medium", children: passkey.name }),
|
|
20990
21055
|
/* @__PURE__ */ jsxs123("p", { className: "text-sm text-muted-foreground", children: [
|
|
20991
21056
|
passkey.backedUp && "\u2601\uFE0F ",
|
|
20992
|
-
passkey.lastUsedAt ? `${t("auth.two_factor.last_used")}: ${
|
|
21057
|
+
passkey.lastUsedAt ? `${t("auth.two_factor.last_used")}: ${dates.format(passkey.lastUsedAt, "dateMedium")}` : t("auth.two_factor.never_used")
|
|
20993
21058
|
] })
|
|
20994
21059
|
] })
|
|
20995
21060
|
] }),
|
|
@@ -21120,7 +21185,7 @@ import { useState as useState82 } from "react";
|
|
|
21120
21185
|
import { jsx as jsx221, jsxs as jsxs125 } from "react/jsx-runtime";
|
|
21121
21186
|
function TotpAuthenticatorList({ authenticators, onDelete }) {
|
|
21122
21187
|
const t = useTranslations95();
|
|
21123
|
-
const
|
|
21188
|
+
const dates = useDateFormatter();
|
|
21124
21189
|
const [deletingId, setDeletingId] = useState82(null);
|
|
21125
21190
|
const handleDelete = /* @__PURE__ */ __name(async (id) => {
|
|
21126
21191
|
setDeletingId(id);
|
|
@@ -21147,7 +21212,7 @@ function TotpAuthenticatorList({ authenticators, onDelete }) {
|
|
|
21147
21212
|
auth.lastUsedAt && /* @__PURE__ */ jsxs125("p", { className: "text-xs text-muted-foreground", children: [
|
|
21148
21213
|
t("auth.two_factor.last_used"),
|
|
21149
21214
|
": ",
|
|
21150
|
-
auth.lastUsedAt
|
|
21215
|
+
dates.format(auth.lastUsedAt, "dateMedium")
|
|
21151
21216
|
] })
|
|
21152
21217
|
] })
|
|
21153
21218
|
] }),
|
|
@@ -21299,7 +21364,7 @@ function TotpSetupDialog({ onSuccess, trigger }) {
|
|
|
21299
21364
|
__name(TotpSetupDialog, "TotpSetupDialog");
|
|
21300
21365
|
|
|
21301
21366
|
// src/features/auth/components/two-factor/TwoFactorSettings.tsx
|
|
21302
|
-
import { Fragment as
|
|
21367
|
+
import { Fragment as Fragment37, jsx as jsx223, jsxs as jsxs127 } from "react/jsx-runtime";
|
|
21303
21368
|
function TwoFactorSettings() {
|
|
21304
21369
|
const t = useTranslations97();
|
|
21305
21370
|
const [status, setStatus] = useState84(null);
|
|
@@ -21386,7 +21451,7 @@ function TwoFactorSettings() {
|
|
|
21386
21451
|
] }),
|
|
21387
21452
|
/* @__PURE__ */ jsx223(BackupCodesDialog, { remainingCodes: status?.backupCodesCount ?? 0, onRegenerate: handleRefresh })
|
|
21388
21453
|
] }) }),
|
|
21389
|
-
!isEnabled && (authenticators.length > 0 || passkeys.length > 0) && /* @__PURE__ */ jsxs127(
|
|
21454
|
+
!isEnabled && (authenticators.length > 0 || passkeys.length > 0) && /* @__PURE__ */ jsxs127(Fragment37, { children: [
|
|
21390
21455
|
/* @__PURE__ */ jsx223(Separator, {}),
|
|
21391
21456
|
/* @__PURE__ */ jsxs127("div", { className: "flex items-center justify-between", children: [
|
|
21392
21457
|
/* @__PURE__ */ jsxs127("div", { children: [
|
|
@@ -21396,7 +21461,7 @@ function TwoFactorSettings() {
|
|
|
21396
21461
|
/* @__PURE__ */ jsx223(Button, { onClick: handleEnable2FA, disabled: isEnabling, children: isEnabling ? t("common.loading") : t("auth.two_factor.enable_button") })
|
|
21397
21462
|
] })
|
|
21398
21463
|
] }),
|
|
21399
|
-
isEnabled && /* @__PURE__ */ jsxs127(
|
|
21464
|
+
isEnabled && /* @__PURE__ */ jsxs127(Fragment37, { children: [
|
|
21400
21465
|
/* @__PURE__ */ jsx223(Separator, {}),
|
|
21401
21466
|
/* @__PURE__ */ jsxs127("div", { className: "flex items-center justify-between", children: [
|
|
21402
21467
|
/* @__PURE__ */ jsxs127("div", { children: [
|
|
@@ -21482,11 +21547,11 @@ function GoogleSignInButton({ referralCode, source }) {
|
|
|
21482
21547
|
__name(GoogleSignInButton, "GoogleSignInButton");
|
|
21483
21548
|
|
|
21484
21549
|
// src/features/auth/components/details/LandingComponent.tsx
|
|
21485
|
-
import { Fragment as
|
|
21550
|
+
import { Fragment as Fragment38, jsx as jsx226, jsxs as jsxs129 } from "react/jsx-runtime";
|
|
21486
21551
|
function LandingComponent() {
|
|
21487
21552
|
const t = useTranslations99();
|
|
21488
21553
|
const { setComponentType } = useAuthContext();
|
|
21489
|
-
return /* @__PURE__ */ jsxs129(
|
|
21554
|
+
return /* @__PURE__ */ jsxs129(Fragment38, { children: [
|
|
21490
21555
|
/* @__PURE__ */ jsxs129(CardHeader, { className: "mb-4", "data-testid": "page-pre-login-container", children: [
|
|
21491
21556
|
/* @__PURE__ */ jsxs129(CardTitle, { className: "text-primary flex flex-col items-center gap-y-8 pb-8 text-4xl", children: [
|
|
21492
21557
|
/* @__PURE__ */ jsx226(Image9, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
@@ -21495,7 +21560,7 @@ function LandingComponent() {
|
|
|
21495
21560
|
/* @__PURE__ */ jsx226(CardDescription, { className: "flex w-full justify-center text-center text-sm", children: t(`common.description`) })
|
|
21496
21561
|
] }),
|
|
21497
21562
|
/* @__PURE__ */ jsxs129(CardFooter, { className: "mt-4 flex w-full flex-col justify-between gap-y-4", children: [
|
|
21498
|
-
isInternalAuthEnabled() && /* @__PURE__ */ jsxs129(
|
|
21563
|
+
isInternalAuthEnabled() && /* @__PURE__ */ jsxs129(Fragment38, { children: [
|
|
21499
21564
|
isRegistrationAllowed() && /* @__PURE__ */ jsx226(
|
|
21500
21565
|
Link,
|
|
21501
21566
|
{
|
|
@@ -21521,7 +21586,7 @@ import Image10 from "next/image";
|
|
|
21521
21586
|
import { useEffect as useEffect62, useState as useState85 } from "react";
|
|
21522
21587
|
import { useForm as useForm7 } from "react-hook-form";
|
|
21523
21588
|
import { z as z8 } from "zod";
|
|
21524
|
-
import { Fragment as
|
|
21589
|
+
import { Fragment as Fragment39, jsx as jsx227, jsxs as jsxs130 } from "react/jsx-runtime";
|
|
21525
21590
|
function AcceptInvitation() {
|
|
21526
21591
|
const { setComponentType, params, setParams } = useAuthContext();
|
|
21527
21592
|
const [showConfirmation, setShowConfirmation] = useState85(false);
|
|
@@ -21584,13 +21649,13 @@ function AcceptInvitation() {
|
|
|
21584
21649
|
errorToast({ title: t(`common.errors.error`), error });
|
|
21585
21650
|
}
|
|
21586
21651
|
}, "onSubmit");
|
|
21587
|
-
return /* @__PURE__ */ jsxs130(
|
|
21652
|
+
return /* @__PURE__ */ jsxs130(Fragment39, { children: [
|
|
21588
21653
|
/* @__PURE__ */ jsxs130(CardHeader, { children: [
|
|
21589
21654
|
/* @__PURE__ */ jsxs130(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
21590
21655
|
/* @__PURE__ */ jsx227(Image10, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
21591
21656
|
t("auth.accept_invitation")
|
|
21592
21657
|
] }),
|
|
21593
|
-
/* @__PURE__ */ jsx227(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx227(
|
|
21658
|
+
/* @__PURE__ */ jsx227(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx227(Fragment39, { children: t("auth.errors.activating_account") }) : /* @__PURE__ */ jsx227(Fragment39, { children: t("auth.select_password") }) })
|
|
21594
21659
|
] }),
|
|
21595
21660
|
/* @__PURE__ */ jsx227(CardContent, { children: showConfirmation ? /* @__PURE__ */ jsx227(CardDescription, { className: "text-center text-xl", children: t("auth.activation_description") }) : error ? /* @__PURE__ */ jsx227(CardDescription, { className: "text-center text-xl", children: error }) : /* @__PURE__ */ jsx227(Form, { ...form, children: /* @__PURE__ */ jsxs130("form", { onSubmit: form.handleSubmit(onSubmit), children: [
|
|
21596
21661
|
/* @__PURE__ */ jsx227(
|
|
@@ -21621,7 +21686,7 @@ __name(AcceptInvitation, "AcceptInvitation");
|
|
|
21621
21686
|
import { useTranslations as useTranslations101 } from "next-intl";
|
|
21622
21687
|
import Image11 from "next/image";
|
|
21623
21688
|
import { useEffect as useEffect63, useState as useState86 } from "react";
|
|
21624
|
-
import { Fragment as
|
|
21689
|
+
import { Fragment as Fragment40, jsx as jsx228, jsxs as jsxs131 } from "react/jsx-runtime";
|
|
21625
21690
|
function ActivateAccount() {
|
|
21626
21691
|
const { setComponentType, params, setParams } = useAuthContext();
|
|
21627
21692
|
const [showConfirmation, setShowConfirmation] = useState86(false);
|
|
@@ -21654,15 +21719,15 @@ function ActivateAccount() {
|
|
|
21654
21719
|
setError(t(`auth.errors.invalid_invitation_code`));
|
|
21655
21720
|
}
|
|
21656
21721
|
}, []);
|
|
21657
|
-
return /* @__PURE__ */ jsxs131(
|
|
21722
|
+
return /* @__PURE__ */ jsxs131(Fragment40, { children: [
|
|
21658
21723
|
/* @__PURE__ */ jsxs131(CardHeader, { children: [
|
|
21659
21724
|
/* @__PURE__ */ jsxs131(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
21660
21725
|
/* @__PURE__ */ jsx228(Image11, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
21661
21726
|
t("auth.accept_invitation")
|
|
21662
21727
|
] }),
|
|
21663
|
-
/* @__PURE__ */ jsx228(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx228(
|
|
21728
|
+
/* @__PURE__ */ jsx228(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx228(Fragment40, { children: t("auth.errors.activating_account") }) : /* @__PURE__ */ jsx228(Fragment40, { children: " " }) })
|
|
21664
21729
|
] }),
|
|
21665
|
-
/* @__PURE__ */ jsx228(CardContent, { children: /* @__PURE__ */ jsx228(CardDescription, { className: "text-center text-xl", children: showConfirmation ? /* @__PURE__ */ jsx228(
|
|
21730
|
+
/* @__PURE__ */ jsx228(CardContent, { children: /* @__PURE__ */ jsx228(CardDescription, { className: "text-center text-xl", children: showConfirmation ? /* @__PURE__ */ jsx228(Fragment40, { children: t("auth.activation_description") }) : error ? /* @__PURE__ */ jsx228(Fragment40, { children: error }) : /* @__PURE__ */ jsx228(Fragment40, { children: t("auth.activation_wait") }) }) })
|
|
21666
21731
|
] });
|
|
21667
21732
|
}
|
|
21668
21733
|
__name(ActivateAccount, "ActivateAccount");
|
|
@@ -21700,7 +21765,7 @@ import Image12 from "next/image";
|
|
|
21700
21765
|
import { useState as useState88 } from "react";
|
|
21701
21766
|
import { useForm as useForm8 } from "react-hook-form";
|
|
21702
21767
|
import { z as z9 } from "zod";
|
|
21703
|
-
import { Fragment as
|
|
21768
|
+
import { Fragment as Fragment41, jsx as jsx229, jsxs as jsxs132 } from "react/jsx-runtime";
|
|
21704
21769
|
function ForgotPassword() {
|
|
21705
21770
|
const t = useTranslations102();
|
|
21706
21771
|
const { setComponentType } = useAuthContext();
|
|
@@ -21727,13 +21792,13 @@ function ForgotPassword() {
|
|
|
21727
21792
|
errorToast({ title: t("common.errors.error"), error: e });
|
|
21728
21793
|
}
|
|
21729
21794
|
}, "onSubmit");
|
|
21730
|
-
return /* @__PURE__ */ jsxs132(
|
|
21795
|
+
return /* @__PURE__ */ jsxs132(Fragment41, { children: [
|
|
21731
21796
|
/* @__PURE__ */ jsxs132(CardHeader, { "data-testid": "page-forgot-password-container", children: [
|
|
21732
21797
|
/* @__PURE__ */ jsxs132(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
21733
21798
|
/* @__PURE__ */ jsx229(Image12, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
21734
21799
|
t("auth.buttons.forgot_password")
|
|
21735
21800
|
] }),
|
|
21736
|
-
/* @__PURE__ */ jsx229(CardDescription, { className: "text-sm", children: showConfirmation ? /* @__PURE__ */ jsx229(
|
|
21801
|
+
/* @__PURE__ */ jsx229(CardDescription, { className: "text-sm", children: showConfirmation ? /* @__PURE__ */ jsx229(Fragment41, { children: " " }) : /* @__PURE__ */ jsx229(Fragment41, { children: t(`auth.add_email_to_reset`) }) })
|
|
21737
21802
|
] }),
|
|
21738
21803
|
showConfirmation ? /* @__PURE__ */ jsx229(CardContent, { children: /* @__PURE__ */ jsx229(CardDescription, { className: "text-center text-xl", children: t(`auth.reset_confirmation`) }) }) : /* @__PURE__ */ jsx229(Form, { ...form, children: /* @__PURE__ */ jsxs132("form", { onSubmit: form.handleSubmit(onSubmit), children: [
|
|
21739
21804
|
/* @__PURE__ */ jsxs132(CardContent, { children: [
|
|
@@ -21772,7 +21837,7 @@ import { useRouter, useSearchParams as useSearchParams3 } from "next/navigation"
|
|
|
21772
21837
|
import { useEffect as useEffect65, useState as useState89 } from "react";
|
|
21773
21838
|
import { useForm as useForm9 } from "react-hook-form";
|
|
21774
21839
|
import { z as z10 } from "zod";
|
|
21775
|
-
import { Fragment as
|
|
21840
|
+
import { Fragment as Fragment42, jsx as jsx230, jsxs as jsxs133 } from "react/jsx-runtime";
|
|
21776
21841
|
function Login() {
|
|
21777
21842
|
const t = useTranslations103();
|
|
21778
21843
|
const { setUser } = useCurrentUserContext();
|
|
@@ -21838,7 +21903,7 @@ function Login() {
|
|
|
21838
21903
|
});
|
|
21839
21904
|
}
|
|
21840
21905
|
}, "onSubmit");
|
|
21841
|
-
return /* @__PURE__ */ jsxs133(
|
|
21906
|
+
return /* @__PURE__ */ jsxs133(Fragment42, { children: [
|
|
21842
21907
|
/* @__PURE__ */ jsxs133(CardHeader, { "data-testid": "page-login-container", children: [
|
|
21843
21908
|
/* @__PURE__ */ jsxs133(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
21844
21909
|
/* @__PURE__ */ jsx230(Image13, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
@@ -21847,7 +21912,7 @@ function Login() {
|
|
|
21847
21912
|
/* @__PURE__ */ jsx230(CardDescription, { className: "text-sm", children: t(`auth.login_description`) })
|
|
21848
21913
|
] }),
|
|
21849
21914
|
/* @__PURE__ */ jsx230(Form, { ...form, children: /* @__PURE__ */ jsxs133("form", { onSubmit: form.handleSubmit(onSubmit), children: [
|
|
21850
|
-
/* @__PURE__ */ jsx230(CardContent, { children: isInternalAuthEnabled() && /* @__PURE__ */ jsxs133(
|
|
21915
|
+
/* @__PURE__ */ jsx230(CardContent, { children: isInternalAuthEnabled() && /* @__PURE__ */ jsxs133(Fragment42, { children: [
|
|
21851
21916
|
/* @__PURE__ */ jsx230(
|
|
21852
21917
|
FormInput,
|
|
21853
21918
|
{
|
|
@@ -21914,7 +21979,7 @@ function clearClientStorage(keys) {
|
|
|
21914
21979
|
__name(clearClientStorage, "clearClientStorage");
|
|
21915
21980
|
|
|
21916
21981
|
// src/features/auth/components/forms/Logout.tsx
|
|
21917
|
-
import { Fragment as
|
|
21982
|
+
import { Fragment as Fragment43, jsx as jsx231 } from "react/jsx-runtime";
|
|
21918
21983
|
function Logout({ storageKeys, beforeLogout }) {
|
|
21919
21984
|
const generateUrl = usePageUrlGenerator();
|
|
21920
21985
|
useEffect66(() => {
|
|
@@ -21926,7 +21991,7 @@ function Logout({ storageKeys, beforeLogout }) {
|
|
|
21926
21991
|
}, "logOut");
|
|
21927
21992
|
logOut();
|
|
21928
21993
|
}, []);
|
|
21929
|
-
return /* @__PURE__ */ jsx231(
|
|
21994
|
+
return /* @__PURE__ */ jsx231(Fragment43, {});
|
|
21930
21995
|
}
|
|
21931
21996
|
__name(Logout, "Logout");
|
|
21932
21997
|
|
|
@@ -21967,7 +22032,7 @@ import Image14 from "next/image";
|
|
|
21967
22032
|
import { useEffect as useEffect68, useState as useState90 } from "react";
|
|
21968
22033
|
import { useForm as useForm10 } from "react-hook-form";
|
|
21969
22034
|
import { z as z11 } from "zod";
|
|
21970
|
-
import { Fragment as
|
|
22035
|
+
import { Fragment as Fragment44, jsx as jsx232, jsxs as jsxs134 } from "react/jsx-runtime";
|
|
21971
22036
|
function ResetPassword() {
|
|
21972
22037
|
const { setComponentType, params, setParams } = useAuthContext();
|
|
21973
22038
|
const [showConfirmation, setShowConfirmation] = useState90(false);
|
|
@@ -22030,13 +22095,13 @@ function ResetPassword() {
|
|
|
22030
22095
|
errorToast({ title: t(`common.errors.error`), error });
|
|
22031
22096
|
}
|
|
22032
22097
|
}, "onSubmit");
|
|
22033
|
-
return /* @__PURE__ */ jsxs134(
|
|
22098
|
+
return /* @__PURE__ */ jsxs134(Fragment44, { children: [
|
|
22034
22099
|
/* @__PURE__ */ jsxs134(CardHeader, { children: [
|
|
22035
22100
|
/* @__PURE__ */ jsxs134(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
22036
22101
|
/* @__PURE__ */ jsx232(Image14, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
22037
22102
|
t(`auth.password_reset`)
|
|
22038
22103
|
] }),
|
|
22039
|
-
/* @__PURE__ */ jsx232(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx232(
|
|
22104
|
+
/* @__PURE__ */ jsx232(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx232(Fragment44, { children: t(`auth.errors.password_reset_error`) }) : /* @__PURE__ */ jsx232(Fragment44, { children: t(`auth.reset_password`) }) })
|
|
22040
22105
|
] }),
|
|
22041
22106
|
/* @__PURE__ */ jsx232(CardContent, { children: showConfirmation ? /* @__PURE__ */ jsx232(CardDescription, { className: "text-center text-xl", children: t(`auth.reset_success_description`) }) : error ? /* @__PURE__ */ jsx232(CardDescription, { className: "text-center text-xl", children: error }) : /* @__PURE__ */ jsx232(Form, { ...form, children: /* @__PURE__ */ jsxs134("form", { onSubmit: form.handleSubmit(onSubmit), children: [
|
|
22042
22107
|
/* @__PURE__ */ jsx232(FormPassword, { form, id: "password", name: t(`user.fields.password.label`) }),
|
|
@@ -22096,7 +22161,7 @@ function PasskeyButton({ pendingToken, onSuccess, onError, disabled = false }) {
|
|
|
22096
22161
|
__name(PasskeyButton, "PasskeyButton");
|
|
22097
22162
|
|
|
22098
22163
|
// src/features/auth/components/forms/TwoFactorChallenge.tsx
|
|
22099
|
-
import { Fragment as
|
|
22164
|
+
import { Fragment as Fragment45, jsx as jsx234, jsxs as jsxs135 } from "react/jsx-runtime";
|
|
22100
22165
|
function TwoFactorChallenge() {
|
|
22101
22166
|
const t = useTranslations106();
|
|
22102
22167
|
const { setUser } = useCurrentUserContext();
|
|
@@ -22177,7 +22242,7 @@ function TwoFactorChallenge() {
|
|
|
22177
22242
|
const hasTotp = availableMethods.includes("totp");
|
|
22178
22243
|
const hasPasskey = availableMethods.includes("passkey");
|
|
22179
22244
|
const hasBackup = availableMethods.includes("backup");
|
|
22180
|
-
return /* @__PURE__ */ jsxs135(
|
|
22245
|
+
return /* @__PURE__ */ jsxs135(Fragment45, { children: [
|
|
22181
22246
|
/* @__PURE__ */ jsxs135(CardHeader, { "data-testid": "page-2fa-challenge", children: [
|
|
22182
22247
|
/* @__PURE__ */ jsx234(CardTitle, { className: "text-primary", children: t("auth.two_factor.verification_required") }),
|
|
22183
22248
|
/* @__PURE__ */ jsx234(CardDescription, { children: t("auth.two_factor.enter_verification_code") })
|
|
@@ -22481,12 +22546,12 @@ import { useMemo as useMemo43 } from "react";
|
|
|
22481
22546
|
import { TrashIcon } from "lucide-react";
|
|
22482
22547
|
import { useTranslations as useTranslations109 } from "next-intl";
|
|
22483
22548
|
import { useState as useState94 } from "react";
|
|
22484
|
-
import { Fragment as
|
|
22549
|
+
import { Fragment as Fragment46, jsx as jsx237, jsxs as jsxs137 } from "react/jsx-runtime";
|
|
22485
22550
|
function AiConnectionDeleter({ connection }) {
|
|
22486
22551
|
const t = useTranslations109();
|
|
22487
22552
|
const { refresh } = useAiConnections();
|
|
22488
22553
|
const [open, setOpen] = useState94(false);
|
|
22489
|
-
return /* @__PURE__ */ jsxs137(
|
|
22554
|
+
return /* @__PURE__ */ jsxs137(Fragment46, { children: [
|
|
22490
22555
|
/* @__PURE__ */ jsx237(
|
|
22491
22556
|
Button,
|
|
22492
22557
|
{
|
|
@@ -22766,7 +22831,7 @@ function AiConnectionEditor({
|
|
|
22766
22831
|
__name(AiConnectionEditor, "AiConnectionEditor");
|
|
22767
22832
|
|
|
22768
22833
|
// src/features/ai-connection/components/lists/AiConnectionTypeCard.tsx
|
|
22769
|
-
import { Fragment as
|
|
22834
|
+
import { Fragment as Fragment47, jsx as jsx239, jsxs as jsxs139 } from "react/jsx-runtime";
|
|
22770
22835
|
function toInput(connection, overrides) {
|
|
22771
22836
|
return {
|
|
22772
22837
|
id: connection.id,
|
|
@@ -22889,7 +22954,7 @@ function AiConnectionTypeCard({ connectionType }) {
|
|
|
22889
22954
|
children: /* @__PURE__ */ jsx239(ChevronDownIcon10, {})
|
|
22890
22955
|
}
|
|
22891
22956
|
),
|
|
22892
|
-
!readOnly && /* @__PURE__ */ jsxs139(
|
|
22957
|
+
!readOnly && /* @__PURE__ */ jsxs139(Fragment47, { children: [
|
|
22893
22958
|
/* @__PURE__ */ jsx239(
|
|
22894
22959
|
AiConnectionEditor,
|
|
22895
22960
|
{
|
|
@@ -23147,7 +23212,7 @@ var STATUS_VARIANTS = {
|
|
|
23147
23212
|
};
|
|
23148
23213
|
var useEmailBlastTableStructure = /* @__PURE__ */ __name((params) => {
|
|
23149
23214
|
const t = useTranslations117();
|
|
23150
|
-
const
|
|
23215
|
+
const dates = useDateFormatter();
|
|
23151
23216
|
const generateUrl = usePageUrlGenerator();
|
|
23152
23217
|
const tableData = useMemo45(() => {
|
|
23153
23218
|
return params.data.map((blast) => {
|
|
@@ -23210,7 +23275,7 @@ var useEmailBlastTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
23210
23275
|
cell: /* @__PURE__ */ __name(({ row }) => {
|
|
23211
23276
|
const blast = row.original.jsonApiData;
|
|
23212
23277
|
if (!blast.sentAt) return /* @__PURE__ */ jsx245("span", { className: "text-muted-foreground text-xs", children: "\u2014" });
|
|
23213
|
-
return /* @__PURE__ */ jsx245("span", { className: "text-sm", children: blast.sentAt
|
|
23278
|
+
return /* @__PURE__ */ jsx245("span", { className: "text-sm", children: dates.format(blast.sentAt, "date") });
|
|
23214
23279
|
}, "cell"),
|
|
23215
23280
|
enableSorting: false,
|
|
23216
23281
|
enableHiding: false
|
|
@@ -23225,7 +23290,7 @@ var useEmailBlastTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
23225
23290
|
};
|
|
23226
23291
|
const columns = useMemo45(() => {
|
|
23227
23292
|
return params.fields.map((field) => fieldColumnMap[field]?.()).filter((col) => col !== void 0);
|
|
23228
|
-
}, [params.fields, fieldColumnMap, t, generateUrl,
|
|
23293
|
+
}, [params.fields, fieldColumnMap, t, generateUrl, dates]);
|
|
23229
23294
|
return useMemo45(() => ({ data: tableData, columns }), [tableData, columns]);
|
|
23230
23295
|
}, "useEmailBlastTableStructure");
|
|
23231
23296
|
registerTableGenerator("email-blasts", useEmailBlastTableStructure);
|
|
@@ -23237,7 +23302,7 @@ import { useCallback as useCallback44, useMemo as useMemo46 } from "react";
|
|
|
23237
23302
|
import { useForm as useForm12 } from "react-hook-form";
|
|
23238
23303
|
import { v4 as v413 } from "uuid";
|
|
23239
23304
|
import { z as z13 } from "zod";
|
|
23240
|
-
import { Fragment as
|
|
23305
|
+
import { Fragment as Fragment48, jsx as jsx246, jsxs as jsxs143 } from "react/jsx-runtime";
|
|
23241
23306
|
var TEMPLATE_VARIABLES = ["{{name}}", "{{email}}", "{{url}}"];
|
|
23242
23307
|
var MARKETING_ONLY_VARIABLES = ["{{unsubscribeAllUrl}}"];
|
|
23243
23308
|
function EmailBlastEditorInternal({
|
|
@@ -23341,7 +23406,7 @@ function EmailBlastEditorInternal({
|
|
|
23341
23406
|
name: t("emailBlasts.editor.fields.body.label"),
|
|
23342
23407
|
className: "min-h-72",
|
|
23343
23408
|
isRequired: true,
|
|
23344
|
-
description: /* @__PURE__ */ jsxs143(
|
|
23409
|
+
description: /* @__PURE__ */ jsxs143(Fragment48, { children: [
|
|
23345
23410
|
/* @__PURE__ */ jsxs143("span", { className: "block", children: [
|
|
23346
23411
|
t("emailBlasts.editor.variablesHint"),
|
|
23347
23412
|
" ",
|
|
@@ -23413,7 +23478,7 @@ import { useCallback as useCallback45, useEffect as useEffect73, useState as use
|
|
|
23413
23478
|
import { LoaderCircleIcon as LoaderCircleIcon4, SendIcon as SendIcon2 } from "lucide-react";
|
|
23414
23479
|
import { useTranslations as useTranslations121 } from "next-intl";
|
|
23415
23480
|
import { useEffect as useEffect72, useState as useState97 } from "react";
|
|
23416
|
-
import { Fragment as
|
|
23481
|
+
import { Fragment as Fragment49, jsx as jsx249, jsxs as jsxs144 } from "react/jsx-runtime";
|
|
23417
23482
|
function EmailBlastSendDialog({ blast, onSuccess }) {
|
|
23418
23483
|
const t = useTranslations121();
|
|
23419
23484
|
const [open, setOpen] = useState97(false);
|
|
@@ -23458,7 +23523,7 @@ function EmailBlastSendDialog({ blast, onSuccess }) {
|
|
|
23458
23523
|
] }),
|
|
23459
23524
|
/* @__PURE__ */ jsxs144("div", { className: "flex justify-end", children: [
|
|
23460
23525
|
/* @__PURE__ */ jsx249(Button, { className: "me-2", variant: "outline", type: "button", onClick: () => setOpen(false), disabled: isSending, children: t("emailBlasts.send.cancel") }),
|
|
23461
|
-
/* @__PURE__ */ jsx249(Button, { type: "button", variant: "default", onClick: handleSend, disabled: !canSend, children: isSending ? /* @__PURE__ */ jsxs144(
|
|
23526
|
+
/* @__PURE__ */ jsx249(Button, { type: "button", variant: "default", onClick: handleSend, disabled: !canSend, children: isSending ? /* @__PURE__ */ jsxs144(Fragment49, { children: [
|
|
23462
23527
|
t("emailBlasts.send.action"),
|
|
23463
23528
|
/* @__PURE__ */ jsx249(LoaderCircleIcon4, { className: "animate-spin-slow h-5 w-5" })
|
|
23464
23529
|
] }) : t("emailBlasts.send.action") })
|
|
@@ -23497,7 +23562,7 @@ function EmailBlastSendTestButton({ blast }) {
|
|
|
23497
23562
|
__name(EmailBlastSendTestButton, "EmailBlastSendTestButton");
|
|
23498
23563
|
function EmailBlastContainer({ blastId }) {
|
|
23499
23564
|
const t = useTranslations122();
|
|
23500
|
-
const
|
|
23565
|
+
const dates = useDateFormatter();
|
|
23501
23566
|
const generateUrl = usePageUrlGenerator();
|
|
23502
23567
|
const [blast, setBlast] = useState98(void 0);
|
|
23503
23568
|
const reload = useCallback45(async () => {
|
|
@@ -23573,7 +23638,7 @@ function EmailBlastContainer({ blastId }) {
|
|
|
23573
23638
|
DetailField,
|
|
23574
23639
|
{
|
|
23575
23640
|
label: t("emailBlasts.detail.sentAt"),
|
|
23576
|
-
value: blast.sentAt ? blast.sentAt
|
|
23641
|
+
value: blast.sentAt ? dates.format(blast.sentAt, "dateTimeMedium") : "\u2014"
|
|
23577
23642
|
}
|
|
23578
23643
|
),
|
|
23579
23644
|
/* @__PURE__ */ jsx250(DetailField, { label: t("emailBlasts.list.columns.subject"), value: blast.subject }),
|
|
@@ -23707,7 +23772,7 @@ function HowToCommandViewer({ howTo, onBack, onStartChat }) {
|
|
|
23707
23772
|
__name(HowToCommandViewer, "HowToCommandViewer");
|
|
23708
23773
|
|
|
23709
23774
|
// src/features/how-to/components/containers/HowToCommand.tsx
|
|
23710
|
-
import { Fragment as
|
|
23775
|
+
import { Fragment as Fragment50, jsx as jsx252, jsxs as jsxs147 } from "react/jsx-runtime";
|
|
23711
23776
|
function matchPage(pathname, pattern) {
|
|
23712
23777
|
if (pattern.includes(":")) {
|
|
23713
23778
|
const pathSegments = pathname.split("/").filter(Boolean);
|
|
@@ -23778,7 +23843,7 @@ function HowToCommand({ pathname, contextKeys, extraGroups, onStartChat }) {
|
|
|
23778
23843
|
setSelectedHowTo(null);
|
|
23779
23844
|
if (onStartChat) onStartChat();
|
|
23780
23845
|
}, "handleStartChat");
|
|
23781
|
-
return /* @__PURE__ */ jsxs147(
|
|
23846
|
+
return /* @__PURE__ */ jsxs147(Fragment50, { children: [
|
|
23782
23847
|
/* @__PURE__ */ jsxs147(
|
|
23783
23848
|
SidebarMenuButton,
|
|
23784
23849
|
{
|
|
@@ -23946,7 +24011,7 @@ import { useTranslations as useTranslations128 } from "next-intl";
|
|
|
23946
24011
|
// src/features/how-to/hooks/useHowToTableStructure.tsx
|
|
23947
24012
|
import { useTranslations as useTranslations126 } from "next-intl";
|
|
23948
24013
|
import { useMemo as useMemo49 } from "react";
|
|
23949
|
-
import { Fragment as
|
|
24014
|
+
import { Fragment as Fragment51, jsx as jsx256 } from "react/jsx-runtime";
|
|
23950
24015
|
var useHowToTableStructure = /* @__PURE__ */ __name((params) => {
|
|
23951
24016
|
const t = useTranslations126();
|
|
23952
24017
|
const generateUrl = usePageUrlGenerator();
|
|
@@ -23983,7 +24048,7 @@ var useHowToTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
23983
24048
|
id: "description",
|
|
23984
24049
|
accessorKey: "description",
|
|
23985
24050
|
header: t(`howto.fields.description.label`),
|
|
23986
|
-
cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx256(
|
|
24051
|
+
cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx256(Fragment51, { children: row.getValue("description") }), "cell"),
|
|
23987
24052
|
enableSorting: false,
|
|
23988
24053
|
enableHiding: false
|
|
23989
24054
|
}),
|
|
@@ -23991,7 +24056,7 @@ var useHowToTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
23991
24056
|
id: "pages",
|
|
23992
24057
|
accessorKey: "pages",
|
|
23993
24058
|
header: t(`howto.fields.pages.label`),
|
|
23994
|
-
cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx256(
|
|
24059
|
+
cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx256(Fragment51, { children: row.getValue("pages") }), "cell"),
|
|
23995
24060
|
enableSorting: false,
|
|
23996
24061
|
enableHiding: false
|
|
23997
24062
|
}),
|
|
@@ -24077,7 +24142,7 @@ __name(HowToListContainer, "HowToListContainer");
|
|
|
24077
24142
|
import { CircleX as CircleX3, RefreshCwIcon as RefreshCwIcon5, SearchIcon as SearchIcon7, XIcon as XIcon13 } from "lucide-react";
|
|
24078
24143
|
import { useTranslations as useTranslations129 } from "next-intl";
|
|
24079
24144
|
import { useCallback as useCallback47, useEffect as useEffect75, useRef as useRef42, useState as useState101 } from "react";
|
|
24080
|
-
import { Fragment as
|
|
24145
|
+
import { Fragment as Fragment52, jsx as jsx260, jsxs as jsxs149 } from "react/jsx-runtime";
|
|
24081
24146
|
function HowToSelector({
|
|
24082
24147
|
id,
|
|
24083
24148
|
form,
|
|
@@ -24162,7 +24227,7 @@ function HowToSelector({
|
|
|
24162
24227
|
search("");
|
|
24163
24228
|
}
|
|
24164
24229
|
}
|
|
24165
|
-
) : /* @__PURE__ */ jsx260(
|
|
24230
|
+
) : /* @__PURE__ */ jsx260(Fragment52, {})
|
|
24166
24231
|
] }),
|
|
24167
24232
|
/* @__PURE__ */ jsx260(CommandList, { children: data.data && data.data.length > 0 && data.data.map((howTo) => /* @__PURE__ */ jsx260(
|
|
24168
24233
|
CommandItem,
|
|
@@ -24375,7 +24440,7 @@ function ReferencesTab({ references }) {
|
|
|
24375
24440
|
__name(ReferencesTab, "ReferencesTab");
|
|
24376
24441
|
|
|
24377
24442
|
// src/features/assistant-message/components/parts/tabs/CitationsTab.tsx
|
|
24378
|
-
import { Fragment as
|
|
24443
|
+
import { Fragment as Fragment53, useState as useState103 } from "react";
|
|
24379
24444
|
import { useTranslations as useTranslations135 } from "next-intl";
|
|
24380
24445
|
import { ChevronDown as ChevronDown3, HelpCircle } from "lucide-react";
|
|
24381
24446
|
import ReactMarkdown2 from "react-markdown";
|
|
@@ -24440,7 +24505,7 @@ function CitationsTab({ citations, sources }) {
|
|
|
24440
24505
|
const typeLabel = chunk.nodeType ? entityLabel(chunk.nodeType) : t("features.assistant.message.sources.source");
|
|
24441
24506
|
const fallbackName = chunk.nodeId ? `${typeLabel} ${chunk.nodeId.slice(0, 8)}` : typeLabel;
|
|
24442
24507
|
const sourceName = resolved?.name ?? fallbackName;
|
|
24443
|
-
return /* @__PURE__ */ jsxs153(
|
|
24508
|
+
return /* @__PURE__ */ jsxs153(Fragment53, { children: [
|
|
24444
24509
|
/* @__PURE__ */ jsxs153(TableRow, { children: [
|
|
24445
24510
|
/* @__PURE__ */ jsx265(TableCell, { children: /* @__PURE__ */ jsxs153(
|
|
24446
24511
|
"div",
|
|
@@ -24837,7 +24902,7 @@ function MessageSourcesContainer({ message, isLatestAssistant, onSelectFollowUp
|
|
|
24837
24902
|
__name(MessageSourcesContainer, "MessageSourcesContainer");
|
|
24838
24903
|
|
|
24839
24904
|
// src/features/assistant-message/components/MessageItem.tsx
|
|
24840
|
-
import { Fragment as
|
|
24905
|
+
import { Fragment as Fragment54, jsx as jsx271, jsxs as jsxs157 } from "react/jsx-runtime";
|
|
24841
24906
|
var MENTION_HREF = /^mention:\/\/([^/]+)\/(.+)$/;
|
|
24842
24907
|
function mentionUrlTransform(url) {
|
|
24843
24908
|
return MENTION_HREF.test(url) ? url : defaultUrlTransform(url);
|
|
@@ -24860,7 +24925,7 @@ function MessageItem({
|
|
|
24860
24925
|
a: /* @__PURE__ */ __name(({ href, children }) => {
|
|
24861
24926
|
const match = href ? MENTION_HREF.exec(href) : null;
|
|
24862
24927
|
if (!match || !renderMention) return /* @__PURE__ */ jsx271("a", { href, children });
|
|
24863
|
-
return /* @__PURE__ */ jsx271(
|
|
24928
|
+
return /* @__PURE__ */ jsx271(Fragment54, { children: renderMention({ type: match[1], id: match[2], alias: String(children ?? "") }) });
|
|
24864
24929
|
}, "a")
|
|
24865
24930
|
}),
|
|
24866
24931
|
[renderMention]
|
|
@@ -25203,13 +25268,13 @@ function HandbookSyncButton({ refresh }) {
|
|
|
25203
25268
|
__name(HandbookSyncButton, "HandbookSyncButton");
|
|
25204
25269
|
|
|
25205
25270
|
// src/features/handbook/components/parts/HandbookIndexStatus.tsx
|
|
25206
|
-
import {
|
|
25271
|
+
import { useTranslations as useTranslations144 } from "next-intl";
|
|
25207
25272
|
import { useMemo as useMemo53 } from "react";
|
|
25208
25273
|
import { jsx as jsx277, jsxs as jsxs161 } from "react/jsx-runtime";
|
|
25209
25274
|
var FAILURE_STATUSES = /* @__PURE__ */ new Set(["failed", "error"]);
|
|
25210
25275
|
function HandbookIndexStatus({ pages }) {
|
|
25211
25276
|
const t = useTranslations144();
|
|
25212
|
-
const
|
|
25277
|
+
const dates = useDateFormatter();
|
|
25213
25278
|
const lastSynced = useMemo53(() => {
|
|
25214
25279
|
let latest = void 0;
|
|
25215
25280
|
for (const page of pages) {
|
|
@@ -25226,7 +25291,7 @@ function HandbookIndexStatus({ pages }) {
|
|
|
25226
25291
|
return /* @__PURE__ */ jsxs161("span", { className: "text-muted-foreground text-xs tabular-nums", children: [
|
|
25227
25292
|
t("handbook.contents.status", {
|
|
25228
25293
|
count: pages.length,
|
|
25229
|
-
date: lastSynced ?
|
|
25294
|
+
date: lastSynced ? dates.format(lastSynced, "dateMedium") : ""
|
|
25230
25295
|
}),
|
|
25231
25296
|
failures > 0 ? /* @__PURE__ */ jsx277("span", { className: "text-destructive ms-2 tabular-nums", children: t("handbook.contents.failures", { count: failures }) }) : null
|
|
25232
25297
|
] });
|
|
@@ -25299,7 +25364,7 @@ function splitByNesting(pages) {
|
|
|
25299
25364
|
__name(splitByNesting, "splitByNesting");
|
|
25300
25365
|
|
|
25301
25366
|
// src/features/handbook/components/lists/HandbookContents.tsx
|
|
25302
|
-
import { Fragment as
|
|
25367
|
+
import { Fragment as Fragment55, jsx as jsx279, jsxs as jsxs163 } from "react/jsx-runtime";
|
|
25303
25368
|
function HandbookContents() {
|
|
25304
25369
|
const t = useTranslations145();
|
|
25305
25370
|
const [pages, setPages] = useState109([]);
|
|
@@ -25338,7 +25403,7 @@ function HandbookContents() {
|
|
|
25338
25403
|
return /* @__PURE__ */ jsx279(
|
|
25339
25404
|
HandbookProvider,
|
|
25340
25405
|
{
|
|
25341
|
-
functions: /* @__PURE__ */ jsxs163(
|
|
25406
|
+
functions: /* @__PURE__ */ jsxs163(Fragment55, { children: [
|
|
25342
25407
|
/* @__PURE__ */ jsx279(HandbookAskSheet, {}),
|
|
25343
25408
|
/* @__PURE__ */ jsx279(HandbookSyncButton, { refresh }),
|
|
25344
25409
|
/* @__PURE__ */ jsx279(HandbookIndexStatus, { pages })
|
|
@@ -25729,7 +25794,7 @@ function groupThreadsByBucket(threads) {
|
|
|
25729
25794
|
__name(groupThreadsByBucket, "groupThreadsByBucket");
|
|
25730
25795
|
|
|
25731
25796
|
// src/features/assistant/components/parts/AssistantSidebar.tsx
|
|
25732
|
-
import { Fragment as
|
|
25797
|
+
import { Fragment as Fragment56, jsx as jsx286, jsxs as jsxs168 } from "react/jsx-runtime";
|
|
25733
25798
|
function AssistantSidebar({
|
|
25734
25799
|
threads,
|
|
25735
25800
|
activeId,
|
|
@@ -25766,7 +25831,7 @@ function AssistantSidebar({
|
|
|
25766
25831
|
" ",
|
|
25767
25832
|
newLabel ?? t("features.assistant.new")
|
|
25768
25833
|
] }) }),
|
|
25769
|
-
/* @__PURE__ */ jsx286("div", { className: "flex-1 overflow-y-auto p-2", children: threads.length === 0 ? /* @__PURE__ */ jsx286("div", { className: "text-muted-foreground mt-6 text-center text-xs", children: emptyLabel ?? t("features.assistant.empty_sidebar") }) : /* @__PURE__ */ jsxs168(
|
|
25834
|
+
/* @__PURE__ */ jsx286("div", { className: "flex-1 overflow-y-auto p-2", children: threads.length === 0 ? /* @__PURE__ */ jsx286("div", { className: "text-muted-foreground mt-6 text-center text-xs", children: emptyLabel ?? t("features.assistant.empty_sidebar") }) : /* @__PURE__ */ jsxs168(Fragment56, { children: [
|
|
25770
25835
|
renderSection(t("features.assistant.bucket_today"), groups.today),
|
|
25771
25836
|
renderSection(t("features.assistant.bucket_week"), groups.thisWeek),
|
|
25772
25837
|
renderSection(t("features.assistant.bucket_earlier"), groups.earlier)
|
|
@@ -25776,7 +25841,7 @@ function AssistantSidebar({
|
|
|
25776
25841
|
__name(AssistantSidebar, "AssistantSidebar");
|
|
25777
25842
|
|
|
25778
25843
|
// src/features/handbook/components/containers/HandbookAskContainer.tsx
|
|
25779
|
-
import { Fragment as
|
|
25844
|
+
import { Fragment as Fragment57, jsx as jsx287, jsxs as jsxs169 } from "react/jsx-runtime";
|
|
25780
25845
|
function HandbookAskContainer({ handbookThreadId } = {}) {
|
|
25781
25846
|
const t = useTranslations151();
|
|
25782
25847
|
const { threads, thread, messages, sending, ask, selectThread, startNew } = useHandbookAsk({ handbookThreadId });
|
|
@@ -25817,7 +25882,7 @@ function HandbookAskContainer({ handbookThreadId } = {}) {
|
|
|
25817
25882
|
detailsIcon: /* @__PURE__ */ jsx287(MessagesSquareIcon2, {}),
|
|
25818
25883
|
details,
|
|
25819
25884
|
children: /* @__PURE__ */ jsxs169("div", { className: "flex h-full min-h-0 w-full flex-col overflow-hidden", children: [
|
|
25820
|
-
showThread ? /* @__PURE__ */ jsx287(
|
|
25885
|
+
showThread ? /* @__PURE__ */ jsx287(Fragment57, { children: /* @__PURE__ */ jsx287(
|
|
25821
25886
|
AssistantThread,
|
|
25822
25887
|
{
|
|
25823
25888
|
messages,
|
|
@@ -25852,16 +25917,16 @@ import { useTranslations as useTranslations154 } from "next-intl";
|
|
|
25852
25917
|
import { useMemo as useMemo60 } from "react";
|
|
25853
25918
|
|
|
25854
25919
|
// src/features/assistant-message/components/EntityMentionLink.tsx
|
|
25855
|
-
import { Fragment as
|
|
25920
|
+
import { Fragment as Fragment58, jsx as jsx288 } from "react/jsx-runtime";
|
|
25856
25921
|
function EntityMentionLinkView({ type, id, alias }) {
|
|
25857
25922
|
const generate = usePageUrlGenerator();
|
|
25858
25923
|
let module;
|
|
25859
25924
|
try {
|
|
25860
25925
|
module = ModuleRegistry.findByName(type);
|
|
25861
25926
|
} catch {
|
|
25862
|
-
return /* @__PURE__ */ jsx288(
|
|
25927
|
+
return /* @__PURE__ */ jsx288(Fragment58, { children: alias });
|
|
25863
25928
|
}
|
|
25864
|
-
if (!module?.pageUrl) return /* @__PURE__ */ jsx288(
|
|
25929
|
+
if (!module?.pageUrl) return /* @__PURE__ */ jsx288(Fragment58, { children: alias });
|
|
25865
25930
|
return /* @__PURE__ */ jsx288(Link, { href: generate({ page: module, id }), children: alias });
|
|
25866
25931
|
}
|
|
25867
25932
|
__name(EntityMentionLinkView, "EntityMentionLinkView");
|
|
@@ -25973,7 +26038,7 @@ function AssistantThreadHeader({ assistant, onRename, onDelete, renamePlaceholde
|
|
|
25973
26038
|
__name(AssistantThreadHeader, "AssistantThreadHeader");
|
|
25974
26039
|
|
|
25975
26040
|
// src/features/assistant/components/containers/AssistantContainer.tsx
|
|
25976
|
-
import { Fragment as
|
|
26041
|
+
import { Fragment as Fragment59, jsx as jsx291, jsxs as jsxs172 } from "react/jsx-runtime";
|
|
25977
26042
|
function AssistantContainer({
|
|
25978
26043
|
renderApprovalAction,
|
|
25979
26044
|
renderMention,
|
|
@@ -26001,7 +26066,7 @@ function AssistantContainer({
|
|
|
26001
26066
|
),
|
|
26002
26067
|
[ctx.threads, ctx.assistant?.id, ctx.selectThread, renderThreadBadge]
|
|
26003
26068
|
);
|
|
26004
|
-
const thread = /* @__PURE__ */ jsx291(
|
|
26069
|
+
const thread = /* @__PURE__ */ jsx291(Fragment59, { children: !showThread ? /* @__PURE__ */ jsx291(
|
|
26005
26070
|
AssistantEmptyState,
|
|
26006
26071
|
{
|
|
26007
26072
|
onSend: ctx.sendMessage,
|
|
@@ -26009,7 +26074,7 @@ function AssistantContainer({
|
|
|
26009
26074
|
onOperatorModeChange: showOperatorToggle ? ctx.setOperatorMode : void 0,
|
|
26010
26075
|
composerLeading: renderScopePicker?.()
|
|
26011
26076
|
}
|
|
26012
|
-
) : /* @__PURE__ */ jsxs172(
|
|
26077
|
+
) : /* @__PURE__ */ jsxs172(Fragment59, { children: [
|
|
26013
26078
|
ctx.assistant ? /* @__PURE__ */ jsx291(
|
|
26014
26079
|
AssistantThreadHeader,
|
|
26015
26080
|
{
|
|
@@ -26165,7 +26230,7 @@ function AssistantBlockNoteComposer({
|
|
|
26165
26230
|
__name(AssistantBlockNoteComposer, "AssistantBlockNoteComposer");
|
|
26166
26231
|
|
|
26167
26232
|
// src/features/assistant/components/containers/AssistantPageContainer.tsx
|
|
26168
|
-
import { Fragment as
|
|
26233
|
+
import { Fragment as Fragment60, jsx as jsx293, jsxs as jsxs174 } from "react/jsx-runtime";
|
|
26169
26234
|
function AssistantPageContainer({
|
|
26170
26235
|
renderApprovalAction,
|
|
26171
26236
|
renderMention,
|
|
@@ -26204,7 +26269,7 @@ function AssistantPageContainer({
|
|
|
26204
26269
|
) })
|
|
26205
26270
|
),
|
|
26206
26271
|
children: /* @__PURE__ */ jsxs174("div", { className: "bg-background flex h-full w-full flex-col overflow-hidden rounded-lg border", children: [
|
|
26207
|
-
showThread ? /* @__PURE__ */ jsxs174(
|
|
26272
|
+
showThread ? /* @__PURE__ */ jsxs174(Fragment60, { children: [
|
|
26208
26273
|
ctx.assistant ? /* @__PURE__ */ jsx293(
|
|
26209
26274
|
AssistantThreadHeader,
|
|
26210
26275
|
{
|
|
@@ -26251,7 +26316,7 @@ __name(AssistantPageContainer, "AssistantPageContainer");
|
|
|
26251
26316
|
// src/features/assistant-action/components/ApprovalActionCard.tsx
|
|
26252
26317
|
import { ShieldAlert as ShieldAlert2 } from "lucide-react";
|
|
26253
26318
|
import { useTranslations as useTranslations157 } from "next-intl";
|
|
26254
|
-
import { Fragment as
|
|
26319
|
+
import { Fragment as Fragment61, useEffect as useEffect83, useMemo as useMemo61, useState as useState115 } from "react";
|
|
26255
26320
|
import { jsx as jsx294, jsxs as jsxs175 } from "react/jsx-runtime";
|
|
26256
26321
|
var STATUS_VARIANT2 = {
|
|
26257
26322
|
pending: "softBlue",
|
|
@@ -26538,7 +26603,7 @@ function ApprovalActionCard({ actionId, summary, onResolved, hiddenRelationshipK
|
|
|
26538
26603
|
/* @__PURE__ */ jsx294("span", { children: isUpdate ? t("features.assistant.approval.proposal.updateHeading", { entity: entityLabel }) : t("features.assistant.approval.proposal.heading", { entity: entityLabel }) }),
|
|
26539
26604
|
targetLabel !== "" && /* @__PURE__ */ jsx294("span", { className: "text-foreground tracking-normal normal-case", children: targetLabel })
|
|
26540
26605
|
] }),
|
|
26541
|
-
/* @__PURE__ */ jsx294("dl", { className: "grid grid-cols-1 gap-x-4 gap-y-1.5 sm:grid-cols-[minmax(0,10rem)_minmax(0,1fr)]", children: rows.map((row) => /* @__PURE__ */ jsxs175(
|
|
26606
|
+
/* @__PURE__ */ jsx294("dl", { className: "grid grid-cols-1 gap-x-4 gap-y-1.5 sm:grid-cols-[minmax(0,10rem)_minmax(0,1fr)]", children: rows.map((row) => /* @__PURE__ */ jsxs175(Fragment61, { children: [
|
|
26542
26607
|
/* @__PURE__ */ jsx294("dt", { className: "text-muted-foreground text-xs leading-relaxed break-words sm:text-sm", children: row.label }),
|
|
26543
26608
|
/* @__PURE__ */ jsx294("dd", { className: "text-foreground text-sm leading-relaxed break-words whitespace-pre-wrap", children: row.value })
|
|
26544
26609
|
] }, row.key)) })
|
|
@@ -26660,7 +26725,8 @@ import { jsx as jsx298, jsxs as jsxs177 } from "react/jsx-runtime";
|
|
|
26660
26725
|
var NOTIFICATIONS_MODULE_NAME = "notifications";
|
|
26661
26726
|
var useNotificationTableStructure = /* @__PURE__ */ __name((params) => {
|
|
26662
26727
|
const t = useTranslations160();
|
|
26663
|
-
const dateLocale =
|
|
26728
|
+
const { locale: dateLocale } = useDateFormatter();
|
|
26729
|
+
const now = useMountedNow();
|
|
26664
26730
|
const generateUrl = usePageUrlGenerator();
|
|
26665
26731
|
const { loadNotifications } = useNotificationContext();
|
|
26666
26732
|
const archived = params.context?.archived === true;
|
|
@@ -26720,7 +26786,7 @@ var useNotificationTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
26720
26786
|
meta: { className: "w-40" },
|
|
26721
26787
|
cell: /* @__PURE__ */ __name(({ row }) => {
|
|
26722
26788
|
const notification = row.original.jsonApiData;
|
|
26723
|
-
return /* @__PURE__ */ jsx298("span", { className: "text-muted-foreground text-xs", children: formatDate(new Date(notification.createdAt), "default", dateLocale) });
|
|
26789
|
+
return /* @__PURE__ */ jsx298("span", { className: "text-muted-foreground text-xs", children: now ? formatDate(new Date(notification.createdAt), "default", dateLocale, now) : "" });
|
|
26724
26790
|
}, "cell"),
|
|
26725
26791
|
enableSorting: false,
|
|
26726
26792
|
enableHiding: false
|
|
@@ -26761,7 +26827,7 @@ var useNotificationTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
26761
26827
|
};
|
|
26762
26828
|
const columns = useMemo62(() => {
|
|
26763
26829
|
return params.fields.map((field) => fieldColumnMap[field]?.()).filter((col) => col !== void 0);
|
|
26764
|
-
}, [params.fields, fieldColumnMap, t, generateUrl]);
|
|
26830
|
+
}, [params.fields, fieldColumnMap, t, generateUrl, dateLocale, now]);
|
|
26765
26831
|
return useMemo62(() => ({ data: tableData, columns }), [tableData, columns]);
|
|
26766
26832
|
}, "useNotificationTableStructure");
|
|
26767
26833
|
registerTableGenerator(NOTIFICATIONS_MODULE_NAME, useNotificationTableStructure);
|
|
@@ -26857,7 +26923,7 @@ __name(NotificationsListContainer, "NotificationsListContainer");
|
|
|
26857
26923
|
// src/features/notification/components/modals/NotificationModal.tsx
|
|
26858
26924
|
import { BellIcon as BellIcon2, ExternalLinkIcon } from "lucide-react";
|
|
26859
26925
|
import { useTranslations as useTranslations163 } from "next-intl";
|
|
26860
|
-
import { Fragment as
|
|
26926
|
+
import { Fragment as Fragment62, useCallback as useCallback54, useEffect as useEffect85, useMemo as useMemo63, useRef as useRef46, useState as useState117 } from "react";
|
|
26861
26927
|
import { jsx as jsx301, jsxs as jsxs179 } from "react/jsx-runtime";
|
|
26862
26928
|
function NotificationModalContent({ isOpen, setIsOpen }) {
|
|
26863
26929
|
const _instanceId = useRef46(Math.random().toString(36).substr(2, 9));
|
|
@@ -27046,7 +27112,7 @@ function NotificationModalContent({ isOpen, setIsOpen }) {
|
|
|
27046
27112
|
] }),
|
|
27047
27113
|
isLoading && /* @__PURE__ */ jsx301("div", { className: "text-muted-foreground px-3 py-2 text-xs", children: t(`common.loading`) }),
|
|
27048
27114
|
error && /* @__PURE__ */ jsx301("div", { className: "text-destructive px-3 py-2 text-xs", children: error }),
|
|
27049
|
-
/* @__PURE__ */ jsx301(ScrollArea, { className: "[&_[data-slot=scroll-area-scrollbar]]:w-2.5 [&_[data-slot=scroll-area-thumb]]:bg-muted-foreground/40 [&>[data-slot=scroll-area-viewport]]:max-h-[min(32rem,calc(var(--available-height,32rem)-3.5rem))]", children: notifications.length > 0 ? /* @__PURE__ */ jsx301("div", { className: "divide-border divide-y", children: notifications.map((notification) => /* @__PURE__ */ jsx301(
|
|
27115
|
+
/* @__PURE__ */ jsx301(ScrollArea, { className: "[&_[data-slot=scroll-area-scrollbar]]:w-2.5 [&_[data-slot=scroll-area-thumb]]:bg-muted-foreground/40 [&>[data-slot=scroll-area-viewport]]:max-h-[min(32rem,calc(var(--available-height,32rem)-3.5rem))]", children: notifications.length > 0 ? /* @__PURE__ */ jsx301("div", { className: "divide-border divide-y", children: notifications.map((notification) => /* @__PURE__ */ jsx301(Fragment62, { children: generateNotification(notification, () => setIsOpen(false)) }, notification.id)) }) : /* @__PURE__ */ jsx301("div", { className: "text-muted-foreground p-6 text-center text-sm", children: t(`notification.empty`) }) })
|
|
27050
27116
|
] })
|
|
27051
27117
|
] });
|
|
27052
27118
|
}
|
|
@@ -27057,7 +27123,7 @@ function NotificationModal(props) {
|
|
|
27057
27123
|
__name(NotificationModal, "NotificationModal");
|
|
27058
27124
|
|
|
27059
27125
|
// src/features/notification/components/notifications/PushNotificationProvider.tsx
|
|
27060
|
-
import { Fragment as
|
|
27126
|
+
import { Fragment as Fragment63, jsx as jsx302 } from "react/jsx-runtime";
|
|
27061
27127
|
function PushNotificationProvider({
|
|
27062
27128
|
children,
|
|
27063
27129
|
excludedRoleIds = []
|
|
@@ -27065,7 +27131,7 @@ function PushNotificationProvider({
|
|
|
27065
27131
|
const { currentUser, hasRole } = useCurrentUserContext();
|
|
27066
27132
|
const canSubscribe = !hasRole(getRoleId().Administrator) && !excludedRoleIds.some((roleId) => hasRole(roleId));
|
|
27067
27133
|
usePushNotifications_default({ currentUser: currentUser ?? void 0, canSubscribe });
|
|
27068
|
-
return /* @__PURE__ */ jsx302(
|
|
27134
|
+
return /* @__PURE__ */ jsx302(Fragment63, { children });
|
|
27069
27135
|
}
|
|
27070
27136
|
__name(PushNotificationProvider, "PushNotificationProvider");
|
|
27071
27137
|
|
|
@@ -27407,11 +27473,11 @@ import { useMemo as useMemo65 } from "react";
|
|
|
27407
27473
|
// src/features/tokenusage/lib/formatters.ts
|
|
27408
27474
|
import { useLocale } from "next-intl";
|
|
27409
27475
|
import { useMemo as useMemo64 } from "react";
|
|
27410
|
-
function createUsageFormatters(locale, currency) {
|
|
27476
|
+
function createUsageFormatters(locale, currency, dateLocale = locale) {
|
|
27411
27477
|
const symbol = new Intl.NumberFormat(locale, { style: "currency", currency, currencyDisplay: "narrowSymbol" }).formatToParts(0).find((part) => part.type === "currency")?.value ?? currency;
|
|
27412
27478
|
const decimal = /* @__PURE__ */ __name((value, decimals) => value.toLocaleString(locale, { minimumFractionDigits: decimals, maximumFractionDigits: decimals }), "decimal");
|
|
27413
|
-
const dayFormat = new Intl.DateTimeFormat(
|
|
27414
|
-
const monthFormat = new Intl.DateTimeFormat(
|
|
27479
|
+
const dayFormat = new Intl.DateTimeFormat(dateLocale, { day: "numeric", month: "short", timeZone: "UTC" });
|
|
27480
|
+
const monthFormat = new Intl.DateTimeFormat(dateLocale, { month: "short", year: "numeric", timeZone: "UTC" });
|
|
27415
27481
|
const compactFormat = new Intl.NumberFormat(locale, { notation: "compact", maximumSignificantDigits: 3 });
|
|
27416
27482
|
const collator = new Intl.Collator(locale);
|
|
27417
27483
|
return {
|
|
@@ -27442,8 +27508,9 @@ function createUsageFormatters(locale, currency) {
|
|
|
27442
27508
|
__name(createUsageFormatters, "createUsageFormatters");
|
|
27443
27509
|
function useUsageFormatters() {
|
|
27444
27510
|
const locale = useLocale();
|
|
27511
|
+
const { locale: dateLocale } = useDateFormatter();
|
|
27445
27512
|
const currency = getTokenUsageCurrency();
|
|
27446
|
-
return useMemo64(() => createUsageFormatters(locale, currency), [locale, currency]);
|
|
27513
|
+
return useMemo64(() => createUsageFormatters(locale, currency, dateLocale), [locale, currency, dateLocale]);
|
|
27447
27514
|
}
|
|
27448
27515
|
__name(useUsageFormatters, "useUsageFormatters");
|
|
27449
27516
|
|
|
@@ -28061,11 +28128,11 @@ function RoleDetails() {
|
|
|
28061
28128
|
__name(RoleDetails, "RoleDetails");
|
|
28062
28129
|
|
|
28063
28130
|
// src/features/role/components/containers/RoleContainer.tsx
|
|
28064
|
-
import { Fragment as
|
|
28131
|
+
import { Fragment as Fragment64, jsx as jsx311, jsxs as jsxs187 } from "react/jsx-runtime";
|
|
28065
28132
|
function RoleContainer() {
|
|
28066
28133
|
const { role } = useRoleContext();
|
|
28067
28134
|
if (!role) return null;
|
|
28068
|
-
return /* @__PURE__ */ jsxs187(
|
|
28135
|
+
return /* @__PURE__ */ jsxs187(Fragment64, { children: [
|
|
28069
28136
|
/* @__PURE__ */ jsx311(RoleDetails, {}),
|
|
28070
28137
|
/* @__PURE__ */ jsx311(RoleUsersList, { role })
|
|
28071
28138
|
] });
|
|
@@ -28110,7 +28177,7 @@ __name(FormRoles, "FormRoles");
|
|
|
28110
28177
|
// src/features/role/components/forms/RemoveUserFromRole.tsx
|
|
28111
28178
|
import { useTranslations as useTranslations173 } from "next-intl";
|
|
28112
28179
|
import { useEffect as useEffect90, useState as useState122 } from "react";
|
|
28113
|
-
import { Fragment as
|
|
28180
|
+
import { Fragment as Fragment65, jsx as jsx313, jsxs as jsxs189 } from "react/jsx-runtime";
|
|
28114
28181
|
function RemoveUserFromRole({ role, user, refresh }) {
|
|
28115
28182
|
const [open, setOpen] = useState122(false);
|
|
28116
28183
|
const [canRemove, setCanRemove] = useState122(false);
|
|
@@ -28159,7 +28226,7 @@ function RemoveUserFromRole({ role, user, refresh }) {
|
|
|
28159
28226
|
/* @__PURE__ */ jsx313(DialogTitle, { children: t(`role.remove_user.title`) }),
|
|
28160
28227
|
/* @__PURE__ */ jsx313(DialogDescription, { children: canRemove ? t(`role.remove_user.subtitle_allowed`) : t(`role.remove_user.subtitle_not_allowed`) })
|
|
28161
28228
|
] }),
|
|
28162
|
-
canRemove ? /* @__PURE__ */ jsxs189(
|
|
28229
|
+
canRemove ? /* @__PURE__ */ jsxs189(Fragment65, { children: [
|
|
28163
28230
|
t(`role.remove_user.description_allowed`, { role: roleName, user: user.name }),
|
|
28164
28231
|
/* @__PURE__ */ jsxs189("div", { className: "flex justify-end", children: [
|
|
28165
28232
|
/* @__PURE__ */ jsx313(Button, { className: "me-2", variant: "outline", type: `button`, onClick: () => setOpen(false), children: t(`ui.buttons.cancel`) }),
|
|
@@ -28176,7 +28243,7 @@ function RemoveUserFromRole({ role, user, refresh }) {
|
|
|
28176
28243
|
}
|
|
28177
28244
|
)
|
|
28178
28245
|
] })
|
|
28179
|
-
] }) : /* @__PURE__ */ jsx313(
|
|
28246
|
+
] }) : /* @__PURE__ */ jsx313(Fragment65, { children: t(`role.remove_user.description_not_allowed`, { role: roleName, user: user.name }) })
|
|
28180
28247
|
] })
|
|
28181
28248
|
] });
|
|
28182
28249
|
}
|
|
@@ -28186,7 +28253,7 @@ __name(RemoveUserFromRole, "RemoveUserFromRole");
|
|
|
28186
28253
|
import { PlusCircle as PlusCircle2 } from "lucide-react";
|
|
28187
28254
|
import { useTranslations as useTranslations174 } from "next-intl";
|
|
28188
28255
|
import { useCallback as useCallback56, useEffect as useEffect91, useRef as useRef49, useState as useState123 } from "react";
|
|
28189
|
-
import { Fragment as
|
|
28256
|
+
import { Fragment as Fragment66, jsx as jsx314, jsxs as jsxs190 } from "react/jsx-runtime";
|
|
28190
28257
|
function UserRoleAdd({ user, refresh }) {
|
|
28191
28258
|
const [open, setOpen] = useState123(false);
|
|
28192
28259
|
const inputRef = useRef49(null);
|
|
@@ -28233,7 +28300,7 @@ function UserRoleAdd({ user, refresh }) {
|
|
|
28233
28300
|
useEffect91(() => {
|
|
28234
28301
|
if (open) searchRoles("");
|
|
28235
28302
|
}, [open]);
|
|
28236
|
-
return /* @__PURE__ */ jsxs190(
|
|
28303
|
+
return /* @__PURE__ */ jsxs190(Fragment66, { children: [
|
|
28237
28304
|
/* @__PURE__ */ jsxs190(Button, { size: "sm", onClick: () => setOpen(true), children: [
|
|
28238
28305
|
/* @__PURE__ */ jsx314(PlusCircle2, { className: "me-3 h-3.5 w-3.5" }),
|
|
28239
28306
|
t(`common.association.label`, {
|
|
@@ -28563,14 +28630,14 @@ __name(OAuthClientSecretDisplay, "OAuthClientSecretDisplay");
|
|
|
28563
28630
|
|
|
28564
28631
|
// src/features/oauth/components/OAuthClientCard.tsx
|
|
28565
28632
|
import { useTranslations as useTranslations180 } from "next-intl";
|
|
28566
|
-
import { formatDistanceToNow } from "date-fns";
|
|
28567
28633
|
import { Key as Key2, MoreVertical, Pencil, Trash2 as Trash24 } from "lucide-react";
|
|
28568
28634
|
import { jsx as jsx320, jsxs as jsxs194 } from "react/jsx-runtime";
|
|
28569
28635
|
function OAuthClientCard({ client, onClick, onEdit, onDelete }) {
|
|
28570
28636
|
const t = useTranslations180();
|
|
28571
|
-
const
|
|
28637
|
+
const { relative } = useDateFormatter();
|
|
28638
|
+
const now = useMountedNow();
|
|
28572
28639
|
const truncatedId = client.clientId.length > 12 ? `${client.clientId.slice(0, 8)}...${client.clientId.slice(-4)}` : client.clientId;
|
|
28573
|
-
const createdAgo = client.createdAt ?
|
|
28640
|
+
const createdAgo = client.createdAt ? now ? relative(new Date(client.createdAt), { now }) : void 0 : t("oauth.ui.card.unknown");
|
|
28574
28641
|
return /* @__PURE__ */ jsxs194(
|
|
28575
28642
|
Card,
|
|
28576
28643
|
{
|
|
@@ -28623,7 +28690,7 @@ function OAuthClientCard({ client, onClick, onEdit, onDelete }) {
|
|
|
28623
28690
|
] }),
|
|
28624
28691
|
/* @__PURE__ */ jsx320(CardContent, { children: /* @__PURE__ */ jsxs194("div", { className: "flex flex-wrap gap-x-4 gap-y-1 text-sm text-muted-foreground", children: [
|
|
28625
28692
|
/* @__PURE__ */ jsx320("span", { className: "tabular-nums", children: truncatedId }),
|
|
28626
|
-
/* @__PURE__ */ jsx320("span", { children: t("oauth.ui.card.created", { ago: createdAgo }) }),
|
|
28693
|
+
createdAgo !== void 0 && /* @__PURE__ */ jsx320("span", { children: t("oauth.ui.card.created", { ago: createdAgo }) }),
|
|
28627
28694
|
/* @__PURE__ */ jsx320("span", { children: client.isConfidential ? t("oauth.ui.card.confidential") : t("oauth.ui.card.public") })
|
|
28628
28695
|
] }) })
|
|
28629
28696
|
]
|
|
@@ -28858,7 +28925,7 @@ __name(OAuthClientForm, "OAuthClientForm");
|
|
|
28858
28925
|
import { useTranslations as useTranslations183 } from "next-intl";
|
|
28859
28926
|
import { useState as useState126, useCallback as useCallback61 } from "react";
|
|
28860
28927
|
import { Copy as Copy4, Check as Check2, RefreshCw as RefreshCw3, Pencil as Pencil2, Trash2 as Trash25, ExternalLink } from "lucide-react";
|
|
28861
|
-
import { Fragment as
|
|
28928
|
+
import { Fragment as Fragment67, jsx as jsx323, jsxs as jsxs197 } from "react/jsx-runtime";
|
|
28862
28929
|
function OAuthClientDetail({
|
|
28863
28930
|
client,
|
|
28864
28931
|
isLoading = false,
|
|
@@ -28867,7 +28934,7 @@ function OAuthClientDetail({
|
|
|
28867
28934
|
onRegenerateSecret
|
|
28868
28935
|
}) {
|
|
28869
28936
|
const t = useTranslations183();
|
|
28870
|
-
const
|
|
28937
|
+
const { format } = useDateFormatter();
|
|
28871
28938
|
const scopeText = useOAuthScopeText();
|
|
28872
28939
|
const [copiedField, setCopiedField] = useState126(null);
|
|
28873
28940
|
const [showDeleteConfirm, setShowDeleteConfirm] = useState126(false);
|
|
@@ -28903,8 +28970,8 @@ function OAuthClientDetail({
|
|
|
28903
28970
|
setShowRegenerateConfirm(false);
|
|
28904
28971
|
}
|
|
28905
28972
|
}, [onRegenerateSecret]);
|
|
28906
|
-
const createdDate = client.createdAt ? new Date(client.createdAt)
|
|
28907
|
-
return /* @__PURE__ */ jsxs197(
|
|
28973
|
+
const createdDate = client.createdAt ? format(new Date(client.createdAt), "dateLong") : t("oauth.ui.card.unknown");
|
|
28974
|
+
return /* @__PURE__ */ jsxs197(Fragment67, { children: [
|
|
28908
28975
|
/* @__PURE__ */ jsxs197(Card, { children: [
|
|
28909
28976
|
/* @__PURE__ */ jsx323(CardHeader, { children: /* @__PURE__ */ jsxs197("div", { className: "flex items-start justify-between", children: [
|
|
28910
28977
|
/* @__PURE__ */ jsxs197("div", { children: [
|
|
@@ -29113,7 +29180,7 @@ function OAuthCompanySelector({ companies, value, onChange }) {
|
|
|
29113
29180
|
__name(OAuthCompanySelector, "OAuthCompanySelector");
|
|
29114
29181
|
|
|
29115
29182
|
// src/features/oauth/components/consent/OAuthConsentScreen.tsx
|
|
29116
|
-
import { Fragment as
|
|
29183
|
+
import { Fragment as Fragment68, jsx as jsx328, jsxs as jsxs202 } from "react/jsx-runtime";
|
|
29117
29184
|
function OAuthConsentScreen({
|
|
29118
29185
|
params,
|
|
29119
29186
|
logoUrl,
|
|
@@ -29147,7 +29214,7 @@ function OAuthConsentScreen({
|
|
|
29147
29214
|
/* @__PURE__ */ jsx328(Separator, {}),
|
|
29148
29215
|
/* @__PURE__ */ jsx328(OAuthScopeList, { scopes }),
|
|
29149
29216
|
/* @__PURE__ */ jsx328(Separator, {}),
|
|
29150
|
-
companies.length > 1 && /* @__PURE__ */ jsxs202(
|
|
29217
|
+
companies.length > 1 && /* @__PURE__ */ jsxs202(Fragment68, { children: [
|
|
29151
29218
|
/* @__PURE__ */ jsx328(OAuthCompanySelector, { companies, value: companyId, onChange: setCompanyId }),
|
|
29152
29219
|
/* @__PURE__ */ jsx328(Separator, {})
|
|
29153
29220
|
] }),
|
|
@@ -29277,7 +29344,7 @@ function WaitlistQuestionnaireRenderer({
|
|
|
29277
29344
|
__name(WaitlistQuestionnaireRenderer, "WaitlistQuestionnaireRenderer");
|
|
29278
29345
|
|
|
29279
29346
|
// src/features/waitlist/components/forms/WaitlistForm.tsx
|
|
29280
|
-
import { Fragment as
|
|
29347
|
+
import { Fragment as Fragment69, jsx as jsx330, jsxs as jsxs204 } from "react/jsx-runtime";
|
|
29281
29348
|
function WaitlistForm({ onSuccess }) {
|
|
29282
29349
|
const t = useTranslations189();
|
|
29283
29350
|
const [isSubmitting, setIsSubmitting] = useState127(false);
|
|
@@ -29397,7 +29464,7 @@ function WaitlistForm({ onSuccess }) {
|
|
|
29397
29464
|
{
|
|
29398
29465
|
form,
|
|
29399
29466
|
id: "gdprConsent",
|
|
29400
|
-
label: /* @__PURE__ */ jsxs204(
|
|
29467
|
+
label: /* @__PURE__ */ jsxs204(Fragment69, { children: [
|
|
29401
29468
|
t("auth.gdpr.terms_prefix"),
|
|
29402
29469
|
/* @__PURE__ */ jsx330(Link, { href: "/terms", target: "_blank", rel: "noopener", children: t("auth.gdpr.terms_of_service") }),
|
|
29403
29470
|
t("auth.gdpr.and"),
|
|
@@ -29691,7 +29758,7 @@ import { Popover as PopoverPrimitive2 } from "@base-ui/react/popover";
|
|
|
29691
29758
|
import { CheckIcon as CheckIcon10, MinusIcon as MinusIcon3, XIcon as XIcon15 } from "lucide-react";
|
|
29692
29759
|
import { useTranslations as useTranslations193 } from "next-intl";
|
|
29693
29760
|
import { useCallback as useCallback63, useEffect as useEffect94, useState as useState130 } from "react";
|
|
29694
|
-
import { Fragment as
|
|
29761
|
+
import { Fragment as Fragment70, jsx as jsx336, jsxs as jsxs210 } from "react/jsx-runtime";
|
|
29695
29762
|
function RbacPermissionPicker({
|
|
29696
29763
|
open,
|
|
29697
29764
|
anchor,
|
|
@@ -29777,7 +29844,7 @@ function RbacPermissionPicker({
|
|
|
29777
29844
|
)
|
|
29778
29845
|
] })
|
|
29779
29846
|
] }),
|
|
29780
|
-
isRoleColumn && onClear && /* @__PURE__ */ jsxs210(
|
|
29847
|
+
isRoleColumn && onClear && /* @__PURE__ */ jsxs210(Fragment70, { children: [
|
|
29781
29848
|
/* @__PURE__ */ jsx336(Separator, {}),
|
|
29782
29849
|
/* @__PURE__ */ jsxs210(
|
|
29783
29850
|
Button,
|
|
@@ -30064,7 +30131,7 @@ __name(RbacContainer, "RbacContainer");
|
|
|
30064
30131
|
// src/features/rbac/components/RbacByRoleContainer.tsx
|
|
30065
30132
|
import { Loader2Icon as Loader2Icon5 } from "lucide-react";
|
|
30066
30133
|
import { useTranslations as useTranslations195 } from "next-intl";
|
|
30067
|
-
import { Fragment as
|
|
30134
|
+
import { Fragment as Fragment71, memo as memo3, useCallback as useCallback65, useEffect as useEffect96, useMemo as useMemo71, useRef as useRef51, useState as useState132 } from "react";
|
|
30068
30135
|
import { jsx as jsx338, jsxs as jsxs212 } from "react/jsx-runtime";
|
|
30069
30136
|
function findToken2(tokens, action) {
|
|
30070
30137
|
if (!tokens) return void 0;
|
|
@@ -30190,7 +30257,7 @@ function RbacByRoleContainer() {
|
|
|
30190
30257
|
const defaultTokens = block.default ?? [];
|
|
30191
30258
|
const roleTokens = block[selectedRoleId];
|
|
30192
30259
|
const moduleLabel = moduleNames?.[moduleId] ?? moduleId;
|
|
30193
|
-
return /* @__PURE__ */ jsxs212(
|
|
30260
|
+
return /* @__PURE__ */ jsxs212(Fragment71, { children: [
|
|
30194
30261
|
/* @__PURE__ */ jsx338("tr", { className: "border-b bg-muted/40", children: /* @__PURE__ */ jsx338(
|
|
30195
30262
|
"td",
|
|
30196
30263
|
{
|
|
@@ -30890,4 +30957,4 @@ export {
|
|
|
30890
30957
|
useOAuthClients,
|
|
30891
30958
|
useOAuthClient
|
|
30892
30959
|
};
|
|
30893
|
-
//# sourceMappingURL=chunk-
|
|
30960
|
+
//# sourceMappingURL=chunk-64REWDSK.mjs.map
|