@timardex/cluemart-shared 1.2.81 → 1.2.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -55,11 +55,14 @@ __export(index_exports, {
55
55
  EnumUserRole: () => EnumUserRole,
56
56
  EnumVendorType: () => EnumVendorType,
57
57
  ImageTypeEnum: () => ImageTypeEnum,
58
+ OrganizedMarketCount: () => OrganizedMarketCount,
59
+ OrganizerMarketFrequency: () => OrganizerMarketFrequency,
58
60
  SAVED_EMAIL_KEY: () => SAVED_EMAIL_KEY,
59
61
  SAVED_PASSWORD_KEY: () => SAVED_PASSWORD_KEY,
60
62
  SAVED_REFRESH_TOKEN_KEY: () => SAVED_REFRESH_TOKEN_KEY,
61
63
  SAVED_TOKEN_KEY: () => SAVED_TOKEN_KEY,
62
64
  USER_STORAGE_KEY: () => USER_STORAGE_KEY,
65
+ VendorSellingFrequency: () => VendorSellingFrequency,
63
66
  availableCategories: () => availableCategories,
64
67
  availableRegionOptions: () => availableRegionOptions,
65
68
  availableRegionTypes: () => availableRegionTypes,
@@ -2304,6 +2307,12 @@ var socialMediaFields = socialMedia.map((link) => ({
2304
2307
 
2305
2308
  // src/formFields/testers.ts
2306
2309
  var testersFields = [
2310
+ {
2311
+ helperText: "Enter your business name *",
2312
+ keyboardType: "default",
2313
+ name: "businessName",
2314
+ placeholder: "Business Name"
2315
+ },
2307
2316
  {
2308
2317
  helperText: "Enter first name *",
2309
2318
  keyboardType: "default",
@@ -2321,10 +2330,10 @@ var testersFields = [
2321
2330
  helperText: "Enter email address *"
2322
2331
  },
2323
2332
  {
2324
- helperText: "Enter your company name *",
2325
- keyboardType: "default",
2326
- name: "companyName",
2327
- placeholder: "Company Name"
2333
+ helperText: "Enter your mobile phone number *",
2334
+ keyboardType: "phone-pad",
2335
+ name: "mobilePhone",
2336
+ placeholder: "Mobile Phone Number *"
2328
2337
  }
2329
2338
  ];
2330
2339
 
@@ -2465,6 +2474,15 @@ var LICENCE_FIELDS_FRAGMENT = import_client2.gql`
2465
2474
  licenceType
2466
2475
  }
2467
2476
  `;
2477
+ var EVENT_DATETIME_FIELDS_FRAGMENT = import_client2.gql`
2478
+ fragment EventDateTimeFields on EventDateTimeType {
2479
+ dateStatus
2480
+ endDate
2481
+ endTime
2482
+ startDate
2483
+ startTime
2484
+ }
2485
+ `;
2468
2486
  var USER_ACTIVITY_FIELDS_FRAGMENT = import_client2.gql`
2469
2487
  fragment UserActivityFields on UserActivityType {
2470
2488
  favourites {
@@ -2590,15 +2608,6 @@ var LOCATION_FIELDS_FRAGMENT = import_client2.gql`
2590
2608
  `;
2591
2609
 
2592
2610
  // src/graphql/queries/event.ts
2593
- var EVENT_DATETIME_FIELDS_FRAGMENT = import_client3.gql`
2594
- fragment EventDateTimeFields on EventDateTimeType {
2595
- dateStatus
2596
- endDate
2597
- endTime
2598
- startDate
2599
- startTime
2600
- }
2601
- `;
2602
2611
  var EVENT_INFO = import_client3.gql`
2603
2612
  fragment EventInfoFields on EventInfoType {
2604
2613
  _id
@@ -4360,25 +4369,76 @@ var import_client38 = require("@apollo/client");
4360
4369
 
4361
4370
  // src/graphql/queries/tester.ts
4362
4371
  var import_client37 = require("@apollo/client");
4372
+ var TESTER_VENDOR_FIELDS_FRAGMENT = import_client37.gql`
4373
+ fragment TesterVendorFields on TesterVendorType {
4374
+ categories {
4375
+ ...CategoryFields
4376
+ }
4377
+ productsOrServices
4378
+ marketsAttended {
4379
+ name
4380
+ city
4381
+ }
4382
+ sellingFrequency
4383
+ yearlySellingApprox
4384
+ questionary {
4385
+ uploadStallProfileFirstWeek
4386
+ applyToAtLeastOneMarket
4387
+ tryVisitorFeatures
4388
+ completeFeedbackQuestionnaire
4389
+ sendPhotoForSocialMedia
4390
+ appearInVideoIntroduction
4391
+ socialMediaFeatureReason
4392
+ excitementAboutApp
4393
+ usefulnessExpectations
4394
+ testingPeriodConcerns
4395
+ }
4396
+ }
4397
+ ${CATEGORY_FIELDS_FRAGMENT}
4398
+ `;
4399
+ var TESTER_EVENT_FIELDS_FRAGMENT = import_client37.gql`
4400
+ fragment TesterEventFields on TesterEventType {
4401
+ organizedMarketCount
4402
+ markets {
4403
+ name
4404
+ cityOrVenue
4405
+ frequency
4406
+ averageStallCount
4407
+ }
4408
+ registerMarketsFirstWeek
4409
+ inviteAtLeastFiveStallholders
4410
+ manageApplicationsAndCommunication
4411
+ completeFinalQuestionnaire
4412
+ allowMarketingAppearance
4413
+ organizerExpectations
4414
+ dailyCoordinationNeeds
4415
+ interestedInCharityInitiative
4416
+ }
4417
+ `;
4363
4418
  var TESTER_FIELDS_FRAGMENT = import_client37.gql`
4364
4419
  fragment TesterFields on TesterType {
4365
4420
  _id
4366
4421
  active
4367
4422
  approved
4368
- categories {
4369
- ...CategoryFields
4370
- }
4371
- companyName
4423
+ businessName
4372
4424
  createdAt
4373
4425
  email
4374
4426
  firstName
4375
4427
  lastName
4428
+ mobilePhone
4376
4429
  osType
4377
4430
  region
4378
4431
  resourceType
4379
4432
  updatedAt
4433
+ vendor {
4434
+ ...TesterVendorFields
4435
+ }
4436
+ event {
4437
+ ...TesterEventFields
4438
+ }
4380
4439
  }
4381
- ${CATEGORY_FIELDS_FRAGMENT}
4440
+ ${TESTER_VENDOR_FIELDS_FRAGMENT}
4441
+ ${TESTER_EVENT_FIELDS_FRAGMENT}
4382
4442
  `;
4383
4443
  var GET_TESTERS = import_client37.gql`
4384
4444
  query getTesters {
@@ -5298,20 +5358,22 @@ var emailOptionalSchema = yup.string().nullable().notRequired().transform(
5298
5358
  ).label("Email");
5299
5359
  var mobileRegex = /^02\d{7,9}$/;
5300
5360
  var landlineRegex = /^(0(3|4|6|7|9)[0-9]{7})$/;
5361
+ var mobilePhoneSchema = yup.string().label("Mobile Phone").nullable().notRequired().test(
5362
+ "mobile-phone",
5363
+ "Mobile must start with 02 and be 9\u201311 digits",
5364
+ (value) => !value || mobileRegex.test(value)
5365
+ // skip empty values
5366
+ );
5367
+ var landlinePhoneSchema = yup.string().label("Landline Phone").nullable().notRequired().test(
5368
+ "landline-phone",
5369
+ "Landline must start with 03, 04, 06, 07, or 09 (not 090) and have 7 digits after area code",
5370
+ (value) => !value || landlineRegex.test(value)
5371
+ // skip empty values
5372
+ );
5301
5373
  var contactDetailsSchema = yup.object({
5302
5374
  email: emailOptionalSchema,
5303
- mobilePhone: yup.string().label("Mobile Phone").nullable().notRequired().test(
5304
- "mobile-phone",
5305
- "Mobile must start with 02 and be 9\u201311 digits",
5306
- (value) => !value || mobileRegex.test(value)
5307
- // skip empty values
5308
- ),
5309
- landlinePhone: yup.string().label("Landline Phone").nullable().notRequired().test(
5310
- "landline-phone",
5311
- "Landline must start with 03, 04, 06, 07, or 09 (not 090) and have 7 digits after area code",
5312
- (value) => !value || landlineRegex.test(value)
5313
- // skip empty values
5314
- )
5375
+ mobilePhone: mobilePhoneSchema,
5376
+ landlinePhone: landlinePhoneSchema
5315
5377
  }).nullable().default(void 0);
5316
5378
  var endDateNotInPastTest = yup.string().test("not-in-past", "End date cannot be in the past", (value) => {
5317
5379
  const now = (0, import_dayjs2.default)();
@@ -5635,21 +5697,108 @@ var validateVerificationTokenSchema = yup5.object().shape({
5635
5697
 
5636
5698
  // src/yupSchema/tester.ts
5637
5699
  var yup6 = __toESM(require("yup"));
5700
+
5701
+ // src/types/tester.ts
5702
+ var OrganizedMarketCount = /* @__PURE__ */ ((OrganizedMarketCount2) => {
5703
+ OrganizedMarketCount2["ONE"] = "1";
5704
+ OrganizedMarketCount2["TWO_TO_THREE"] = "2-3";
5705
+ OrganizedMarketCount2["FOUR_TO_FIVE"] = "4-5";
5706
+ OrganizedMarketCount2["MORE_THAN_FIVE"] = "more_than_5";
5707
+ return OrganizedMarketCount2;
5708
+ })(OrganizedMarketCount || {});
5709
+ var VendorSellingFrequency = /* @__PURE__ */ ((VendorSellingFrequency2) => {
5710
+ VendorSellingFrequency2["TWICE_A_WEEK"] = "2-3_times_a_week";
5711
+ VendorSellingFrequency2["ONCE_A_WEEK"] = "once_a_week";
5712
+ VendorSellingFrequency2["ONE_TO_TWO_TIMES_A_MONTH"] = "1-2_times_a_month";
5713
+ VendorSellingFrequency2["LESS_OFTEN"] = "less_often";
5714
+ return VendorSellingFrequency2;
5715
+ })(VendorSellingFrequency || {});
5716
+ var OrganizerMarketFrequency = /* @__PURE__ */ ((OrganizerMarketFrequency2) => {
5717
+ OrganizerMarketFrequency2["WEEKLY"] = "weekly";
5718
+ OrganizerMarketFrequency2["FORTNIGHTLY"] = "fortnightly";
5719
+ OrganizerMarketFrequency2["MONTHLY"] = "monthly";
5720
+ OrganizerMarketFrequency2["SEASONAL"] = "seasonal";
5721
+ return OrganizerMarketFrequency2;
5722
+ })(OrganizerMarketFrequency || {});
5723
+
5724
+ // src/yupSchema/tester.ts
5725
+ var testerVendorSchema = yup6.object().shape({
5726
+ categories: categorySchema,
5727
+ marketsAttended: yup6.array().of(
5728
+ yup6.object().shape({
5729
+ city: yup6.string().trim().required("City is required"),
5730
+ name: yup6.string().trim().required("Market name is required")
5731
+ })
5732
+ ).min(1, "At least one market must be provided").required("Markets attended are required"),
5733
+ productsOrServices: yup6.string().trim().required("Products or services description is required"),
5734
+ questionary: yup6.object().shape({
5735
+ appearInVideoIntroduction: yup6.boolean().required("Appear in video introduction is required"),
5736
+ applyToAtLeastOneMarket: yup6.boolean().required("Apply to at least one market commitment is required"),
5737
+ completeFeedbackQuestionnaire: yup6.boolean().required("Complete feedback questionnaire commitment is required"),
5738
+ excitementAboutApp: yup6.string().trim().required("Excitement about app is required"),
5739
+ sendPhotoForSocialMedia: yup6.boolean().required("Send photo for social media is required"),
5740
+ socialMediaFeatureReason: yup6.string().trim().optional(),
5741
+ testingPeriodConcerns: yup6.string().trim().optional(),
5742
+ tryVisitorFeatures: yup6.boolean().required("Try visitor features commitment is required"),
5743
+ uploadStallProfileFirstWeek: yup6.boolean().required("Upload stall profile first week commitment is required"),
5744
+ usefulnessExpectations: yup6.string().trim().required("Usefulness expectations is required")
5745
+ }),
5746
+ sellingFrequency: yup6.mixed().oneOf(
5747
+ Object.values(VendorSellingFrequency),
5748
+ "Please select a valid selling frequency"
5749
+ ).required("Selling frequency is required"),
5750
+ yearlySellingApprox: yup6.number().label("Yearly Selling Approx").min(0, "Yearly selling approximate must be at least 0").integer("Yearly selling approximate must be a whole number").required("Yearly selling approximate is required").test("no-leading-zeros", "", noLeadingZeros("Yearly selling approximate"))
5751
+ });
5752
+ var testerEventSchema = yup6.object().shape({
5753
+ allowMarketingAppearance: yup6.boolean().required("Allow marketing appearance is required"),
5754
+ completeFinalQuestionnaire: yup6.boolean().required("Complete final questionnaire commitment is required"),
5755
+ dailyCoordinationNeeds: yup6.string().trim().required("Daily coordination needs is required"),
5756
+ interestedInCharityInitiative: yup6.boolean().required("Interest in charity initiative is required"),
5757
+ inviteAtLeastFiveStallholders: yup6.boolean().required("Invite at least five stallholders commitment is required"),
5758
+ manageApplicationsAndCommunication: yup6.boolean().required("Manage applications and communication commitment is required"),
5759
+ markets: yup6.array().of(
5760
+ yup6.object().shape({
5761
+ averageStallCount: yup6.number().label("Average Stall Count").min(1, "Average stall count must be at least 1").integer("Average stall count must be a whole number").required("Average stall count is required").test("no-leading-zeros", "", noLeadingZeros("Average stall count")),
5762
+ cityOrVenue: yup6.string().trim().required("City or venue is required"),
5763
+ frequency: yup6.mixed().oneOf(
5764
+ Object.values(OrganizerMarketFrequency),
5765
+ "Please select a valid frequency"
5766
+ ).required("Frequency is required"),
5767
+ name: yup6.string().trim().required("Market name is required")
5768
+ })
5769
+ ).min(1, "At least one market must be provided").required("Markets are required"),
5770
+ organizedMarketCount: yup6.mixed().oneOf(
5771
+ Object.values(OrganizedMarketCount),
5772
+ "Please select a valid market count"
5773
+ ).required("Organized market count is required"),
5774
+ organizerExpectations: yup6.string().trim().required("Organizer expectations is required"),
5775
+ registerMarketsFirstWeek: yup6.boolean().required("Register markets first week commitment is required")
5776
+ });
5638
5777
  var testerSchema = yup6.object().shape({
5639
5778
  approved: yup6.boolean().required("Approval status is required"),
5640
- categories: yup6.array().nullable().when("resourceType", {
5641
- is: "vendor" /* VENDOR */,
5642
- then: () => categorySchema.min(1, "Category list must contain at least one item").required("Categories required"),
5643
- // eslint-disable-next-line sort-keys
5644
- otherwise: () => yup6.array().nullable().notRequired()
5645
- }),
5646
- companyName: yup6.string().required("Company name is required"),
5779
+ businessName: yup6.string().required("Business name is required"),
5647
5780
  email: emailRequiredSchema,
5781
+ event: yup6.object().when("resourceType", {
5782
+ is: (resourceType) => resourceType === "event" /* EVENT */,
5783
+ otherwise: (schema) => schema.nullable().optional(),
5784
+ then: () => testerEventSchema.required("Event information is required")
5785
+ }),
5648
5786
  firstName: yup6.string().required("First name is required"),
5649
5787
  lastName: yup6.string().required("Last name is required"),
5788
+ mobilePhone: yup6.string().label("Mobile Phone").required("Mobile phone is required").test(
5789
+ "mobile-phone",
5790
+ "Mobile must start with 02 and be 9\u201311 digits",
5791
+ (value) => !value || mobileRegex.test(value)
5792
+ // skip empty values
5793
+ ),
5650
5794
  osType: yup6.mixed().oneOf(Object.values(EnumOSPlatform), "Please select Android or iOS device").required("OS Type is required"),
5651
5795
  region: yup6.string().required("Region is required"),
5652
- resourceType: yup6.mixed().oneOf(Object.values(EnumResourceType), "Please select Event or Vendor").required("Resource Type is required")
5796
+ resourceType: yup6.mixed().oneOf(Object.values(EnumResourceType), "Please select Event or Vendor").required("Resource Type is required"),
5797
+ vendor: yup6.object().when("resourceType", {
5798
+ is: (resourceType) => resourceType === "vendor" /* VENDOR */,
5799
+ otherwise: (schema) => schema.nullable().optional(),
5800
+ then: () => testerVendorSchema.required("Vendor information is required")
5801
+ })
5653
5802
  });
5654
5803
 
5655
5804
  // src/yupSchema/ad.ts
@@ -6444,14 +6593,16 @@ var import_react = __toESM(require("react"));
6444
6593
  var import_react_hook_form11 = require("react-hook-form");
6445
6594
  var defaultValues7 = {
6446
6595
  approved: false,
6447
- categories: null,
6448
- companyName: "",
6596
+ businessName: "",
6449
6597
  email: "",
6598
+ event: null,
6450
6599
  firstName: "",
6451
6600
  lastName: "",
6601
+ mobilePhone: "",
6452
6602
  osType: "",
6453
6603
  region: "",
6454
- resourceType: ""
6604
+ resourceType: "",
6605
+ vendor: null
6455
6606
  };
6456
6607
  function useTesterForm(data) {
6457
6608
  const {
@@ -6470,14 +6621,16 @@ function useTesterForm(data) {
6470
6621
  if (data) {
6471
6622
  reset({
6472
6623
  approved: data.approved,
6473
- categories: data.categories,
6474
- companyName: data.companyName,
6624
+ businessName: data.businessName,
6475
6625
  email: data.email,
6626
+ event: data.event,
6476
6627
  firstName: data.firstName,
6477
6628
  lastName: data.lastName,
6629
+ mobilePhone: data.mobilePhone,
6478
6630
  osType: data.osType,
6479
6631
  region: data.region,
6480
- resourceType: data.resourceType
6632
+ resourceType: data.resourceType,
6633
+ vendor: data.vendor
6481
6634
  });
6482
6635
  } else {
6483
6636
  reset(defaultValues7);
@@ -6485,27 +6638,31 @@ function useTesterForm(data) {
6485
6638
  }, [data]);
6486
6639
  const {
6487
6640
  approved,
6488
- categories,
6489
- companyName,
6641
+ businessName,
6490
6642
  email,
6643
+ event,
6491
6644
  firstName,
6492
6645
  lastName,
6646
+ mobilePhone,
6493
6647
  osType,
6494
6648
  region,
6495
- resourceType
6649
+ resourceType,
6650
+ vendor
6496
6651
  } = getValues();
6497
6652
  return {
6498
6653
  control,
6499
6654
  fields: {
6500
6655
  approved,
6501
- categories,
6502
- companyName,
6656
+ businessName,
6503
6657
  email,
6658
+ event,
6504
6659
  firstName,
6505
6660
  lastName,
6661
+ mobilePhone,
6506
6662
  osType,
6507
6663
  region,
6508
- resourceType
6664
+ resourceType,
6665
+ vendor
6509
6666
  },
6510
6667
  formState: { errors },
6511
6668
  handleSubmit,
@@ -6855,11 +7012,14 @@ var EnumActivity = /* @__PURE__ */ ((EnumActivity2) => {
6855
7012
  EnumUserRole,
6856
7013
  EnumVendorType,
6857
7014
  ImageTypeEnum,
7015
+ OrganizedMarketCount,
7016
+ OrganizerMarketFrequency,
6858
7017
  SAVED_EMAIL_KEY,
6859
7018
  SAVED_PASSWORD_KEY,
6860
7019
  SAVED_REFRESH_TOKEN_KEY,
6861
7020
  SAVED_TOKEN_KEY,
6862
7021
  USER_STORAGE_KEY,
7022
+ VendorSellingFrequency,
6863
7023
  availableCategories,
6864
7024
  availableRegionOptions,
6865
7025
  availableRegionTypes,