Fraser commited on
Commit
a8636b2
·
1 Parent(s): 83f8807
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(getProgressColor(gameState?.rarityScore || 0));
 
 
 
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 instance={piclet} />
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:', {