MapComplete/src/UI/Status/StatusIcon.svelte

29 lines
1.1 KiB
Svelte
Raw Normal View History

2024-07-14 03:55:47 +02:00
<script lang="ts">
import Loading from "../Base/Loading.svelte"
import CheckCircle from "@babeard/svelte-heroicons/mini/CheckCircle"
import XCircle from "@rgossiaux/svelte-heroicons/solid/XCircle"
import { twJoin } from "tailwind-merge"
import { XIcon } from "@rgossiaux/svelte-heroicons/outline"
import Exclamation from "@rgossiaux/svelte-heroicons/solid/Exclamation"
import Check from "@babeard/svelte-heroicons/mini/Check"
import { XCircleIcon } from "@rgossiaux/svelte-heroicons/solid"
export let status: "online" | "degraded" | "offline"
export let cls: string = "w-6 h-6 mx-1"
</script>
{#if status === "online"}
<CheckCircle class={twJoin(cls,"rounded-full shrink-0")} style="color: #22cc22" />
2024-07-14 03:55:47 +02:00
{:else if status === "degraded"}
<Exclamation class={twJoin(cls,"rounded-full shrink-0")} style="color: #eecc22" />
2024-07-14 03:55:47 +02:00
{:else if status === "offline"}
<XCircleIcon class={twJoin(cls,"rounded-full shrink-0")} style="color: #bb2222" />
2024-07-14 03:55:47 +02:00
{:else if status === undefined}
<div class={twJoin(cls,"rounded-full shrink-0")}>
<Loading />
</div>
2024-07-14 03:55:47 +02:00
{:else}
? {status}
{/if}