@dcrackel/hematournamentui 1.0.60 → 1.0.62
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/.storybook/main.js +1 -3
- package/.storybook/preview.js +1 -1
- package/dist/HemaTouranmentUI-lib.es.js +1568 -1577
- package/dist/HemaTouranmentUI-lib.umd.js +13 -13
- package/dist/style.css +1 -1
- package/package.json +13 -13
- package/src/index.js +1 -1
- package/src/mocks/personsMock.js +353 -36
- package/src/mocks/tournamentMock.js +1 -1
- package/src/stories/Molecules/Boxes/CounterBox/CounterBox.stories.js +29 -0
- package/src/stories/Molecules/Boxes/CounterBox/CounterBox.vue +67 -0
- package/src/stories/Molecules/Boxes/EventStatusBox/EventStatusBox.stories.js +40 -0
- package/src/stories/Molecules/Boxes/EventStatusBox/EventStatusBox.vue +35 -0
- package/src/stories/Molecules/Buttons/ButtonBar/ButtonBar.stories.js +9 -9
- package/src/stories/Molecules/Buttons/ButtonBar/ButtonBar.vue +5 -4
- package/src/stories/Organisms/Cards/EventCard/EventCard.vue +5 -19
- package/src/stories/Organisms/Cards/FencerCard/FencerCard.stories.js +171 -0
- package/src/stories/Organisms/Cards/FencerCard/FencerCard.vue +129 -0
- package/src/stories/Organisms/ComplexInputs/DropDown/DropDownMenu.vue +18 -6
- package/src/stories/Organisms/Containers/PoolSummary/PoolSummary.stories.js +28 -0
- package/src/stories/Organisms/Containers/PoolSummary/PoolSummary.vue +55 -0
- package/src/stories/Templates/EventManagement/EventAttendance/EventAttendance.stories.js +29 -0
- package/src/stories/Templates/EventManagement/EventAttendance/EventAttendance.vue +118 -0
- package/src/stories/Templates/{TournamentManagement/EditTournament → EventManagement}/ListEvents/ListEvents.stories.js +2 -2
- package/src/stories/Templates/{TournamentManagement/EditTournament → EventManagement}/ListEvents/ListEvents.vue +14 -6
- package/src/stories/Templates/Menus/EditEventsTopMenu/EditEventsTopMenu.stories.js +20 -0
- package/src/stories/Templates/Menus/EditEventsTopMenu/EditEventsTopMenu.vue +51 -0
- package/src/stories/Templates/Menus/EditTournamentMenu/EditTournamentMenu.stories.js +14 -2
- package/src/stories/Templates/Menus/EditTournamentMenu/EditTournamentMenu.vue +14 -39
- package/src/stories/Templates/TournamentManagement/EditTournament/EditPageOne/EditTournamentPageOne.vue +9 -2
- package/src/stories/Templates/TournamentManagement/EditTournament/EditPageTwo/EditTournamentPageTwo.vue +8 -1
- package/tailwind.config.js +7 -6
- package/src/stories/Molecules/Cards/AdminFencerCard/AdminFencerCard.js +0 -29
- package/src/stories/Molecules/Cards/AdminFencerCard/AdminFencerCard.vue +0 -67
- package/src/stories/Organisms/Containers/Container.stories.js +0 -13
- package/src/stories/Organisms/Containers/Container.vue +0 -6
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<section class="mx-4 p-4 border border-dropdownSelect rounded-2xl">
|
|
3
|
+
|
|
4
|
+
<EditEventsTopMenu :currentTab="'Checkin'" :tabs="tabs"/>
|
|
5
|
+
<PoolSummary :event="event"/>
|
|
6
|
+
|
|
7
|
+
<div class="w-full flex flex-row justify-center mt-3">
|
|
8
|
+
<section class="w-full">
|
|
9
|
+
<div class="w-full flex flex-col justify-center items-center" style="text-align: center">
|
|
10
|
+
<div v-if="persons.length === 0">
|
|
11
|
+
<img alt="Small desert scene with wind blowing." class="w-96" :src="emptyDesertIcon"/>
|
|
12
|
+
<BaseText :color="'primaryHighlight'" :size="'lf'" :text="'0 events added yet.'"
|
|
13
|
+
:weight="'normal'" data-testid="text-num-events"/>
|
|
14
|
+
<BaseText :color="'primaryHighlight'" :size="'lf'" :text="'Click below to add first event.'"
|
|
15
|
+
:weight="'normal'" data-testid="text-num-events"/>
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
<section class="flex justify-between w-full mb-3">
|
|
19
|
+
<BaseButton label="Add Fencer" size="sm" icon-name="fa-plus" icon-style="fa-solid" type="primary"/>
|
|
20
|
+
<DropDownMenu :label="label" :items="items" :selectedItem="localSelectedItem"
|
|
21
|
+
@update:selectedItem="handleSelectedItem"/>
|
|
22
|
+
</section>
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
<section v-for="person in sortedPersons" class="w-full">
|
|
26
|
+
<FencerCard :person="person" class="mb-4" @update:status="handleStatus"/>
|
|
27
|
+
</section>
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
</section>
|
|
31
|
+
</div>
|
|
32
|
+
</section>
|
|
33
|
+
</template>
|
|
34
|
+
|
|
35
|
+
<script>
|
|
36
|
+
import EditTournamentMenu from "../../Menus/EditTournamentMenu/EditTournamentMenu.vue";
|
|
37
|
+
import BaseText from "../../../Atoms/Text/BaseText.vue";
|
|
38
|
+
import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
|
|
39
|
+
import EventCard from "../../../Organisms/Cards/EventCard/EventCard.vue";
|
|
40
|
+
import emptyDesertIcon from '../../../../assets/empty_desert_icon.png';
|
|
41
|
+
import FencerCard from "../../../Organisms/Cards/FencerCard/FencerCard.vue";
|
|
42
|
+
import EditEventsTopMenu from "../../Menus/EditEventsTopMenu/EditEventsTopMenu.vue";
|
|
43
|
+
import PoolSummary from "../../../Organisms/Containers/PoolSummary/PoolSummary.vue";
|
|
44
|
+
import DropDownMenu from "../../../Organisms/ComplexInputs/DropDown/DropDownMenu.vue";
|
|
45
|
+
|
|
46
|
+
export default {
|
|
47
|
+
components: {
|
|
48
|
+
DropDownMenu,
|
|
49
|
+
PoolSummary,
|
|
50
|
+
EditEventsTopMenu,
|
|
51
|
+
FencerCard,
|
|
52
|
+
EventCard,
|
|
53
|
+
EditTournamentMenu,
|
|
54
|
+
BaseText,
|
|
55
|
+
BaseButton,
|
|
56
|
+
},
|
|
57
|
+
props: {
|
|
58
|
+
eventId: Number,
|
|
59
|
+
persons: Array,
|
|
60
|
+
event: Object
|
|
61
|
+
},
|
|
62
|
+
data() {
|
|
63
|
+
return {
|
|
64
|
+
emptyDesertIcon,
|
|
65
|
+
tabs: [
|
|
66
|
+
{id: 'Staff', label: 'Staff', color: 'primaryHighlight'},
|
|
67
|
+
{id: 'Checkin', label: 'Seeding & Checkin', color: 'primaryHighlight'},
|
|
68
|
+
{id: 'Pools', label: 'Pools', color: 'primaryHighlight'},
|
|
69
|
+
{id: 'Pool Results', label: 'Pool Results', color: 'primaryHighlight'},
|
|
70
|
+
{id: 'Bracket', label: 'Bracket', color: 'primaryHighlight'},
|
|
71
|
+
{id: 'Final', label: 'Final Results', color: 'primaryHighlight'}
|
|
72
|
+
],
|
|
73
|
+
label: 'Sort by',
|
|
74
|
+
items: [
|
|
75
|
+
{text: 'Seed', link: 'Seed'},
|
|
76
|
+
{text: 'Name', link: 'FullName'},
|
|
77
|
+
{text: 'M2Rating', link: 'M2Rating'},
|
|
78
|
+
{text: 'HEMARating', link: 'HEMARating'}
|
|
79
|
+
],
|
|
80
|
+
localSelectedItem: {text: 'Seed', link: 'Seed'}
|
|
81
|
+
};
|
|
82
|
+
},
|
|
83
|
+
computed: {
|
|
84
|
+
sortedPersons() {
|
|
85
|
+
const sortKey = this.localSelectedItem.link;
|
|
86
|
+
return this.persons.slice().sort((a, b) => {
|
|
87
|
+
switch (sortKey) {
|
|
88
|
+
case 'FullName':
|
|
89
|
+
const nameA = `${a.Person.FirstName} ${a.Person.LastName}`.toUpperCase();
|
|
90
|
+
const nameB = `${b.Person.FirstName} ${b.Person.LastName}`.toUpperCase();
|
|
91
|
+
return nameA.localeCompare(nameB);
|
|
92
|
+
|
|
93
|
+
case 'HEMARating':
|
|
94
|
+
const ratingA = a.Person.HEMARatings[0] ? a.Person.HEMARatings[0].Rating : 0;
|
|
95
|
+
const ratingB = b.Person.HEMARatings[0] ? b.Person.HEMARatings[0].Rating : 0;
|
|
96
|
+
return ratingB - ratingA; // Descending order
|
|
97
|
+
|
|
98
|
+
case 'M2Rating':
|
|
99
|
+
const m2RatingA = a.Person.M2Ratings[0] ? a.Person.M2Ratings[0].Rating : 'U00';
|
|
100
|
+
const m2RatingB = b.Person.M2Ratings[0] ? b.Person.M2Ratings[0].Rating : 'U00';
|
|
101
|
+
return m2RatingA.localeCompare(m2RatingB); // Descending order
|
|
102
|
+
|
|
103
|
+
default:
|
|
104
|
+
return (a[sortKey] || 0) - (b[sortKey] || 0);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
methods: {
|
|
110
|
+
handleSelectedItem(selectedItem) {
|
|
111
|
+
this.localSelectedItem = selectedItem;
|
|
112
|
+
},
|
|
113
|
+
handleStatus(person) {
|
|
114
|
+
this.$emit('update:person', person);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
</script>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import EditEvents from './ListEvents.vue';
|
|
2
|
-
import eventMockData from '
|
|
2
|
+
import eventMockData from '../../../../mocks/eventMock.js';
|
|
3
3
|
|
|
4
4
|
export default {
|
|
5
|
-
title: 'Templates/
|
|
5
|
+
title: 'Templates/EventManagement/EditTournament/ListEvents',
|
|
6
6
|
component: EditEvents,
|
|
7
7
|
tags: ['autodocs'],
|
|
8
8
|
args: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<section class="mx-4">
|
|
3
|
-
<EditTournamentMenu currentTab="Events"
|
|
3
|
+
<EditTournamentMenu currentTab="Events" :tabs="tabs" />
|
|
4
4
|
<div class="w-full flex flex-row justify-center">
|
|
5
5
|
<section class="w-full">
|
|
6
6
|
<div class="w-full flex flex-col justify-center items-center mb-6" style="text-align: center">
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
</template>
|
|
29
29
|
|
|
30
30
|
<script>
|
|
31
|
-
import EditTournamentMenu from "
|
|
32
|
-
import BaseText from "
|
|
33
|
-
import BaseButton from "
|
|
34
|
-
import EventCard from "
|
|
35
|
-
import emptyDesertIcon from '
|
|
31
|
+
import EditTournamentMenu from "../../Menus/EditTournamentMenu/EditTournamentMenu.vue";
|
|
32
|
+
import BaseText from "../../../Atoms/Text/BaseText.vue";
|
|
33
|
+
import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
|
|
34
|
+
import EventCard from "../../../Organisms/Cards/EventCard/EventCard.vue";
|
|
35
|
+
import emptyDesertIcon from '../../../../assets/empty_desert_icon.png';
|
|
36
36
|
|
|
37
37
|
export default {
|
|
38
38
|
components: {
|
|
@@ -48,6 +48,14 @@ export default {
|
|
|
48
48
|
data() {
|
|
49
49
|
return {
|
|
50
50
|
emptyDesertIcon,
|
|
51
|
+
currentTab: 'Events',
|
|
52
|
+
tabs: [
|
|
53
|
+
{ id: 'Basic', label: 'Basic', color: 'primaryHighlight' },
|
|
54
|
+
{ id: 'Details', label: 'Details', color: 'primaryHighlight' },
|
|
55
|
+
{ id: 'Events', label: 'Events', color: 'primaryHighlight' },
|
|
56
|
+
{ id: 'Payments', label: 'Payments', color: 'primaryHighlight' },
|
|
57
|
+
{ id: 'Staff', label: 'Staff', color: 'primaryHighlight' }
|
|
58
|
+
]
|
|
51
59
|
};
|
|
52
60
|
},
|
|
53
61
|
methods: {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import EditTournamentMenu from "./EditEventsTopMenu.vue";
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Templates/Menus/Events/EditEventsTopMenu',
|
|
5
|
+
component: EditTournamentMenu,
|
|
6
|
+
tags: ['autodocs'],
|
|
7
|
+
args: {},
|
|
8
|
+
argTypes: {}
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const Default = {
|
|
12
|
+
args: {
|
|
13
|
+
currentTab: 'Checkin',
|
|
14
|
+
tabs: [
|
|
15
|
+
{ id: 'Staff', label: 'Staff', color: 'primaryHighlight' },
|
|
16
|
+
{ id: 'Checkin', label: 'Seeding & Checkin', color: 'primaryHighlight' }
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<section class="flex">
|
|
3
|
+
<!-- <div class="mr-4">-->
|
|
4
|
+
<!-- <BaseButton label="Return" size="xs" type="primary" @click="addTournament" />-->
|
|
5
|
+
<!-- <BaseText text="Open Mixed Saber" size="lg" color="Primary" weight="bold" class="ml-4 pt-1" />-->
|
|
6
|
+
<!-- </div>-->
|
|
7
|
+
<TabBar class="border-b border-dropdownSelect mb-5">
|
|
8
|
+
<BaseButton
|
|
9
|
+
v-for="tab in tabs"
|
|
10
|
+
:key="tab.id"
|
|
11
|
+
:selected="currentTab === tab.id"
|
|
12
|
+
class="flex flex-row mx-3"
|
|
13
|
+
:color="tab.color"
|
|
14
|
+
:label="tab.label"
|
|
15
|
+
type="tabBar"
|
|
16
|
+
@click="handleButtonClick(tab.id)"
|
|
17
|
+
></BaseButton>
|
|
18
|
+
</TabBar>
|
|
19
|
+
</section>
|
|
20
|
+
</template>
|
|
21
|
+
|
|
22
|
+
<script>
|
|
23
|
+
import TabBar from "../../../Molecules/Menus/TabBar/TabBar.vue";
|
|
24
|
+
import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
|
|
25
|
+
import BaseText from "../../../Atoms/Text/BaseText.vue";
|
|
26
|
+
|
|
27
|
+
export default {
|
|
28
|
+
components: {
|
|
29
|
+
BaseText,
|
|
30
|
+
TabBar,
|
|
31
|
+
BaseButton
|
|
32
|
+
},
|
|
33
|
+
props: {
|
|
34
|
+
currentTab: {
|
|
35
|
+
type: String,
|
|
36
|
+
required: true,
|
|
37
|
+
default: ''
|
|
38
|
+
},
|
|
39
|
+
tabs: {
|
|
40
|
+
type: Array,
|
|
41
|
+
required: true,
|
|
42
|
+
default: () => []
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
methods: {
|
|
46
|
+
handleButtonClick(buttonId) {
|
|
47
|
+
this.$emit('button-click', buttonId);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
</script>
|
|
@@ -3,9 +3,21 @@ import EditTournamentMenu from "./EditTournamentMenu.vue";
|
|
|
3
3
|
export default {
|
|
4
4
|
title: 'Templates/Menus/EditTournamentMenu/EditTournamentMenu',
|
|
5
5
|
component: EditTournamentMenu,
|
|
6
|
-
tags: ['autodocs']
|
|
6
|
+
tags: ['autodocs'],
|
|
7
|
+
args: {},
|
|
8
|
+
argTypes: {}
|
|
7
9
|
};
|
|
8
10
|
|
|
9
11
|
export const Default = {
|
|
10
|
-
args: {
|
|
12
|
+
args: {
|
|
13
|
+
currentTab: 'Events',
|
|
14
|
+
tabs: [
|
|
15
|
+
{ id: 'Basic', label: 'Basic', color: 'primaryHighlight' },
|
|
16
|
+
{ id: 'Details', label: 'Details', color: 'primaryHighlight' },
|
|
17
|
+
{ id: 'Events', label: 'Events', color: 'primaryHighlight' },
|
|
18
|
+
{ id: 'Payments', label: 'Payments', color: 'primaryHighlight' },
|
|
19
|
+
{ id: 'Staff', label: 'Staff', color: 'primaryHighlight' }
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
|
|
11
23
|
}
|
|
@@ -1,44 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<TabBar class="border-b border-dropdownSelect mb-5">
|
|
3
3
|
<BaseButton
|
|
4
|
-
|
|
4
|
+
v-for="tab in tabs"
|
|
5
|
+
:key="tab.id"
|
|
6
|
+
:selected="currentTab === tab.id"
|
|
5
7
|
class="flex flex-row mx-3"
|
|
6
|
-
color="
|
|
7
|
-
label="
|
|
8
|
+
:color="tab.color"
|
|
9
|
+
:label="tab.label"
|
|
8
10
|
type="tabBar"
|
|
9
|
-
@click="handleButtonClick(
|
|
10
|
-
></BaseButton>
|
|
11
|
-
<BaseButton
|
|
12
|
-
:selected="currentTab === 'Details'"
|
|
13
|
-
class="flex flex-row mx-3"
|
|
14
|
-
color="primaryHighlight"
|
|
15
|
-
label="Details"
|
|
16
|
-
type="tabBar"
|
|
17
|
-
@click="handleButtonClick('Details')"
|
|
18
|
-
></BaseButton>
|
|
19
|
-
<BaseButton
|
|
20
|
-
:selected="currentTab === 'Events'"
|
|
21
|
-
class="flex flex-row mx-3"
|
|
22
|
-
color="primaryHighlight"
|
|
23
|
-
label="Events"
|
|
24
|
-
type="tabBar"
|
|
25
|
-
@click="handleButtonClick('Events')"
|
|
26
|
-
></BaseButton>
|
|
27
|
-
<BaseButton
|
|
28
|
-
:selected="currentTab === 'Payments'"
|
|
29
|
-
class="flex flex-row mx-3"
|
|
30
|
-
color="primaryHighlight"
|
|
31
|
-
label="Payments"
|
|
32
|
-
type="tabBar"
|
|
33
|
-
@click="handleButtonClick('Payments')"
|
|
34
|
-
></BaseButton>
|
|
35
|
-
<BaseButton
|
|
36
|
-
:selected="currentTab === 'Staff'"
|
|
37
|
-
class="flex flex-row mx-3"
|
|
38
|
-
color="primaryHighlight"
|
|
39
|
-
label="Staff"
|
|
40
|
-
type="tabBar"
|
|
41
|
-
@click="handleButtonClick('Staff')"
|
|
11
|
+
@click="handleButtonClick(tab.id)"
|
|
42
12
|
></BaseButton>
|
|
43
13
|
</TabBar>
|
|
44
14
|
</template>
|
|
@@ -57,12 +27,17 @@ export default {
|
|
|
57
27
|
type: String,
|
|
58
28
|
required: true,
|
|
59
29
|
default: ''
|
|
30
|
+
},
|
|
31
|
+
tabs: {
|
|
32
|
+
type: Array,
|
|
33
|
+
required: true,
|
|
34
|
+
default: () => []
|
|
60
35
|
}
|
|
61
36
|
},
|
|
62
37
|
methods: {
|
|
63
|
-
handleButtonClick(
|
|
64
|
-
this.$emit('button-click',
|
|
38
|
+
handleButtonClick(buttonId) {
|
|
39
|
+
this.$emit('button-click', buttonId);
|
|
65
40
|
}
|
|
66
41
|
}
|
|
67
42
|
}
|
|
68
|
-
</script>
|
|
43
|
+
</script>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<EditTournamentMenu currentTab="Basic"
|
|
2
|
+
<EditTournamentMenu currentTab="Basic" :tabs="tabs" />
|
|
3
3
|
<div class="w-full flex flex-row justify-center">
|
|
4
4
|
<section class="w-96">
|
|
5
5
|
<BaseText :color="'quaternary'" :size="'xs'" :text="'GENERAL INFORMATION'" class="border-b mb-5"/>
|
|
@@ -87,7 +87,14 @@ export default {
|
|
|
87
87
|
totalDays: false,
|
|
88
88
|
description: false,
|
|
89
89
|
visibility: false
|
|
90
|
-
}
|
|
90
|
+
},
|
|
91
|
+
tabs: [
|
|
92
|
+
{ id: 'Basic', label: 'Basic', color: 'primaryHighlight' },
|
|
93
|
+
{ id: 'Details', label: 'Details', color: 'primaryHighlight' },
|
|
94
|
+
{ id: 'Events', label: 'Events', color: 'primaryHighlight' },
|
|
95
|
+
{ id: 'Payments', label: 'Payments', color: 'primaryHighlight' },
|
|
96
|
+
{ id: 'Staff', label: 'Staff', color: 'primaryHighlight' }
|
|
97
|
+
]
|
|
91
98
|
}
|
|
92
99
|
},
|
|
93
100
|
methods: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<EditTournamentMenu currentTab="Details"
|
|
2
|
+
<EditTournamentMenu currentTab="Details" :tabs="tabs" />
|
|
3
3
|
<div class="w-full flex flex-row justify-center">
|
|
4
4
|
<section class="w-96">
|
|
5
5
|
<BaseText :color="'quaternary'" :size="'xs'" :text="'DETAIL INFORMATION'" class="border-b mb-5"/>
|
|
@@ -97,6 +97,13 @@ export default {
|
|
|
97
97
|
{label: 'Club', value: 'club', description: 'Viewable Only to Members of Your Club'},
|
|
98
98
|
{label: 'Private', value: 'private', description: 'Only Viewable by you'},
|
|
99
99
|
],
|
|
100
|
+
tabs: [
|
|
101
|
+
{ id: 'Basic', label: 'Basic', color: 'primaryHighlight' },
|
|
102
|
+
{ id: 'Details', label: 'Details', color: 'primaryHighlight' },
|
|
103
|
+
{ id: 'Events', label: 'Events', color: 'primaryHighlight' },
|
|
104
|
+
{ id: 'Payments', label: 'Payments', color: 'primaryHighlight' },
|
|
105
|
+
{ id: 'Staff', label: 'Staff', color: 'primaryHighlight' }
|
|
106
|
+
]
|
|
100
107
|
}
|
|
101
108
|
},
|
|
102
109
|
methods: {
|
package/tailwind.config.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// tailwind.config.js
|
|
2
|
+
module.exports = {
|
|
3
3
|
content: [
|
|
4
4
|
"./index.html",
|
|
5
5
|
"./src/**/*.{vue,js,ts,jsx,tsx}",
|
|
@@ -36,8 +36,9 @@ export default {
|
|
|
36
36
|
secondary: '#2B324B',
|
|
37
37
|
tertiary: '#F6FAFD',
|
|
38
38
|
eventBoxBlue: '#eff4f7',
|
|
39
|
-
eventBoxGreen: '#
|
|
39
|
+
eventBoxGreen: '#f3f7ef',
|
|
40
40
|
eventBoxRed: '#f7efef',
|
|
41
|
+
poolSetup: '#F6FAFD',
|
|
41
42
|
},
|
|
42
43
|
boxShadow: {
|
|
43
44
|
custom: 'var(--tw-shadow)',
|
|
@@ -45,11 +46,11 @@ export default {
|
|
|
45
46
|
},
|
|
46
47
|
},
|
|
47
48
|
plugins: [
|
|
48
|
-
function ({addBase, theme}) {
|
|
49
|
+
function ({ addBase, theme }) {
|
|
49
50
|
addBase({
|
|
50
51
|
h1: {
|
|
51
52
|
fontSize: theme('fontSize.3xl'),
|
|
52
|
-
lineHeight: theme('lineHeight.
|
|
53
|
+
lineHeight: theme('lineHeight.h1'),
|
|
53
54
|
},
|
|
54
55
|
h2: {
|
|
55
56
|
fontSize: theme('fontSize.2xl'),
|
|
@@ -62,4 +63,4 @@ export default {
|
|
|
62
63
|
});
|
|
63
64
|
},
|
|
64
65
|
],
|
|
65
|
-
}
|
|
66
|
+
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import PlayerCard from './AdminFencerCard.vue';
|
|
2
|
-
|
|
3
|
-
export default {
|
|
4
|
-
title: 'Molecules/Cards/PlayerCard',
|
|
5
|
-
component: PlayerCard,
|
|
6
|
-
argTypes: {
|
|
7
|
-
name: { control: 'text' },
|
|
8
|
-
points: { control: 'number' }
|
|
9
|
-
},
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const Template = (args) => ({
|
|
13
|
-
components: { PlayerCard },
|
|
14
|
-
setup() {
|
|
15
|
-
return { args };
|
|
16
|
-
},
|
|
17
|
-
template: '<PlayerCard v-bind="args" />',
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
export const Default = Template.bind({});
|
|
21
|
-
Default.args = {
|
|
22
|
-
position: 1,
|
|
23
|
-
profileUrl: 'https://via.placeholder.com/150',
|
|
24
|
-
playerName: 'John Doe',
|
|
25
|
-
clubName: 'Super Duper Fencing club of really long name',
|
|
26
|
-
USAHemaRating: '1200',
|
|
27
|
-
HEMARating: 'A'
|
|
28
|
-
};
|
|
29
|
-
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="w-full flex flex-row justify-between border border-1 border-dropdownSelect h-20 rounded-xl">
|
|
3
|
-
<span class="w-3/4 flex flex-row">
|
|
4
|
-
<div class="flex flex-col justify-center px-2 mr-4 items-center border-r-2 border-dropdownSelect">
|
|
5
|
-
<BaseText :text="position" color="primary" size="md" weight="semi-bold" />
|
|
6
|
-
</div>
|
|
7
|
-
<div class="flex flex-col justify-center flex-shrink-0 mr-4">
|
|
8
|
-
<img :src="profileUrl" alt="player" class="w-14 h-14 rounded-xl" />
|
|
9
|
-
</div>
|
|
10
|
-
<div class="flex flex-col justify-center flex-shrink-0 mr-4 w-80">
|
|
11
|
-
<BaseText :text="playerName" color="dropdownSelect" size="md" weight="semi-bold" />
|
|
12
|
-
<BaseText :text="clubName" color="dropdownSelect" size="xs" weight="semi-bold" />
|
|
13
|
-
</div>
|
|
14
|
-
<div class="flex flex-col justify-center flex-shrink-0 mr-4">
|
|
15
|
-
<BaseText :text="'USA Hema: ' + USAHemaRating" color="primary" size="sm" weight="semi-bold" />
|
|
16
|
-
<BaseText :text="'HemaRating: ' + HEMARating" color="primary" size="sm" weight="semi-bold" />
|
|
17
|
-
</div>
|
|
18
|
-
</span>
|
|
19
|
-
|
|
20
|
-
<div class="flex flex-col justify-center mr-4" >
|
|
21
|
-
<ButtonBar
|
|
22
|
-
:buttons="{0:{id:'Absent',label:'Absent'},1:{id:'Present',label:'Present'}}"
|
|
23
|
-
v-on:selected="()=>({})"
|
|
24
|
-
/>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
</template>
|
|
28
|
-
|
|
29
|
-
<script>
|
|
30
|
-
|
|
31
|
-
import BaseText from "../../../Atoms/Text/BaseText.vue";
|
|
32
|
-
import ButtonBar from "../../Buttons/ButtonBar/ButtonBar.vue";
|
|
33
|
-
|
|
34
|
-
export default {
|
|
35
|
-
name: 'AdminFencerCard',
|
|
36
|
-
components: {
|
|
37
|
-
ButtonBar,
|
|
38
|
-
BaseText
|
|
39
|
-
},
|
|
40
|
-
props: {
|
|
41
|
-
position: {
|
|
42
|
-
type: Number,
|
|
43
|
-
required: true,
|
|
44
|
-
},
|
|
45
|
-
profileUrl: {
|
|
46
|
-
type: String,
|
|
47
|
-
required: true,
|
|
48
|
-
},
|
|
49
|
-
playerName: {
|
|
50
|
-
type: String,
|
|
51
|
-
required: true,
|
|
52
|
-
},
|
|
53
|
-
clubName: {
|
|
54
|
-
type: String,
|
|
55
|
-
required: true,
|
|
56
|
-
},
|
|
57
|
-
USAHemaRating: {
|
|
58
|
-
type: String,
|
|
59
|
-
required: true,
|
|
60
|
-
},
|
|
61
|
-
HEMARating: {
|
|
62
|
-
type: String,
|
|
63
|
-
required: true,
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
}
|
|
67
|
-
</script>
|