foundations and home

This commit is contained in:
José Conde
2023-06-11 14:34:05 +02:00
parent 8069c4a5be
commit 8b1cafca1c
48 changed files with 1251 additions and 117 deletions

View File

@ -0,0 +1,37 @@
<template>
<section class="certifications">
<header class="header">
<h2 class="title">{{ $t('certifications.title') }}</h2>
</header>
<div class="content">
</div>
</section>
</template>
<script>
export default {
}
</script>
<style lang="scss" scoped>
.header {
background-color: #000;
color: #fff;
text-align: center;
padding: 72px 0 76px;
}
h2.title {
font-size: 54px;
font-weight: 400;
line-height: 63.28px;
}
.content {
height: 600px;
background-image: url('@images/bg_1.png');
background-repeat: no-repeat;
background-size: contain;
}
</style>

View File

@ -0,0 +1,36 @@
<template>
<section class="coffeefarmers">
<h3 class="header">{{ $t('coffeefarmers.title') }}</h3>
<div class="separator"></div>
</section>
</template>
<script>
export default {
}
</script>
<style lang="scss" scoped>
.coffeefarmers {
height: 590px;
background-image: url('@images/grains.png');
background-repeat: no-repeat;
background-size: contain;
color: #fff;
}
h3.header {
font-weight: 400;
font-size: 48px;
line-height: 58px;
padding: 175px 230px 0;
text-align: center;
}
.separator {
border-top: 2px solid #fff;
width: 700px;
margin: 50px auto 0;
}
</style>

View File

@ -0,0 +1,44 @@
<script setup>
import DifferentBox from './DifferentBox.vue';
</script>
<template>
<section class="different">
<h2>{{ $t('different.header') }}</h2>
<h3>{{ $t('different.subheader') }}</h3>
<div class="boxes">
<DifferentBox image="coffee-beans1.png" :title="$t('different.beans.title')" :description="$t('different.beans.description')" />
<DifferentBox image="badge1.png" :title="$t('different.quality.title')" :description="$t('different.quality.description')" />
<DifferentBox image="coffee-cup1.png" :title="$t('different.extraordinary.title')" :description="$t('different.extraordinary.description')" />
<DifferentBox image="best-price1.png" :title="$t('different.affordable.title')" :description="$t('different.affordable.description')" />
</div>
</section>
</template>
<style lang="scss" scoped>
.different {
color: #fff;
background-color: #000;
padding: 72px 64px;
}
h2 {
padding: 0 150px;
font-size: 52px;
text-align: center;
}
h3 {
margin-top: 24px;
padding: 0 150px;
font-size: 20px;
line-height: 34px;
text-align: center;
font-weight: 400;
margin-bottom: 50px;
}
.boxes {
display: flex;
justify-content: space-between;
}
</style>

View File

@ -0,0 +1,50 @@
<script>
export default {
props: {
image: String,
title: String,
description: String
},
methods: {
getImage(image) {
return new URL(`/src/assets/images/${image}`, import.meta.url).href;
},
}
}
</script>
<template>
<div class="different-box">
<img :src="getImage(image)" class="image" />
<h3 class="title">{{ title }}</h3>
<p class="description">{{ description }}</p>
</div>
</template>
<style lang="scss" scoped>
.different-box {
width: 280px;
height: 284px;
background: #E2CAAA;
text-align: center;
padding: 36px 24px 0;
}
.image {
width: 88px;
height: 88px;
}
.title {
margin-top: 24px;
color: #603809;
font-weight: 700;
font-size: 28px;
}
.description {
margin-top: 12px;
font-style: 400;
font-weight: 400;
font-size: 20px;
line-height: 24px;
color: #1E1E1E;
}
</style>

136
src/components/Footer.vue Normal file
View File

@ -0,0 +1,136 @@
<script setup></script>
<template>
<footer>
<img class="logo" src="@images/logo-kreis_3.png">
<div class="contact-info">
<h5>{{ $t('footer.contact')}}</h5>
<p>Si está interesado o tiene alguna pregunta, ¡contáctenos!</p>
<p class="emails">
<a href="mailto:info@Tayronafoods.com" class="email"><i class="email-icon"></i>info@Tayronafoods.com</a>
<a href="mailto:info@Tayronafoods.com" class="email"><i class="email-icon"></i>info@Tayronafoods.com</a>
<a href="mailto:info@Tayronafoods.com" class="email"><i class="email-icon"></i>info@Tayronafoods.com</a>
</p>
<p class="phone"><i class="phone-icon"></i>+49(0)176 321 368 59</p>
<p class="phone"><i class="phone-icon"></i>+49(0)152 549 389 62</p>
<p class="rss">
<a href="#"><i class="facebook-icon"></i></a>
<a href="#"><i class="instagram-icon"></i></a>
<a href="#"><i class="youtube-icon"></i></a>
<a href="#"><i class="twitter-icon"></i></a>
</p>
<p class="links">
<a href="#">Impressum</a>
<a href="#">Datenschutz</a>
<a href="#">AGB</a>
</p>
</div>
</footer>
</template>
<style lang="scss" scoped>
footer {
position: relative;
color: #fff;
height: 492px;
background-color: #442808;
background-image: url('@images/footer_coffee.png');
background-blend-mode: overlay;
}
h5 {
font-weight: 500;
padding-top: 72px;
font-size: 20px;
margin-bottom: 24px;
}
p {
margin-bottom: 12px;
&.links {
margin-top: 58px;
a {
margin-right: 200px;
&:last-child {
margin-right: 0;
}
}
}
}
a {
text-decoration: none;
color: #fff;
}
@mixin icon($url) {
display: inline-block;
background-image: url($url);
background-repeat: no-repeat;
background-position: center;
background-size: contain;
width: 18px;
height: 18px;
}
.logo {
position: absolute;
top: 29px;
left: 92px;
width: 168px;
height: 161px;
}
.contact-info {
text-align: center;;
display: flex;
flex-direction: column;
font-size: 20px;
font-weight: 500;
.emails {
padding: 0;
.email {
margin-right: 16px;
&:last-child {
margin-right: 0;
}
&-icon {
@include icon('@images/email.svg');
margin-right: 5px;
}
}
}
.phone-icon {
@include icon('@images/phone.svg');
margin-right: 5px;
}
.rss a {
margin-right: 24px;
&:last-child {
margin-right: 0;
}
}
.facebook-icon {
@include icon('@images/facebook.svg');
}
.youtube-icon {
@include icon('@images/youtube.svg');
}
.instagram-icon {
@include icon('@images/instagram.svg');
}
.twitter-icon {
@include icon('@images/twitter.svg');
}
}
</style>

94
src/components/Menu.vue Normal file
View File

@ -0,0 +1,94 @@
<script>
export default {
props: {
type: String,
title: String,
}
}
</script>
<template>
<section class="menu" :class="type">
<div class="overlay">
<nav>
<img class="logo" src="@images/logo-kreis_3.png" />
<div class="links">
<router-link class="link" to="/">{{ $t('menu.home')}}</router-link>
<router-link class="link" to="/about">{{ $t('menu.about') }}</router-link>
<router-link class="link" to="/products">{{ $t('menu.products') }}</router-link>
<!-- <router-link class="link" to="/social">{{ $t('menu.social') }}</router-link>
<router-link class="link" to="/contact">{{ $t('menu.contact') }}</router-link> -->
</div>
</nav>
<h1 class="title" v-if="title">{{ title }}</h1>
</div>
</section>
</template>
<style lang="scss" scoped>
.menu {
height: 574px;
background-repeat: no-repeat;
background-size: contain;
.overlay {
width: 100%;
height: 100%;
background: linear-gradient(89.82deg, rgba(30, 30, 30, 0.72) -6.88%, rgba(0, 0, 0, 0.18) 87.45%);
}
.title {
color: #fff;
font-weight: 500;
font-size: 65px;
line-height: 70px;
text-align: right;
padding: 88px 93px 0;
}
nav {
padding: 24px 93px 0;
display: grid;
grid-template-columns: auto auto;
.logo {
height: 117px;
width: 118px;;
}
.links {
justify-self: end;
align-self: center;
.link {
margin-right: 54px;
color: #fff;
text-decoration: none;
&.router-link-active {
color: #FECE16;
}
&:hover {
color: #FECE16;
}
&:last-child {
margin-right: 0;
}
}
}
}
&.home {
background-image: url('@images/mountains.png');
}
&.about {
background-image: url('@images/coffee1.jpg');
}
&.products {
background-image: url('@images/products.png');
}
}
</style>

View File

@ -0,0 +1,50 @@
<script>
export default {
props: {
image: String,
title: String,
description: String
},
methods: {
getImage(image) {
return new URL(`/src/assets/images/${image}`, import.meta.url).href;
},
}
}
</script>
<template>
<div class="origin-box">
<img :src="getImage(image)" class="image" />
<h3 class="title">{{ title }}</h3>
<p class="description">{{ description }}</p>
</div>
</template>
<style lang="scss" scoped>
.origin-box {
width: 280px;
height: 364px;
background: #FFF9F1;
border: 1px solid rgba(249, 192, 106, 0.42);
}
.image {
width: 280px;
height: 222px;
}
.title {
margin-top: 12px;
color: #603809;
text-align: center;
font-weight: 700;
font-size: 22px;
}
.description {
font-style: normal;
font-weight: 400;
font-size: 16px;
line-height: 21px;
color: #1E1E1E;
padding: 8px;
}
</style>

View File

@ -0,0 +1,35 @@
<script setup>
import OriginBoxVue from "./OriginBox.vue";
</script>
<template>
<section class="origins">
<h2>{{ $t('origins.header') }}</h2>
<div class="boxes">
<OriginBoxVue image="coffee_brasil.png" :title="$t('origins.brazil')" :description="$t('origins.brazil_description')" />
<OriginBoxVue image="coffee_colombia.png" :title="$t('origins.colombia')" :description="$t('origins.colombia_description')" />
<OriginBoxVue image="coffee_peru.png" :title="$t('origins.peru')" :description="$t('origins.peru_description')" />
<OriginBoxVue image="coffee_uganda.png" :title="$t('origins.uganda')" :description="$t('origins.uganda_description')" />
</div>
</section>
</template>
<style lang="scss" scoped>
.origins {
color: #fff;
background-color: #000;
padding: 72px 64px;
}
h2 {
padding: 0 150px;
font-size: 52px;
text-align: center;
}
.boxes {
margin-top: 72px;
display: flex;
justify-content: space-between;
}
</style>