Handle fruit expiry date expiry date cases + CSS variable name convention

This commit is contained in:
2020-12-06 19:22:34 +01:00
parent 5ae24298ae
commit ad369d0bc4
6 changed files with 31 additions and 10 deletions

View File

@@ -40,7 +40,7 @@ a {
main {
padding: 2rem 1rem;
background-color: @secondary-color;
background-color: @color-2;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88' viewBox='0 0 88 88'%3E%3Cg fill='%230c9696' fill-opacity='0.35'%3E%3Cpath fill-rule='evenodd' d='M29.42 29.41c.36-.36.58-.85.58-1.4V0h-4v26H0v4h28c.55 0 1.05-.22 1.41-.58h.01zm0 29.18c.36.36.58.86.58 1.4V88h-4V62H0v-4h28c.56 0 1.05.22 1.41.58zm29.16 0c-.36.36-.58.85-.58 1.4V88h4V62h26v-4H60c-.55 0-1.05.22-1.41.58h-.01zM62 26V0h-4v28c0 .55.22 1.05.58 1.41.37.37.86.59 1.41.59H88v-4H62zM18 36c0-1.1.9-2 2-2h10a2 2 0 1 1 0 4H20a2 2 0 0 1-2-2zm0 16c0-1.1.9-2 2-2h10a2 2 0 1 1 0 4H20a2 2 0 0 1-2-2zm16-26a2 2 0 0 1 2-2 2 2 0 0 1 2 2v4a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-4zm16 0a2 2 0 0 1 2-2 2 2 0 0 1 2 2v4a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-4zM34 58a2 2 0 0 1 2-2 2 2 0 0 1 2 2v4a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-4zm16 0a2 2 0 0 1 2-2 2 2 0 0 1 2 2v4a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-4zM34 78a2 2 0 0 1 2-2 2 2 0 0 1 2 2v6a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-6zm16 0a2 2 0 0 1 2-2 2 2 0 0 1 2 2v6a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-6zM34 4a2 2 0 0 1 2-2 2 2 0 0 1 2 2v6a2 2 0 0 1-2 2 2 2 0 0 1-2-2V4zm16 0a2 2 0 0 1 2-2 2 2 0 0 1 2 2v6a2 2 0 0 1-2 2 2 2 0 0 1-2-2V4zm-8 82a2 2 0 1 1 4 0v2h-4v-2zm0-68a2 2 0 1 1 4 0v10a2 2 0 1 1-4 0V18zM66 4a2 2 0 1 1 4 0v8a2 2 0 1 1-4 0V4zm0 72a2 2 0 1 1 4 0v8a2 2 0 1 1-4 0v-8zm-48 0a2 2 0 1 1 4 0v8a2 2 0 1 1-4 0v-8zm0-72a2 2 0 1 1 4 0v8a2 2 0 1 1-4 0V4zm24-4h4v2a2 2 0 1 1-4 0V0zm0 60a2 2 0 1 1 4 0v10a2 2 0 1 1-4 0V60zm14-24c0-1.1.9-2 2-2h10a2 2 0 1 1 0 4H58a2 2 0 0 1-2-2zm0 16c0-1.1.9-2 2-2h10a2 2 0 1 1 0 4H58a2 2 0 0 1-2-2zm-28-6a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm8 26a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm16 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM36 20a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm16 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm-8-8a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 68a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm16-34a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm16-12a2 2 0 1 0 0 4 6 6 0 1 1 0 12 2 2 0 1 0 0 4 10 10 0 1 0 0-20zm-64 0a2 2 0 1 1 0 4 6 6 0 1 0 0 12 2 2 0 1 1 0 4 10 10 0 1 1 0-20zm56-12a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 48a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm-48 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0-48a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm24 32a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm0-4a6 6 0 1 0 0-12 6 6 0 0 0 0 12zm36-36a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-4a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM10 44c0-1.1.9-2 2-2h8a2 2 0 1 1 0 4h-8a2 2 0 0 1-2-2zm56 0c0-1.1.9-2 2-2h8a2 2 0 1 1 0 4h-8a2 2 0 0 1-2-2zm8 24c0-1.1.9-2 2-2h8a2 2 0 1 1 0 4h-8a2 2 0 0 1-2-2zM3 68c0-1.1.9-2 2-2h8a2 2 0 1 1 0 4H5a2 2 0 0 1-2-2zm0-48c0-1.1.9-2 2-2h8a2 2 0 1 1 0 4H5a2 2 0 0 1-2-2zm71 0c0-1.1.9-2 2-2h8a2 2 0 1 1 0 4h-8a2 2 0 0 1-2-2zm6 66a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-4a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM8 86a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-4a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0-68A6 6 0 1 1 8 2a6 6 0 0 1 0 12zm0-4a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm36 36a2 2 0 1 0 0-4 2 2 0 0 0 0 4z'/%3E%3C/g%3E%3C/svg%3E");
background-attachment: fixed;
background-color: rgba(0, 0, 0, 0.06);

View File

@@ -1,5 +1,6 @@
@primary-color: #0c9696;
@secondary-color: #ffffff;
@color-1: #0c9696;
@color-2: #ffffff;
@color-3: #ff9700;
@text-color: #333;
@headerHeight: 58px;

View File

@@ -14,7 +14,7 @@ export default {};
<style lang="less">
footer {
background-color: #111111;
color: @secondary-color;
color: @color-2;
text-align: center;
line-height: @footerHeight;
height: @footerHeight;

View File

@@ -28,7 +28,7 @@ export default {
<style scoped lang="less">
.grid-item {
background-color: @secondary-color;
background-color: @color-2;
border-radius: 10px;
overflow: hidden;
@@ -87,6 +87,7 @@ export default {
margin: 0;
font-size: 28px;
font-weight: bold;
color: #ff9700;
}
}
}

View File

@@ -15,7 +15,7 @@ export default {
<style lang="less">
header {
background-color: @secondary-color;
background-color: @color-2;
box-shadow: 0 0px 14px 0px #cecece;
> a {

View File

@@ -1,6 +1,7 @@
<template>
<div>
<h2><span @click="() => this.$router.push('/')"></span> Details</h2>
<article>
<img :src="fruit.image" :alt="fruit.name" />
<section>
@@ -14,7 +15,9 @@
<hr />
<p class="price">{{ "$" + fruit.price }}</p>
{{ "expires" }} {{ fruit.expires | moment("from", "now") }}
<div class="alert">
{{ "This offer " + expirationState }} {{ fruit.expires | moment("from", "now") }}
</div>
</section>
</article>
</div>
@@ -25,8 +28,16 @@ import { mapState } from "vuex";
export default {
name: "FruitDetails",
data() {
return {
modalOpen: true
};
},
computed: {
...mapState(["fruit"])
...mapState(["fruit"]),
expirationState() {
return new Date(this.fruit.expires) < new Date() ? "expired" : "expires";
}
}
};
</script>
@@ -47,7 +58,6 @@ article {
img {
width: 100%;
//max-height: 285px;
object-fit: scale-down;
margin-bottom: 1.5rem;
box-shadow: 0 1px 4px 1px #d2d2f2;
@@ -55,7 +65,7 @@ article {
section {
padding: 1.5rem 1rem;
background-color: @secondary-color;
background-color: @color-2;
h3 {
display: flex;
@@ -87,6 +97,7 @@ article {
margin: 0;
font-size: 28px;
font-weight: bold;
color: @color-3;
}
}
@@ -109,4 +120,12 @@ article {
}
}
}
.alert {
margin-top: 1.75rem;
background-color: lighten(@color-1, 10%);
color: @color-2;
padding: 1rem 1.5rem;
border-radius: 4px;
}
</style>