Add site data mapping
parent
e43724b9c5
commit
075cbd74b0
@ -0,0 +1,32 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
export let icon: string;
|
||||||
|
export let alt: string;
|
||||||
|
export let text: string;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="badge" aria-label={alt}>
|
||||||
|
<i class="ri-{icon}-fill icon" aria-hidden="true" /><span aria-hidden="true">
|
||||||
|
{@html text}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
@use "../../../colors.scss";
|
||||||
|
|
||||||
|
.badge {
|
||||||
|
padding: 0.25em;
|
||||||
|
display: inline-block;
|
||||||
|
border-radius: 0.5em;
|
||||||
|
background-color: colors.$highlight;
|
||||||
|
color: colors.$highlight-text;
|
||||||
|
|
||||||
|
.icon,
|
||||||
|
span {
|
||||||
|
float: left;
|
||||||
|
padding-right: 0.25em;
|
||||||
|
margin: auto;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
margin: 0.25em;
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,109 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import type { PlantData } from "./proxy+page";
|
||||||
|
export let temp: PlantData["temp"];
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class="temp-bar"
|
||||||
|
title="Tolerates temperatures between {temp.lower}°C and {temp.upper}°C. Dies below {temp.death}°C."
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="temp lower-temp-death"
|
||||||
|
style="width: {temp.death / (4 / 10)}%"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<p>
|
||||||
|
<i class="ri-skull-fill icon" aria-hidden="true" /> < {temp.death}} °C
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="temp lower-temp-live"
|
||||||
|
aria-hidden="true"
|
||||||
|
style="width: {(temp.lower - temp.death) / (4 / 10)}%"
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
class="temp temp-live"
|
||||||
|
aria-hidden="true"
|
||||||
|
style="width: {(temp.upper - temp.lower) / (4 / 10)}%"
|
||||||
|
>
|
||||||
|
<p>
|
||||||
|
<i class="ri-plant-fill icon" aria-hidden="true" />{temp.lower}°C - {temp.upper}°C
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="temp upper-temp-live"
|
||||||
|
aria-hidden="true"
|
||||||
|
style="width: {(40 - temp.upper) / (4 / 10)}%"
|
||||||
|
/>
|
||||||
|
<div class="shadow-pseudo" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
@use "../../../colors.scss";
|
||||||
|
|
||||||
|
.temp-bar {
|
||||||
|
height: 1em;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
|
||||||
|
.temp {
|
||||||
|
height: 1em;
|
||||||
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-size: 0.85em;
|
||||||
|
display: flex;
|
||||||
|
margin: -0.1em auto 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
z-index: 3;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
padding-right: 0.25em;
|
||||||
|
margin-top: 0.15em;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.shadow-pseudo {
|
||||||
|
height: 1em;
|
||||||
|
width: 100%;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
box-shadow: 0.35em 0.35em colors.$highlight;
|
||||||
|
border-radius: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lower-temp-death {
|
||||||
|
text-align: right;
|
||||||
|
border-radius: 1em 0 0 1em;
|
||||||
|
background-image: linear-gradient(to right, colors.$red, colors.$yellow);
|
||||||
|
|
||||||
|
p {
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.lower-temp-live {
|
||||||
|
background-image: linear-gradient(to right, colors.$yellow, colors.$blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
.temp-live {
|
||||||
|
background-color: colors.$blue;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.upper-temp-live {
|
||||||
|
background-image: linear-gradient(to right, colors.$blue, colors.$yellow);
|
||||||
|
border-radius: 0 1em 1em 0;
|
||||||
|
|
||||||
|
p {
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
Loading…
Reference in New Issue