101 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <template>
 | |
|   <section>
 | |
|     <h2>{{ title ? title : "Vinnere" }}</h2>
 | |
|     <div class="winning-raffles" v-if="winners.length > 0">
 | |
|       <div v-for="(winner, index) in winners" :key="index">
 | |
|         <router-link :to="`/highscore/${winner.name}`">
 | |
|           <div :class="winner.color + '-raffle'" class="raffle-element">{{ winner.name }}</div>
 | |
|         </router-link>
 | |
|       </div>
 | |
|     </div>
 | |
| 
 | |
|     <div v-else-if="drawing" class="container">
 | |
|       <h3>Trekningen er igang!</h3>
 | |
|     </div>
 | |
| 
 | |
|     <div v-else class="container">
 | |
|       <h3>Trekningen har ikke startet enda <button>⏰</button></h3>
 | |
|     </div>
 | |
|   </section>
 | |
| </template>
 | |
| 
 | |
| <script>
 | |
| export default {
 | |
|   props: {
 | |
|     winners: {
 | |
|       type: Array
 | |
|     },
 | |
|     drawing: {
 | |
|       type: Boolean
 | |
|     },
 | |
|     title: {
 | |
|       type: String,
 | |
|       required: false
 | |
|     }
 | |
|   }
 | |
| };
 | |
| </script>
 | |
| 
 | |
| <style lang="scss" scoped>
 | |
| @import "../styles/global.scss";
 | |
| @import "../styles/variables.scss";
 | |
| @import "../styles/media-queries.scss";
 | |
| 
 | |
| section {
 | |
|   width: 100%;
 | |
|   display: flex;
 | |
|   flex-direction: column;
 | |
|   position: relative;
 | |
| }
 | |
| 
 | |
| h2 {
 | |
|   font-size: 1.1rem;
 | |
|   margin-bottom: 0.6rem;
 | |
|   width: 100%;
 | |
|   text-align: center;
 | |
| }
 | |
| 
 | |
| h3 {
 | |
|   margin: auto;
 | |
|   color: $matte-text-color;
 | |
|   font-size: 1.6rem;
 | |
|   text-align: center;
 | |
| }
 | |
| 
 | |
| .winning-raffles {
 | |
|   display: flex;
 | |
|   flex-flow: wrap;
 | |
|   justify-content: space-around;
 | |
|   align-items: center;
 | |
|   flex-wrap: wrap;
 | |
| }
 | |
| 
 | |
| .raffle-element {
 | |
|   font-size: 1rem;
 | |
|   width: 145px;
 | |
|   height: 145px;
 | |
|   display: flex;
 | |
|   justify-content: center;
 | |
|   align-items: center;
 | |
|   font-weight: bold;
 | |
|   text-align: center;
 | |
| }
 | |
| 
 | |
| .container {
 | |
|   display: flex;
 | |
|   height: 100%;
 | |
| 
 | |
|   button {
 | |
|     -webkit-appearance: unset;
 | |
|     background-color: unset;
 | |
|     padding: 0;
 | |
|     margin: 0;
 | |
|     font-size: inherit;
 | |
|     border: unset;
 | |
|     height: auto;
 | |
|     width: auto;
 | |
|     cursor: pointer;
 | |
|   }
 | |
| }
 | |
| </style>
 |