Add default loader colors
							parent
							
								
									88969111ad
								
							
						
					
					
						commit
						95efd01eef
					
				| 
						 | 
					@ -1,11 +1,24 @@
 | 
				
			||||||
<script setup lang="ts">
 | 
					<script setup lang="ts">
 | 
				
			||||||
import Loader from './Loader.vue';
 | 
					import { ContentLoader } from "vue-content-loader";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const props = defineProps<{
 | 
				
			||||||
 | 
					  width?: string;
 | 
				
			||||||
 | 
					  height?: string;
 | 
				
			||||||
 | 
					  speed?: number;
 | 
				
			||||||
 | 
					}>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// get primary color from var(--overlay-0) and secondary from var(--overlay-1)
 | 
				
			||||||
 | 
					const primaryColor = getComputedStyle(document.documentElement).getPropertyValue("--surface-0");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const secondaryColor = getComputedStyle(document.documentElement).getPropertyValue("--overlay-0");
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="loader-container">
 | 
					  <!--ContentLoader :width="width" :height="height" :speed="speed">
 | 
				
			||||||
    <Loader />
 | 
					  </ContentLoader-->
 | 
				
			||||||
  </div>
 | 
					  <component :is="ContentLoader" v-bind="{ ...props, primaryColor, secondaryColor }">
 | 
				
			||||||
 | 
					    <slot></slot>
 | 
				
			||||||
 | 
					  </component>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<style scoped>
 | 
					<style scoped>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,6 +5,7 @@ import { RouterLink } from "vue-router";
 | 
				
			||||||
import { useAuthStore } from "@/stores/auth";
 | 
					import { useAuthStore } from "@/stores/auth";
 | 
				
			||||||
import InviteKeyDialog from "./InviteKeyDialog.vue";
 | 
					import InviteKeyDialog from "./InviteKeyDialog.vue";
 | 
				
			||||||
import { ContentLoader } from "vue-content-loader";
 | 
					import { ContentLoader } from "vue-content-loader";
 | 
				
			||||||
 | 
					import LoaderContainer from "./LoaderContainer.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const teams = useTeamsStore();
 | 
					const teams = useTeamsStore();
 | 
				
			||||||
const isLoading = ref(false);
 | 
					const isLoading = ref(false);
 | 
				
			||||||
| 
						 | 
					@ -43,17 +44,13 @@ onMounted(() => {
 | 
				
			||||||
    <div v-if="!authStore.isLoggedIn">
 | 
					    <div v-if="!authStore.isLoggedIn">
 | 
				
			||||||
      Log in to view your teams.
 | 
					      Log in to view your teams.
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    <div v-else-if="isLoading || true">
 | 
					    <div v-else-if="isLoading">
 | 
				
			||||||
      <ContentLoader :speed="1">
 | 
					      <LoaderContainer>
 | 
				
			||||||
        <circle cx="10" cy="20" r="8" />
 | 
					        <rect x="0" y="15" rx="5" ry="5" width="220" height="10" />
 | 
				
			||||||
        <rect x="25" y="15" rx="5" ry="5" width="220" height="10" />
 | 
					        <rect x="0" y="45" rx="5" ry="5" width="220" height="10" />
 | 
				
			||||||
        <circle cx="10" cy="50" r="8" />
 | 
					        <rect x="0" y="75" rx="5" ry="5" width="220" height="10" />
 | 
				
			||||||
        <rect x="25" y="45" rx="5" ry="5" width="220" height="10" />
 | 
					        <rect x="0" y="105" rx="5" ry="5" width="220" height="10" />
 | 
				
			||||||
        <circle cx="10" cy="80" r="8" />
 | 
					      </LoaderContainer>
 | 
				
			||||||
        <rect x="25" y="75" rx="5" ry="5" width="220" height="10" />
 | 
					 | 
				
			||||||
        <circle cx="10" cy="110" r="8" />
 | 
					 | 
				
			||||||
        <rect x="25" y="105" rx="5" ry="5" width="220" height="10" />
 | 
					 | 
				
			||||||
      </ContentLoader>
 | 
					 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    <div
 | 
					    <div
 | 
				
			||||||
      v-else-if="teams.teamsWithRole"
 | 
					      v-else-if="teams.teamsWithRole"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,6 +11,7 @@ import { useTeamsEventsStore } from "@/stores/teams/events";
 | 
				
			||||||
import MatchCard from "@/components/MatchCard.vue";
 | 
					import MatchCard from "@/components/MatchCard.vue";
 | 
				
			||||||
import { useMatchesStore } from "@/stores/matches";
 | 
					import { useMatchesStore } from "@/stores/matches";
 | 
				
			||||||
import { ContentLoader } from "vue-content-loader";
 | 
					import { ContentLoader } from "vue-content-loader";
 | 
				
			||||||
 | 
					import LoaderContainer from "@/components/LoaderContainer.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const route = useRoute();
 | 
					const route = useRoute();
 | 
				
			||||||
const teamsStore = useTeamsStore();
 | 
					const teamsStore = useTeamsStore();
 | 
				
			||||||
| 
						 | 
					@ -59,10 +60,10 @@ onMounted(() => {
 | 
				
			||||||
        <div class="left">
 | 
					        <div class="left">
 | 
				
			||||||
          <center class="margin">
 | 
					          <center class="margin">
 | 
				
			||||||
            <h1>
 | 
					            <h1>
 | 
				
			||||||
              <template v-if="isLoading || true">
 | 
					              <template v-if="isLoading">
 | 
				
			||||||
                <content-loader view-box="0 0 250 10">
 | 
					                <LoaderContainer view-box="0 0 250 10">
 | 
				
			||||||
                  <rect x="0" y="0" rx="3" ry="3" width="250" height="10" />
 | 
					                  <rect x="0" y="0" rx="3" ry="3" width="250" height="10" />
 | 
				
			||||||
                </content-loader>
 | 
					                </LoaderContainer>
 | 
				
			||||||
              </template>
 | 
					              </template>
 | 
				
			||||||
              <template v-else>
 | 
					              <template v-else>
 | 
				
			||||||
                {{ team.teamName }}
 | 
					                {{ team.teamName }}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,6 +5,7 @@ import { onMounted, ref } from "vue";
 | 
				
			||||||
import { useTeamsStore } from "@/stores/teams";
 | 
					import { useTeamsStore } from "@/stores/teams";
 | 
				
			||||||
import { useTeamDetails } from "@/composables/team-details";
 | 
					import { useTeamDetails } from "@/composables/team-details";
 | 
				
			||||||
import { computed } from "@vue/reactivity";
 | 
					import { computed } from "@vue/reactivity";
 | 
				
			||||||
 | 
					import LoaderContainer from "@/components/LoaderContainer.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const {
 | 
					const {
 | 
				
			||||||
  teamName,
 | 
					  teamName,
 | 
				
			||||||
| 
						 | 
					@ -51,20 +52,20 @@ const hasChangedTimeDetails = computed(() => {
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const isLoaded = ref(false);
 | 
					const isLoading = ref(false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const teamsStore = useTeamsStore();
 | 
					const teamsStore = useTeamsStore();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const team = computed(() => teamsStore.teams[teamId.value]);
 | 
					const team = computed(() => teamsStore.teams[teamId.value]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
onMounted(() => {
 | 
					onMounted(() => {
 | 
				
			||||||
  isLoaded.value = true;
 | 
					  isLoading.value = true;
 | 
				
			||||||
  teamsStore.fetchTeam(teamId.value)
 | 
					  teamsStore.fetchTeam(teamId.value)
 | 
				
			||||||
    .then((response) => {
 | 
					    .then((response) => {
 | 
				
			||||||
      teamName.value = response.team.teamName;
 | 
					      teamName.value = response.team.teamName;
 | 
				
			||||||
      timezone.value = response.team.tzTimezone;
 | 
					      timezone.value = response.team.tzTimezone;
 | 
				
			||||||
      minuteOffset.value = response.team.minuteOffset;
 | 
					      minuteOffset.value = response.team.minuteOffset;
 | 
				
			||||||
      isLoaded.value = false;
 | 
					      isLoading.value = false;
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
| 
						 | 
					@ -72,7 +73,15 @@ onMounted(() => {
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="team-general-settings">
 | 
					  <div class="team-general-settings">
 | 
				
			||||||
    <h2>Overview</h2>
 | 
					    <h2>Overview</h2>
 | 
				
			||||||
    <div>
 | 
					    <LoaderContainer v-if="isLoading">
 | 
				
			||||||
 | 
					      <rect x="0" y="10" rx="5" width="40" height="10" />
 | 
				
			||||||
 | 
					      <rect x="0" y="30" rx="5" width="100%" height="10" />
 | 
				
			||||||
 | 
					      <rect x="0" y="50" rx="5" width="80" height="10" />
 | 
				
			||||||
 | 
					      <rect x="250" y="50" rx="5" width="40" height="10" />
 | 
				
			||||||
 | 
					      <rect x="0" y="70" rx="5" width="240" height="10" />
 | 
				
			||||||
 | 
					      <rect x="250" y="70" rx="5" width="100" height="10" />
 | 
				
			||||||
 | 
					    </LoaderContainer>
 | 
				
			||||||
 | 
					    <div v-else>
 | 
				
			||||||
      <div class="form-group margin">
 | 
					      <div class="form-group margin">
 | 
				
			||||||
        <h3 class="closer">Team Name</h3>
 | 
					        <h3 class="closer">Team Name</h3>
 | 
				
			||||||
        <input v-model="teamName" />
 | 
					        <input v-model="teamName" />
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,7 +6,6 @@ import { useTeamDetails } from "@/composables/team-details";
 | 
				
			||||||
import { useTeamsStore } from "@/stores/teams";
 | 
					import { useTeamsStore } from "@/stores/teams";
 | 
				
			||||||
import { useIntegrationsStore } from "@/stores/teams/integrations";
 | 
					import { useIntegrationsStore } from "@/stores/teams/integrations";
 | 
				
			||||||
import { onMounted, ref } from "vue";
 | 
					import { onMounted, ref } from "vue";
 | 
				
			||||||
import { ContentLoader } from "vue-content-loader";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
const teamsStore = useTeamsStore();
 | 
					const teamsStore = useTeamsStore();
 | 
				
			||||||
const integrationsStore = useIntegrationsStore();
 | 
					const integrationsStore = useIntegrationsStore();
 | 
				
			||||||
| 
						 | 
					@ -33,14 +32,14 @@ onMounted(() => {
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="team-integrations">
 | 
					  <div class="team-integrations">
 | 
				
			||||||
    <div v-if="isLoading">
 | 
					    <div v-if="isLoading">
 | 
				
			||||||
      <ContentLoader>
 | 
					      <LoaderContainer>
 | 
				
			||||||
        <rect x="0" y="0" rx="3" ry="3" width="250" height="10" />
 | 
					        <rect x="0" y="0" rx="5" ry="5" width="250" height="10" />
 | 
				
			||||||
        <rect x="20" y="20" rx="3" ry="3" width="220" height="10" />
 | 
					        <rect x="20" y="20" rx="5" ry="5" width="220" height="10" />
 | 
				
			||||||
        <rect x="20" y="40" rx="3" ry="3" width="170" height="10" />
 | 
					        <rect x="20" y="40" rx="5" ry="5" width="170" height="10" />
 | 
				
			||||||
        <rect x="0" y="60" rx="3" ry="3" width="250" height="10" />
 | 
					        <rect x="0" y="60" rx="5" ry="5" width="250" height="10" />
 | 
				
			||||||
        <rect x="20" y="80" rx="3" ry="3" width="200" height="10" />
 | 
					        <rect x="20" y="80" rx="5" ry="5" width="200" height="10" />
 | 
				
			||||||
        <rect x="20" y="100" rx="3" ry="3" width="80" height="10" />
 | 
					        <rect x="20" y="100" rx="5" ry="5" width="80" height="10" />
 | 
				
			||||||
      </ContentLoader>
 | 
					      </LoaderContainer>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    <template v-else>
 | 
					    <template v-else>
 | 
				
			||||||
      <DiscordIntegrationForm v-model="integrationsStore.discordIntegration" />
 | 
					      <DiscordIntegrationForm v-model="integrationsStore.discordIntegration" />
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue