Files
dockhand/routes/dashboard/dashboard-status-icons.svelte
Jarek Krochmalski 62e3c6439e Initial commit
2025-12-28 21:16:03 +01:00

48 lines
1.5 KiB
Svelte

<script lang="ts">
import {
ShieldCheck,
Activity,
WifiOff,
CircleArrowUp,
CircleFadingArrowUp
} from 'lucide-svelte';
interface Props {
online: boolean;
scannerEnabled: boolean;
collectActivity: boolean;
updateCheckEnabled?: boolean;
updateCheckAutoUpdate?: boolean;
compact?: boolean;
}
let { online, scannerEnabled, collectActivity, updateCheckEnabled = false, updateCheckAutoUpdate = false, compact = false }: Props = $props();
</script>
<div class="{compact ? 'flex items-center gap-1 shrink-0' : 'flex items-center gap-1.5 shrink-0'}">
{#if updateCheckEnabled}
<span title={updateCheckAutoUpdate ? "Auto-update enabled" : "Update check enabled (notify only)"}>
{#if updateCheckAutoUpdate}
<CircleArrowUp class="{compact ? 'w-3.5 h-3.5 glow-green-sm' : 'w-4 h-4 glow-green'} text-green-500" />
{:else}
<CircleFadingArrowUp class="{compact ? 'w-3.5 h-3.5 glow-green-sm' : 'w-4 h-4 glow-green'} text-green-500" />
{/if}
</span>
{/if}
{#if scannerEnabled}
<span title="Vulnerability scanning enabled">
<ShieldCheck class="{compact ? 'w-3.5 h-3.5 glow-green-sm' : 'w-4 h-4 glow-green'} text-green-500" />
</span>
{/if}
{#if collectActivity}
<span title="Activity collection enabled">
<Activity class="{compact ? 'w-3.5 h-3.5 glow-amber-sm' : 'w-4 h-4 glow-amber'} text-amber-500" />
</span>
{/if}
{#if !online && compact}
<span title="Offline">
<WifiOff class="w-3.5 h-3.5 text-red-500 shrink-0" />
</span>
{/if}
</div>