- {#each achievementCategories as category}
+ {#each achievementCategories as category (category.name)}
{@const achievements = getAchievementsForCategory(category.ids)}
- {@const unlockedCount = achievements.filter(a => a.unlocked).length}
+ {@const unlockedCount = achievements.filter((a) => a.unlocked).length}
@@ -133,9 +163,11 @@
{#if selectedCategory === category.name}
- {#each achievements as achievement}
+ {#each achievements as achievement (achievement.id)}
@@ -149,7 +181,11 @@
{achievement.name}
-
+
{achievement.rarity}
@@ -171,7 +207,10 @@
@@ -193,8 +232,12 @@
{achievementsState.lastUnlocked.icon}
-
{achievementsState.lastUnlocked.name}
-
{formatDate(achievementsState.lastUnlocked.unlockedAt)}
+
+ {achievementsState.lastUnlocked.name}
+
+
+ {formatDate(achievementsState.lastUnlocked.unlockedAt)}
+
@@ -220,4 +263,4 @@
:global(.overflow-y-auto::-webkit-scrollbar-thumb:hover) {
background: var(--accent-primary);
}
-
\ No newline at end of file
+
diff --git a/src/lib/components/StatsDisplay.svelte b/src/lib/components/StatsDisplay.svelte
index ad52130..705433d 100644
--- a/src/lib/components/StatsDisplay.svelte
+++ b/src/lib/components/StatsDisplay.svelte
@@ -1,169 +1,168 @@
-
- Duration:
- {$formattedStats.sessionDuration}
-
+
+ Duration:
+ {$formattedStats.sessionDuration}
+
-
- Messages:
- {$formattedStats.messagesSession}
- / {$formattedStats.messagesTotal}
-
+
+ Messages:
+ {$formattedStats.messagesSession}
+ / {$formattedStats.messagesTotal}
+
+
+
Tokens & Cost
+
+ Session:
+ {$formattedStats.sessionTokens}
+ {$formattedStats.sessionCost}
+
+
+ Input:
+ {$formattedStats.sessionInputTokens}
+
+
+ Output:
+ {$formattedStats.sessionOutputTokens}
+
+
+ Total:
+ {$formattedStats.totalTokens}
+ {$formattedStats.totalCost}
+
+
+
+
+
Activity
+
+ Code blocks:
+ {$formattedStats.codeBlocksSession}
+ / {$formattedStats.codeBlocksTotal}
+
+
+ Files edited:
+ {$formattedStats.filesEditedSession}
+ / {$formattedStats.filesEditedTotal}
+
+
+ Files created:
+ {$formattedStats.filesCreatedSession}
+ / {$formattedStats.filesCreatedTotal}
+
+
+
+ {#if Object.keys($formattedStats.sessionToolsUsage).length > 0}
-
Tokens & Cost
-
- Session:
- {$formattedStats.sessionTokens}
- {$formattedStats.sessionCost}
-
-
- Input:
- {$formattedStats.sessionInputTokens}
-
-
- Output:
- {$formattedStats.sessionOutputTokens}
-
-
-
Total:
-
{$formattedStats.totalTokens}
-
{$formattedStats.totalCost}
+
+ {#if showToolsBreakdown}
+
+ {/if}
+ {/if}
-
-
Activity
-
- Code blocks:
- {$formattedStats.codeBlocksSession}
- / {$formattedStats.codeBlocksTotal}
-
-
- Files edited:
- {$formattedStats.filesEditedSession}
- / {$formattedStats.filesEditedTotal}
-
-
- Files created:
- {$formattedStats.filesCreatedSession}
- / {$formattedStats.filesCreatedTotal}
-
-
-
- {#if Object.keys($formattedStats.sessionToolsUsage).length > 0}
-
-
- {#if showToolsBreakdown}
-
- {/if}
-
- {/if}
-
-
- Model:
- {$formattedStats.model}
-
+
+ Model:
+ {$formattedStats.model}
+
\ No newline at end of file
+ .model-value {
+ font-family: var(--font-mono, monospace);
+ color: var(--text-primary, #e5e7eb);
+ font-size: 0.75rem;
+ }
+
diff --git a/src/lib/components/StatusBar.svelte b/src/lib/components/StatusBar.svelte
index 4c0e821..e928349 100644
--- a/src/lib/components/StatusBar.svelte
+++ b/src/lib/components/StatusBar.svelte
@@ -3,7 +3,7 @@
onToggleAchievements?: () => void;
}
- const { onToggleAchievements = () => {} } = $props
();
+ const { onToggleAchievements = () => {} }: Props = $props();
import { invoke } from "@tauri-apps/api/core";
import { getVersion } from "@tauri-apps/api/app";
@@ -188,14 +188,18 @@
>
🏆
{#if progress.unlocked > 0}
-
+
{progress.unlocked}
{/if}