@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.
Files changed (50) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +3 -3
  3. package/dist/hooks/usePersistentDraftState.d.ts +1 -0
  4. package/dist/hooks/usePersistentDraftState.d.ts.map +1 -1
  5. package/dist/hooks/usePersistentDraftState.js +16 -4
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2 -0
  9. package/dist/lib/actions/actions.d.ts +0 -10
  10. package/dist/lib/actions/actions.d.ts.map +1 -1
  11. package/dist/lib/actions/actions.js +0 -18
  12. package/dist/lib/actions.d.ts +3 -2
  13. package/dist/lib/actions.d.ts.map +1 -1
  14. package/dist/lib/actions.js +10 -12
  15. package/dist/lib/hostDashboardActions.d.ts +17 -1
  16. package/dist/lib/hostDashboardActions.d.ts.map +1 -1
  17. package/dist/lib/hostDashboardActions.js +18 -0
  18. package/dist/lib/models/authorization.d.ts +10 -5
  19. package/dist/lib/models/authorization.d.ts.map +1 -1
  20. package/dist/lib/models/authorization.js +56 -23
  21. package/dist/lib/models/pricing.d.ts.map +1 -1
  22. package/dist/lib/models/pricing.js +8 -1
  23. package/dist/lib/models/socialAutomation.d.ts +108 -0
  24. package/dist/lib/models/socialAutomation.d.ts.map +1 -0
  25. package/dist/lib/models/socialAutomation.js +1 -0
  26. package/dist/lib/models/tile.d.ts +1 -0
  27. package/dist/lib/models/tile.d.ts.map +1 -1
  28. package/dist/lib/models/travelPackage.d.ts +121 -0
  29. package/dist/lib/models/travelPackage.d.ts.map +1 -1
  30. package/dist/lib/models/travelPackage.js +15 -0
  31. package/dist/lib/packageAvailability.d.ts +10 -0
  32. package/dist/lib/packageAvailability.d.ts.map +1 -0
  33. package/dist/lib/packageAvailability.js +102 -0
  34. package/dist/lib/rentalActions.d.ts +1 -0
  35. package/dist/lib/rentalActions.d.ts.map +1 -1
  36. package/dist/lib/rentalActions.js +2 -2
  37. package/dist/lib/socialAutomationActions.d.ts +41 -0
  38. package/dist/lib/socialAutomationActions.d.ts.map +1 -0
  39. package/dist/lib/socialAutomationActions.js +29 -0
  40. package/dist/lib/travelPackageActions.d.ts +7 -1
  41. package/dist/lib/travelPackageActions.d.ts.map +1 -1
  42. package/dist/lib/travelPackageActions.js +15 -0
  43. package/dist/lib/travelPackageFormPage.d.ts +5 -1
  44. package/dist/lib/travelPackageFormPage.d.ts.map +1 -1
  45. package/dist/lib/travelPackageFormPage.js +29 -0
  46. package/dist/lib/util.d.ts.map +1 -1
  47. package/dist/lib/util.js +2 -0
  48. package/dist/lib/utils.d.ts.map +1 -1
  49. package/dist/lib/utils.js +4 -1
  50. 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":"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"}
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;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;EAOjC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0D9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC1D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,MAAM,MAAM,uBAAuB,GAAG;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAChE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACtC,eAAe,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC5D,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,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,YAAY,EAAE,CAAC;IAC3B,SAAS,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC3C,SAAS,EAAE,gBAAgB,CAAC;IAC5B,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC3C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AA+FF,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAMpF"}
@@ -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
+ }
@@ -48,6 +48,7 @@ export declare function createRental(formData: FormData): Promise<{
48
48
  }>;
49
49
  export declare function editRental(formData: FormData, slug: string): Promise<{
50
50
  success: boolean;
51
+ slug?: string;
51
52
  message?: string;
52
53
  error?: string;
53
54
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"rentalActions.d.ts","sourceRoot":"","sources":["../../src/lib/rentalActions.ts"],"names":[],"mappings":"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"}
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":"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"}
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,EAAqC,MAAM,6CAA6C,CAAC;AAExI,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"}
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
+ }
@@ -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,CAgBjF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAgB5D;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAuBvF"}
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,
@@ -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;AAElC,eAAO,MAAM,UAAU,UAA4E,CAAC;AAEpG,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"}
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
- export const validRoles = ["host", "user", "admin", "hr", "sales", "developer", "customer_support"];
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
  }