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