upd
Browse files
src/lib/components/Layout/ProgressBar.svelte
CHANGED
|
@@ -4,9 +4,12 @@
|
|
| 4 |
import type { GameState } from '$lib/db/schema';
|
| 5 |
|
| 6 |
let gameState: GameState | null = $state(null);
|
| 7 |
-
|
| 8 |
// Progress bar color based on rarity score
|
| 9 |
-
const progressColor = $derived(
|
|
|
|
|
|
|
|
|
|
| 10 |
|
| 11 |
function getProgressColor(score: number): string {
|
| 12 |
if (score < 100) return '#4caf50'; // green - beginner
|
|
|
|
| 4 |
import type { GameState } from '$lib/db/schema';
|
| 5 |
|
| 6 |
let gameState: GameState | null = $state(null);
|
| 7 |
+
|
| 8 |
// Progress bar color based on rarity score
|
| 9 |
+
const progressColor = $derived.by(() => {
|
| 10 |
+
const score = gameState?.rarityScore ?? 0;
|
| 11 |
+
return getProgressColor(score);
|
| 12 |
+
});
|
| 13 |
|
| 14 |
function getProgressColor(score: number): string {
|
| 15 |
if (score < 100) return '#4caf50'; // green - beginner
|
src/lib/components/Pages/Pictuary.svelte
CHANGED
|
@@ -194,7 +194,7 @@
|
|
| 194 |
<div class="piclet-grid">
|
| 195 |
{#each filteredPiclets as piclet (piclet.id)}
|
| 196 |
<div class="piclet-item" onclick={() => handlePicletClick(piclet)}>
|
| 197 |
-
<PicletCard
|
| 198 |
{#if piclet.isCanonical}
|
| 199 |
<div class="canonical-badge">✨</div>
|
| 200 |
{/if}
|
|
|
|
| 194 |
<div class="piclet-grid">
|
| 195 |
{#each filteredPiclets as piclet (piclet.id)}
|
| 196 |
<div class="piclet-item" onclick={() => handlePicletClick(piclet)}>
|
| 197 |
+
<PicletCard piclet={piclet} />
|
| 198 |
{#if piclet.isCanonical}
|
| 199 |
<div class="canonical-badge">✨</div>
|
| 200 |
{/if}
|
src/lib/components/PicletGenerator/PicletGenerator.svelte
CHANGED
|
@@ -10,6 +10,7 @@
|
|
| 10 |
import { PicletType, TYPE_DATA } from '$lib/types/picletTypes';
|
| 11 |
import { EnhancedCaptionService } from '$lib/services/enhancedCaption';
|
| 12 |
import { CanonicalService } from '$lib/services/canonicalService';
|
|
|
|
| 13 |
// import { withQwenTimeout } from '$lib/utils/qwenTimeout'; // Unused since qwen is disabled
|
| 14 |
|
| 15 |
interface Props extends PicletGeneratorProps {}
|
|
@@ -650,6 +651,22 @@ Create a concise visual description (1-3 sentences, max 100 words). Focus only o
|
|
| 650 |
|
| 651 |
const picletId = await savePicletInstance(picletInstance);
|
| 652 |
console.log('Piclet auto-saved as caught with ID:', picletId);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 653 |
} catch (err) {
|
| 654 |
console.error('Failed to auto-save piclet:', err);
|
| 655 |
console.error('Piclet data that failed to save:', {
|
|
|
|
| 10 |
import { PicletType, TYPE_DATA } from '$lib/types/picletTypes';
|
| 11 |
import { EnhancedCaptionService } from '$lib/services/enhancedCaption';
|
| 12 |
import { CanonicalService } from '$lib/services/canonicalService';
|
| 13 |
+
import { incrementDiscoveryCounter, addRarityScore, calculateRarityPoints } from '$lib/db/gameState';
|
| 14 |
// import { withQwenTimeout } from '$lib/utils/qwenTimeout'; // Unused since qwen is disabled
|
| 15 |
|
| 16 |
interface Props extends PicletGeneratorProps {}
|
|
|
|
| 651 |
|
| 652 |
const picletId = await savePicletInstance(picletInstance);
|
| 653 |
console.log('Piclet auto-saved as caught with ID:', picletId);
|
| 654 |
+
|
| 655 |
+
// Update game state statistics
|
| 656 |
+
await incrementDiscoveryCounter('totalDiscoveries');
|
| 657 |
+
|
| 658 |
+
// Update canonical vs variation counters
|
| 659 |
+
if (picletInstance.isCanonical) {
|
| 660 |
+
await incrementDiscoveryCounter('uniqueDiscoveries');
|
| 661 |
+
} else {
|
| 662 |
+
await incrementDiscoveryCounter('variationsFound');
|
| 663 |
+
}
|
| 664 |
+
|
| 665 |
+
// Calculate and add rarity score
|
| 666 |
+
const rarityPoints = calculateRarityPoints(picletInstance.scanCount);
|
| 667 |
+
await addRarityScore(rarityPoints);
|
| 668 |
+
|
| 669 |
+
console.log('Game state updated: +1 discovery, +' + rarityPoints + ' rarity points');
|
| 670 |
} catch (err) {
|
| 671 |
console.error('Failed to auto-save piclet:', err);
|
| 672 |
console.error('Piclet data that failed to save:', {
|