Files
classroomio/apps/dashboard/src/lib/features/ui/analytics/activity-card.svelte
T

41 lines
971 B
Svelte
Raw Normal View History

<script lang="ts">
import type { Component } from 'svelte';
interface Activity {
icon: Component;
title: string;
percentage: number | string;
description: string;
hidePercentage?: boolean;
}
2025-11-01 15:49:29 +01:00
interface Props {
activity: Activity;
}
let { activity }: Props = $props();
</script>
<div
2025-11-01 15:49:29 +01:00
class="flex flex-col items-center justify-center gap-5 rounded-xl border p-3 md:flex-row md:p-5 dark:border-neutral-600"
>
<div class="bg-primary-200 w-fit rounded-full p-4 text-black">
2025-11-01 15:49:29 +01:00
<activity.icon />
</div>
<div>
2025-11-01 15:49:29 +01:00
<p class="text-center text-sm font-medium text-gray-600 md:text-left dark:text-gray-200">
{activity.title}
</p>
<p class="text-center text-2xl md:text-left">
{activity.percentage}
{#if !activity.hidePercentage}
%
{/if}
</p>
2025-11-01 15:49:29 +01:00
<p class="text-center text-xs text-gray-500 md:text-left md:text-sm dark:text-gray-300">
{activity.description}
</p>
</div>
</div>