valtech-components 4.0.462 → 4.0.464

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
- import { ChessimalsChallengeRoundStats, ChessimalsChallengeRun, ChessimalsChallengeStats } from './types';
2
+ import { ChessimalsChallengeRoundStats, ChessimalsChallengeRun, ChessimalsChallengeStats, ChessimalsStatsMode } from './types';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class ChessimalsChallengeProgressService {
5
5
  private readonly firebaseAuth;
@@ -18,9 +18,13 @@ export declare class ChessimalsChallengeProgressService {
18
18
  completed: boolean;
19
19
  roundStats: ChessimalsChallengeRoundStats;
20
20
  }): Promise<void>;
21
+ recordModeResult(mode: Exclude<ChessimalsStatsMode, 'challenge'>, won: boolean): Promise<void>;
21
22
  emptyStats(): ChessimalsChallengeStats;
22
23
  private readStats;
23
24
  private normalizeStats;
25
+ private addModeResult;
26
+ private emptyModeStats;
27
+ private normalizeModeStats;
24
28
  private ensureUser;
25
29
  private statsRef;
26
30
  private runRef;
@@ -1,6 +1,6 @@
1
1
  import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { FormControl } from '@angular/forms';
3
- import { ChessimalsAnimalType, ChessimalsBotDifficulty, ChessimalsBotProfile, ChessimalsBotProfileId, ChessimalsBoardSize, ChessimalsChallengeBot, ChessimalsChallengeRoundStats, ChessimalsChallengeRun, ChessimalsChallengeStats, ChessimalsGameState, ChessimalsHistoryEntry, ChessimalsLocalMode, ChessimalsMove, ChessimalsPiece, ChessimalsPlayerColor, ChessimalsPosition } from './types';
3
+ import { ChessimalsAnimalType, ChessimalsBotDifficulty, ChessimalsBotProfile, ChessimalsBotProfileId, ChessimalsBoardSize, ChessimalsChallengeBot, ChessimalsChallengeRoundStats, ChessimalsChallengeRun, ChessimalsChallengeStats, ChessimalsGameState, ChessimalsHistoryEntry, ChessimalsLocalMode, ChessimalsMove, ChessimalsPiece, ChessimalsPlayerColor, ChessimalsPosition, ChessimalsStatsMode } from './types';
4
4
  import { RangeInputMetadata, RangeValue } from '../../molecules/range-input/types';
5
5
  import { ToggleInputMetadata } from '../../molecules/toggle-input/types';
6
6
  import { UserAvatarMetadata } from '../../atoms/user-avatar/types';
@@ -87,6 +87,7 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
87
87
  private openedOnlineGameId;
88
88
  private lastOutcomeSoundKey;
89
89
  private lastChallengeHandledKey;
90
+ private lastModeStatsHandledKey;
90
91
  private boardAnchor?;
91
92
  readonly boardSizes: ChessimalsBoardSize[];
92
93
  readonly localModes: ChessimalsLocalMode[];
@@ -94,7 +95,7 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
94
95
  readonly botProfiles: ChessimalsBotProfile[];
95
96
  readonly challengeLadder: ChessimalsChallengeBot[];
96
97
  readonly animals: ChessimalsAnimalView[];
97
- readonly valtechComponentsVersion = "4.0.462";
98
+ readonly valtechComponentsVersion = "4.0.464";
98
99
  readonly screen: import("@angular/core").WritableSignal<"home" | "game">;
99
100
  readonly selectedBoardSize: import("@angular/core").WritableSignal<ChessimalsBoardSize>;
100
101
  readonly selectedLocalMode: import("@angular/core").WritableSignal<ChessimalsLocalMode>;
@@ -374,11 +375,14 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
374
375
  challengeNextRivalLabel(): string;
375
376
  challengeContinueLabel(): string;
376
377
  challengeWinRateLabel(): string;
378
+ modeWinRateLabel(mode: ChessimalsStatsMode): string;
379
+ modeStatsLine(mode: ChessimalsStatsMode): string;
377
380
  challengeAchievements(): ChessimalsAchievementView[];
378
381
  challengeTensionMoment(): ChessimalsChallengeTensionView | undefined;
379
382
  challengeHasNewRecord(): boolean;
380
383
  totalChallengePowers(stats?: ChessimalsChallengeRoundStats): number;
381
384
  private createChallengeRoundStats;
385
+ private modeStatsResult;
382
386
  animalLabel(type: ChessimalsAnimalType): string;
383
387
  animalGlyph(type: ChessimalsAnimalType): string;
384
388
  canReviewPrevious(): boolean;
@@ -115,8 +115,15 @@ export interface ChessimalsChallengeStats {
115
115
  powersUsed: Record<ChessimalsAnimalType, number>;
116
116
  powerCaptures: number;
117
117
  promotions: number;
118
+ modeStats: Record<ChessimalsStatsMode, ChessimalsModeStats>;
118
119
  updatedAt?: string;
119
120
  }
121
+ export type ChessimalsStatsMode = 'challenge' | 'bot' | 'online';
122
+ export interface ChessimalsModeStats {
123
+ played: number;
124
+ wins: number;
125
+ losses: number;
126
+ }
120
127
  export interface ChessimalsPosition {
121
128
  row: number;
122
129
  col: number;
package/lib/version.d.ts CHANGED
@@ -2,4 +2,4 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export declare const VERSION = "4.0.462";
5
+ export declare const VERSION = "4.0.464";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valtech-components",
3
- "version": "4.0.462",
3
+ "version": "4.0.464",
4
4
  "private": false,
5
5
  "bin": {
6
6
  "valtech-firebase-config": "./src/lib/services/firebase/scripts/generate-sw-config.js"