@myrjfa/state 2.3.4 → 2.3.6
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/LICENSE +201 -201
- package/README.md +3 -3
- package/dist/hooks/usePersistentDraftState.d.ts +1 -0
- package/dist/hooks/usePersistentDraftState.d.ts.map +1 -1
- package/dist/hooks/usePersistentDraftState.js +16 -4
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/lib/actions/actions.d.ts +0 -10
- package/dist/lib/actions/actions.d.ts.map +1 -1
- package/dist/lib/actions/actions.js +0 -18
- package/dist/lib/actions.d.ts +3 -2
- package/dist/lib/actions.d.ts.map +1 -1
- package/dist/lib/actions.js +10 -12
- package/dist/lib/hostDashboardActions.d.ts +17 -1
- package/dist/lib/hostDashboardActions.d.ts.map +1 -1
- package/dist/lib/hostDashboardActions.js +18 -0
- package/dist/lib/models/authorization.d.ts +10 -5
- package/dist/lib/models/authorization.d.ts.map +1 -1
- package/dist/lib/models/authorization.js +56 -23
- package/dist/lib/models/pricing.d.ts.map +1 -1
- package/dist/lib/models/pricing.js +8 -1
- package/dist/lib/models/socialAutomation.d.ts +108 -0
- package/dist/lib/models/socialAutomation.d.ts.map +1 -0
- package/dist/lib/models/socialAutomation.js +1 -0
- package/dist/lib/models/tile.d.ts +1 -0
- package/dist/lib/models/tile.d.ts.map +1 -1
- package/dist/lib/models/travelPackage.d.ts +121 -0
- package/dist/lib/models/travelPackage.d.ts.map +1 -1
- package/dist/lib/models/travelPackage.js +15 -0
- package/dist/lib/packageAvailability.d.ts +10 -0
- package/dist/lib/packageAvailability.d.ts.map +1 -0
- package/dist/lib/packageAvailability.js +102 -0
- package/dist/lib/rentalActions.d.ts +1 -0
- package/dist/lib/rentalActions.d.ts.map +1 -1
- package/dist/lib/rentalActions.js +2 -2
- package/dist/lib/socialAutomationActions.d.ts +41 -0
- package/dist/lib/socialAutomationActions.d.ts.map +1 -0
- package/dist/lib/socialAutomationActions.js +29 -0
- package/dist/lib/travelPackageActions.d.ts +7 -1
- package/dist/lib/travelPackageActions.d.ts.map +1 -1
- package/dist/lib/travelPackageActions.js +15 -0
- package/dist/lib/travelPackageFormPage.d.ts +5 -1
- package/dist/lib/travelPackageFormPage.d.ts.map +1 -1
- package/dist/lib/travelPackageFormPage.js +29 -0
- package/dist/lib/util.d.ts.map +1 -1
- package/dist/lib/util.js +2 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +4 -1
- package/package.json +1 -1
|
@@ -44,6 +44,28 @@ export declare const ActivitySchema: z.ZodObject<{
|
|
|
44
44
|
day?: number | undefined;
|
|
45
45
|
additionalPrice?: number | undefined;
|
|
46
46
|
}>;
|
|
47
|
+
export declare const PackageSourcePdfSchema: z.ZodObject<{
|
|
48
|
+
id: z.ZodString;
|
|
49
|
+
fileName: z.ZodString;
|
|
50
|
+
mimeType: z.ZodLiteral<"application/pdf">;
|
|
51
|
+
sizeBytes: z.ZodNumber;
|
|
52
|
+
uploadedAt: z.ZodUnion<[z.ZodDate, z.ZodString]>;
|
|
53
|
+
status: z.ZodEnum<["pending", "attached", "replaced"]>;
|
|
54
|
+
}, "strip", z.ZodTypeAny, {
|
|
55
|
+
status: "pending" | "attached" | "replaced";
|
|
56
|
+
id: string;
|
|
57
|
+
fileName: string;
|
|
58
|
+
mimeType: "application/pdf";
|
|
59
|
+
sizeBytes: number;
|
|
60
|
+
uploadedAt: string | Date;
|
|
61
|
+
}, {
|
|
62
|
+
status: "pending" | "attached" | "replaced";
|
|
63
|
+
id: string;
|
|
64
|
+
fileName: string;
|
|
65
|
+
mimeType: "application/pdf";
|
|
66
|
+
sizeBytes: number;
|
|
67
|
+
uploadedAt: string | Date;
|
|
68
|
+
}>;
|
|
47
69
|
export declare const includedItems: string[];
|
|
48
70
|
export declare const excludedItems: string[];
|
|
49
71
|
export declare const thingsToCarryItems: string[];
|
|
@@ -64,6 +86,28 @@ export declare const TravelPackageSchema: z.ZodObject<{
|
|
|
64
86
|
description: z.ZodString;
|
|
65
87
|
highlights: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
66
88
|
packageImages: z.ZodArray<z.ZodString, "many">;
|
|
89
|
+
sourcePdf: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
90
|
+
id: z.ZodString;
|
|
91
|
+
fileName: z.ZodString;
|
|
92
|
+
mimeType: z.ZodLiteral<"application/pdf">;
|
|
93
|
+
sizeBytes: z.ZodNumber;
|
|
94
|
+
uploadedAt: z.ZodUnion<[z.ZodDate, z.ZodString]>;
|
|
95
|
+
status: z.ZodEnum<["pending", "attached", "replaced"]>;
|
|
96
|
+
}, "strip", z.ZodTypeAny, {
|
|
97
|
+
status: "pending" | "attached" | "replaced";
|
|
98
|
+
id: string;
|
|
99
|
+
fileName: string;
|
|
100
|
+
mimeType: "application/pdf";
|
|
101
|
+
sizeBytes: number;
|
|
102
|
+
uploadedAt: string | Date;
|
|
103
|
+
}, {
|
|
104
|
+
status: "pending" | "attached" | "replaced";
|
|
105
|
+
id: string;
|
|
106
|
+
fileName: string;
|
|
107
|
+
mimeType: "application/pdf";
|
|
108
|
+
sizeBytes: number;
|
|
109
|
+
uploadedAt: string | Date;
|
|
110
|
+
}>>>;
|
|
67
111
|
categoryId: z.ZodEnum<[string, ...string[]]>;
|
|
68
112
|
bookingMode: z.ZodDefault<z.ZodEnum<["enquiry", "booking", "both"]>>;
|
|
69
113
|
basePrice: z.ZodOptional<z.ZodNumber>;
|
|
@@ -248,6 +292,18 @@ export declare const TravelPackageSchema: z.ZodObject<{
|
|
|
248
292
|
date: string | Date;
|
|
249
293
|
count: number;
|
|
250
294
|
}>, "many">>;
|
|
295
|
+
dateCapacityOverrides: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
296
|
+
date: z.ZodUnion<[z.ZodDate, z.ZodString]>;
|
|
297
|
+
capacity: z.ZodNumber;
|
|
298
|
+
}, "strip", z.ZodTypeAny, {
|
|
299
|
+
date: string | Date;
|
|
300
|
+
capacity: number;
|
|
301
|
+
}, {
|
|
302
|
+
date: string | Date;
|
|
303
|
+
capacity: number;
|
|
304
|
+
}>, "many">>;
|
|
305
|
+
availableDateKeys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
306
|
+
bookedDateCounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
251
307
|
thingsToDo: z.ZodArray<z.ZodString, "many">;
|
|
252
308
|
thingsNotToDo: z.ZodArray<z.ZodString, "many">;
|
|
253
309
|
thingsToCarry: z.ZodArray<z.ZodString, "many">;
|
|
@@ -659,6 +715,14 @@ export declare const TravelPackageSchema: z.ZodObject<{
|
|
|
659
715
|
applicationCount?: number | undefined;
|
|
660
716
|
basePrice?: number | undefined;
|
|
661
717
|
highlights?: string[] | undefined;
|
|
718
|
+
sourcePdf?: {
|
|
719
|
+
status: "pending" | "attached" | "replaced";
|
|
720
|
+
id: string;
|
|
721
|
+
fileName: string;
|
|
722
|
+
mimeType: "application/pdf";
|
|
723
|
+
sizeBytes: number;
|
|
724
|
+
uploadedAt: string | Date;
|
|
725
|
+
} | null | undefined;
|
|
662
726
|
difficultyLevel?: DifficultyEnum | undefined;
|
|
663
727
|
customFrequencyDays?: number | undefined;
|
|
664
728
|
blockedDates?: (string | Date)[] | undefined;
|
|
@@ -666,6 +730,12 @@ export declare const TravelPackageSchema: z.ZodObject<{
|
|
|
666
730
|
date: string | Date;
|
|
667
731
|
count: number;
|
|
668
732
|
}[] | undefined;
|
|
733
|
+
dateCapacityOverrides?: {
|
|
734
|
+
date: string | Date;
|
|
735
|
+
capacity: number;
|
|
736
|
+
}[] | undefined;
|
|
737
|
+
availableDateKeys?: string[] | undefined;
|
|
738
|
+
bookedDateCounts?: Record<string, number> | undefined;
|
|
669
739
|
activities?: {
|
|
670
740
|
type: "optional" | "compulsory";
|
|
671
741
|
name: string;
|
|
@@ -811,6 +881,14 @@ export declare const TravelPackageSchema: z.ZodObject<{
|
|
|
811
881
|
applicationCount?: number | undefined;
|
|
812
882
|
basePrice?: number | undefined;
|
|
813
883
|
highlights?: string[] | undefined;
|
|
884
|
+
sourcePdf?: {
|
|
885
|
+
status: "pending" | "attached" | "replaced";
|
|
886
|
+
id: string;
|
|
887
|
+
fileName: string;
|
|
888
|
+
mimeType: "application/pdf";
|
|
889
|
+
sizeBytes: number;
|
|
890
|
+
uploadedAt: string | Date;
|
|
891
|
+
} | null | undefined;
|
|
814
892
|
bookingMode?: "booking" | "enquiry" | "both" | undefined;
|
|
815
893
|
difficultyLevel?: DifficultyEnum | undefined;
|
|
816
894
|
customFrequencyDays?: number | undefined;
|
|
@@ -819,6 +897,12 @@ export declare const TravelPackageSchema: z.ZodObject<{
|
|
|
819
897
|
date: string | Date;
|
|
820
898
|
count: number;
|
|
821
899
|
}[] | undefined;
|
|
900
|
+
dateCapacityOverrides?: {
|
|
901
|
+
date: string | Date;
|
|
902
|
+
capacity: number;
|
|
903
|
+
}[] | undefined;
|
|
904
|
+
availableDateKeys?: string[] | undefined;
|
|
905
|
+
bookedDateCounts?: Record<string, number> | undefined;
|
|
822
906
|
activities?: {
|
|
823
907
|
type: "optional" | "compulsory";
|
|
824
908
|
name: string;
|
|
@@ -831,6 +915,43 @@ export type ItineraryItem = z.infer<typeof ItineraryItemSchema>;
|
|
|
831
915
|
export type ActivityItem = z.infer<typeof ActivitySchema>;
|
|
832
916
|
export type PricingStrategyItem = z.infer<typeof PricingStrategySchema>;
|
|
833
917
|
export type TravelPackagePricing = z.infer<typeof PricingSchema>;
|
|
918
|
+
export type PackageSourcePdf = z.infer<typeof PackageSourcePdfSchema>;
|
|
919
|
+
export type TravelPackageExtraction = {
|
|
920
|
+
title?: string | null;
|
|
921
|
+
description?: string | null;
|
|
922
|
+
categoryId?: packageTypeOptions | null;
|
|
923
|
+
bookingMode?: (typeof packageBookingModeOptions)[number] | null;
|
|
924
|
+
pricing?: TravelPackagePricing | null;
|
|
925
|
+
difficultyLevel?: DifficultyEnum | null;
|
|
926
|
+
city?: string | null;
|
|
927
|
+
state?: string | null;
|
|
928
|
+
country?: string | null;
|
|
929
|
+
availableFrom?: string | null;
|
|
930
|
+
frequency?: (typeof packageFrequencyOptions)[number] | null;
|
|
931
|
+
customFrequencyDays?: number | null;
|
|
932
|
+
duration?: number | null;
|
|
933
|
+
urgent?: boolean | null;
|
|
934
|
+
peopleRequired?: number | null;
|
|
935
|
+
highlights: string[];
|
|
936
|
+
itinerary: ItineraryItem[];
|
|
937
|
+
whatsIncluded: string[];
|
|
938
|
+
whatsNotIncluded: string[];
|
|
939
|
+
thingsToDo: string[];
|
|
940
|
+
thingsNotToDo: string[];
|
|
941
|
+
thingsToCarry: string[];
|
|
942
|
+
activities: ActivityItem[];
|
|
943
|
+
questions: Array<{
|
|
944
|
+
question: string;
|
|
945
|
+
answer: string;
|
|
946
|
+
}>;
|
|
947
|
+
};
|
|
948
|
+
export type TravelPackagePdfExtractionResult = {
|
|
949
|
+
sourcePdf: PackageSourcePdf;
|
|
950
|
+
extraction: TravelPackageExtraction | null;
|
|
951
|
+
extractedFields: string[];
|
|
952
|
+
missingFields: string[];
|
|
953
|
+
extractionError?: string;
|
|
954
|
+
};
|
|
834
955
|
export type TravelPackageMetaData = {
|
|
835
956
|
image: string;
|
|
836
957
|
title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"travelPackage.d.ts","sourceRoot":"","sources":["../../../src/lib/models/travelPackage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE7F,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AAEH,oBAAY,cAAc;IACtB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,IAAI,SAAS;CAChB;AAED,eAAO,MAAM,gBAAgB,EAAoC,cAAc,EAAE,CAAC;AAElF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAKzB,CAAC;AAGH,eAAO,MAAM,aAAa,UAiBzB,CAAC;AAEF,eAAO,MAAM,aAAa,UAgBzB,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAkB9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAqB7B,CAAC;AAEF,eAAO,MAAM,cAAc,UAkB1B,CAAC;AAEF,eAAO,MAAM,cAAc,UAoB1B,CAAC;AAGF,eAAO,MAAM,qBAAqB,uDAA0C,CAAC;AAE7E,eAAO,MAAM,uBAAuB,UAqBnC,CAAC;AAEF,eAAO,MAAM,yBAAyB,yCAA0C,CAAC;AACjF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAI/F,CAAC;AAEF,eAAO,MAAM,uBAAuB,0EAA2E,CAAC;AAChH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAO3F,CAAC;AAIF,QAAA,MAAM,iBAAiB,kCAA+E,CAAC;AAEvG,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEnE,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"travelPackage.d.ts","sourceRoot":"","sources":["../../../src/lib/models/travelPackage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,14 @@ export const ActivitySchema = z.object({
|
|
|
23
23
|
day: z.number().optional(),
|
|
24
24
|
additionalPrice: z.number().optional().default(0),
|
|
25
25
|
});
|
|
26
|
+
export const PackageSourcePdfSchema = z.object({
|
|
27
|
+
id: z.string(),
|
|
28
|
+
fileName: z.string(),
|
|
29
|
+
mimeType: z.literal("application/pdf"),
|
|
30
|
+
sizeBytes: z.number(),
|
|
31
|
+
uploadedAt: z.union([z.date(), z.string()]),
|
|
32
|
+
status: z.enum(["pending", "attached", "replaced"]),
|
|
33
|
+
});
|
|
26
34
|
export const includedItems = [
|
|
27
35
|
"Accommodation",
|
|
28
36
|
"Breakfast included",
|
|
@@ -185,6 +193,7 @@ export const TravelPackageSchema = z.object({
|
|
|
185
193
|
description: z.string().min(10, "description should be min 10 characters"),
|
|
186
194
|
highlights: z.array(z.string()).optional(),
|
|
187
195
|
packageImages: z.array(z.string()),
|
|
196
|
+
sourcePdf: PackageSourcePdfSchema.nullable().optional(),
|
|
188
197
|
categoryId: packageTypeSchema,
|
|
189
198
|
bookingMode: z.enum(packageBookingModeOptions).default("both"),
|
|
190
199
|
basePrice: z.number().optional(),
|
|
@@ -208,6 +217,12 @@ export const TravelPackageSchema = z.object({
|
|
|
208
217
|
date: z.union([z.date(), z.string()]),
|
|
209
218
|
count: z.number(),
|
|
210
219
|
})).optional(),
|
|
220
|
+
dateCapacityOverrides: z.array(z.object({
|
|
221
|
+
date: z.union([z.date(), z.string()]),
|
|
222
|
+
capacity: z.number(),
|
|
223
|
+
})).optional(),
|
|
224
|
+
availableDateKeys: z.array(z.string()).optional(),
|
|
225
|
+
bookedDateCounts: z.record(z.string(), z.number()).optional(),
|
|
211
226
|
thingsToDo: z.array(z.string()),
|
|
212
227
|
thingsNotToDo: z.array(z.string()),
|
|
213
228
|
thingsToCarry: z.array(z.string()),
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function packageDateKey(value: string | Date): string;
|
|
2
|
+
export declare function isPackageScheduledDate(entity: any, requestedDate: string | Date): boolean;
|
|
3
|
+
export declare function getPackageBaseCapacityForDate(entity: any, requestedDate: string | Date): number;
|
|
4
|
+
export declare function getPackageAvailableCapacityForDate(entity: any, requestedDate: string | Date, bookedCount?: number): number;
|
|
5
|
+
export declare function buildPackageAvailableDateKeys(entity: any, { horizonDays, fromDate }?: {
|
|
6
|
+
horizonDays?: number;
|
|
7
|
+
fromDate?: string | Date;
|
|
8
|
+
}): any;
|
|
9
|
+
export declare function resolvePackageBookingDateKey(availableDateKeys: Array<string | Date>, currentDate?: string | Date | null, preferredDate?: string | Date | null): string;
|
|
10
|
+
//# sourceMappingURL=packageAvailability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageAvailability.d.ts","sourceRoot":"","sources":["../../src/lib/packageAvailability.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,UAYlD;AAiBD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,WA0B/E;AASD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,UAKtF;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,WAAW,SAAI,UAchB;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,GAAG,EACX,EAAE,WAAiB,EAAE,QAAqB,EAAE,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,OAgBtG;AAED,wBAAgB,4BAA4B,CAC1C,iBAAiB,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,EACvC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAClC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,UAUrC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
const DAY_MS = 24 * 60 * 60 * 1000;
|
|
2
|
+
export function packageDateKey(value) {
|
|
3
|
+
if (typeof value === "string") {
|
|
4
|
+
const match = value.match(/^(\d{4}-\d{2}-\d{2})/);
|
|
5
|
+
if (match)
|
|
6
|
+
return match[1];
|
|
7
|
+
}
|
|
8
|
+
const date = new Date(value);
|
|
9
|
+
if (Number.isNaN(date.getTime()))
|
|
10
|
+
return "";
|
|
11
|
+
return [
|
|
12
|
+
date.getFullYear(),
|
|
13
|
+
String(date.getMonth() + 1).padStart(2, "0"),
|
|
14
|
+
String(date.getDate()).padStart(2, "0"),
|
|
15
|
+
].join("-");
|
|
16
|
+
}
|
|
17
|
+
function toUtcDay(value) {
|
|
18
|
+
const key = value ? packageDateKey(value) : "";
|
|
19
|
+
return key ? new Date(`${key}T12:00:00.000Z`) : null;
|
|
20
|
+
}
|
|
21
|
+
function addMonthsClamped(date, months) {
|
|
22
|
+
const next = new Date(date);
|
|
23
|
+
const day = next.getUTCDate();
|
|
24
|
+
next.setUTCDate(1);
|
|
25
|
+
next.setUTCMonth(next.getUTCMonth() + months);
|
|
26
|
+
const lastDay = new Date(Date.UTC(next.getUTCFullYear(), next.getUTCMonth() + 1, 0)).getUTCDate();
|
|
27
|
+
next.setUTCDate(Math.min(day, lastDay));
|
|
28
|
+
return next;
|
|
29
|
+
}
|
|
30
|
+
export function isPackageScheduledDate(entity, requestedDate) {
|
|
31
|
+
const start = toUtcDay(entity?.availableFrom);
|
|
32
|
+
const requested = toUtcDay(requestedDate);
|
|
33
|
+
if (!start || !requested || requested < start)
|
|
34
|
+
return false;
|
|
35
|
+
const frequency = String(entity?.frequency || "weekly").toLowerCase();
|
|
36
|
+
const dayDifference = Math.round((requested.getTime() - start.getTime()) / DAY_MS);
|
|
37
|
+
const intervalDays = frequency === "daily" ? 1 :
|
|
38
|
+
frequency === "weekly" ? 7 :
|
|
39
|
+
frequency === "bi-weekly" || frequency === "biweekly" ? 14 :
|
|
40
|
+
frequency === "custom" ? Math.max(1, Number(entity?.customFrequencyDays) || 1) :
|
|
41
|
+
null;
|
|
42
|
+
if (intervalDays)
|
|
43
|
+
return dayDifference % intervalDays === 0;
|
|
44
|
+
if (frequency === "monthly" || frequency === "yearly") {
|
|
45
|
+
const monthDifference = (requested.getUTCFullYear() - start.getUTCFullYear()) * 12 +
|
|
46
|
+
requested.getUTCMonth() - start.getUTCMonth();
|
|
47
|
+
const intervalMonths = frequency === "yearly" ? 12 : 1;
|
|
48
|
+
return monthDifference >= 0 &&
|
|
49
|
+
monthDifference % intervalMonths === 0 &&
|
|
50
|
+
packageDateKey(addMonthsClamped(start, monthDifference)) === packageDateKey(requested);
|
|
51
|
+
}
|
|
52
|
+
return dayDifference % 7 === 0;
|
|
53
|
+
}
|
|
54
|
+
function findDateEntry(entries, requestedDate) {
|
|
55
|
+
const key = packageDateKey(requestedDate);
|
|
56
|
+
return (Array.isArray(entries) ? entries : []).find((entry) => packageDateKey(entry?.date) === key);
|
|
57
|
+
}
|
|
58
|
+
export function getPackageBaseCapacityForDate(entity, requestedDate) {
|
|
59
|
+
const maximumCapacity = Math.max(1, Number(entity?.peopleRequired) || 1);
|
|
60
|
+
const override = findDateEntry(entity?.dateCapacityOverrides, requestedDate);
|
|
61
|
+
if (override)
|
|
62
|
+
return Math.max(0, Math.min(maximumCapacity, Number(override.capacity) || 0));
|
|
63
|
+
return isPackageScheduledDate(entity, requestedDate) ? maximumCapacity : 0;
|
|
64
|
+
}
|
|
65
|
+
export function getPackageAvailableCapacityForDate(entity, requestedDate, bookedCount = 0) {
|
|
66
|
+
const key = packageDateKey(requestedDate);
|
|
67
|
+
const blocked = (entity?.blockedDates || []).some((date) => packageDateKey(date) === key);
|
|
68
|
+
if (blocked)
|
|
69
|
+
return 0;
|
|
70
|
+
const manualBlock = findDateEntry(entity?.inventoryBlocks, requestedDate);
|
|
71
|
+
return Math.max(0, getPackageBaseCapacityForDate(entity, requestedDate) -
|
|
72
|
+
Math.max(0, Number(manualBlock?.count) || 0) -
|
|
73
|
+
Math.max(0, Number(bookedCount) || 0));
|
|
74
|
+
}
|
|
75
|
+
export function buildPackageAvailableDateKeys(entity, { horizonDays = 730, fromDate = new Date() } = {}) {
|
|
76
|
+
if (Array.isArray(entity?.availableDateKeys)) {
|
|
77
|
+
return entity.availableDateKeys.map((value) => packageDateKey(value));
|
|
78
|
+
}
|
|
79
|
+
const from = toUtcDay(fromDate);
|
|
80
|
+
if (!from)
|
|
81
|
+
return [];
|
|
82
|
+
const bookedCounts = entity?.bookedDateCounts || {};
|
|
83
|
+
const keys = [];
|
|
84
|
+
for (let offset = 0; offset <= horizonDays; offset += 1) {
|
|
85
|
+
const date = new Date(from);
|
|
86
|
+
date.setUTCDate(date.getUTCDate() + offset);
|
|
87
|
+
const key = packageDateKey(date);
|
|
88
|
+
if (getPackageAvailableCapacityForDate(entity, date, bookedCounts[key] || 0) > 0)
|
|
89
|
+
keys.push(key);
|
|
90
|
+
}
|
|
91
|
+
return keys;
|
|
92
|
+
}
|
|
93
|
+
export function resolvePackageBookingDateKey(availableDateKeys, currentDate, preferredDate) {
|
|
94
|
+
const keys = availableDateKeys.map(packageDateKey).filter(Boolean);
|
|
95
|
+
const currentKey = currentDate ? packageDateKey(currentDate) : "";
|
|
96
|
+
if (currentKey && keys.includes(currentKey))
|
|
97
|
+
return currentKey;
|
|
98
|
+
const preferredKey = preferredDate ? packageDateKey(preferredDate) : "";
|
|
99
|
+
if (preferredKey && keys.includes(preferredKey))
|
|
100
|
+
return preferredKey;
|
|
101
|
+
return keys[0] || "";
|
|
102
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rentalActions.d.ts","sourceRoot":"","sources":["../../src/lib/rentalActions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAI/D,wBAAsB,cAAc,CAClC,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3E,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAmBD;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAED;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAUD;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAsBD;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAaD;AAID,wBAAsB,aAAa,IAAI,OAAO,CAAC;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAaD;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC9D,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAWD;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"rentalActions.d.ts","sourceRoot":"","sources":["../../src/lib/rentalActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,7 +92,7 @@ export async function rentalsByHost() {
|
|
|
92
92
|
export async function createRental(formData) {
|
|
93
93
|
try {
|
|
94
94
|
const data = await post(`/rentals/create`, formData);
|
|
95
|
-
return { success: true, slug: data.data, message: data.message };
|
|
95
|
+
return { success: true, slug: data.data.slug, message: data.message };
|
|
96
96
|
}
|
|
97
97
|
catch (error) {
|
|
98
98
|
console.error("Failed to create rental:", error);
|
|
@@ -102,7 +102,7 @@ export async function createRental(formData) {
|
|
|
102
102
|
export async function editRental(formData, slug) {
|
|
103
103
|
try {
|
|
104
104
|
const data = await patch(`/rentals/update/${slug}`, formData);
|
|
105
|
-
return { success: true, message: data.message };
|
|
105
|
+
return { success: true, slug: data.data.slug, message: data.message };
|
|
106
106
|
}
|
|
107
107
|
catch (error) {
|
|
108
108
|
console.error("Failed to update rental:", error);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { SocialAIConfiguration, SocialAIProvider, SocialAutomationPolicy, SocialContent, SocialDashboard, SocialDraftInput, SocialInteraction, SocialMediaAsset } from "./models/socialAutomation";
|
|
2
|
+
export type SocialResult<T> = {
|
|
3
|
+
success: true;
|
|
4
|
+
data: T;
|
|
5
|
+
message?: string;
|
|
6
|
+
} | {
|
|
7
|
+
success: false;
|
|
8
|
+
error: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const getSocialDashboard: () => Promise<SocialResult<SocialDashboard>>;
|
|
11
|
+
export declare const startMetaConnection: (redirectUri: string) => Promise<SocialResult<{
|
|
12
|
+
authorizationUrl: string;
|
|
13
|
+
}>>;
|
|
14
|
+
export declare const completeMetaConnection: (state: string, code: string) => Promise<SocialResult<import("./models/socialAutomation").SocialConnection[]>>;
|
|
15
|
+
export declare const disconnectSocialAccount: (id: string) => Promise<SocialResult<unknown>>;
|
|
16
|
+
export declare const saveSocialPolicy: (input: Partial<SocialAutomationPolicy>) => Promise<SocialResult<SocialAutomationPolicy>>;
|
|
17
|
+
export declare const saveSocialAIConfiguration: (input: {
|
|
18
|
+
mode: "trippeaze" | "host";
|
|
19
|
+
provider?: SocialAIProvider;
|
|
20
|
+
apiKey?: string;
|
|
21
|
+
acknowledgeDataTransfer?: boolean;
|
|
22
|
+
}) => Promise<SocialResult<SocialAIConfiguration>>;
|
|
23
|
+
export declare const removeSocialAIKey: () => Promise<SocialResult<SocialAIConfiguration>>;
|
|
24
|
+
export declare const createSocialDraft: (input: SocialDraftInput) => Promise<SocialResult<SocialContent>>;
|
|
25
|
+
export declare const generateSocialDraft: (input: SocialDraftInput & {
|
|
26
|
+
prompt: string;
|
|
27
|
+
target_audience?: string;
|
|
28
|
+
language?: string;
|
|
29
|
+
}) => Promise<SocialResult<SocialContent>>;
|
|
30
|
+
export declare const updateSocialDraft: (id: string, input: Partial<SocialDraftInput>) => Promise<SocialResult<SocialContent>>;
|
|
31
|
+
export declare const approveSocialContent: (id: string) => Promise<SocialResult<SocialContent>>;
|
|
32
|
+
export declare const scheduleSocialContent: (id: string, scheduledFor: string) => Promise<SocialResult<SocialContent>>;
|
|
33
|
+
export declare const publishSocialContent: (id: string) => Promise<SocialResult<SocialContent>>;
|
|
34
|
+
export declare const cancelSocialContent: (id: string) => Promise<SocialResult<SocialContent>>;
|
|
35
|
+
export declare const replyToSocialInteraction: (id: string, text: string) => Promise<SocialResult<SocialInteraction>>;
|
|
36
|
+
export declare const setSocialTakeover: (id: string, active: boolean) => Promise<SocialResult<SocialInteraction>>;
|
|
37
|
+
export declare const syncSocialAnalytics: () => Promise<SocialResult<{
|
|
38
|
+
queued: number;
|
|
39
|
+
}>>;
|
|
40
|
+
export declare const uploadSocialAssets: (files: File[]) => Promise<SocialResult<SocialMediaAsset[]>>;
|
|
41
|
+
//# sourceMappingURL=socialAutomationActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socialAutomationActions.d.ts","sourceRoot":"","sources":["../../src/lib/socialAutomationActions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGxM,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAO/G,eAAO,MAAM,kBAAkB,8CAA+G,CAAC;AAC/I,eAAO,MAAM,mBAAmB,GAAI,aAAa,MAAM;sBAA8C,MAAM;GAAsG,CAAC;AAClN,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,kFAAkK,CAAC;AACrO,eAAO,MAAM,uBAAuB,GAAI,IAAI,MAAM,mCAA2G,CAAC;AAC9J,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,CAAC,sBAAsB,CAAC,kDAA8H,CAAC;AACtM,eAAO,MAAM,yBAAyB,GAAI,OAAO;IAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAE,iDAAkI,CAAC;AACnS,eAAO,MAAM,iBAAiB,oDAAqI,CAAC;AACpK,eAAO,MAAM,iBAAiB,GAAI,OAAO,gBAAgB,yCAAyG,CAAC;AACnK,eAAO,MAAM,mBAAmB,GAAI,OAAO,gBAAgB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,yCAAoH,CAAC;AAClP,eAAO,MAAM,iBAAiB,GAAI,IAAI,MAAM,EAAE,OAAO,OAAO,CAAC,gBAAgB,CAAC,yCAAgH,CAAC;AAC/L,eAAO,MAAM,oBAAoB,GAAI,IAAI,MAAM,yCAAuH,CAAC;AACvK,eAAO,MAAM,qBAAqB,GAAI,IAAI,MAAM,EAAE,cAAc,MAAM,yCAAuI,CAAC;AAC9M,eAAO,MAAM,oBAAoB,GAAI,IAAI,MAAM,yCAAuH,CAAC;AACvK,eAAO,MAAM,mBAAmB,GAAI,IAAI,MAAM,yCAAqH,CAAC;AACpK,eAAO,MAAM,wBAAwB,GAAI,IAAI,MAAM,EAAE,MAAM,MAAM,6CAA+H,CAAC;AACjM,eAAO,MAAM,iBAAiB,GAAI,IAAI,MAAM,EAAE,QAAQ,OAAO,6CAAyI,CAAC;AACvM,eAAO,MAAM,mBAAmB;YAAwC,MAAM;GAA6E,CAAC;AAC5J,eAAO,MAAM,kBAAkB,GAAI,OAAO,IAAI,EAAE,8CAAgN,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { del, get, patch, post } from "./actions/fetcher";
|
|
2
|
+
const failure = (error, fallback) => ({ success: false, error: error?.message || fallback });
|
|
3
|
+
const action = async (request, fallback) => {
|
|
4
|
+
try {
|
|
5
|
+
const response = await request;
|
|
6
|
+
return { success: true, data: response.data, message: response.message };
|
|
7
|
+
}
|
|
8
|
+
catch (error) {
|
|
9
|
+
return failure(error, fallback);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
export const getSocialDashboard = () => action(get("/social-automation/dashboard"), "Unable to load social studio");
|
|
13
|
+
export const startMetaConnection = (redirectUri) => action(post("/social-automation/connections/meta/start", { redirectUri }), "Unable to start Meta connection");
|
|
14
|
+
export const completeMetaConnection = (state, code) => action(post("/social-automation/connections/meta/complete", { state, code }), "Unable to complete Meta connection");
|
|
15
|
+
export const disconnectSocialAccount = (id) => action(del(`/social-automation/connections/${id}`), "Unable to disconnect account");
|
|
16
|
+
export const saveSocialPolicy = (input) => action(patch("/social-automation/policy", input), "Unable to save automation settings");
|
|
17
|
+
export const saveSocialAIConfiguration = (input) => action(patch("/social-automation/ai-configuration", input), "Unable to save your AI option");
|
|
18
|
+
export const removeSocialAIKey = () => action(del("/social-automation/ai-configuration/key"), "Unable to remove the saved AI key");
|
|
19
|
+
export const createSocialDraft = (input) => action(post("/social-automation/content", input), "Unable to create draft");
|
|
20
|
+
export const generateSocialDraft = (input) => action(post("/social-automation/content/generate", input), "Unable to generate draft");
|
|
21
|
+
export const updateSocialDraft = (id, input) => action(patch(`/social-automation/content/${id}`, input), "Unable to update draft");
|
|
22
|
+
export const approveSocialContent = (id) => action(post(`/social-automation/content/${id}/approve`, {}), "Unable to approve content");
|
|
23
|
+
export const scheduleSocialContent = (id, scheduledFor) => action(post(`/social-automation/content/${id}/schedule`, { scheduledFor }), "Unable to schedule content");
|
|
24
|
+
export const publishSocialContent = (id) => action(post(`/social-automation/content/${id}/publish`, {}), "Unable to publish content");
|
|
25
|
+
export const cancelSocialContent = (id) => action(post(`/social-automation/content/${id}/cancel`, {}), "Unable to cancel content");
|
|
26
|
+
export const replyToSocialInteraction = (id, text) => action(post(`/social-automation/interactions/${id}/reply`, { text }), "Unable to send reply");
|
|
27
|
+
export const setSocialTakeover = (id, active) => action(post(`/social-automation/interactions/${id}/takeover`, { active }), "Unable to update takeover");
|
|
28
|
+
export const syncSocialAnalytics = () => action(post("/social-automation/analytics/sync", {}), "Unable to refresh analytics");
|
|
29
|
+
export const uploadSocialAssets = (files) => { const body = new FormData(); files.forEach((file) => body.append("socialMedia", file)); return action(post("/social-automation/assets", body), "Unable to upload media"); };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TileProps } from "@myrjfa/state/dist/lib/models/tile";
|
|
2
|
-
import { TravelPackage, TravelPackageMetaData } from "./models/travelPackage";
|
|
2
|
+
import { TravelPackage, TravelPackageMetaData, TravelPackagePdfExtractionResult } from "./models/travelPackage";
|
|
3
3
|
import { EnquiryStatus, PackageEnquiry } from "./models/enquiry";
|
|
4
4
|
export declare function getTravelPackageTilesByStatus(status: string[], limit?: number): Promise<{
|
|
5
5
|
success: boolean;
|
|
@@ -49,6 +49,12 @@ export declare function createTravelPackage(formData: FormData): Promise<{
|
|
|
49
49
|
message?: string;
|
|
50
50
|
error?: string;
|
|
51
51
|
}>;
|
|
52
|
+
export declare function extractTravelPackageFromPdf(file: File): Promise<{
|
|
53
|
+
success: boolean;
|
|
54
|
+
data?: TravelPackagePdfExtractionResult;
|
|
55
|
+
message?: string;
|
|
56
|
+
error?: string;
|
|
57
|
+
}>;
|
|
52
58
|
export declare function editTravelPackage(formData: FormData, slug: string): Promise<{
|
|
53
59
|
success: boolean;
|
|
54
60
|
slug?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"travelPackageActions.d.ts","sourceRoot":"","sources":["../../src/lib/travelPackageActions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"travelPackageActions.d.ts","sourceRoot":"","sources":["../../src/lib/travelPackageActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -290,6 +290,21 @@ export async function createTravelPackage(formData) {
|
|
|
290
290
|
};
|
|
291
291
|
}
|
|
292
292
|
}
|
|
293
|
+
export async function extractTravelPackageFromPdf(file) {
|
|
294
|
+
try {
|
|
295
|
+
const formData = new FormData();
|
|
296
|
+
formData.append("packagePdf", file);
|
|
297
|
+
const response = await post("/packages/source-pdfs/extract", formData);
|
|
298
|
+
return { success: true, data: response.data, message: response.message };
|
|
299
|
+
}
|
|
300
|
+
catch (error) {
|
|
301
|
+
console.error("Failed to process package PDF:", error);
|
|
302
|
+
return {
|
|
303
|
+
success: false,
|
|
304
|
+
error: error?.message || "The PDF could not be uploaded. Please try again.",
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
}
|
|
293
308
|
export async function editTravelPackage(formData, slug) {
|
|
294
309
|
try {
|
|
295
310
|
const endpoint = `/packages/update/${slug}`;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getPricingStrategies } from "@myrjfa/state/dist/lib/models/pricing";
|
|
2
|
-
import { type TravelPackage, type ItineraryItem } from "@myrjfa/state/dist/lib/models/travelPackage";
|
|
2
|
+
import { type TravelPackage, type ItineraryItem, type TravelPackageExtraction } from "@myrjfa/state/dist/lib/models/travelPackage";
|
|
3
3
|
type FormWithReset<TValues> = {
|
|
4
4
|
reset(values: any): void;
|
|
5
5
|
};
|
|
@@ -28,5 +28,9 @@ export type TravelPackageInitialValues = {
|
|
|
28
28
|
};
|
|
29
29
|
export declare function getTravelPackageInitialValues(data: Partial<TravelPackage>): TravelPackageInitialValues;
|
|
30
30
|
export declare function resetTravelPackageForm(form: FormWithReset<TravelPackageFormValues>, data: Partial<TravelPackage>): void;
|
|
31
|
+
export declare function mergeTravelPackageExtraction<T extends Record<string, any>>(currentFormValues: T, currentInitialValues: TravelPackageInitialValues, extraction: TravelPackageExtraction, extractedFields: string[]): {
|
|
32
|
+
formValues: T;
|
|
33
|
+
initialValues: TravelPackageInitialValues;
|
|
34
|
+
};
|
|
31
35
|
export {};
|
|
32
36
|
//# sourceMappingURL=travelPackageFormPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"travelPackageFormPage.d.ts","sourceRoot":"","sources":["../../src/lib/travelPackageFormPage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AACjG,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"travelPackageFormPage.d.ts","sourceRoot":"","sources":["../../src/lib/travelPackageFormPage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AACjG,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAqB,KAAK,uBAAuB,EAAkB,MAAM,6CAA6C,CAAC;AAEtK,KAAK,aAAa,CAAC,OAAO,IAAI;IAC5B,KAAK,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG;IAC7D,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;KAC5D,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC;QAChC,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;CACJ,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAC3B,0BAA0B,CAiB5B;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAC5C,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,QAuB7B;AAID,wBAAgB,4BAA4B,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxE,iBAAiB,EAAE,CAAC,EACpB,oBAAoB,EAAE,0BAA0B,EAChD,UAAU,EAAE,uBAAuB,EACnC,eAAe,EAAE,MAAM,EAAE;gBA0Bc,CAAC;;EACzC"}
|
|
@@ -41,3 +41,32 @@ export function resetTravelPackageForm(form, data) {
|
|
|
41
41
|
questions: data.questions || [],
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
|
+
const hasExtractedField = (fields, key) => fields.includes(key);
|
|
45
|
+
export function mergeTravelPackageExtraction(currentFormValues, currentInitialValues, extraction, extractedFields) {
|
|
46
|
+
const nextFormValues = { ...currentFormValues };
|
|
47
|
+
const scalarFields = [
|
|
48
|
+
"title", "description", "categoryId", "bookingMode", "pricing",
|
|
49
|
+
"difficultyLevel", "city", "state", "country", "availableFrom",
|
|
50
|
+
"frequency", "customFrequencyDays", "duration", "urgent",
|
|
51
|
+
"peopleRequired", "questions",
|
|
52
|
+
];
|
|
53
|
+
for (const key of scalarFields) {
|
|
54
|
+
if (!hasExtractedField(extractedFields, key))
|
|
55
|
+
continue;
|
|
56
|
+
const value = extraction[key];
|
|
57
|
+
if (value == null)
|
|
58
|
+
continue;
|
|
59
|
+
nextFormValues[key] = key === "availableFrom" ? new Date(value) : value;
|
|
60
|
+
}
|
|
61
|
+
const nextInitialValues = { ...currentInitialValues };
|
|
62
|
+
const listFields = [
|
|
63
|
+
"itinerary", "highlights", "whatsIncluded", "whatsNotIncluded",
|
|
64
|
+
"thingsToDo", "thingsNotToDo", "thingsToCarry", "activities",
|
|
65
|
+
];
|
|
66
|
+
for (const key of listFields) {
|
|
67
|
+
if (hasExtractedField(extractedFields, key)) {
|
|
68
|
+
nextInitialValues[key] = extraction[key] || [];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return { formValues: nextFormValues, initialValues: nextInitialValues };
|
|
72
|
+
}
|
package/dist/lib/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/lib/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAgB,MAAM,yDAAyD,CAAC;AAIpG,eAAO,MAAM,eAAe,UAA0D,CAAC;AAEvF,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAanD;AAED,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/lib/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAgB,MAAM,yDAAyD,CAAC;AAIpG,eAAO,MAAM,eAAe,UAA0D,CAAC;AAEvF,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAanD;AAED,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,CAiBjF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAgB5D;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAwBvF"}
|
package/dist/lib/util.js
CHANGED
|
@@ -37,6 +37,7 @@ export function convertOpportunityToTileProps(opportunity) {
|
|
|
37
37
|
maxDuration: opportunity.maxDuration,
|
|
38
38
|
opportunityType: opportunity.opportunityType || 'volunteer',
|
|
39
39
|
payFrequency: opportunity.compensation?.frequency || undefined,
|
|
40
|
+
status: opportunity.status,
|
|
40
41
|
};
|
|
41
42
|
}
|
|
42
43
|
export function convertBlogToTileProps(blog) {
|
|
@@ -71,6 +72,7 @@ export function convertTravelPackageToTileProps(travelPackage) {
|
|
|
71
72
|
currency: getPricingCurrency(travelPackage),
|
|
72
73
|
duration: travelPackage.duration,
|
|
73
74
|
difficultyLevel: travelPackage.difficultyLevel,
|
|
75
|
+
status: travelPackage.status,
|
|
74
76
|
host: travelPackage.host?.name ? {
|
|
75
77
|
image: travelPackage.host?.image ?? "/images/profile_placeholder.webp",
|
|
76
78
|
name: travelPackage.host?.name,
|
package/dist/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,eAAO,MAAM,eAAe,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,eAAO,MAAM,eAAe,KAAK,CAAC;AAKlC,eAAO,MAAM,UAAU,UAAmB,CAAC;AAE3C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,GAAG,SAAS,WAGjD,CAAC;AAEF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAGtD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAG9D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBrD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAWvD;AAGD,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,WACO,CAAC;AAEhE,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,WAKrC,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,EAAE,MAAM,MAAM,WACE,CAAC;AAE3E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAcjE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAM5D;AAED,eAAO,MAAM,eAAe,GAAI,MAAM,IAAI,WAczC,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAM,UAItE;AAGD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,IAAI,GACL,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;;;;;;;;;;;;;;;;;;EA8BA;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAaxD;AAED,eAAO,MAAM,eAAe,UAA0D,CAAC;AAEvF,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAanD"}
|
package/dist/lib/utils.js
CHANGED
|
@@ -5,7 +5,10 @@ import he from "he";
|
|
|
5
5
|
import { twMerge } from "tailwind-merge";
|
|
6
6
|
export const MAX_IMAGE_SIZE_MB = 5;
|
|
7
7
|
export const MAX_PDF_SIZE_MB = 10;
|
|
8
|
-
|
|
8
|
+
// Legacy role-cookie fallback is account-surface routing metadata only. Staff
|
|
9
|
+
// sessions require the explicit accountType cookie and must never be inferred
|
|
10
|
+
// from a role name.
|
|
11
|
+
export const validRoles = ["host", "user"];
|
|
9
12
|
export function cn(...inputs) {
|
|
10
13
|
return twMerge(clsx(inputs));
|
|
11
14
|
}
|