2023-06-12 19:21:22 +02:00

239 lines
6.9 KiB
Vue

<script>
import MenuVue from "../../components/Menu.vue";
import 'vue3-carousel/dist/carousel.css'
import { Carousel, Slide, Pagination, Navigation } from 'vue3-carousel'
import ProductFlipCard from "../../components/ProductFlipCard.vue";
const products = [
{
kind: 'earth',
image: 'logo_tierra.svg',
slogan: 'Nacido para crear',
description: 'La tierra, buscamos activamente las mejores fincas cafeteras a nivel mundial donde suelos ricos en nutrientes son la base para formar granos de café de alta calidad. Desde las fértiles plantaciones de América Latina hasta las exóticas zonas de cultivo de África, nos centramos en la sostenibilidad y el comercio justo.',
info: {
name: 'Brasil de Andrade',
farm: 'Capim Branco',
strain: '100% Arabica',
land: 'Brasilien / Cerrado, Carmo do paranaiba',
height: '1.100 m',
revision: 'Secado al sol',
harvest: 'Seleccionado cuidadosamente',
profile: '1/4',
taste: 'Chocolate, ligero ácido de frutas.',
mouthfeel: 'Ligeramente picante'
}
},
{
kind: 'water',
image: 'logo_agua.svg',
slogan: 'Nacido para sentir',
description: 'El agua, juega un papel decisivo en la preparación del café. Por lo tanto, solo utilizamos agua de primera clase que se adapta perfectamente a los requisitos individuales de cada café. La cantidad y calidad correcta del agua despliega los aromas y sabores en cada taza.',
info: {
name: 'Brasil de Andrade',
farm: 'Capim Branco',
strain: '100% Arabica',
land: 'Brasilien / Cerrado, Carmo do paranaiba',
height: '1.100 m',
revision: 'Secado al sol',
harvest: 'Seleccionado cuidadosamente',
profile: '1/4',
taste: 'Chocolate, ligero ácido de frutas.',
mouthfeel: 'Ligeramente picante'
}
},
{
kind: 'air',
image: 'logo_aire2.svg',
slogan: 'Nacido para inspirar',
description: 'El aire, es otra parte esencial de nuestra pasión por el café, damos gran importancia a los granos de café recién tostados que conservan su aroma y sabor inconfundibles. Es por eso que tostamos en pequeños lotes para asegurarnos de que cada taza que disfrutes esté llena de frescura y aroma.',
info: {
name: 'Brasil de Andrade',
farm: 'Capim Branco',
strain: '100% Arabica',
land: 'Brasilien / Cerrado, Carmo do paranaiba',
height: '1.100 m',
revision: 'Secado al sol',
harvest: 'Seleccionado cuidadosamente',
profile: '1/4',
taste: 'Chocolate, ligero ácido de frutas.',
mouthfeel: 'Ligeramente picante'
}
},
{
kind: 'fire',
image: 'logo_fuego.svg',
slogan: 'Nacido para triunfar',
description: 'El fuego, la pasión que resuena en cada paso de nuestro trabajo. Desde la selección de variedades de café verde hasta el cuidadoso tostado y la preparación amorosa, estamos allí con alma y corazón para ofrecerte una experiencia de café extraordinaria.',
info: {
name: 'Brasil de Andrade',
farm: 'Capim Branco',
strain: '100% Arabica',
land: 'Brasilien / Cerrado, Carmo do paranaiba',
height: '1.100 m',
revision: 'Secado al sol',
harvest: 'Seleccionado cuidadosamente',
profile: '1/4',
taste: 'Chocolate, ligero ácido de frutas.',
mouthfeel: 'Ligeramente picante'
}
},
]
export default {
data() {
return {
products,
};
},
components: {
MenuVue,
Carousel,
Slide,
Pagination,
Navigation,
ProductFlipCard
},
methods: {
getImage(image) {
return new URL(`/src/assets/images/${image}`, import.meta.url).href;
},
}
}
</script>
<template>
<MenuVue type="products"></MenuVue>
<section class="product-section content">
<h2>Origen</h2>
<p>Las culturas indígenas siempre han tenido una estrecha relación con su entorno natural, encontrando en la armonía con los cuatro elementos: fuego, agua, aire y tierra, el sentido de sus vidas, y es esta misma relación la que describe maravillosamente nuestra serie de cafés.</p>
<p class="centered"><img src="@images/v-elemento.png" /></p>
<div class="cards">
<ProductFlipCard class="card" v-for="product in products" :key="product.id" :product="product"></ProductFlipCard>
</div>
<Carousel :items-to-show="2" :wrap-around="true" snap-align="start">
<Slide v-for="slide in slides" :key="slide.class">
<div class="carousel__item" :class="slide.class">
<div class="carousel__item__inner">
<div class="carousel__item__inner__front">
<img class="logo" :src="getImage(slide.image)" />
<h3 class="title">{{ slide.title }}</h3>
<div class="description">{{ slide.description }}</div>
</div>
<div class="carousel__item__inner__back">
back
</div>
</div>
</div>
</Slide>
<template #addons>
<Navigation />
<Pagination />
</template>
</Carousel>
</section>
</template>
<style lang="scss" scoped>
.cards {
display: grid;
grid-template-columns: 50% 50%;
}
.card {
margin: 8px;
}
.carousel {
&__item {
height: 444px;
width: 625px;
color: #000;
font-size: 20px;
border-radius: 40px;
&:hover &__inner {
transform: rotateY(180deg);
}
&__inner {
position: relative;
width: 100%;
height: 100%;
transition: transform 0.8s;
transform-style: preserve-3d;
border-radius: 40px;
&__front {
display: grid;
grid-template-columns: 150px auto;
grid-template-rows: 160px auto;
justify-items: start;
align-items: center;
h3 {
font-weight: 500;
font-size: 36px;
line-height: 50px;
text-align: left;
}
.description {
grid-column-start: 1;
grid-column-end: 3;
font-weight: 500;
font-size: 22px;
line-height: 35px;
text-align: justify;
padding: 0 44px;
align-self: flex-start;
}
.logo {
height: 184px;
width: 147px;
}
}
&__front, &__back {
position: absolute;
width: 100%;
height: 100%;
-webkit-backface-visibility: hidden; /* Safari */
backface-visibility: hidden;
}
&__back {
transform: rotateY(180deg);
border-radius: 40px;
}
}
&.tierra {
background-color: #A6AF94;
}
&.agua {
background-color: #889CA7;
}
&.aire {
background-color: #F4EEB0;
}
&.fuego {
background-color: #D58C83;
}
}
&__slide {
padding: 10px;
}
&__prev,
&__next {
box-sizing: content-box;
border: 5px solid white;
}
}
</style>