storj/web/satellite/src/components/common/EmptyStateArea.vue

102 lines
2.5 KiB
Vue
Raw Normal View History

2019-01-24 20:15:10 +00:00
// Copyright (C) 2019 Storj Labs, Inc.
// See LICENSE for copying information.
<template>
<div class="empty-state">
<div class="empty-state__wrap">
<h1 class="empty-state__wrap__title">{{mainTitle}}</h1>
<div class="empty-state__wrap__additional-text" v-html="additionalText"></div>
<div v-if="isButtonShown">
<VButton
:on-press="onButtonClick"
:label="buttonLabel"
width="190px"
height="50px"/>
</div>
<div class="empty-state__wrap__img" v-html="imageSource"></div>
</div>
</div>
</template>
<script lang="ts">
2019-09-09 11:33:39 +01:00
import { Component, Prop, Vue } from 'vue-property-decorator';
import VButton from '@/components/common/VButton.vue';
2019-09-09 11:33:39 +01:00
@Component({
components: {
VButton,
},
2019-09-09 11:33:39 +01:00
})
export default class EmptyStateProjectArea extends Vue {
@Prop({default: ''})
private readonly mainTitle: string;
2019-09-09 11:33:39 +01:00
@Prop({default: ''})
private readonly additionalText: string;
2019-09-09 11:33:39 +01:00
@Prop({default: ''})
private readonly imageSource: string;
2019-09-09 11:33:39 +01:00
@Prop({default: false})
private readonly isButtonShown: boolean;
2019-09-09 11:33:39 +01:00
@Prop()
private readonly onButtonClick: Function;
2019-09-09 11:33:39 +01:00
@Prop({default: 'Default'})
private readonly buttonLabel: string;
}
</script>
<style scoped lang="scss">
.empty-state {
width: 100%;
display: flex;
justify-content: center;
margin-top: 100px;
color: rgba(56, 75, 101, 0.7);
font-family: 'font_regular';
&__wrap {
text-align: center;
margin-top: 30px;
display: flex;
flex-direction: column;
align-items: center;
&__additional-text {
font-family: 'font_medium';
font-size: 16px;
width: 60%;
margin-bottom: 10px;
}
2019-07-10 10:55:40 +01:00
&__img {
margin-top: 50px;
2019-07-10 10:55:40 +01:00
}
&__title {
font-family: 'font_bold';
font-size: 32px;
line-height: 35px;
margin-bottom: 15px;
min-width: 900px;
2019-04-11 02:27:55 +01:00
color: #354049;
}
}
}
@media screen and (max-width: 1440px) {
.empty-state {
margin-top: 60px;
}
}
@media screen and (max-width: 1280px) {
.empty-state {
margin-top: 20px;
}
}
</style>