@timardex/cluemart-shared 1.5.504 → 1.5.505

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.mjs CHANGED
@@ -433,6 +433,9 @@ var priceUnits = [
433
433
  { label: "Half dozen", value: "HALF_DOZEN" }
434
434
  ];
435
435
 
436
+ // src/utils/dailyClueGame.ts
437
+ import dayjs from "dayjs";
438
+
436
439
  // src/types/game.ts
437
440
  var gameScreenIdentifierList = [
438
441
  {
@@ -545,75 +548,6 @@ var EnumGameStatus = /* @__PURE__ */ ((EnumGameStatus2) => {
545
548
  return EnumGameStatus2;
546
549
  })(EnumGameStatus || {});
547
550
 
548
- // src/utils/date.ts
549
- import dayjs from "dayjs";
550
- import customParseFormat from "dayjs/plugin/customParseFormat.js";
551
- import isSameOrAfter from "dayjs/plugin/isSameOrAfter.js";
552
- import timezone from "dayjs/plugin/timezone.js";
553
- import utc from "dayjs/plugin/utc.js";
554
- var dateFormat = "DD-MM-YYYY";
555
- var timeFormat = "HH:mm";
556
- dayjs.extend(customParseFormat);
557
- dayjs.extend(utc);
558
- dayjs.extend(timezone);
559
- dayjs.extend(isSameOrAfter);
560
- var NZ_TZ = "Pacific/Auckland";
561
- function toNZTime(date3) {
562
- return date3 ? dayjs(date3).tz(NZ_TZ) : dayjs().tz(NZ_TZ);
563
- }
564
- var formatDate = (dateStr, display = "datetime", timeStr) => {
565
- const dateTimeStr = timeStr ? `${dateStr} ${timeStr}` : dateStr;
566
- const dateTime = timeStr ? dayjs(dateTimeStr, `${dateFormat} ${timeFormat}`) : dayjs(dateStr, dateFormat);
567
- const formattedDate = dateTime.format("dddd, D MMMM, YYYY");
568
- const formattedTime = dateTime.format("h:mm a");
569
- switch (display) {
570
- case "date":
571
- return formattedDate;
572
- case "time":
573
- return formattedTime;
574
- case "datetime":
575
- return `${formattedDate} at ${formattedTime}`;
576
- default:
577
- return formattedDate;
578
- }
579
- };
580
- var getCurrentAndFutureDates = (dates) => {
581
- const now = dayjs();
582
- return dates.filter((dateObj) => {
583
- const dateTime = dayjs(
584
- `${dateObj.startDate} ${dateObj.startTime}`,
585
- `${dateFormat} ${timeFormat}`
586
- );
587
- return dateTime.isSameOrAfter(now);
588
- });
589
- };
590
- var isFutureDatesBeforeThreshold = (date3, minHoursFromNow) => {
591
- const threshold = minHoursFromNow ? dayjs().add(minHoursFromNow, "hour") : dayjs().startOf("day");
592
- const dateTime = dayjs(
593
- `${date3.startDate} ${date3.startTime}`,
594
- `${dateFormat} ${timeFormat}`
595
- );
596
- return dateTime.isSameOrAfter(threshold);
597
- };
598
- var formatTimestamp = (timestamp) => {
599
- const formattedDate = toNZTime(timestamp).format(dateFormat);
600
- return formatDate(formattedDate, "date");
601
- };
602
- var isIsoDateString = (value) => {
603
- return typeof value === "string" && !isNaN(Date.parse(value));
604
- };
605
- function sortDatesChronologically(dates) {
606
- if (!dates || !dates.length) {
607
- return [];
608
- }
609
- return [...dates].sort((a, b) => {
610
- const dateTimeFormat = `${dateFormat} ${timeFormat}`;
611
- const dateA = dayjs(`${a.startDate} ${a.startTime}`, dateTimeFormat);
612
- const dateB = dayjs(`${b.startDate} ${b.startTime}`, dateTimeFormat);
613
- return dateA.valueOf() - dateB.valueOf();
614
- });
615
- }
616
-
617
551
  // src/utils/dailyClueGame.ts
618
552
  function createSeededRng(seed) {
619
553
  let t = seed >>> 0;
@@ -648,9 +582,9 @@ function getDayIndex(start, today) {
648
582
  function computeDailyClueState(dailyClue) {
649
583
  const { startDate, endDate } = dailyClue.gameFields.gameDate;
650
584
  const { shuffled, collected } = dailyClue.letterInfo;
651
- const today = toNZTime().startOf("day");
652
- const start = toNZTime(startDate).startOf("day");
653
- const end = toNZTime(endDate).startOf("day");
585
+ const today = dayjs().startOf("day");
586
+ const start = dayjs(startDate).startOf("day");
587
+ const end = dayjs(endDate).startOf("day");
654
588
  const shuffledPlacements = seededShuffle(
655
589
  gameScreenIdentifierList,
656
590
  start.toISOString()
@@ -684,6 +618,75 @@ function computeDailyClueState(dailyClue) {
684
618
  };
685
619
  }
686
620
 
621
+ // src/utils/date.ts
622
+ import dayjs2 from "dayjs";
623
+ import customParseFormat from "dayjs/plugin/customParseFormat.js";
624
+ import isSameOrAfter from "dayjs/plugin/isSameOrAfter.js";
625
+ import timezone from "dayjs/plugin/timezone.js";
626
+ import utc from "dayjs/plugin/utc.js";
627
+ var dateFormat = "DD-MM-YYYY";
628
+ var timeFormat = "HH:mm";
629
+ dayjs2.extend(customParseFormat);
630
+ dayjs2.extend(utc);
631
+ dayjs2.extend(timezone);
632
+ dayjs2.extend(isSameOrAfter);
633
+ var NZ_TZ = "Pacific/Auckland";
634
+ function toNZTime(date3) {
635
+ return date3 ? dayjs2(date3).tz(NZ_TZ) : dayjs2().tz(NZ_TZ);
636
+ }
637
+ var formatDate = (dateStr, display = "datetime", timeStr) => {
638
+ const dateTimeStr = timeStr ? `${dateStr} ${timeStr}` : dateStr;
639
+ const dateTime = timeStr ? dayjs2(dateTimeStr, `${dateFormat} ${timeFormat}`) : dayjs2(dateStr, dateFormat);
640
+ const formattedDate = dateTime.format("dddd, D MMMM, YYYY");
641
+ const formattedTime = dateTime.format("h:mm a");
642
+ switch (display) {
643
+ case "date":
644
+ return formattedDate;
645
+ case "time":
646
+ return formattedTime;
647
+ case "datetime":
648
+ return `${formattedDate} at ${formattedTime}`;
649
+ default:
650
+ return formattedDate;
651
+ }
652
+ };
653
+ var getCurrentAndFutureDates = (dates) => {
654
+ const now = dayjs2();
655
+ return dates.filter((dateObj) => {
656
+ const dateTime = dayjs2(
657
+ `${dateObj.startDate} ${dateObj.startTime}`,
658
+ `${dateFormat} ${timeFormat}`
659
+ );
660
+ return dateTime.isSameOrAfter(now);
661
+ });
662
+ };
663
+ var isFutureDatesBeforeThreshold = (date3, minHoursFromNow) => {
664
+ const threshold = minHoursFromNow ? dayjs2().add(minHoursFromNow, "hour") : dayjs2().startOf("day");
665
+ const dateTime = dayjs2(
666
+ `${date3.startDate} ${date3.startTime}`,
667
+ `${dateFormat} ${timeFormat}`
668
+ );
669
+ return dateTime.isSameOrAfter(threshold);
670
+ };
671
+ var formatTimestamp = (timestamp) => {
672
+ const formattedDate = toNZTime(timestamp).format(dateFormat);
673
+ return formatDate(formattedDate, "date");
674
+ };
675
+ var isIsoDateString = (value) => {
676
+ return typeof value === "string" && !isNaN(Date.parse(value));
677
+ };
678
+ function sortDatesChronologically(dates) {
679
+ if (!dates || !dates.length) {
680
+ return [];
681
+ }
682
+ return [...dates].sort((a, b) => {
683
+ const dateTimeFormat = `${dateFormat} ${timeFormat}`;
684
+ const dateA = dayjs2(`${a.startDate} ${a.startTime}`, dateTimeFormat);
685
+ const dateB = dayjs2(`${b.startDate} ${b.startTime}`, dateTimeFormat);
686
+ return dateA.valueOf() - dateB.valueOf();
687
+ });
688
+ }
689
+
687
690
  // src/utils/utils.ts
688
691
  var removeTypename = (obj) => {
689
692
  if (obj instanceof Date) {
@@ -6207,7 +6210,7 @@ import * as React from "react";
6207
6210
  import { useForm } from "react-hook-form";
6208
6211
 
6209
6212
  // src/yupSchema/global.ts
6210
- import dayjs2 from "dayjs";
6213
+ import dayjs3 from "dayjs";
6211
6214
  import customParseFormat2 from "dayjs/plugin/customParseFormat.js";
6212
6215
  import isSameOrAfter2 from "dayjs/plugin/isSameOrAfter.js";
6213
6216
  import * as yup from "yup";
@@ -6236,8 +6239,8 @@ var noLeadingZeros = (fieldName, options = {}) => {
6236
6239
  return true;
6237
6240
  };
6238
6241
  };
6239
- dayjs2.extend(isSameOrAfter2);
6240
- dayjs2.extend(customParseFormat2);
6242
+ dayjs3.extend(isSameOrAfter2);
6243
+ dayjs3.extend(customParseFormat2);
6241
6244
  var emailRequiredSchema = yup.string().email("Invalid email address").required("Email is required").label("Email").transform(
6242
6245
  (value) => typeof value === "string" ? value.trim().toLowerCase() : value
6243
6246
  );
@@ -6268,12 +6271,12 @@ var contactDetailsSchema = yup.object({
6268
6271
  landlinePhone: landlinePhoneSchema
6269
6272
  }).nullable().default(void 0);
6270
6273
  var endDateNotInPastTest = yup.string().test("not-in-past", "End date cannot be in the past", (value) => {
6271
- const now = dayjs2();
6272
- return value ? dayjs2(value, dateFormat, true).isSameOrAfter(now, "day") : false;
6274
+ const now = dayjs3();
6275
+ return value ? dayjs3(value, dateFormat, true).isSameOrAfter(now, "day") : false;
6273
6276
  });
6274
6277
  var startDateNotInPastTest = yup.string().test("not-in-past", "Start date cannot be in the past", (value) => {
6275
- const now = dayjs2();
6276
- return value ? dayjs2(value, dateFormat, true).isSameOrAfter(now, "day") : false;
6278
+ const now = dayjs3();
6279
+ return value ? dayjs3(value, dateFormat, true).isSameOrAfter(now, "day") : false;
6277
6280
  });
6278
6281
  var endDateAfterStartDateTest = yup.string().test(
6279
6282
  "end-after-start",
@@ -6281,8 +6284,8 @@ var endDateAfterStartDateTest = yup.string().test(
6281
6284
  function(value) {
6282
6285
  const { startDate } = this.parent;
6283
6286
  if (!startDate || !value) return false;
6284
- return dayjs2(value, dateFormat, true).isSameOrAfter(
6285
- dayjs2(startDate, dateFormat, true),
6287
+ return dayjs3(value, dateFormat, true).isSameOrAfter(
6288
+ dayjs3(startDate, dateFormat, true),
6286
6289
  "day"
6287
6290
  );
6288
6291
  }
@@ -6293,12 +6296,12 @@ var endTimeMustBeAfterStartTimeTest = yup.string().test(
6293
6296
  function(value) {
6294
6297
  const { startDate, endDate, startTime } = this.parent;
6295
6298
  if (!startDate || !endDate || !startTime || !value) return false;
6296
- const startDateTime = dayjs2(
6299
+ const startDateTime = dayjs3(
6297
6300
  `${startDate} ${startTime}`,
6298
6301
  `${dateFormat} ${timeFormat}`,
6299
6302
  true
6300
6303
  );
6301
- const endDateTime = dayjs2(
6304
+ const endDateTime = dayjs3(
6302
6305
  `${endDate} ${value}`,
6303
6306
  `${dateFormat} ${timeFormat}`,
6304
6307
  true
@@ -6310,10 +6313,10 @@ var startTimeCannotBeInPastTest = yup.string().test(
6310
6313
  "valid-start-time",
6311
6314
  "Start time cannot be in the past",
6312
6315
  function(value) {
6313
- const now = dayjs2();
6316
+ const now = dayjs3();
6314
6317
  const { startDate } = this.parent;
6315
6318
  if (!startDate || !value) return false;
6316
- const startDateTime = dayjs2(
6319
+ const startDateTime = dayjs3(
6317
6320
  `${startDate} ${value}`,
6318
6321
  `${dateFormat} ${timeFormat}`,
6319
6322
  true