MapComplete/src/UI/Map/Icon.svelte

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

103 lines
4 KiB
Svelte
Raw Normal View History

<script lang="ts">
2023-11-22 19:39:19 +01:00
import Pin from "../../assets/svg/Pin.svelte";
import Square from "../../assets/svg/Square.svelte";
import Circle from "../../assets/svg/Circle.svelte";
import Checkmark from "../../assets/svg/Checkmark.svelte";
import Clock from "../../assets/svg/Clock.svelte";
import Close from "../../assets/svg/Close.svelte";
import Crosshair from "../../assets/svg/Crosshair.svelte";
import Help from "../../assets/svg/Help.svelte";
import Home from "../../assets/svg/Home.svelte";
import Invalid from "../../assets/svg/Invalid.svelte";
import Location from "../../assets/svg/Location.svelte";
import Location_empty from "../../assets/svg/Location_empty.svelte";
import Location_locked from "../../assets/svg/Location_locked.svelte";
import Note from "../../assets/svg/Note.svelte";
import Resolved from "../../assets/svg/Resolved.svelte";
import Ring from "../../assets/svg/Ring.svelte";
import Scissors from "../../assets/svg/Scissors.svelte";
import Teardrop from "../../assets/svg/Teardrop.svelte";
import Teardrop_with_hole_green from "../../assets/svg/Teardrop_with_hole_green.svelte";
import Triangle from "../../assets/svg/Triangle.svelte";
import Brick_wall_square from "../../assets/svg/Brick_wall_square.svelte";
import Brick_wall_round from "../../assets/svg/Brick_wall_round.svelte";
import Gps_arrow from "../../assets/svg/Gps_arrow.svelte";
2023-11-22 19:39:19 +01:00
import { HeartIcon } from "@babeard/svelte-heroicons/solid";
import { HeartIcon as HeartOutlineIcon } from "@babeard/svelte-heroicons/outline";
/**
* Renders a single icon.
*
* Icons -placed on top of each other- form a 'Marker' together
*/
2023-11-22 19:39:19 +01:00
export let icon: string | undefined;
export let color: string | undefined;
export let clss: string | undefined
</script>
{#if icon}
{#if icon === "pin"}
2023-11-22 19:39:19 +01:00
<Pin {color} class={clss}/>
{:else if icon === "square"}
2023-11-22 19:39:19 +01:00
<Square {color} class={clss}/>
{:else if icon === "circle"}
2023-11-22 19:39:19 +01:00
<Circle {color} class={clss}/>
{:else if icon === "checkmark"}
2023-11-22 19:39:19 +01:00
<Checkmark {color} class={clss}/>
{:else if icon === "clock"}
2023-11-22 19:39:19 +01:00
<Clock {color} class={clss}/>
{:else if icon === "close"}
2023-11-22 19:39:19 +01:00
<Close {color} class={clss}/>
{:else if icon === "crosshair"}
2023-11-22 19:39:19 +01:00
<Crosshair {color} class={clss}/>
{:else if icon === "help"}
2023-11-22 19:39:19 +01:00
<Help {color} class={clss}/>
{:else if icon === "home"}
2023-11-22 19:39:19 +01:00
<Home {color} class={clss}/>
{:else if icon === "invalid"}
2023-11-22 19:39:19 +01:00
<Invalid {color} class={clss}/>
{:else if icon === "location"}
2023-11-22 19:39:19 +01:00
<Location {color} class={clss}/>
{:else if icon === "location_empty"}
2023-11-22 19:39:19 +01:00
<Location_empty {color} class={clss}/>
{:else if icon === "location_locked"}
2023-11-22 19:39:19 +01:00
<Location_locked {color} class={clss}/>
{:else if icon === "note"}
2023-11-22 19:39:19 +01:00
<Note {color} class={clss}/>
{:else if icon === "resolved"}
2023-11-22 19:39:19 +01:00
<Resolved {color} class={clss}/>
{:else if icon === "ring"}
2023-11-22 19:39:19 +01:00
<Ring {color} class={clss}/>
{:else if icon === "scissors"}
2023-11-22 19:39:19 +01:00
<Scissors {color} class={clss}/>
{:else if icon === "teardrop"}
2023-11-22 19:39:19 +01:00
<Teardrop {color} class={clss}/>
{:else if icon === "teardrop_with_hole_green"}
2023-11-22 19:39:19 +01:00
<Teardrop_with_hole_green {color} class={clss}/>
{:else if icon === "triangle"}
2023-11-22 19:39:19 +01:00
<Triangle {color} class={clss}/>
{:else if icon === "brick_wall_square"}
2023-11-22 19:39:19 +01:00
<Brick_wall_square {color} class={clss}/>
{:else if icon === "brick_wall_round"}
2023-11-22 19:39:19 +01:00
<Brick_wall_round {color} class={clss}/>
{:else if icon === "gps_arrow"}
2023-11-22 19:39:19 +01:00
<Gps_arrow {color} class={clss}/>
{:else if icon === "checkmark"}
2023-11-22 19:39:19 +01:00
<Checkmark {color} class={clss}/>
{:else if icon === "help"}
2023-11-22 19:39:19 +01:00
<Help {color} class={clss}/>
{:else if icon === "close"}
2023-11-22 19:39:19 +01:00
<Close {color} class={clss}/>
{:else if icon === "invalid"}
2023-11-22 19:39:19 +01:00
<Invalid {color} class={clss}/>
{:else if icon === "heart"}
<HeartIcon class={clss}/>
{:else if icon === "heart_outline"}
<HeartOutlineIcon class={clss}/>
{:else}
2023-11-22 19:39:19 +01:00
<img class={clss ?? "h-full w-full"} src={icon} aria-hidden="true"
alt="" />
{/if}
{/if}