diff --git a/availabili.tf/src/assets/main.css b/availabili.tf/src/assets/main.css index 42c995e..26f3190 100644 --- a/availabili.tf/src/assets/main.css +++ b/availabili.tf/src/assets/main.css @@ -59,6 +59,10 @@ button > i.bi.margin { margin-right: 4px; } +i.bi.margin { + margin-right: 0.5em; +} + button:hover { background-color: var(--surface-0); } @@ -121,6 +125,50 @@ h2 { font-weight: 800; } +details > summary { + cursor: pointer; + list-style: none; +} + +details.accordion { + padding: 16px; + background-color: var(--mantle); + border: 1px solid var(--mantle); + border-radius: 8px; +} + +details.accordion[open] { + background-color: var(--base); + border-color: var(--overlay-0); +} + +details.accordion > summary { + display: flex; + align-items: center; + gap: 1em; +} + +details > summary::after { + content: "›"; + font-size: 1.5rem; + transition-duration: 200ms; + margin-left: auto; +} + +details[open] > summary::after { + transform: rotate(90deg); + transition-duration: 200ms; +} + +details > summary > h2 { + display: inline-block; +} + +h3 { + font-size: 11pt; + font-weight: 700; +} + span.small { font-size: 9pt; } @@ -145,7 +193,7 @@ input { display: block; width: 100%; color: var(--text); - padding: 6px 9px; + padding: 7px 9px; border: none; /*outline: 1px solid var(--overlay-0);*/ border: 1px solid var(--overlay-0); diff --git a/availabili.tf/src/components/InviteEntry.vue b/availabili.tf/src/components/InviteEntry.vue index 90e89b4..186db1b 100644 --- a/availabili.tf/src/components/InviteEntry.vue +++ b/availabili.tf/src/components/InviteEntry.vue @@ -2,9 +2,12 @@ import { type TeamInviteSchema } from "../client"; import { useTeamsStore } from "../stores/teams"; import { computed, type PropType } from "vue"; +import moment from "moment"; const teamsStore = useTeamsStore(); +const createdAt = computed(() => moment(props.invite.createdAt).format("L LT")); + const props = defineProps({ invite: { type: Object as PropType, @@ -37,7 +40,7 @@ function revokeInvite() { - {{ invite.createdAt }} + {{ createdAt }} diff --git a/availabili.tf/src/views/TeamDetailsMembersListView.vue b/availabili.tf/src/components/MembersList.vue similarity index 62% rename from availabili.tf/src/views/TeamDetailsMembersListView.vue rename to availabili.tf/src/components/MembersList.vue index 7e2c84b..f03c1e2 100644 --- a/availabili.tf/src/views/TeamDetailsMembersListView.vue +++ b/availabili.tf/src/components/MembersList.vue @@ -4,7 +4,6 @@ import { useRoute, useRouter, RouterLink } from "vue-router"; import { computed } from "vue"; import { useTeamDetails } from "../composables/team-details"; import PlayerTeamCard from "../components/PlayerTeamCard.vue"; -import InviteEntry from "../components/InviteEntry.vue"; const route = useRoute(); const router = useRouter(); @@ -17,10 +16,6 @@ const { teamMembers, } = useTeamDetails(); -function createInvite() { - teamsStore.createInvite(team.value.id); -} - function leaveTeam() { teamsStore.leaveTeam(team.value.id) .then(() => { @@ -34,7 +29,10 @@ function leaveTeam() { diff --git a/availabili.tf/src/views/TeamRegistrationView.vue b/availabili.tf/src/views/TeamRegistrationView.vue index 4f41199..f1a606e 100644 --- a/availabili.tf/src/views/TeamRegistrationView.vue +++ b/availabili.tf/src/views/TeamRegistrationView.vue @@ -75,13 +75,6 @@ function createTeam() { past the hour. -
-

- Announcements Webhook URL - (optional) -

- -
@@ -98,11 +91,6 @@ function createTeam() { margin: auto; } -.team-registration-container h3 { - font-size: 11pt; - font-weight: 700; -} - .team-registration-container .aside { font-size: 9pt; } diff --git a/availabili.tf/src/views/TeamSettings/GeneralView.vue b/availabili.tf/src/views/TeamSettings/GeneralView.vue new file mode 100644 index 0000000..5ab83d9 --- /dev/null +++ b/availabili.tf/src/views/TeamSettings/GeneralView.vue @@ -0,0 +1,58 @@ + + + diff --git a/availabili.tf/src/views/TeamSettings/IntegrationsView.vue b/availabili.tf/src/views/TeamSettings/IntegrationsView.vue new file mode 100644 index 0000000..158e272 --- /dev/null +++ b/availabili.tf/src/views/TeamSettings/IntegrationsView.vue @@ -0,0 +1,8 @@ + + + diff --git a/availabili.tf/src/views/TeamSettings/InvitesView.vue b/availabili.tf/src/views/TeamSettings/InvitesView.vue new file mode 100644 index 0000000..c6a938f --- /dev/null +++ b/availabili.tf/src/views/TeamSettings/InvitesView.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/availabili.tf/src/views/TeamSettingsView.vue b/availabili.tf/src/views/TeamSettingsView.vue new file mode 100644 index 0000000..ad80f09 --- /dev/null +++ b/availabili.tf/src/views/TeamSettingsView.vue @@ -0,0 +1,97 @@ + + + + +