feat: implement daily rewards system & streak

This commit is contained in:
Face 2025-05-26 13:05:47 +03:00
parent d692e86fe0
commit 37d76b243b
15 changed files with 2229 additions and 21 deletions

View file

@ -1,7 +1,7 @@
<script lang="ts">
import type { UserProfile } from '$lib/types/user-profile';
import SilentBadge from './SilentBadge.svelte';
import { Hash, Hammer } from 'lucide-svelte';
import { Hash, Hammer, Flame } from 'lucide-svelte';
let {
user,
@ -16,10 +16,13 @@
let badgeClass = $derived(size === 'sm' ? 'text-xs' : '');
</script>
<div class="flex items-center">
<div class="flex items-center gap-1">
{#if showId}
<SilentBadge icon={Hash} class="text-muted-foreground {badgeClass}" text="#{user.id} to join" />
{/if}
{#if user.loginStreak && user.loginStreak > 1}
<SilentBadge icon={Flame} text="{user.loginStreak} day streak" class="text-orange-500 {badgeClass}" />
{/if}
{#if user.isAdmin}
<SilentBadge icon={Hammer} text="Admin" class="text-primary {badgeClass}" />
{/if}