knowyt/client/src/components/CollectQuote.vue

150 lines
2.8 KiB
Vue
Raw Normal View History

2021-10-15 18:45:41 +00:00
<template>
2021-10-29 20:13:38 +00:00
<div class="collect-quote">
2021-11-07 22:51:37 +00:00
<div class="collect-quote__backdrop" />
2021-11-07 22:31:04 +00:00
<div class="collect-quote__container">
<div class="collect-quote__quote-container">
2021-11-07 22:51:37 +00:00
<div class="collect-quote__title">Preview:</div>
2021-11-07 22:31:04 +00:00
<div class="collect-quote__quote">
<Quote :text="quote.quote" />
</div>
</div>
<div class="collect-quote__inputgroup">
2021-11-22 06:08:54 +00:00
<button class="collect-quote__button-close" @click="close">X</button>
2021-11-09 21:28:52 +00:00
<form class="collect-quote__textinput-container">
2021-11-07 22:31:04 +00:00
<input type="hidden" name="id" :value="quote.id" />
2021-11-09 21:28:52 +00:00
<textarea class="collect-quote__textinput" v-model="quote.quote" />
2021-11-07 22:31:04 +00:00
</form>
2021-11-22 06:08:54 +00:00
<div class="collect-quote__cta-container">
<button class="collect-quote__cta" @click="save">Save</button>
</div>
2021-11-07 22:31:04 +00:00
</div>
</div>
2021-10-15 18:45:41 +00:00
</div>
</template>
2021-10-29 20:13:38 +00:00
2021-10-15 18:45:41 +00:00
<script>
export default {
props: ['quote'],
methods: {
2021-10-29 20:13:38 +00:00
save() {
this.$nuxt.$emit('save-quote', this.quote)
2021-11-22 06:08:54 +00:00
},
close() {
this.$nuxt.$emit('close-quote')
},
2021-10-15 18:45:41 +00:00
},
}
</script>
<style lang="scss">
.collect-quote {
2021-10-29 20:13:38 +00:00
color: #ffffff;
2021-11-07 22:31:04 +00:00
2021-11-07 22:51:37 +00:00
&__backdrop {
2021-11-09 20:52:10 +00:00
position: fixed;
2021-11-07 22:31:04 +00:00
left: 0;
top: 0;
2021-11-07 22:51:37 +00:00
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
}
&__container {
position: absolute;
display: flex;
left: 10%;
top: 15%;
2021-11-07 22:31:04 +00:00
width: 80%;
2021-11-07 22:51:37 +00:00
height: 400px;
2021-11-07 22:31:04 +00:00
background-color: #402080;
border: 1px solid #ffffff;
border-radius: 20px;
}
&__quote-container {
position: relative;
display: flex;
flex-direction: column;
left: 0;
top: 0;
width: 50%;
height: 100%;
border-right: 1px solid #ffffff;
2021-11-09 21:28:52 +00:00
overflow: hidden;
2021-11-07 22:51:37 +00:00
}
&__title {
font-size: 32px;
font-family: "Wendy One";
2021-11-09 21:28:52 +00:00
margin: 48px 0 16px 48px;
2021-11-07 22:31:04 +00:00
}
&__quote {
align-self: center;
max-width: 400px;
2021-11-09 21:28:52 +00:00
margin: 0 48px;
2021-11-07 22:31:04 +00:00
}
&__inputgroup {
2021-11-09 21:28:52 +00:00
width: 50%;
height: 100%;
display: flex;
flex-direction: column;
}
&__textinput-container {
margin: 48px 48px 0 48px;
}
&__textinput {
width: 100%;
2021-11-22 06:08:54 +00:00
height: 8em;
2021-11-09 21:28:52 +00:00
}
2021-11-22 06:08:54 +00:00
&__button-close {
2021-11-09 21:28:52 +00:00
align-self: flex-end;
2021-11-22 06:08:54 +00:00
width: 48px;
height: 48px;
margin: 2px;
padding: 10px;
background: none;
border: 0;
font-size: 24px;
color: #ffffff;
cursor: pointer;
&:hover {
background-color: #6040a0;
border-radius: 16px;
}
}
&__cta-container {
position: relative;
width: 100%;
height: 100%;
}
&__cta {
position: absolute;
right: 0;
bottom: 0;
2021-11-09 21:28:52 +00:00
margin: 48px;
background-color: #40a020;
width: 80px;
height: 48px;
border: 4px solid #c0c060;
border-radius: 8px;
color: #ffff80;
font-family: Dosis;
font-size: 24px;
2021-11-22 06:08:54 +00:00
cursor: pointer;
2021-11-09 21:28:52 +00:00
&:hover {
background-color: #60c040;
color: #ffffc0;
}
2021-11-07 22:31:04 +00:00
}
2021-10-15 18:45:41 +00:00
}
</style>