@dcrackel/hematournamentui 1.0.554 → 1.0.556

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.
@@ -34398,65 +34398,15 @@ const sz = /* @__PURE__ */ se(V7, [["render", iz]]), Az = {
34398
34398
  name: "TimerBox",
34399
34399
  components: { BaseButton: qe, BaseIcon: He, BaseText: Be },
34400
34400
  props: {
34401
- initialTime: {
34402
- type: Number,
34403
- default: 120
34404
- },
34405
- ringName: {
34406
- type: String,
34407
- required: !0
34408
- },
34409
- showSubmit: {
34410
- type: Boolean,
34411
- default: !1
34412
- },
34413
- clockStatus: {
34414
- type: String,
34415
- default: "stopped"
34416
- }
34417
- },
34418
- data() {
34419
- return {
34420
- time: parseInt(this.initialTime),
34421
- running: !1,
34422
- timerInterval: null
34423
- };
34401
+ timeLeft: Number,
34402
+ running: Boolean,
34403
+ ringName: String
34424
34404
  },
34425
34405
  computed: {
34426
34406
  formattedTime() {
34427
- const t = Math.floor(this.time / 60), e = this.time % 60;
34407
+ const t = Math.floor(this.timeLeft / 60), e = this.timeLeft % 60;
34428
34408
  return `${t}:${e < 10 ? "0" : ""}${e}`;
34429
- },
34430
- timerState() {
34431
- return this.running ? "running" : "paused";
34432
- }
34433
- },
34434
- watch: {
34435
- clockStatus(t) {
34436
- t === "stopped" && this.stopTimer();
34437
- }
34438
- },
34439
- methods: {
34440
- startOrPause() {
34441
- this.emitTimeStateChange(), this.running ? clearInterval(this.timerInterval) : this.timerInterval = setInterval(() => {
34442
- this.time > 0 ? (this.time--, this.emitTimeChange(this.time)) : this.stopTimer();
34443
- }, 1e3), this.running = !this.running;
34444
- },
34445
- async alterTime(t) {
34446
- this.stopTimer(), this.time = Math.max(0, this.time + t), this.emitTimeStateChange();
34447
- },
34448
- stopTimer() {
34449
- clearInterval(this.timerInterval), this.running = !1, this.emitTimeStateChange();
34450
- },
34451
- emitTimeStateChange() {
34452
- this.$emit("update:timeChange", { time: this.time, running: this.running });
34453
- },
34454
- emitTimeChange() {
34455
- this.$emit("update:time", this.time);
34456
34409
  }
34457
- },
34458
- beforeDestroy() {
34459
- clearInterval(this.timerInterval);
34460
34410
  }
34461
34411
  }, az = { class: "mt-4 py-4 md:mt-4 md:py-6 w-11/12 flex flex-col bg-white mx-auto rounded-2xl shadow-md border" }, lz = { class: "w-full flex flex-row justify-around text-center px-4" }, cz = { class: "pt-1 flex flex-col" }, uz = { class: "bg-gridBoxHeader rounded-lg h-12 flex items-center justify-center" }, dz = { class: "flex flex-col w-44 justify-between" }, gz = { class: "flex flex-col h-6" }, hz = { class: "pt-1 flex flex-col" }, pz = { class: "bg-gridBoxHeader rounded-lg h-12 flex items-center justify-center" };
34462
34412
  function fz(t, e, n, r, o, i) {
@@ -34468,7 +34418,7 @@ function fz(t, e, n, r, o, i) {
34468
34418
  "icon-name": "fa-square-chevron-up",
34469
34419
  size: "5xl",
34470
34420
  color: "quaternary",
34471
- onClick: e[0] || (e[0] = (c) => i.alterTime(10)),
34421
+ onClick: e[0] || (e[0] = (c) => t.$emit("adjustTime", 10)),
34472
34422
  class: "hover:text-quaternaryHighlight"
34473
34423
  }),
34474
34424
  p("div", uz, [
@@ -34482,7 +34432,7 @@ function fz(t, e, n, r, o, i) {
34482
34432
  "icon-name": "fa-square-chevron-down",
34483
34433
  size: "5xl",
34484
34434
  color: "quaternary",
34485
- onClick: e[1] || (e[1] = (c) => i.alterTime(-10)),
34435
+ onClick: e[1] || (e[1] = (c) => t.$emit("adjustTime", -10)),
34486
34436
  class: "hover:text-quaternaryHighlight"
34487
34437
  })
34488
34438
  ]),
@@ -34491,7 +34441,7 @@ function fz(t, e, n, r, o, i) {
34491
34441
  h(a, {
34492
34442
  text: n.ringName,
34493
34443
  size: "xl",
34494
- color: i.timerState === "running" ? "alarmText" : "quaternary",
34444
+ color: n.running ? "alarmText" : "quaternary",
34495
34445
  weight: "bold"
34496
34446
  }, null, 8, ["text", "color"])
34497
34447
  ]),
@@ -34499,22 +34449,22 @@ function fz(t, e, n, r, o, i) {
34499
34449
  text: i.formattedTime,
34500
34450
  size: "5xl",
34501
34451
  weight: "bold",
34502
- color: i.timerState === "running" ? "alarmText" : "quaternary"
34452
+ color: n.running ? "alarmText" : "quaternary"
34503
34453
  }, null, 8, ["text", "color"]),
34504
34454
  h(l, {
34505
- label: i.timerState === "running" ? "Pause" : "Start",
34455
+ label: n.running ? "Pause" : "Start",
34506
34456
  type: "playPause",
34507
- selected: i.timerState === "running",
34457
+ selected: n.running,
34508
34458
  size: "xl",
34509
- onButtonClick: i.startOrPause
34510
- }, null, 8, ["label", "selected", "onButtonClick"])
34459
+ onButtonClick: e[2] || (e[2] = (c) => t.$emit("startPause"))
34460
+ }, null, 8, ["label", "selected"])
34511
34461
  ]),
34512
34462
  p("div", hz, [
34513
34463
  h(A, {
34514
34464
  "icon-name": "fa-square-chevron-up",
34515
34465
  size: "5xl",
34516
34466
  color: "quaternary",
34517
- onClick: e[2] || (e[2] = (c) => i.alterTime(1)),
34467
+ onClick: e[3] || (e[3] = (c) => t.$emit("adjustTime", 1)),
34518
34468
  class: "hover:text-quaternaryHighlight"
34519
34469
  }),
34520
34470
  p("div", pz, [
@@ -34528,7 +34478,7 @@ function fz(t, e, n, r, o, i) {
34528
34478
  "icon-name": "fa-square-chevron-down",
34529
34479
  size: "5xl",
34530
34480
  color: "quaternary",
34531
- onClick: e[3] || (e[3] = (c) => i.alterTime(-1)),
34481
+ onClick: e[4] || (e[4] = (c) => t.$emit("adjustTime", -1)),
34532
34482
  class: "hover:text-quaternaryHighlight"
34533
34483
  })
34534
34484
  ])
@@ -34642,6 +34592,35 @@ function Sz(t, e, n, r, o, i) {
34642
34592
  ]);
34643
34593
  }
34644
34594
  const kz = /* @__PURE__ */ se(mz, [["render", Sz]]), Mz = {
34595
+ name: "PenaltyConfirmationBox",
34596
+ components: { BaseText: Be, BaseIcon: He }
34597
+ }, Oz = { class: "mt-4 py-4 md:mt-4 md:py-6 w-11/12 flex flex-col bg-white mx-auto rounded-2xl shadow-md border" }, Tz = { class: "w-full flex flex-col items-center text-center px-4" };
34598
+ function Rz(t, e, n, r, o, i) {
34599
+ const A = w("BaseIcon"), a = w("BaseText");
34600
+ return C(), I("section", Oz, [
34601
+ p("div", Tz, [
34602
+ h(A, {
34603
+ "icon-name": "fa-clock",
34604
+ size: "5xl",
34605
+ color: "quaternary",
34606
+ class: "mb-4"
34607
+ }),
34608
+ h(a, {
34609
+ text: "Waiting for second confirmation",
34610
+ size: "xl",
34611
+ color: "primary",
34612
+ weight: "bold"
34613
+ }),
34614
+ h(a, {
34615
+ text: "Issue has been recorded and is pending approval from another staff member.",
34616
+ size: "sm",
34617
+ color: "quinary",
34618
+ class: "mt-2 px-6"
34619
+ })
34620
+ ])
34621
+ ]);
34622
+ }
34623
+ const Pz = /* @__PURE__ */ se(Mz, [["render", Rz]]), zz = {
34645
34624
  name: "ConfirmModal",
34646
34625
  components: { BaseButton: qe, BaseIcon: He, BaseText: Be },
34647
34626
  props: {
@@ -34694,8 +34673,8 @@ const kz = /* @__PURE__ */ se(mz, [["render", Sz]]), Mz = {
34694
34673
  this.$emit("cancel-modal"), this.close();
34695
34674
  }
34696
34675
  }
34697
- }, Oz = { class: "absolute top-3 right-3" }, Tz = { class: "mt-3 text-center w-full" }, Rz = { class: "w-full flex flex-row justify-center mb-8" }, Pz = { class: "mt-4 flex flex-row justify-between space-x-3 w-full" };
34698
- function zz(t, e, n, r, o, i) {
34676
+ }, Lz = { class: "absolute top-3 right-3" }, Fz = { class: "mt-3 text-center w-full" }, Nz = { class: "w-full flex flex-row justify-center mb-8" }, Hz = { class: "mt-4 flex flex-row justify-between space-x-3 w-full" };
34677
+ function qz(t, e, n, r, o, i) {
34699
34678
  const A = w("BaseIcon"), a = w("BaseText"), l = w("BaseButton");
34700
34679
  return n.show ? (C(), I("div", {
34701
34680
  key: 0,
@@ -34707,7 +34686,7 @@ function zz(t, e, n, r, o, i) {
34707
34686
  onClick: e[0] || (e[0] = at(() => {
34708
34687
  }, ["stop"]))
34709
34688
  }, [
34710
- p("div", Oz, [
34689
+ p("div", Lz, [
34711
34690
  h(A, {
34712
34691
  "icon-name": "fa-circle-xmark",
34713
34692
  size: "lg",
@@ -34716,8 +34695,8 @@ function zz(t, e, n, r, o, i) {
34716
34695
  onClick: i.close
34717
34696
  }, null, 8, ["onClick"])
34718
34697
  ]),
34719
- p("div", Tz, [
34720
- p("div", Rz, [
34698
+ p("div", Fz, [
34699
+ p("div", Nz, [
34721
34700
  p("p", {
34722
34701
  class: ee(["bg-" + n.iconBackgroundColor, "flex flex-row justify-center h-20 w-20 rounded-full", "border border-" + n.iconBorderColor])
34723
34702
  }, [
@@ -34749,7 +34728,7 @@ function zz(t, e, n, r, o, i) {
34749
34728
  "data-testid": "text-title"
34750
34729
  }, null, 8, ["text"])
34751
34730
  ]),
34752
- p("div", Pz, [
34731
+ p("div", Hz, [
34753
34732
  h(l, {
34754
34733
  label: n.cancelText,
34755
34734
  selected: !0,
@@ -34774,9 +34753,9 @@ function zz(t, e, n, r, o, i) {
34774
34753
  ])
34775
34754
  ])) : b("", !0);
34776
34755
  }
34777
- const Lz = /* @__PURE__ */ se(Mz, [["render", zz]]), Fz = {
34756
+ const Yz = /* @__PURE__ */ se(zz, [["render", qz]]), jz = {
34778
34757
  name: "PenaltyCard",
34779
- components: { ConfirmModal: Lz, BaseIcon: He, BaseButton: qe, BaseText: Be },
34758
+ components: { ConfirmModal: Yz, BaseIcon: He, BaseButton: qe, BaseText: Be },
34780
34759
  emits: ["penalty:remove", "penalty:add", "penalty:update", "toggleFlag"],
34781
34760
  props: {
34782
34761
  fencer1: {
@@ -34935,24 +34914,24 @@ const Lz = /* @__PURE__ */ se(Mz, [["render", zz]]), Fz = {
34935
34914
  }
34936
34915
  }
34937
34916
  }
34938
- }, Nz = { class: "w-full bg-poolSetup p-2" }, Hz = { class: "flex items-center mb-6" }, qz = {
34917
+ }, Kz = { class: "w-full bg-poolSetup p-2" }, Uz = { class: "flex items-center mb-6" }, Gz = {
34939
34918
  key: 0,
34940
34919
  class: "w-12 h-12 rounded-full bg-dropdownSelect flex items-center justify-center"
34941
- }, Yz = ["src"], jz = { class: "pl-3" }, Kz = { class: "flex justify-around mb-6" }, Uz = { class: "mb-4" }, Gz = { class: "w-full flex justify-between" }, Jz = ["onClick"];
34942
- function Vz(t, e, n, r, o, i) {
34920
+ }, Jz = ["src"], Vz = { class: "pl-3" }, Wz = { class: "flex justify-around mb-6" }, Xz = { class: "mb-4" }, Zz = { class: "w-full flex justify-between" }, _z = ["onClick"];
34921
+ function $z(t, e, n, r, o, i) {
34943
34922
  const A = w("BaseText"), a = w("BaseIcon"), l = w("BaseButton"), c = w("ConfirmModal");
34944
34923
  return C(), I(ae, null, [
34945
- p("div", Nz, [
34946
- p("div", Hz, [
34947
- i.portraitURL ? b("", !0) : (C(), I("div", qz)),
34924
+ p("div", Kz, [
34925
+ p("div", Uz, [
34926
+ i.portraitURL ? b("", !0) : (C(), I("div", Gz)),
34948
34927
  i.portraitURL ? (C(), I("img", {
34949
34928
  key: 1,
34950
34929
  src: i.portraitURL,
34951
34930
  alt: "Portrait",
34952
34931
  class: "w-9 h-9 rounded-r-md"
34953
- }, null, 8, Yz)) : b("", !0),
34932
+ }, null, 8, Jz)) : b("", !0),
34954
34933
  p("div", null, [
34955
- p("div", jz, [
34934
+ p("div", Vz, [
34956
34935
  h(A, {
34957
34936
  text: i.displayName,
34958
34937
  size: "lg",
@@ -34967,7 +34946,7 @@ function Vz(t, e, n, r, o, i) {
34967
34946
  ])
34968
34947
  ])
34969
34948
  ]),
34970
- p("div", Kz, [
34949
+ p("div", Wz, [
34971
34950
  p("div", {
34972
34951
  class: ee(["h-12 w-12 bg-neutral border rounded-full z-0 shadow", o.yellowCardToggle ? "border border-gold" : "border"])
34973
34952
  }, [
@@ -35042,7 +35021,7 @@ function Vz(t, e, n, r, o, i) {
35042
35021
  })
35043
35022
  ], 2)
35044
35023
  ]),
35045
- p("div", Uz, [
35024
+ p("div", Xz, [
35046
35025
  no(p("textarea", {
35047
35026
  "onUpdate:modelValue": e[4] || (e[4] = (u) => o.currentNote = u),
35048
35027
  class: "w-full h-20 border rounded-md p-2",
@@ -35050,7 +35029,7 @@ function Vz(t, e, n, r, o, i) {
35050
35029
  }, null, 512), [
35051
35030
  [cl, o.currentNote]
35052
35031
  ]),
35053
- p("div", Gz, [
35032
+ p("div", Zz, [
35054
35033
  h(l, {
35055
35034
  type: "primary",
35056
35035
  label: "Clear",
@@ -35102,7 +35081,7 @@ function Vz(t, e, n, r, o, i) {
35102
35081
  color: "primary",
35103
35082
  class: ""
35104
35083
  }, null, 8, ["text"])
35105
- ], 8, Jz),
35084
+ ], 8, _z),
35106
35085
  h(a, {
35107
35086
  iconName: "fa-times",
35108
35087
  color: "red",
@@ -35127,9 +35106,9 @@ function Vz(t, e, n, r, o, i) {
35127
35106
  }, null, 8, ["show", "onConfirmModal", "onCancelModal"])
35128
35107
  ], 64);
35129
35108
  }
35130
- const Wz = /* @__PURE__ */ se(Fz, [["render", Vz]]), Xz = {
35109
+ const eL = /* @__PURE__ */ se(jz, [["render", $z]]), tL = {
35131
35110
  name: "PenaltyModal",
35132
- components: { BaseText: Be, PenaltyCard: Wz, BaseIcon: He },
35111
+ components: { BaseText: Be, PenaltyCard: eL, BaseIcon: He },
35133
35112
  emits: ["update:closeModal", "penalty:remove", "penalty:add", "penalty:update"],
35134
35113
  props: {
35135
35114
  show: {
@@ -35159,8 +35138,8 @@ const Wz = /* @__PURE__ */ se(Fz, [["render", Vz]]), Xz = {
35159
35138
  this.$emit("penalty:remove", { penalty: t, fencer1: this.fencer1 });
35160
35139
  }
35161
35140
  }
35162
- }, Zz = { class: "flex w-full justify-end mt-1" };
35163
- function _z(t, e, n, r, o, i) {
35141
+ }, nL = { class: "flex w-full justify-end mt-1" };
35142
+ function rL(t, e, n, r, o, i) {
35164
35143
  const A = w("BaseIcon"), a = w("PenaltyCard");
35165
35144
  return C(), ne(cn, {
35166
35145
  "enter-active-class": "transition-opacity duration-500",
@@ -35181,7 +35160,7 @@ function _z(t, e, n, r, o, i) {
35181
35160
  onClick: e[0] || (e[0] = at(() => {
35182
35161
  }, ["stop"]))
35183
35162
  }, [
35184
- p("div", Zz, [
35163
+ p("div", nL, [
35185
35164
  h(A, {
35186
35165
  "icon-name": "fa-circle-xmark",
35187
35166
  size: "lg",
@@ -35203,59 +35182,14 @@ function _z(t, e, n, r, o, i) {
35203
35182
  _: 1
35204
35183
  });
35205
35184
  }
35206
- const Jp = /* @__PURE__ */ se(Xz, [["render", _z]]), $z = {
35207
- name: "PenaltyConfirmationBox",
35208
- components: { BaseText: Be, BaseIcon: He }
35209
- }, eL = { class: "mt-4 py-4 md:mt-4 md:py-6 w-11/12 flex flex-col bg-white mx-auto rounded-2xl shadow-md border" }, tL = { class: "w-full flex flex-col items-center text-center px-4" };
35210
- function nL(t, e, n, r, o, i) {
35211
- const A = w("BaseIcon"), a = w("BaseText");
35212
- return C(), I("section", eL, [
35213
- p("div", tL, [
35214
- h(A, {
35215
- "icon-name": "fa-clock",
35216
- size: "5xl",
35217
- color: "quaternary",
35218
- class: "mb-4"
35219
- }),
35220
- h(a, {
35221
- text: "Waiting for second confirmation",
35222
- size: "xl",
35223
- color: "primary",
35224
- weight: "bold"
35225
- }),
35226
- h(a, {
35227
- text: "Issue has been recorded and is pending approval from another staff member.",
35228
- size: "sm",
35229
- color: "quinary",
35230
- class: "mt-2 px-6"
35231
- })
35232
- ])
35233
- ]);
35234
- }
35235
- const rL = /* @__PURE__ */ se($z, [["render", nL]]), oL = {
35185
+ const Jp = /* @__PURE__ */ se(tL, [["render", rL]]), oL = {
35236
35186
  name: "DirectorCard",
35237
- components: {
35238
- PenaltyConfirmationBox: rL,
35239
- PenaltyModal: Jp,
35240
- BaseButton: qe,
35241
- TimerBox: Cz,
35242
- PassesBox: kz,
35243
- ScoreBox: sz
35244
- },
35187
+ components: { PenaltyModal: Jp, PenaltyConfirmationBox: Pz, ScoreBox: sz, TimerBox: Cz, PassesBox: kz, BaseButton: qe },
35245
35188
  emits: ["penalty:remove", "penalty:add", "penalty:update", "submit:bout", "update:bout"],
35246
35189
  props: {
35247
- eventRules: {
35248
- type: Array,
35249
- default: () => []
35250
- },
35251
- bout: {
35252
- type: Object,
35253
- required: !0
35254
- },
35255
- hostingClubColors: {
35256
- type: Object,
35257
- required: !0
35258
- }
35190
+ eventRules: Array,
35191
+ bout: Object,
35192
+ hostingClubColors: Object
35259
35193
  },
35260
35194
  data() {
35261
35195
  return {
@@ -35266,34 +35200,32 @@ const rL = /* @__PURE__ */ se($z, [["render", nL]]), oL = {
35266
35200
  localBout: { ...this.bout },
35267
35201
  isCountingUp: !0,
35268
35202
  lastNote1: "",
35269
- lastNote2: ""
35203
+ lastNote2: "",
35204
+ timeLeft: 0,
35205
+ timerRunning: !1,
35206
+ timerInterval: null
35270
35207
  };
35271
35208
  },
35272
35209
  mounted() {
35273
- this.localBout.TimeLeft = this.startTime, this.setCountingDirection(), this.emitBout();
35210
+ this.timeLeft = this.startTime, this.determineCountingDirection();
35274
35211
  },
35275
35212
  computed: {
35276
35213
  RingName() {
35277
- return this.localBout.Pool.RingName || "Ring";
35214
+ var t;
35215
+ return ((t = this.localBout.Pool) == null ? void 0 : t.RingName) || "Ring";
35278
35216
  },
35279
35217
  showPassesBox() {
35280
35218
  return Array.isArray(this.eventRules) && !this.showPenaltyConfirmationBox && (this.eventRules.some((t) => t.Rules.RuleName === "PoolNumOfPasses") || this.eventRules.some((t) => t.Rules.RuleName === "DENumOfPasses"));
35281
35219
  },
35282
35220
  showTimerBox() {
35283
- return Array.isArray(this.eventRules) && !this.showPenaltyConfirmationBox && (this.eventRules.some((t) => t.Rules.RuleName === "PoolTime") || this.eventRules.some((t) => t.Rules.RuleName === "DETime"));
35221
+ return this.eventRules.some((t) => t.Rules.RuleName.includes("Time"));
35222
+ },
35223
+ startTime() {
35224
+ return this.localBout.TimeLeft || 90;
35284
35225
  },
35285
35226
  showHandShotCounterBox() {
35286
35227
  return Array.isArray(this.eventRules) && this.eventRules.some((t) => t.Rules.RuleName === "CountHandshots" && t.RuleValue === "true");
35287
35228
  },
35288
- startTime() {
35289
- if (this.localBout.TimeLeft > 0) return this.localBout.TimeLeft;
35290
- if (this.localBout.DEBoutId) {
35291
- const e = Array.isArray(this.eventRules) ? this.eventRules.find((n) => n.Rules.RuleName === "DETime") : null;
35292
- return e ? parseInt(e.RuleValue) : 90;
35293
- }
35294
- const t = Array.isArray(this.eventRules) ? this.eventRules.find((e) => e.Rules.RuleName === "PoolTime") : null;
35295
- return t ? parseInt(t.RuleValue) : 90;
35296
- },
35297
35229
  maxPoints() {
35298
35230
  if (this.localBout.DEBoutId) {
35299
35231
  const e = Array.isArray(this.eventRules) ? this.eventRules.find((n) => n.Rules.RuleName === "DEMaxPoints") : null;
@@ -35301,9 +35233,37 @@ const rL = /* @__PURE__ */ se($z, [["render", nL]]), oL = {
35301
35233
  }
35302
35234
  const t = Array.isArray(this.eventRules) ? this.eventRules.find((e) => e.Rules.RuleName === "PoolMaxPoints") : null;
35303
35235
  return t ? parseInt(t.RuleValue) : 7;
35236
+ },
35237
+ maxPasses() {
35238
+ if (this.localBout.DEBoutId) {
35239
+ const e = Array.isArray(this.eventRules) ? this.eventRules.find((n) => n.Rules.RuleName === "DEMaxPasses") : null;
35240
+ return e ? parseInt(e.RuleValue) : 7;
35241
+ }
35242
+ const t = Array.isArray(this.eventRules) ? this.eventRules.find((e) => e.Rules.RuleName === "PoolMaxPasses") : null;
35243
+ return t ? parseInt(t.RuleValue) : 7;
35304
35244
  }
35305
35245
  },
35306
35246
  methods: {
35247
+ determineCountingDirection() {
35248
+ if (Array.isArray(this.eventRules)) {
35249
+ const t = this.eventRules.find((e) => e.Rules.RuleName === "PoolScoreDirection");
35250
+ this.isCountingUp = t ? t.RuleValue === "true" : !0;
35251
+ }
35252
+ },
35253
+ toggleTimer() {
35254
+ this.timerRunning ? clearInterval(this.timerInterval) : this.timerInterval = setInterval(() => {
35255
+ this.timeLeft > 0 ? (this.timeLeft--, this.emitBout()) : this.stopTimer();
35256
+ }, 1e3), this.timerRunning = !this.timerRunning, this.emitBout();
35257
+ },
35258
+ adjustTime(t) {
35259
+ this.timeLeft = Math.max(0, this.timeLeft + t), this.emitBout();
35260
+ },
35261
+ stopTimer() {
35262
+ clearInterval(this.timerInterval), this.timerRunning = !1, this.emitBout();
35263
+ },
35264
+ submitBout() {
35265
+ this.stopTimer(), this.$emit("submit:bout", this.localBout);
35266
+ },
35307
35267
  handleCloseModal() {
35308
35268
  this.showPenaltyModal = !1;
35309
35269
  },
@@ -35328,11 +35288,8 @@ const rL = /* @__PURE__ */ se($z, [["render", nL]]), oL = {
35328
35288
  updatePasses(t) {
35329
35289
  this.localBout.CurrentPass = t, this.emitBout();
35330
35290
  },
35331
- submitBout() {
35332
- this.handleTimeStateChange({ time: this.localBout.TimeLeft, running: !1 }), this.showSubmit && this.$emit("submit:bout", this.localBout);
35333
- },
35334
35291
  emitBout() {
35335
- this.localBout.Started === null && (this.localBout.Started = (/* @__PURE__ */ new Date()).toISOString());
35292
+ this.localBout.TimeLeft = this.timeLeft, this.localBout.Started === null && (this.localBout.Started = (/* @__PURE__ */ new Date()).toISOString());
35336
35293
  const t = this.isCountingUp ? this.localBout.Score1 === this.maxPoints || this.localBout.Score2 === this.maxPoints : this.localBout.Score1 === 0 || this.localBout.Score2 === 0, e = this.localBout.TimeLeft === 0, n = this.localBout.CurrentPass === this.maxPasses - 1;
35337
35294
  this.showPassesBox && (this.showSubmit = n || t), this.showTimerBox && (this.showSubmit = e || t), !this.showPassesBox && !this.showTimerBox && (this.showSubmit = !0), this.localBout.Score1 === this.localBout.Score2 && this.isDoubleElimination() && (this.showSubmit = !1), this.$emit("update:bout", this.localBout);
35338
35295
  },
@@ -35365,6 +35322,9 @@ const rL = /* @__PURE__ */ se($z, [["render", nL]]), oL = {
35365
35322
  handleRemovePenalty(t) {
35366
35323
  t.BoutId = this.localBout.BoutId, t.EventId = this.localBout.EventId, this.$emit("penalty:remove", t);
35367
35324
  }
35325
+ },
35326
+ beforeDestroy() {
35327
+ clearInterval(this.timerInterval);
35368
35328
  }
35369
35329
  }, iL = { class: "w-11/12 mt-5 mx-6" };
35370
35330
  function sL(t, e, n, r, o, i) {
@@ -35381,18 +35341,18 @@ function sL(t, e, n, r, o, i) {
35381
35341
  "onUpdate:Score": i.updateScore1,
35382
35342
  "onUpdate:HandShotValue": i.updateHandShot1
35383
35343
  }, null, 8, ["bout", "hostingClubColors", "maxScore", "isCountingUp", "showHandShotCounterBox", "onPenalty:open", "onUpdate:Score", "onUpdate:HandShotValue"]),
35384
- i.showTimerBox ? (C(), ne(a, {
35344
+ i.showTimerBox && !o.showPenaltyConfirmationBox ? (C(), ne(a, {
35385
35345
  key: 0,
35346
+ timeLeft: o.timeLeft,
35347
+ running: o.timerRunning,
35386
35348
  ringName: i.RingName,
35387
- initialTime: parseInt(i.startTime),
35388
- clockStatus: o.localBout.TimerStatus,
35389
- "onUpdate:time": i.handleTimeChange,
35390
- "onUpdate:timeChange": i.handleTimeStateChange
35391
- }, null, 8, ["ringName", "initialTime", "clockStatus", "onUpdate:time", "onUpdate:timeChange"])) : b("", !0),
35392
- i.showPassesBox ? (C(), ne(l, {
35349
+ onStartPause: i.toggleTimer,
35350
+ onAdjustTime: i.adjustTime
35351
+ }, null, 8, ["timeLeft", "running", "ringName", "onStartPause", "onAdjustTime"])) : b("", !0),
35352
+ i.showPassesBox && !o.showPenaltyConfirmationBox ? (C(), ne(l, {
35393
35353
  key: 1,
35394
35354
  bout: o.localBout,
35395
- maxPasses: parseInt(t.maxPasses),
35355
+ maxPasses: parseInt(i.maxPasses),
35396
35356
  "onUpdate:passes": i.updatePasses
35397
35357
  }, null, 8, ["bout", "maxPasses", "onUpdate:passes"])) : b("", !0),
35398
35358
  o.showPenaltyConfirmationBox ? (C(), ne(c, { key: 2 })) : b("", !0),