@dcrackel/hematournamentui 1.0.180 → 1.0.181
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/HemaTournamentUI-lib.es.js +742 -670
- package/dist/HemaTournamentUI-lib.umd.js +2 -2
- package/package.json +1 -1
- package/src/mocks/getPoolsWithBouts.js +8 -0
- package/src/mocks/getPoolsWithBoutsByPoolId.js +5 -1
- package/src/stories/Molecules/ScoreBoardSections/ScoreBoardPasses/ScoreBoardPasses.stories.js +45 -0
- package/src/stories/Molecules/ScoreBoardSections/ScoreBoardPasses/ScoreBoardPasses.vue +39 -0
- package/src/stories/Molecules/ScoreBoardSections/ScoreBoardTimer/ScoreBoardTimer.vue +10 -2
- package/src/stories/Organisms/ScoreBoardParts/FencerNameBar/FencerNameBar.stories.js +1 -1
- package/src/stories/Organisms/ScoreBoardParts/ScoreBar/ScoreBar.vue +12 -2
- package/src/stories/Templates/ScoreBoard/ScoreBoard.vue +3 -3
package/package.json
CHANGED
|
@@ -9,6 +9,7 @@ const getPoolsWithBouts =
|
|
|
9
9
|
"Status": "Active",
|
|
10
10
|
"Score1": 7,
|
|
11
11
|
"Score2": 5,
|
|
12
|
+
"CurrentPass": 1,
|
|
12
13
|
"Started": null,
|
|
13
14
|
"Ended": null,
|
|
14
15
|
"TimerStatus": "stopped",
|
|
@@ -17,6 +18,7 @@ const getPoolsWithBouts =
|
|
|
17
18
|
"DEBoutId": null,
|
|
18
19
|
"DENextBoutId": null,
|
|
19
20
|
"RefereeId": null,
|
|
21
|
+
"RingName": "Ring1",
|
|
20
22
|
"createdAt": "2024-06-15T06:45:39.000Z",
|
|
21
23
|
"updatedAt": "2024-06-15T06:45:39.000Z",
|
|
22
24
|
"Person1": {
|
|
@@ -52,6 +54,7 @@ const getPoolsWithBouts =
|
|
|
52
54
|
"Status": "Completed",
|
|
53
55
|
"Score1": 7,
|
|
54
56
|
"Score2": 4,
|
|
57
|
+
"CurrentPass": 1,
|
|
55
58
|
"Started": null,
|
|
56
59
|
"Ended": null,
|
|
57
60
|
"TimerStatus": "stopped",
|
|
@@ -98,6 +101,7 @@ const getPoolsWithBouts =
|
|
|
98
101
|
"DEBoutId": null,
|
|
99
102
|
"DENextBoutId": null,
|
|
100
103
|
"RefereeId": null,
|
|
104
|
+
"RingName": "Ring1",
|
|
101
105
|
"createdAt": "2024-06-15T06:45:39.000Z",
|
|
102
106
|
"updatedAt": "2024-06-15T06:45:39.000Z",
|
|
103
107
|
"Person1": {
|
|
@@ -136,6 +140,7 @@ const getPoolsWithBouts =
|
|
|
136
140
|
"DEBoutId": null,
|
|
137
141
|
"DENextBoutId": null,
|
|
138
142
|
"RefereeId": null,
|
|
143
|
+
"RingName": "Ring1",
|
|
139
144
|
"createdAt": "2024-06-15T06:45:39.000Z",
|
|
140
145
|
"updatedAt": "2024-06-15T06:45:39.000Z",
|
|
141
146
|
"Person1": {
|
|
@@ -179,6 +184,7 @@ const getPoolsWithBouts =
|
|
|
179
184
|
"DEBoutId": null,
|
|
180
185
|
"DENextBoutId": null,
|
|
181
186
|
"RefereeId": null,
|
|
187
|
+
"RingName": "Ring1",
|
|
182
188
|
"createdAt": "2024-06-15T06:45:39.000Z",
|
|
183
189
|
"updatedAt": "2024-06-15T06:45:39.000Z",
|
|
184
190
|
"Person1": {
|
|
@@ -217,6 +223,7 @@ const getPoolsWithBouts =
|
|
|
217
223
|
"DEBoutId": null,
|
|
218
224
|
"DENextBoutId": null,
|
|
219
225
|
"RefereeId": null,
|
|
226
|
+
"RingName": "Ring1",
|
|
220
227
|
"createdAt": "2024-06-15T06:45:39.000Z",
|
|
221
228
|
"updatedAt": "2024-06-15T06:45:39.000Z",
|
|
222
229
|
"Person1": {
|
|
@@ -255,6 +262,7 @@ const getPoolsWithBouts =
|
|
|
255
262
|
"DEBoutId": null,
|
|
256
263
|
"DENextBoutId": null,
|
|
257
264
|
"RefereeId": null,
|
|
265
|
+
"RingName": "Ring1",
|
|
258
266
|
"createdAt": "2024-06-15T06:45:39.000Z",
|
|
259
267
|
"updatedAt": "2024-06-15T06:45:39.000Z",
|
|
260
268
|
"Person1": {
|
|
@@ -22,13 +22,16 @@ const getPoolsWithBoutsByPoolId =
|
|
|
22
22
|
"Status": "Active",
|
|
23
23
|
"Score1": 6,
|
|
24
24
|
"Score2": 4,
|
|
25
|
+
"CurrentPass": 1,
|
|
26
|
+
"MaxPasses": 5,
|
|
25
27
|
"Started": null,
|
|
26
28
|
"Ended": null,
|
|
27
29
|
"TimeLeft": 52,
|
|
28
30
|
"RoundLabel": null,
|
|
29
31
|
"DEBoutId": null,
|
|
30
32
|
"DENextBoutId": null,
|
|
31
|
-
"RefereeId":
|
|
33
|
+
"RefereeId": 1,
|
|
34
|
+
"RingName": "Ring 2",
|
|
32
35
|
"createdAt": "2024-06-15T06:45:39.000Z",
|
|
33
36
|
"updatedAt": "2024-06-15T06:45:39.000Z",
|
|
34
37
|
"Person1": {
|
|
@@ -74,6 +77,7 @@ const getPoolsWithBoutsByPoolId =
|
|
|
74
77
|
"DEBoutId": null,
|
|
75
78
|
"DENextBoutId": null,
|
|
76
79
|
"RefereeId": null,
|
|
80
|
+
"RingName": "Ring 2",
|
|
77
81
|
"createdAt": "2024-06-15T06:45:39.000Z",
|
|
78
82
|
"updatedAt": "2024-06-15T06:45:39.000Z",
|
|
79
83
|
"Person1": {
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import ScoreBoardPasses from './ScoreBoardPasses.vue';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Molecules/ScoreBoardSections/ScoreBoardPasses',
|
|
5
|
+
component: ScoreBoardPasses,
|
|
6
|
+
tags: ['autodocs'],
|
|
7
|
+
args: {
|
|
8
|
+
ringName: 'Ring 1',
|
|
9
|
+
currentPass: 3,
|
|
10
|
+
totalPasses: 5,
|
|
11
|
+
directorName: 'Dave Smith'
|
|
12
|
+
},
|
|
13
|
+
argTypes: {
|
|
14
|
+
ringName: {
|
|
15
|
+
control: 'text',
|
|
16
|
+
},
|
|
17
|
+
currentPass: {
|
|
18
|
+
control: 'number',
|
|
19
|
+
},
|
|
20
|
+
totalPasses: {
|
|
21
|
+
control: 'number',
|
|
22
|
+
},
|
|
23
|
+
directorName: {
|
|
24
|
+
control: 'text',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export const Default = {
|
|
30
|
+
args: {
|
|
31
|
+
ringName: 'Ring 1',
|
|
32
|
+
currentPass: 3,
|
|
33
|
+
totalPasses: 5,
|
|
34
|
+
directorName: 'Dave Smith'
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export const DifferentPasses = {
|
|
39
|
+
args: {
|
|
40
|
+
ringName: 'Ring 2',
|
|
41
|
+
currentPass: 2,
|
|
42
|
+
totalPasses: 7,
|
|
43
|
+
directorName: 'John Doe'
|
|
44
|
+
},
|
|
45
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="border rounded-lg px-10 text-center flex flex-col w-[50rem]">
|
|
3
|
+
<BaseText :text="ringName" size="5xl" weight="bold" color="neutral" class="mt-5" />
|
|
4
|
+
<BaseText :text="formattedPasses" weight="bold" color="neutral" class="-mt-4" size="9xl" />
|
|
5
|
+
<BaseText :text="directorName" size="2xl" weight="" color="neutral" class="-mt-4" />
|
|
6
|
+
</div>
|
|
7
|
+
</template>
|
|
8
|
+
|
|
9
|
+
<script>
|
|
10
|
+
import BaseText from "../../../Atoms/Text/BaseText.vue";
|
|
11
|
+
|
|
12
|
+
export default {
|
|
13
|
+
name: 'ScoreBoardPasses',
|
|
14
|
+
components: { BaseText },
|
|
15
|
+
props: {
|
|
16
|
+
ringName: {
|
|
17
|
+
type: String,
|
|
18
|
+
required: true
|
|
19
|
+
},
|
|
20
|
+
currentPass: {
|
|
21
|
+
type: Number,
|
|
22
|
+
required: true
|
|
23
|
+
},
|
|
24
|
+
totalPasses: {
|
|
25
|
+
type: Number,
|
|
26
|
+
required: true
|
|
27
|
+
},
|
|
28
|
+
directorName: {
|
|
29
|
+
type: String,
|
|
30
|
+
required: true
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
computed: {
|
|
34
|
+
formattedPasses() {
|
|
35
|
+
return `${this.currentPass}:${this.totalPasses}`;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
</script>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="border rounded-lg px-10 text-center flex flex-col w-[50rem]">
|
|
3
|
-
<BaseText text="
|
|
3
|
+
<BaseText :text="ringName" size="5xl" weight="bold" color="neutral" class="mt-5" />
|
|
4
4
|
<BaseText :text="formattedTime" weight="bold" color="neutral" class="-mt-4" size="9xl" />
|
|
5
|
-
<BaseText text="
|
|
5
|
+
<BaseText :text="directorName" size="2xl" weight="" color="neutral" class="-mt-4" />
|
|
6
6
|
</div>
|
|
7
7
|
</template>
|
|
8
8
|
|
|
@@ -20,6 +20,14 @@ export default {
|
|
|
20
20
|
timerStatus: {
|
|
21
21
|
type: String,
|
|
22
22
|
default: 'stopped'
|
|
23
|
+
},
|
|
24
|
+
ringName: {
|
|
25
|
+
type: String,
|
|
26
|
+
required: true
|
|
27
|
+
},
|
|
28
|
+
directorName: {
|
|
29
|
+
type: String,
|
|
30
|
+
required: true
|
|
23
31
|
}
|
|
24
32
|
},
|
|
25
33
|
data() {
|
|
@@ -34,7 +34,7 @@ export const Default = {
|
|
|
34
34
|
|
|
35
35
|
export const BlueAndGreen = {
|
|
36
36
|
args: {
|
|
37
|
-
bout:
|
|
37
|
+
bout: { "updateBout": { "TimerStatus": "stopped", "BoutId": 1944, "PoolId": 139, "EventId": 6, "Person1Id": 1, "Person2Id": 10, "Status": "Active", "Score1": 2, "Score2": 0, "Started": "2024-07-16T15:50:26.000Z", "Ended": null, "TimeLeft": 90, "CurrentPass": 3, "RoundLabel": null, "DEBoutId": null, "DENextBoutId": null, "RefereeId": null, "createdAt": "2024-07-16T15:49:16.000Z", "updatedAt": "2024-07-16T23:20:19.000Z", "Person1": { "PersonId": 1, "DisplayName": "Dave Smith", "ClubId": 4, "Images": [ { "ImageId": 7, "URL": "https://randomuser.me/api/portraits/men/22.jpg" } ], "Club": { "Name": "Guardians of the Guard", "Color1": "purple", "Color2": "orange" }, "EventPersons": [ { "DEPosition": null } ] }, "Person2": { "PersonId": 10, "DisplayName": "Melissa Jones", "ClubId": 4, "Images": [ { "ImageId": 21, "URL": "https://randomuser.me/api/portraits/women/9.jpg" } ], "Club": { "Name": "Guardians of the Guard" }, "EventPersons": [ { "DEPosition": null } ] } } },
|
|
38
38
|
hostingClubColors: {
|
|
39
39
|
Color1: 'blue',
|
|
40
40
|
Color2: 'green'
|
|
@@ -3,10 +3,18 @@
|
|
|
3
3
|
<FencerScore
|
|
4
4
|
:score="bout.Score1"
|
|
5
5
|
/>
|
|
6
|
-
<ScoreBoardTimer
|
|
6
|
+
<ScoreBoardTimer v-if="!bout.CurrentPass"
|
|
7
7
|
:initialTime="bout.TimeLeft"
|
|
8
8
|
:timerStatus="bout.TimerStatus"
|
|
9
|
-
|
|
9
|
+
:ringName="bout.RingName"
|
|
10
|
+
:directorName="bout.RefereeId"
|
|
11
|
+
/>
|
|
12
|
+
<ScoreBoardPasses v-if="bout.CurrentPass"
|
|
13
|
+
:currentPass="bout.CurrentPass"
|
|
14
|
+
:totalPasses="bout.MaxPasses"
|
|
15
|
+
:ringName="bout.RingName"
|
|
16
|
+
:directorName="bout.RefereeId"
|
|
17
|
+
/>
|
|
10
18
|
<FencerScore
|
|
11
19
|
:score="bout.Score2"
|
|
12
20
|
/>
|
|
@@ -16,10 +24,12 @@
|
|
|
16
24
|
<script>
|
|
17
25
|
import FencerScore from '../../../Molecules/ScoreBoardSections/FencerScore/FencerScore.vue';
|
|
18
26
|
import ScoreBoardTimer from "../../../Molecules/ScoreBoardSections/ScoreBoardTimer/ScoreBoardTimer.vue";
|
|
27
|
+
import ScoreBoardPasses from "../../../Molecules/ScoreBoardSections/ScoreBoardPasses/ScoreBoardPasses.vue";
|
|
19
28
|
|
|
20
29
|
export default {
|
|
21
30
|
name: 'ScoreBar',
|
|
22
31
|
components: {
|
|
32
|
+
ScoreBoardPasses,
|
|
23
33
|
ScoreBoardTimer,
|
|
24
34
|
FencerScore
|
|
25
35
|
},
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="bg-black h-screen">
|
|
3
3
|
<FencerNameBar v-if="currentBout" :bout="currentBout" :hostingClubColors="hostingClubColors" />
|
|
4
4
|
<div class="py-8"></div>
|
|
5
|
-
<
|
|
5
|
+
<ScoreBar v-if="currentBout" :bout="currentBout" :hostingClubColors="hostingClubColors" />
|
|
6
6
|
<div class="pt-20"></div>
|
|
7
7
|
<FencerPit v-if="nextBouts.length" :nextBouts="nextBouts" :hostingClubColors="hostingClubColors" />
|
|
8
8
|
</div>
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
|
|
11
11
|
<script>
|
|
12
12
|
import FencerNameBar from '../../Organisms/ScoreBoardParts/FencerNameBar/FencerNameBar.vue';
|
|
13
|
-
import
|
|
13
|
+
import ScoreBar from '../../Organisms/ScoreBoardParts/ScoreBar/ScoreBar.vue';
|
|
14
14
|
import FencerPit from '../../Organisms/ScoreBoardParts/FencerPit/FencerPit.vue';
|
|
15
15
|
|
|
16
16
|
export default {
|
|
17
17
|
name: 'ScoreBoard',
|
|
18
18
|
components: {
|
|
19
19
|
FencerNameBar,
|
|
20
|
-
|
|
20
|
+
ScoreBar,
|
|
21
21
|
FencerPit
|
|
22
22
|
},
|
|
23
23
|
props: {
|