@dcrackel/hematournamentui 1.0.637 → 1.0.639

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dcrackel/hematournamentui",
3
3
  "private": false,
4
- "version": "1.0.637",
4
+ "version": "1.0.639",
5
5
  "type": "module",
6
6
  "main": "dist/HemaTournamentUI-lib.umd.js",
7
7
  "module": "dist/HemaTournamentUI-lib.es.js",
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="flex items-center border border-dropdownSelect rounded-lg shadow-lg bg-white w-full hover:border-bright"
2
+ <div class="flex items-center border py-1 border-dropdownSelect rounded-lg shadow-lg bg-white w-full hover:border-bright"
3
3
  :class="detail ? 'my-1 ' : ''" @click="handleEditClick">
4
4
  <div class="md:mr-4 md:border-r border-dropdownSelect h-12 md:h-16 md:w-10 items-center text-center pl-1 md:pl-1 pt-3 md:pt-4">
5
5
  <BaseText :text="place" size="" color="quaternary" weight="bold" class="text-md md:text-xl"/>
@@ -22,7 +22,7 @@
22
22
  <BaseText :text="fullName" size="" color="quaternary" weight="bold" class="text-sm md:text-lg"/>
23
23
  </span>
24
24
  <span class="w-full flex flex-col justify-start">
25
- <BaseText :text="clubName" size="" color="quinary" weight="normal" class="text-xs md:text-md"/>
25
+ <BaseText :text="clubName" size="" color="quinary" weight="normal" class="text-xs md:text-md text-nowrap"/>
26
26
  </span>
27
27
  </div>
28
28
  <section class="flex items-center justify-end w-1/2 pr-4 space-x-4">
@@ -12,9 +12,15 @@
12
12
  <!-- active bout -->
13
13
  <section v-if="remainingBoutsCount > 0">
14
14
  <div class="md:border-b border-dropdownSelect md:mb-8"></div>
15
-
16
15
  <div class="w-full flex flex-col items-center">
17
- <div v-if="!hasActiveBout" class="w-full md:w-3/4 my-4">
16
+
17
+ <BaseButton v-if="remainingBoutsCount === localBouts.length" label="Fencer List on scoreboard" type="primary" class="w-full md:w-3/4 my-1" @buttonClick="showFencerList" />
18
+
19
+ <div v-if="fencerList" v-for="fencer in simpleFencerList" class="w-full md:w-3/4 my-1">
20
+ <FencerFinalResultCard :result="fencer" />
21
+ </div>
22
+
23
+ <div v-if="!hasActiveBout && !fencerList" class="w-full md:w-3/4 my-4">
18
24
  <BoutCard :bout="{}" :hostingClubColors="hostingClubColors" :editMode="editMode" :isWaiting="true"/>
19
25
  </div>
20
26
  <div v-for="bout in activeBouts" :key="bout.BoutId" class="w-full md:w-3/4 my-4">
@@ -24,7 +30,7 @@
24
30
  </section>
25
31
 
26
32
  <!-- Upcoming -->
27
- <section v-if="remainingBoutsCount > 0">
33
+ <section v-if="remainingBoutsCount > 0 && !fencerList">
28
34
  <div class="flex flex-row justify-between">
29
35
  <BaseText class="mt-5" color="primaryHighlight" size="md" text="Upcoming" weight="bold"/>
30
36
  <div class="flex mr-1">
@@ -41,7 +47,7 @@
41
47
  </section>
42
48
 
43
49
  <!-- Completed -->
44
- <section v-if="hasCompletedBout > 0">
50
+ <section v-if="hasCompletedBout > 0 && !fencerList">
45
51
  <div class="flex flex-row">
46
52
  <BaseText v-if="remainingBoutsCount === 0" class="mt-8" color="primaryHighlight" size="md" text="All Bouts Are Complete" weight="bold" />
47
53
  <BaseText v-if="remainingBoutsCount > 0" class="mt-5" color="primaryHighlight" size="md" text="Completed" weight="bold"/>
@@ -83,9 +89,13 @@ import ServerConnected from "../../../Molecules/Indicators/ServerConnected/Serve
83
89
  import PenaltyModal from "../../../Molecules/Modals/PenaltyModal/PenaltyModal.vue";
84
90
  import PoolGrid from "../../../Organisms/Containers/PoolGrid/PoolGrid.vue";
85
91
  import { tabs } from '../../../Util/tabs.js';
92
+ import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
93
+ import FencerFinalResultCard from "../../../Organisms/Cards/FencerFinalResultCard/FencerFinalResultCard.vue";
86
94
 
87
95
  export default {
88
96
  components: {
97
+ FencerFinalResultCard,
98
+ BaseButton,
89
99
  PenaltyModal,
90
100
  PoolGrid,
91
101
  ServerConnected,
@@ -96,7 +106,7 @@ export default {
96
106
  ToggleHeader,
97
107
  EditEventsTopMenu
98
108
  },
99
- emits: ["update:bout","tab:menu-click","submit:bout","update:directing-bout","penalty:update","penalty:add","penalty:remove", ],
109
+ emits: ["update:bout","tab:menu-click","submit:bout","update:directing-bout","penalty:update","penalty:add","penalty:remove","scoreboard:showFencerList"],
100
110
  props: {
101
111
  bouts: {
102
112
  type: Array,
@@ -130,6 +140,7 @@ export default {
130
140
  showEditBoutModal: false,
131
141
  selectedBout: {},
132
142
  viewName: "Pool Grid",
143
+ fencerList: false,
133
144
  tabs,
134
145
  windowWidth: window.innerWidth,
135
146
  };
@@ -177,6 +188,19 @@ export default {
177
188
  remainingBoutsCount() {
178
189
  return this.upcomingBouts.length;
179
190
  },
191
+ simpleFencerList() {
192
+ const fencerMap = {};
193
+
194
+ this.localBouts.forEach(bout => {
195
+ [bout.Person1, bout.Person2].forEach(person => {
196
+ if (person && !fencerMap[person.PersonId]) {
197
+ fencerMap[person.PersonId] = person;
198
+ }
199
+ });
200
+ });
201
+
202
+ return Object.values(fencerMap);
203
+ },
180
204
  markedUpcomingBouts() {
181
205
  const statuses = ['Up Now', 'On Deck', 'In The Hole'];
182
206
  return this.upcomingBouts.map((bout, index) => {
@@ -273,6 +297,10 @@ export default {
273
297
  },
274
298
  handleRemovePenalty(penalty) {
275
299
  this.$emit('penalty:remove', penalty);
300
+ },
301
+ showFencerList(){
302
+ this.fencerList = !this.fencerList;
303
+ this.$emit('scoreboard:showFencerList', this.fencerList);
276
304
  }
277
305
  }
278
306
  }