rategame-shared 1.1.486 → 1.1.487

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.
@@ -0,0 +1,5 @@
1
+ export declare const FANCY_TEXT_ERROR_MESSAGE = "Fancy or styled characters are not allowed. Please use normal letters and numbers.";
2
+ /**
3
+ * Detects mathematical-alphanumeric, fullwidth, and similar disguised characters.
4
+ */
5
+ export declare function containsFancyText(value: string | null | undefined): boolean;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.containsFancyText = exports.FANCY_TEXT_ERROR_MESSAGE = void 0;
4
+ exports.FANCY_TEXT_ERROR_MESSAGE = 'Fancy or styled characters are not allowed. Please use normal letters and numbers.';
5
+ /** Unicode ranges used for disguised / styled text (not normal user input). */
6
+ const FANCY_CODE_POINT_RANGES = [
7
+ [0x1d400, 0x1d7ff],
8
+ [0x1d800, 0x1daff],
9
+ [0x1f100, 0x1f1ff],
10
+ [0x2100, 0x214f],
11
+ [0x2460, 0x24ff],
12
+ [0xff01, 0xff5e], // Fullwidth ASCII variants
13
+ ];
14
+ const isFancyCodePoint = (code) => FANCY_CODE_POINT_RANGES.some(([start, end]) => code >= start && code <= end);
15
+ /**
16
+ * Detects mathematical-alphanumeric, fullwidth, and similar disguised characters.
17
+ */
18
+ function containsFancyText(value) {
19
+ if (!value)
20
+ return false;
21
+ for (const char of value) {
22
+ const code = char.codePointAt(0);
23
+ if (code !== undefined && isFancyCodePoint(code)) {
24
+ return true;
25
+ }
26
+ }
27
+ return false;
28
+ }
29
+ exports.containsFancyText = containsFancyText;
@@ -0,0 +1,26 @@
1
+ export declare const DEFAULT_FAVORITE_TEAM_LEAGUE_ORDER: readonly ["nba", "mlb", "wbc", "nfl", "nhl", "iho", "epl", "fifa", "cbb", "cfb", "mls", "wnba", "cwc"];
2
+ export type FavoriteTeamLookup = {
3
+ id?: string | number;
4
+ name?: string;
5
+ image?: string;
6
+ primaryColor?: string | null;
7
+ countryId?: string | number;
8
+ };
9
+ export type FavoriteTeamChip = {
10
+ key: string;
11
+ league: string;
12
+ teamImage: string;
13
+ teamId: string;
14
+ teamName: string;
15
+ primaryColor: string | null;
16
+ countryId?: string;
17
+ };
18
+ export declare function getFavoriteTeamChipKey({ league, teamId, countryId, }: {
19
+ league: string;
20
+ teamId: string;
21
+ countryId?: string;
22
+ }): string;
23
+ export declare function buildFavoriteTeamChips(favoriteTeamsPerLeague: Record<string, string> | undefined, allTeams: Record<string, FavoriteTeamLookup[] | undefined> | undefined): FavoriteTeamChip[];
24
+ export declare function sortFavoriteTeamChips(chips: FavoriteTeamChip[], favoriteTeamsOrder?: string[]): FavoriteTeamChip[];
25
+ export declare function buildFavoriteTeamsOrderFromChips(chips: FavoriteTeamChip[]): string[];
26
+ export declare function syncFavoriteTeamsOrder(favoriteTeamsOrder: string[] | undefined, chips: FavoriteTeamChip[]): string[];
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.syncFavoriteTeamsOrder = exports.buildFavoriteTeamsOrderFromChips = exports.sortFavoriteTeamChips = exports.buildFavoriteTeamChips = exports.getFavoriteTeamChipKey = exports.DEFAULT_FAVORITE_TEAM_LEAGUE_ORDER = void 0;
4
+ exports.DEFAULT_FAVORITE_TEAM_LEAGUE_ORDER = [
5
+ "nba",
6
+ "mlb",
7
+ "wbc",
8
+ "nfl",
9
+ "nhl",
10
+ "iho",
11
+ "epl",
12
+ "fifa",
13
+ "cbb",
14
+ "cfb",
15
+ "mls",
16
+ "wnba",
17
+ "cwc",
18
+ ];
19
+ function getFavoriteTeamChipKey({ league, teamId, countryId, }) {
20
+ return countryId ? `country-${countryId}` : `${league}-${teamId}`;
21
+ }
22
+ exports.getFavoriteTeamChipKey = getFavoriteTeamChipKey;
23
+ function buildFavoriteTeamChips(favoriteTeamsPerLeague, allTeams) {
24
+ if (!favoriteTeamsPerLeague)
25
+ return [];
26
+ const chipsByKey = new Map();
27
+ Object.entries(favoriteTeamsPerLeague).forEach(([league, teamId]) => {
28
+ var _a, _b, _c;
29
+ const leagueKey = league === "ncaa" ? "cbb" : league;
30
+ const favoriteTeam = (_a = allTeams === null || allTeams === void 0 ? void 0 : allTeams[leagueKey]) === null || _a === void 0 ? void 0 : _a.find(item => { var _a; return ((_a = item === null || item === void 0 ? void 0 : item.id) === null || _a === void 0 ? void 0 : _a.toString()) === teamId; });
31
+ if (!(favoriteTeam === null || favoriteTeam === void 0 ? void 0 : favoriteTeam.image))
32
+ return;
33
+ const countryId = favoriteTeam.countryId
34
+ ? String(favoriteTeam.countryId)
35
+ : undefined;
36
+ const key = getFavoriteTeamChipKey({
37
+ league: leagueKey,
38
+ teamId,
39
+ countryId,
40
+ });
41
+ if (chipsByKey.has(key))
42
+ return;
43
+ chipsByKey.set(key, {
44
+ key,
45
+ league: leagueKey,
46
+ teamImage: favoriteTeam.image,
47
+ teamId,
48
+ teamName: (_b = favoriteTeam.name) !== null && _b !== void 0 ? _b : "",
49
+ primaryColor: (_c = favoriteTeam.primaryColor) !== null && _c !== void 0 ? _c : null,
50
+ countryId,
51
+ });
52
+ });
53
+ return Array.from(chipsByKey.values());
54
+ }
55
+ exports.buildFavoriteTeamChips = buildFavoriteTeamChips;
56
+ function sortFavoriteTeamChips(chips, favoriteTeamsOrder) {
57
+ if (!chips.length)
58
+ return chips;
59
+ const orderIndex = new Map((favoriteTeamsOrder !== null && favoriteTeamsOrder !== void 0 ? favoriteTeamsOrder : []).map((key, index) => [key, index]));
60
+ return [...chips].sort((a, b) => {
61
+ const aOrder = orderIndex.get(a.key);
62
+ const bOrder = orderIndex.get(b.key);
63
+ if (aOrder !== undefined && bOrder !== undefined) {
64
+ return aOrder - bOrder;
65
+ }
66
+ if (aOrder !== undefined)
67
+ return -1;
68
+ if (bOrder !== undefined)
69
+ return 1;
70
+ const aIndex = exports.DEFAULT_FAVORITE_TEAM_LEAGUE_ORDER.indexOf(a.league);
71
+ const bIndex = exports.DEFAULT_FAVORITE_TEAM_LEAGUE_ORDER.indexOf(b.league);
72
+ return ((aIndex === -1 ? exports.DEFAULT_FAVORITE_TEAM_LEAGUE_ORDER.length : aIndex) -
73
+ (bIndex === -1 ? exports.DEFAULT_FAVORITE_TEAM_LEAGUE_ORDER.length : bIndex));
74
+ });
75
+ }
76
+ exports.sortFavoriteTeamChips = sortFavoriteTeamChips;
77
+ function buildFavoriteTeamsOrderFromChips(chips) {
78
+ return sortFavoriteTeamChips(chips).map(chip => chip.key);
79
+ }
80
+ exports.buildFavoriteTeamsOrderFromChips = buildFavoriteTeamsOrderFromChips;
81
+ function syncFavoriteTeamsOrder(favoriteTeamsOrder, chips) {
82
+ const chipKeys = new Set(chips.map(chip => chip.key));
83
+ const syncedOrder = (favoriteTeamsOrder !== null && favoriteTeamsOrder !== void 0 ? favoriteTeamsOrder : []).filter(key => chipKeys.has(key));
84
+ chips.forEach(chip => {
85
+ if (!syncedOrder.includes(chip.key)) {
86
+ syncedOrder.push(chip.key);
87
+ }
88
+ });
89
+ return syncedOrder;
90
+ }
91
+ exports.syncFavoriteTeamsOrder = syncFavoriteTeamsOrder;
@@ -1,8 +1,24 @@
1
1
  import { z } from "zod";
2
2
  /** Max sports/platform leagues selectable when creating a mini league. */
3
3
  export declare const MINI_LEAGUE_MAX_PLATFORM_LEAGUES = 2;
4
- /** Max active (ongoing) mini leagues a user can belong to (owned + joined). */
5
- export declare const MINI_LEAGUE_MAX_MEMBERSHIPS_PER_USER = 5;
4
+ /** Max active mini leagues a user can create (own) at once. */
5
+ export declare const MINI_LEAGUE_MAX_CREATED_PER_USER = 5;
6
+ /** Max active mini leagues a user can join (not own) at once. */
7
+ export declare const MINI_LEAGUE_MAX_JOINED_PER_USER = 5;
8
+ /** Combined cap when both create and join allotments are full. */
9
+ export declare const MINI_LEAGUE_MAX_MEMBERSHIPS_PER_USER: number;
10
+ export type MiniLeagueAllotmentCounts = {
11
+ created: number;
12
+ joined: number;
13
+ };
14
+ type MiniLeagueAllotmentLeague = {
15
+ ownerId?: string | null;
16
+ status?: string | null;
17
+ endAt?: number | null;
18
+ };
19
+ export declare const countMiniLeagueAllotments: (leagues: MiniLeagueAllotmentLeague[], userId?: string | null, now?: number) => MiniLeagueAllotmentCounts;
20
+ export declare const isAtMiniLeagueCreateLimit: (counts: MiniLeagueAllotmentCounts) => boolean;
21
+ export declare const isAtMiniLeagueJoinLimit: (counts: MiniLeagueAllotmentCounts) => boolean;
6
22
  export declare const miniLeagueVisibilitySchema: z.ZodUnion<[z.ZodLiteral<"public">, z.ZodLiteral<"private">]>;
7
23
  export declare const miniLeagueStatusSchema: z.ZodUnion<[z.ZodLiteral<"active">, z.ZodLiteral<"ended">]>;
8
24
  export declare const miniLeagueMemberRoleSchema: z.ZodUnion<[z.ZodLiteral<"owner">, z.ZodLiteral<"admin">, z.ZodLiteral<"member">]>;
@@ -20,6 +36,7 @@ export declare const miniLeagueSchema: z.ZodObject<{
20
36
  birthdayTimeZone: z.ZodOptional<z.ZodString>;
21
37
  location: z.ZodOptional<z.ZodString>;
22
38
  avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
39
+ /** Full AppsFlyer OneLink URL ready to share. */
23
40
  createdAt: z.ZodNumber;
24
41
  updatedAt: z.ZodNumber;
25
42
  leagues: z.ZodOptional<z.ZodObject<{
@@ -685,7 +702,7 @@ export declare const miniLeagueSchema: z.ZodObject<{
685
702
  weightedRating: number;
686
703
  };
687
704
  lastRatedAt?: number | undefined;
688
- }>; /** 1-based week index within the league window. */
705
+ }>;
689
706
  }, "strip", z.ZodTypeAny, {
690
707
  nba: {
691
708
  totalRatedGames: number;
@@ -1093,7 +1110,6 @@ export declare const miniLeagueSchema: z.ZodObject<{
1093
1110
  instagram: z.ZodOptional<z.ZodString>;
1094
1111
  x: z.ZodOptional<z.ZodString>;
1095
1112
  youtube: z.ZodOptional<z.ZodString>;
1096
- /** 1-based month index within the league window. */
1097
1113
  tiktok: z.ZodOptional<z.ZodString>;
1098
1114
  }, "strip", z.ZodTypeAny, {
1099
1115
  instagram?: string | undefined;
@@ -1108,7 +1124,7 @@ export declare const miniLeagueSchema: z.ZodObject<{
1108
1124
  }>>;
1109
1125
  platform: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"ios">, z.ZodLiteral<"android">, z.ZodLiteral<"macos">, z.ZodLiteral<"windows">, z.ZodLiteral<"web">]>>;
1110
1126
  selectedTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
1111
- favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Platform league slug, e.g. "nfl". */
1127
+ favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1112
1128
  promptedLeagues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1113
1129
  notificationSettings: z.ZodOptional<z.ZodObject<{
1114
1130
  allGames: z.ZodOptional<z.ZodBoolean>;
@@ -1151,6 +1167,7 @@ export declare const miniLeagueSchema: z.ZodObject<{
1151
1167
  clubhouse?: boolean | undefined;
1152
1168
  spanish?: boolean | undefined;
1153
1169
  }>>;
1170
+ /** 1-based day index within the league window (for chart filtering). */
1154
1171
  repliesToRatings: z.ZodOptional<z.ZodBoolean>;
1155
1172
  repliesToLists: z.ZodOptional<z.ZodBoolean>;
1156
1173
  repliesToUserEvents: z.ZodOptional<z.ZodBoolean>;
@@ -1158,14 +1175,10 @@ export declare const miniLeagueSchema: z.ZodObject<{
1158
1175
  ratingLikes: z.ZodOptional<z.ZodBoolean>;
1159
1176
  triviaLikes: z.ZodOptional<z.ZodBoolean>;
1160
1177
  listLikes: z.ZodOptional<z.ZodBoolean>;
1161
- eventLikes: z.ZodOptional<z.ZodBoolean>; /** Day buckets — empty when the span is too short (<2 days) or too long (>14). */
1178
+ eventLikes: z.ZodOptional<z.ZodBoolean>;
1162
1179
  commentLikes: z.ZodOptional<z.ZodBoolean>;
1163
1180
  threadActivityNotifications: z.ZodOptional<z.ZodBoolean>;
1164
1181
  trendingGames: z.ZodOptional<z.ZodBoolean>;
1165
- /**
1166
- * Week buckets — empty when the league does not span 2+ weeks.
1167
- * Kept for chart + best-week; truncated to last 12 when longer.
1168
- */
1169
1182
  gameTopLists: z.ZodOptional<z.ZodBoolean>;
1170
1183
  playerTopLists: z.ZodOptional<z.ZodBoolean>;
1171
1184
  streakReminders: z.ZodOptional<z.ZodBoolean>;
@@ -1427,13 +1440,12 @@ export declare const miniLeagueSchema: z.ZodObject<{
1427
1440
  achievedAt?: number | undefined;
1428
1441
  seen?: boolean | undefined;
1429
1442
  isOngoing?: boolean | undefined;
1430
- }>>>;
1443
+ }>>>; /** Preferred: one or more platform leagues (max 2). */
1431
1444
  seen: z.ZodOptional<z.ZodBoolean>;
1432
1445
  type: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"global">, z.ZodLiteral<"sport">, z.ZodLiteral<"league">]>>;
1433
- category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>;
1446
+ category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>; /** Legacy single-league create. */
1434
1447
  league: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"nba">, z.ZodLiteral<"ncaa">, z.ZodLiteral<"nfl">, z.ZodLiteral<"nhl">, z.ZodLiteral<"mlb">, z.ZodLiteral<"cbb">, z.ZodLiteral<"cfb">, z.ZodLiteral<"epl">, z.ZodLiteral<"mls">, z.ZodLiteral<"wnba">, z.ZodLiteral<"cwc">, z.ZodLiteral<"fifa">, z.ZodLiteral<"laliga">, z.ZodLiteral<"seriea">, z.ZodLiteral<"bundesliga">, z.ZodLiteral<"ligue1">, z.ZodLiteral<"ucl">, z.ZodUnion<[z.ZodLiteral<"global">, z.ZodString]>]>, z.ZodString]>>;
1435
1448
  sport: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"basketball">, z.ZodLiteral<"football">, z.ZodLiteral<"soccer">, z.ZodLiteral<"baseball">, z.ZodLiteral<"hockey">]>>;
1436
- /** Public (unauthenticated) preview of the league behind an invite link. */
1437
1449
  seasonal: z.ZodOptional<z.ZodBoolean>;
1438
1450
  }, "strip", z.ZodTypeAny, {
1439
1451
  id: string;
@@ -1731,6 +1743,7 @@ export declare const miniLeagueMemberSchema: z.ZodObject<{
1731
1743
  birthdayTimeZone: z.ZodOptional<z.ZodString>;
1732
1744
  location: z.ZodOptional<z.ZodString>;
1733
1745
  avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1746
+ /** Full AppsFlyer OneLink URL ready to share. */
1734
1747
  createdAt: z.ZodNumber;
1735
1748
  updatedAt: z.ZodNumber;
1736
1749
  leagues: z.ZodOptional<z.ZodObject<{
@@ -2396,7 +2409,7 @@ export declare const miniLeagueMemberSchema: z.ZodObject<{
2396
2409
  weightedRating: number;
2397
2410
  };
2398
2411
  lastRatedAt?: number | undefined;
2399
- }>; /** 1-based week index within the league window. */
2412
+ }>;
2400
2413
  }, "strip", z.ZodTypeAny, {
2401
2414
  nba: {
2402
2415
  totalRatedGames: number;
@@ -2804,7 +2817,6 @@ export declare const miniLeagueMemberSchema: z.ZodObject<{
2804
2817
  instagram: z.ZodOptional<z.ZodString>;
2805
2818
  x: z.ZodOptional<z.ZodString>;
2806
2819
  youtube: z.ZodOptional<z.ZodString>;
2807
- /** 1-based month index within the league window. */
2808
2820
  tiktok: z.ZodOptional<z.ZodString>;
2809
2821
  }, "strip", z.ZodTypeAny, {
2810
2822
  instagram?: string | undefined;
@@ -2819,7 +2831,7 @@ export declare const miniLeagueMemberSchema: z.ZodObject<{
2819
2831
  }>>;
2820
2832
  platform: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"ios">, z.ZodLiteral<"android">, z.ZodLiteral<"macos">, z.ZodLiteral<"windows">, z.ZodLiteral<"web">]>>;
2821
2833
  selectedTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
2822
- favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Platform league slug, e.g. "nfl". */
2834
+ favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2823
2835
  promptedLeagues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
2824
2836
  notificationSettings: z.ZodOptional<z.ZodObject<{
2825
2837
  allGames: z.ZodOptional<z.ZodBoolean>;
@@ -2862,6 +2874,7 @@ export declare const miniLeagueMemberSchema: z.ZodObject<{
2862
2874
  clubhouse?: boolean | undefined;
2863
2875
  spanish?: boolean | undefined;
2864
2876
  }>>;
2877
+ /** 1-based day index within the league window (for chart filtering). */
2865
2878
  repliesToRatings: z.ZodOptional<z.ZodBoolean>;
2866
2879
  repliesToLists: z.ZodOptional<z.ZodBoolean>;
2867
2880
  repliesToUserEvents: z.ZodOptional<z.ZodBoolean>;
@@ -2869,14 +2882,10 @@ export declare const miniLeagueMemberSchema: z.ZodObject<{
2869
2882
  ratingLikes: z.ZodOptional<z.ZodBoolean>;
2870
2883
  triviaLikes: z.ZodOptional<z.ZodBoolean>;
2871
2884
  listLikes: z.ZodOptional<z.ZodBoolean>;
2872
- eventLikes: z.ZodOptional<z.ZodBoolean>; /** Day buckets — empty when the span is too short (<2 days) or too long (>14). */
2885
+ eventLikes: z.ZodOptional<z.ZodBoolean>;
2873
2886
  commentLikes: z.ZodOptional<z.ZodBoolean>;
2874
2887
  threadActivityNotifications: z.ZodOptional<z.ZodBoolean>;
2875
2888
  trendingGames: z.ZodOptional<z.ZodBoolean>;
2876
- /**
2877
- * Week buckets — empty when the league does not span 2+ weeks.
2878
- * Kept for chart + best-week; truncated to last 12 when longer.
2879
- */
2880
2889
  gameTopLists: z.ZodOptional<z.ZodBoolean>;
2881
2890
  playerTopLists: z.ZodOptional<z.ZodBoolean>;
2882
2891
  streakReminders: z.ZodOptional<z.ZodBoolean>;
@@ -3138,13 +3147,12 @@ export declare const miniLeagueMemberSchema: z.ZodObject<{
3138
3147
  achievedAt?: number | undefined;
3139
3148
  seen?: boolean | undefined;
3140
3149
  isOngoing?: boolean | undefined;
3141
- }>>>;
3150
+ }>>>; /** Preferred: one or more platform leagues (max 2). */
3142
3151
  seen: z.ZodOptional<z.ZodBoolean>;
3143
3152
  type: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"global">, z.ZodLiteral<"sport">, z.ZodLiteral<"league">]>>;
3144
- category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>;
3153
+ category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>; /** Legacy single-league create. */
3145
3154
  league: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"nba">, z.ZodLiteral<"ncaa">, z.ZodLiteral<"nfl">, z.ZodLiteral<"nhl">, z.ZodLiteral<"mlb">, z.ZodLiteral<"cbb">, z.ZodLiteral<"cfb">, z.ZodLiteral<"epl">, z.ZodLiteral<"mls">, z.ZodLiteral<"wnba">, z.ZodLiteral<"cwc">, z.ZodLiteral<"fifa">, z.ZodLiteral<"laliga">, z.ZodLiteral<"seriea">, z.ZodLiteral<"bundesliga">, z.ZodLiteral<"ligue1">, z.ZodLiteral<"ucl">, z.ZodUnion<[z.ZodLiteral<"global">, z.ZodString]>]>, z.ZodString]>>;
3146
3155
  sport: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"basketball">, z.ZodLiteral<"football">, z.ZodLiteral<"soccer">, z.ZodLiteral<"baseball">, z.ZodLiteral<"hockey">]>>;
3147
- /** Public (unauthenticated) preview of the league behind an invite link. */
3148
3156
  seasonal: z.ZodOptional<z.ZodBoolean>;
3149
3157
  }, "strip", z.ZodTypeAny, {
3150
3158
  id: string;
@@ -3396,6 +3404,7 @@ export declare const miniLeagueInvitationSchema: z.ZodObject<{
3396
3404
  birthdayTimeZone: z.ZodOptional<z.ZodString>;
3397
3405
  location: z.ZodOptional<z.ZodString>;
3398
3406
  avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3407
+ /** Full AppsFlyer OneLink URL ready to share. */
3399
3408
  createdAt: z.ZodNumber;
3400
3409
  updatedAt: z.ZodNumber;
3401
3410
  leagues: z.ZodOptional<z.ZodObject<{
@@ -4061,7 +4070,7 @@ export declare const miniLeagueInvitationSchema: z.ZodObject<{
4061
4070
  weightedRating: number;
4062
4071
  };
4063
4072
  lastRatedAt?: number | undefined;
4064
- }>; /** 1-based week index within the league window. */
4073
+ }>;
4065
4074
  }, "strip", z.ZodTypeAny, {
4066
4075
  nba: {
4067
4076
  totalRatedGames: number;
@@ -4469,7 +4478,6 @@ export declare const miniLeagueInvitationSchema: z.ZodObject<{
4469
4478
  instagram: z.ZodOptional<z.ZodString>;
4470
4479
  x: z.ZodOptional<z.ZodString>;
4471
4480
  youtube: z.ZodOptional<z.ZodString>;
4472
- /** 1-based month index within the league window. */
4473
4481
  tiktok: z.ZodOptional<z.ZodString>;
4474
4482
  }, "strip", z.ZodTypeAny, {
4475
4483
  instagram?: string | undefined;
@@ -4484,7 +4492,7 @@ export declare const miniLeagueInvitationSchema: z.ZodObject<{
4484
4492
  }>>;
4485
4493
  platform: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"ios">, z.ZodLiteral<"android">, z.ZodLiteral<"macos">, z.ZodLiteral<"windows">, z.ZodLiteral<"web">]>>;
4486
4494
  selectedTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
4487
- favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Platform league slug, e.g. "nfl". */
4495
+ favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4488
4496
  promptedLeagues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
4489
4497
  notificationSettings: z.ZodOptional<z.ZodObject<{
4490
4498
  allGames: z.ZodOptional<z.ZodBoolean>;
@@ -4527,6 +4535,7 @@ export declare const miniLeagueInvitationSchema: z.ZodObject<{
4527
4535
  clubhouse?: boolean | undefined;
4528
4536
  spanish?: boolean | undefined;
4529
4537
  }>>;
4538
+ /** 1-based day index within the league window (for chart filtering). */
4530
4539
  repliesToRatings: z.ZodOptional<z.ZodBoolean>;
4531
4540
  repliesToLists: z.ZodOptional<z.ZodBoolean>;
4532
4541
  repliesToUserEvents: z.ZodOptional<z.ZodBoolean>;
@@ -4534,14 +4543,10 @@ export declare const miniLeagueInvitationSchema: z.ZodObject<{
4534
4543
  ratingLikes: z.ZodOptional<z.ZodBoolean>;
4535
4544
  triviaLikes: z.ZodOptional<z.ZodBoolean>;
4536
4545
  listLikes: z.ZodOptional<z.ZodBoolean>;
4537
- eventLikes: z.ZodOptional<z.ZodBoolean>; /** Day buckets — empty when the span is too short (<2 days) or too long (>14). */
4546
+ eventLikes: z.ZodOptional<z.ZodBoolean>;
4538
4547
  commentLikes: z.ZodOptional<z.ZodBoolean>;
4539
4548
  threadActivityNotifications: z.ZodOptional<z.ZodBoolean>;
4540
4549
  trendingGames: z.ZodOptional<z.ZodBoolean>;
4541
- /**
4542
- * Week buckets — empty when the league does not span 2+ weeks.
4543
- * Kept for chart + best-week; truncated to last 12 when longer.
4544
- */
4545
4550
  gameTopLists: z.ZodOptional<z.ZodBoolean>;
4546
4551
  playerTopLists: z.ZodOptional<z.ZodBoolean>;
4547
4552
  streakReminders: z.ZodOptional<z.ZodBoolean>;
@@ -4803,13 +4808,12 @@ export declare const miniLeagueInvitationSchema: z.ZodObject<{
4803
4808
  achievedAt?: number | undefined;
4804
4809
  seen?: boolean | undefined;
4805
4810
  isOngoing?: boolean | undefined;
4806
- }>>>;
4811
+ }>>>; /** Preferred: one or more platform leagues (max 2). */
4807
4812
  seen: z.ZodOptional<z.ZodBoolean>;
4808
4813
  type: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"global">, z.ZodLiteral<"sport">, z.ZodLiteral<"league">]>>;
4809
- category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>;
4814
+ category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>; /** Legacy single-league create. */
4810
4815
  league: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"nba">, z.ZodLiteral<"ncaa">, z.ZodLiteral<"nfl">, z.ZodLiteral<"nhl">, z.ZodLiteral<"mlb">, z.ZodLiteral<"cbb">, z.ZodLiteral<"cfb">, z.ZodLiteral<"epl">, z.ZodLiteral<"mls">, z.ZodLiteral<"wnba">, z.ZodLiteral<"cwc">, z.ZodLiteral<"fifa">, z.ZodLiteral<"laliga">, z.ZodLiteral<"seriea">, z.ZodLiteral<"bundesliga">, z.ZodLiteral<"ligue1">, z.ZodLiteral<"ucl">, z.ZodUnion<[z.ZodLiteral<"global">, z.ZodString]>]>, z.ZodString]>>;
4811
4816
  sport: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"basketball">, z.ZodLiteral<"football">, z.ZodLiteral<"soccer">, z.ZodLiteral<"baseball">, z.ZodLiteral<"hockey">]>>;
4812
- /** Public (unauthenticated) preview of the league behind an invite link. */
4813
4817
  seasonal: z.ZodOptional<z.ZodBoolean>;
4814
4818
  }, "strip", z.ZodTypeAny, {
4815
4819
  id: string;
@@ -5024,6 +5028,7 @@ export declare const miniLeagueInvitationSchema: z.ZodObject<{
5024
5028
  birthdayTimeZone: z.ZodOptional<z.ZodString>;
5025
5029
  location: z.ZodOptional<z.ZodString>;
5026
5030
  avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5031
+ /** Full AppsFlyer OneLink URL ready to share. */
5027
5032
  createdAt: z.ZodNumber;
5028
5033
  updatedAt: z.ZodNumber;
5029
5034
  leagues: z.ZodOptional<z.ZodObject<{
@@ -5689,7 +5694,7 @@ export declare const miniLeagueInvitationSchema: z.ZodObject<{
5689
5694
  weightedRating: number;
5690
5695
  };
5691
5696
  lastRatedAt?: number | undefined;
5692
- }>; /** 1-based week index within the league window. */
5697
+ }>;
5693
5698
  }, "strip", z.ZodTypeAny, {
5694
5699
  nba: {
5695
5700
  totalRatedGames: number;
@@ -6097,7 +6102,6 @@ export declare const miniLeagueInvitationSchema: z.ZodObject<{
6097
6102
  instagram: z.ZodOptional<z.ZodString>;
6098
6103
  x: z.ZodOptional<z.ZodString>;
6099
6104
  youtube: z.ZodOptional<z.ZodString>;
6100
- /** 1-based month index within the league window. */
6101
6105
  tiktok: z.ZodOptional<z.ZodString>;
6102
6106
  }, "strip", z.ZodTypeAny, {
6103
6107
  instagram?: string | undefined;
@@ -6112,7 +6116,7 @@ export declare const miniLeagueInvitationSchema: z.ZodObject<{
6112
6116
  }>>;
6113
6117
  platform: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"ios">, z.ZodLiteral<"android">, z.ZodLiteral<"macos">, z.ZodLiteral<"windows">, z.ZodLiteral<"web">]>>;
6114
6118
  selectedTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
6115
- favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Platform league slug, e.g. "nfl". */
6119
+ favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
6116
6120
  promptedLeagues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
6117
6121
  notificationSettings: z.ZodOptional<z.ZodObject<{
6118
6122
  allGames: z.ZodOptional<z.ZodBoolean>;
@@ -6155,6 +6159,7 @@ export declare const miniLeagueInvitationSchema: z.ZodObject<{
6155
6159
  clubhouse?: boolean | undefined;
6156
6160
  spanish?: boolean | undefined;
6157
6161
  }>>;
6162
+ /** 1-based day index within the league window (for chart filtering). */
6158
6163
  repliesToRatings: z.ZodOptional<z.ZodBoolean>;
6159
6164
  repliesToLists: z.ZodOptional<z.ZodBoolean>;
6160
6165
  repliesToUserEvents: z.ZodOptional<z.ZodBoolean>;
@@ -6162,14 +6167,10 @@ export declare const miniLeagueInvitationSchema: z.ZodObject<{
6162
6167
  ratingLikes: z.ZodOptional<z.ZodBoolean>;
6163
6168
  triviaLikes: z.ZodOptional<z.ZodBoolean>;
6164
6169
  listLikes: z.ZodOptional<z.ZodBoolean>;
6165
- eventLikes: z.ZodOptional<z.ZodBoolean>; /** Day buckets — empty when the span is too short (<2 days) or too long (>14). */
6170
+ eventLikes: z.ZodOptional<z.ZodBoolean>;
6166
6171
  commentLikes: z.ZodOptional<z.ZodBoolean>;
6167
6172
  threadActivityNotifications: z.ZodOptional<z.ZodBoolean>;
6168
6173
  trendingGames: z.ZodOptional<z.ZodBoolean>;
6169
- /**
6170
- * Week buckets — empty when the league does not span 2+ weeks.
6171
- * Kept for chart + best-week; truncated to last 12 when longer.
6172
- */
6173
6174
  gameTopLists: z.ZodOptional<z.ZodBoolean>;
6174
6175
  playerTopLists: z.ZodOptional<z.ZodBoolean>;
6175
6176
  streakReminders: z.ZodOptional<z.ZodBoolean>;
@@ -6431,13 +6432,12 @@ export declare const miniLeagueInvitationSchema: z.ZodObject<{
6431
6432
  achievedAt?: number | undefined;
6432
6433
  seen?: boolean | undefined;
6433
6434
  isOngoing?: boolean | undefined;
6434
- }>>>;
6435
+ }>>>; /** Preferred: one or more platform leagues (max 2). */
6435
6436
  seen: z.ZodOptional<z.ZodBoolean>;
6436
6437
  type: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"global">, z.ZodLiteral<"sport">, z.ZodLiteral<"league">]>>;
6437
- category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>;
6438
+ category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>; /** Legacy single-league create. */
6438
6439
  league: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"nba">, z.ZodLiteral<"ncaa">, z.ZodLiteral<"nfl">, z.ZodLiteral<"nhl">, z.ZodLiteral<"mlb">, z.ZodLiteral<"cbb">, z.ZodLiteral<"cfb">, z.ZodLiteral<"epl">, z.ZodLiteral<"mls">, z.ZodLiteral<"wnba">, z.ZodLiteral<"cwc">, z.ZodLiteral<"fifa">, z.ZodLiteral<"laliga">, z.ZodLiteral<"seriea">, z.ZodLiteral<"bundesliga">, z.ZodLiteral<"ligue1">, z.ZodLiteral<"ucl">, z.ZodUnion<[z.ZodLiteral<"global">, z.ZodString]>]>, z.ZodString]>>;
6439
6440
  sport: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"basketball">, z.ZodLiteral<"football">, z.ZodLiteral<"soccer">, z.ZodLiteral<"baseball">, z.ZodLiteral<"hockey">]>>;
6440
- /** Public (unauthenticated) preview of the league behind an invite link. */
6441
6441
  seasonal: z.ZodOptional<z.ZodBoolean>;
6442
6442
  }, "strip", z.ZodTypeAny, {
6443
6443
  id: string;
@@ -6830,6 +6830,7 @@ export declare const miniLeagueInviteLinkPreviewDtoSchema: z.ZodObject<{
6830
6830
  birthdayTimeZone: z.ZodOptional<z.ZodString>;
6831
6831
  location: z.ZodOptional<z.ZodString>;
6832
6832
  avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
6833
+ /** Full AppsFlyer OneLink URL ready to share. */
6833
6834
  createdAt: z.ZodNumber;
6834
6835
  updatedAt: z.ZodNumber;
6835
6836
  leagues: z.ZodOptional<z.ZodObject<{
@@ -7495,7 +7496,7 @@ export declare const miniLeagueInviteLinkPreviewDtoSchema: z.ZodObject<{
7495
7496
  weightedRating: number;
7496
7497
  };
7497
7498
  lastRatedAt?: number | undefined;
7498
- }>; /** 1-based week index within the league window. */
7499
+ }>;
7499
7500
  }, "strip", z.ZodTypeAny, {
7500
7501
  nba: {
7501
7502
  totalRatedGames: number;
@@ -7903,7 +7904,6 @@ export declare const miniLeagueInviteLinkPreviewDtoSchema: z.ZodObject<{
7903
7904
  instagram: z.ZodOptional<z.ZodString>;
7904
7905
  x: z.ZodOptional<z.ZodString>;
7905
7906
  youtube: z.ZodOptional<z.ZodString>;
7906
- /** 1-based month index within the league window. */
7907
7907
  tiktok: z.ZodOptional<z.ZodString>;
7908
7908
  }, "strip", z.ZodTypeAny, {
7909
7909
  instagram?: string | undefined;
@@ -7918,7 +7918,7 @@ export declare const miniLeagueInviteLinkPreviewDtoSchema: z.ZodObject<{
7918
7918
  }>>;
7919
7919
  platform: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"ios">, z.ZodLiteral<"android">, z.ZodLiteral<"macos">, z.ZodLiteral<"windows">, z.ZodLiteral<"web">]>>;
7920
7920
  selectedTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
7921
- favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Platform league slug, e.g. "nfl". */
7921
+ favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
7922
7922
  promptedLeagues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
7923
7923
  notificationSettings: z.ZodOptional<z.ZodObject<{
7924
7924
  allGames: z.ZodOptional<z.ZodBoolean>;
@@ -7961,6 +7961,7 @@ export declare const miniLeagueInviteLinkPreviewDtoSchema: z.ZodObject<{
7961
7961
  clubhouse?: boolean | undefined;
7962
7962
  spanish?: boolean | undefined;
7963
7963
  }>>;
7964
+ /** 1-based day index within the league window (for chart filtering). */
7964
7965
  repliesToRatings: z.ZodOptional<z.ZodBoolean>;
7965
7966
  repliesToLists: z.ZodOptional<z.ZodBoolean>;
7966
7967
  repliesToUserEvents: z.ZodOptional<z.ZodBoolean>;
@@ -7968,14 +7969,10 @@ export declare const miniLeagueInviteLinkPreviewDtoSchema: z.ZodObject<{
7968
7969
  ratingLikes: z.ZodOptional<z.ZodBoolean>;
7969
7970
  triviaLikes: z.ZodOptional<z.ZodBoolean>;
7970
7971
  listLikes: z.ZodOptional<z.ZodBoolean>;
7971
- eventLikes: z.ZodOptional<z.ZodBoolean>; /** Day buckets — empty when the span is too short (<2 days) or too long (>14). */
7972
+ eventLikes: z.ZodOptional<z.ZodBoolean>;
7972
7973
  commentLikes: z.ZodOptional<z.ZodBoolean>;
7973
7974
  threadActivityNotifications: z.ZodOptional<z.ZodBoolean>;
7974
7975
  trendingGames: z.ZodOptional<z.ZodBoolean>;
7975
- /**
7976
- * Week buckets — empty when the league does not span 2+ weeks.
7977
- * Kept for chart + best-week; truncated to last 12 when longer.
7978
- */
7979
7976
  gameTopLists: z.ZodOptional<z.ZodBoolean>;
7980
7977
  playerTopLists: z.ZodOptional<z.ZodBoolean>;
7981
7978
  streakReminders: z.ZodOptional<z.ZodBoolean>;
@@ -8237,13 +8234,12 @@ export declare const miniLeagueInviteLinkPreviewDtoSchema: z.ZodObject<{
8237
8234
  achievedAt?: number | undefined;
8238
8235
  seen?: boolean | undefined;
8239
8236
  isOngoing?: boolean | undefined;
8240
- }>>>;
8237
+ }>>>; /** Preferred: one or more platform leagues (max 2). */
8241
8238
  seen: z.ZodOptional<z.ZodBoolean>;
8242
8239
  type: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"global">, z.ZodLiteral<"sport">, z.ZodLiteral<"league">]>>;
8243
- category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>;
8240
+ category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>; /** Legacy single-league create. */
8244
8241
  league: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"nba">, z.ZodLiteral<"ncaa">, z.ZodLiteral<"nfl">, z.ZodLiteral<"nhl">, z.ZodLiteral<"mlb">, z.ZodLiteral<"cbb">, z.ZodLiteral<"cfb">, z.ZodLiteral<"epl">, z.ZodLiteral<"mls">, z.ZodLiteral<"wnba">, z.ZodLiteral<"cwc">, z.ZodLiteral<"fifa">, z.ZodLiteral<"laliga">, z.ZodLiteral<"seriea">, z.ZodLiteral<"bundesliga">, z.ZodLiteral<"ligue1">, z.ZodLiteral<"ucl">, z.ZodUnion<[z.ZodLiteral<"global">, z.ZodString]>]>, z.ZodString]>>;
8245
8242
  sport: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"basketball">, z.ZodLiteral<"football">, z.ZodLiteral<"soccer">, z.ZodLiteral<"baseball">, z.ZodLiteral<"hockey">]>>;
8246
- /** Public (unauthenticated) preview of the league behind an invite link. */
8247
8243
  seasonal: z.ZodOptional<z.ZodBoolean>;
8248
8244
  }, "strip", z.ZodTypeAny, {
8249
8245
  id: string;
@@ -8532,6 +8528,7 @@ export declare const miniLeagueListResponseDtoSchema: z.ZodObject<{
8532
8528
  birthdayTimeZone: z.ZodOptional<z.ZodString>;
8533
8529
  location: z.ZodOptional<z.ZodString>;
8534
8530
  avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8531
+ /** Full AppsFlyer OneLink URL ready to share. */
8535
8532
  createdAt: z.ZodNumber;
8536
8533
  updatedAt: z.ZodNumber;
8537
8534
  leagues: z.ZodOptional<z.ZodObject<{
@@ -9197,7 +9194,7 @@ export declare const miniLeagueListResponseDtoSchema: z.ZodObject<{
9197
9194
  weightedRating: number;
9198
9195
  };
9199
9196
  lastRatedAt?: number | undefined;
9200
- }>; /** 1-based week index within the league window. */
9197
+ }>;
9201
9198
  }, "strip", z.ZodTypeAny, {
9202
9199
  nba: {
9203
9200
  totalRatedGames: number;
@@ -9605,7 +9602,6 @@ export declare const miniLeagueListResponseDtoSchema: z.ZodObject<{
9605
9602
  instagram: z.ZodOptional<z.ZodString>;
9606
9603
  x: z.ZodOptional<z.ZodString>;
9607
9604
  youtube: z.ZodOptional<z.ZodString>;
9608
- /** 1-based month index within the league window. */
9609
9605
  tiktok: z.ZodOptional<z.ZodString>;
9610
9606
  }, "strip", z.ZodTypeAny, {
9611
9607
  instagram?: string | undefined;
@@ -9620,7 +9616,7 @@ export declare const miniLeagueListResponseDtoSchema: z.ZodObject<{
9620
9616
  }>>;
9621
9617
  platform: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"ios">, z.ZodLiteral<"android">, z.ZodLiteral<"macos">, z.ZodLiteral<"windows">, z.ZodLiteral<"web">]>>;
9622
9618
  selectedTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
9623
- favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Platform league slug, e.g. "nfl". */
9619
+ favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
9624
9620
  promptedLeagues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
9625
9621
  notificationSettings: z.ZodOptional<z.ZodObject<{
9626
9622
  allGames: z.ZodOptional<z.ZodBoolean>;
@@ -9663,6 +9659,7 @@ export declare const miniLeagueListResponseDtoSchema: z.ZodObject<{
9663
9659
  clubhouse?: boolean | undefined;
9664
9660
  spanish?: boolean | undefined;
9665
9661
  }>>;
9662
+ /** 1-based day index within the league window (for chart filtering). */
9666
9663
  repliesToRatings: z.ZodOptional<z.ZodBoolean>;
9667
9664
  repliesToLists: z.ZodOptional<z.ZodBoolean>;
9668
9665
  repliesToUserEvents: z.ZodOptional<z.ZodBoolean>;
@@ -9670,14 +9667,10 @@ export declare const miniLeagueListResponseDtoSchema: z.ZodObject<{
9670
9667
  ratingLikes: z.ZodOptional<z.ZodBoolean>;
9671
9668
  triviaLikes: z.ZodOptional<z.ZodBoolean>;
9672
9669
  listLikes: z.ZodOptional<z.ZodBoolean>;
9673
- eventLikes: z.ZodOptional<z.ZodBoolean>; /** Day buckets — empty when the span is too short (<2 days) or too long (>14). */
9670
+ eventLikes: z.ZodOptional<z.ZodBoolean>;
9674
9671
  commentLikes: z.ZodOptional<z.ZodBoolean>;
9675
9672
  threadActivityNotifications: z.ZodOptional<z.ZodBoolean>;
9676
9673
  trendingGames: z.ZodOptional<z.ZodBoolean>;
9677
- /**
9678
- * Week buckets — empty when the league does not span 2+ weeks.
9679
- * Kept for chart + best-week; truncated to last 12 when longer.
9680
- */
9681
9674
  gameTopLists: z.ZodOptional<z.ZodBoolean>;
9682
9675
  playerTopLists: z.ZodOptional<z.ZodBoolean>;
9683
9676
  streakReminders: z.ZodOptional<z.ZodBoolean>;
@@ -9939,13 +9932,12 @@ export declare const miniLeagueListResponseDtoSchema: z.ZodObject<{
9939
9932
  achievedAt?: number | undefined;
9940
9933
  seen?: boolean | undefined;
9941
9934
  isOngoing?: boolean | undefined;
9942
- }>>>;
9935
+ }>>>; /** Preferred: one or more platform leagues (max 2). */
9943
9936
  seen: z.ZodOptional<z.ZodBoolean>;
9944
9937
  type: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"global">, z.ZodLiteral<"sport">, z.ZodLiteral<"league">]>>;
9945
- category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>;
9938
+ category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>; /** Legacy single-league create. */
9946
9939
  league: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"nba">, z.ZodLiteral<"ncaa">, z.ZodLiteral<"nfl">, z.ZodLiteral<"nhl">, z.ZodLiteral<"mlb">, z.ZodLiteral<"cbb">, z.ZodLiteral<"cfb">, z.ZodLiteral<"epl">, z.ZodLiteral<"mls">, z.ZodLiteral<"wnba">, z.ZodLiteral<"cwc">, z.ZodLiteral<"fifa">, z.ZodLiteral<"laliga">, z.ZodLiteral<"seriea">, z.ZodLiteral<"bundesliga">, z.ZodLiteral<"ligue1">, z.ZodLiteral<"ucl">, z.ZodUnion<[z.ZodLiteral<"global">, z.ZodString]>]>, z.ZodString]>>;
9947
9940
  sport: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"basketball">, z.ZodLiteral<"football">, z.ZodLiteral<"soccer">, z.ZodLiteral<"baseball">, z.ZodLiteral<"hockey">]>>;
9948
- /** Public (unauthenticated) preview of the league behind an invite link. */
9949
9941
  seasonal: z.ZodOptional<z.ZodBoolean>;
9950
9942
  }, "strip", z.ZodTypeAny, {
9951
9943
  id: string;
@@ -10307,6 +10299,7 @@ export declare const miniLeagueMembersResponseDtoSchema: z.ZodObject<{
10307
10299
  birthdayTimeZone: z.ZodOptional<z.ZodString>;
10308
10300
  location: z.ZodOptional<z.ZodString>;
10309
10301
  avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10302
+ /** Full AppsFlyer OneLink URL ready to share. */
10310
10303
  createdAt: z.ZodNumber;
10311
10304
  updatedAt: z.ZodNumber;
10312
10305
  leagues: z.ZodOptional<z.ZodObject<{
@@ -10972,7 +10965,7 @@ export declare const miniLeagueMembersResponseDtoSchema: z.ZodObject<{
10972
10965
  weightedRating: number;
10973
10966
  };
10974
10967
  lastRatedAt?: number | undefined;
10975
- }>; /** 1-based week index within the league window. */
10968
+ }>;
10976
10969
  }, "strip", z.ZodTypeAny, {
10977
10970
  nba: {
10978
10971
  totalRatedGames: number;
@@ -11380,7 +11373,6 @@ export declare const miniLeagueMembersResponseDtoSchema: z.ZodObject<{
11380
11373
  instagram: z.ZodOptional<z.ZodString>;
11381
11374
  x: z.ZodOptional<z.ZodString>;
11382
11375
  youtube: z.ZodOptional<z.ZodString>;
11383
- /** 1-based month index within the league window. */
11384
11376
  tiktok: z.ZodOptional<z.ZodString>;
11385
11377
  }, "strip", z.ZodTypeAny, {
11386
11378
  instagram?: string | undefined;
@@ -11395,7 +11387,7 @@ export declare const miniLeagueMembersResponseDtoSchema: z.ZodObject<{
11395
11387
  }>>;
11396
11388
  platform: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"ios">, z.ZodLiteral<"android">, z.ZodLiteral<"macos">, z.ZodLiteral<"windows">, z.ZodLiteral<"web">]>>;
11397
11389
  selectedTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
11398
- favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Platform league slug, e.g. "nfl". */
11390
+ favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
11399
11391
  promptedLeagues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
11400
11392
  notificationSettings: z.ZodOptional<z.ZodObject<{
11401
11393
  allGames: z.ZodOptional<z.ZodBoolean>;
@@ -11438,6 +11430,7 @@ export declare const miniLeagueMembersResponseDtoSchema: z.ZodObject<{
11438
11430
  clubhouse?: boolean | undefined;
11439
11431
  spanish?: boolean | undefined;
11440
11432
  }>>;
11433
+ /** 1-based day index within the league window (for chart filtering). */
11441
11434
  repliesToRatings: z.ZodOptional<z.ZodBoolean>;
11442
11435
  repliesToLists: z.ZodOptional<z.ZodBoolean>;
11443
11436
  repliesToUserEvents: z.ZodOptional<z.ZodBoolean>;
@@ -11445,14 +11438,10 @@ export declare const miniLeagueMembersResponseDtoSchema: z.ZodObject<{
11445
11438
  ratingLikes: z.ZodOptional<z.ZodBoolean>;
11446
11439
  triviaLikes: z.ZodOptional<z.ZodBoolean>;
11447
11440
  listLikes: z.ZodOptional<z.ZodBoolean>;
11448
- eventLikes: z.ZodOptional<z.ZodBoolean>; /** Day buckets — empty when the span is too short (<2 days) or too long (>14). */
11441
+ eventLikes: z.ZodOptional<z.ZodBoolean>;
11449
11442
  commentLikes: z.ZodOptional<z.ZodBoolean>;
11450
11443
  threadActivityNotifications: z.ZodOptional<z.ZodBoolean>;
11451
11444
  trendingGames: z.ZodOptional<z.ZodBoolean>;
11452
- /**
11453
- * Week buckets — empty when the league does not span 2+ weeks.
11454
- * Kept for chart + best-week; truncated to last 12 when longer.
11455
- */
11456
11445
  gameTopLists: z.ZodOptional<z.ZodBoolean>;
11457
11446
  playerTopLists: z.ZodOptional<z.ZodBoolean>;
11458
11447
  streakReminders: z.ZodOptional<z.ZodBoolean>;
@@ -11714,13 +11703,12 @@ export declare const miniLeagueMembersResponseDtoSchema: z.ZodObject<{
11714
11703
  achievedAt?: number | undefined;
11715
11704
  seen?: boolean | undefined;
11716
11705
  isOngoing?: boolean | undefined;
11717
- }>>>;
11706
+ }>>>; /** Preferred: one or more platform leagues (max 2). */
11718
11707
  seen: z.ZodOptional<z.ZodBoolean>;
11719
11708
  type: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"global">, z.ZodLiteral<"sport">, z.ZodLiteral<"league">]>>;
11720
- category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>;
11709
+ category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>; /** Legacy single-league create. */
11721
11710
  league: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"nba">, z.ZodLiteral<"ncaa">, z.ZodLiteral<"nfl">, z.ZodLiteral<"nhl">, z.ZodLiteral<"mlb">, z.ZodLiteral<"cbb">, z.ZodLiteral<"cfb">, z.ZodLiteral<"epl">, z.ZodLiteral<"mls">, z.ZodLiteral<"wnba">, z.ZodLiteral<"cwc">, z.ZodLiteral<"fifa">, z.ZodLiteral<"laliga">, z.ZodLiteral<"seriea">, z.ZodLiteral<"bundesliga">, z.ZodLiteral<"ligue1">, z.ZodLiteral<"ucl">, z.ZodUnion<[z.ZodLiteral<"global">, z.ZodString]>]>, z.ZodString]>>;
11722
11711
  sport: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"basketball">, z.ZodLiteral<"football">, z.ZodLiteral<"soccer">, z.ZodLiteral<"baseball">, z.ZodLiteral<"hockey">]>>;
11723
- /** Public (unauthenticated) preview of the league behind an invite link. */
11724
11712
  seasonal: z.ZodOptional<z.ZodBoolean>;
11725
11713
  }, "strip", z.ZodTypeAny, {
11726
11714
  id: string;
@@ -12004,6 +11992,7 @@ export declare const miniLeagueInvitationsResponseDtoSchema: z.ZodObject<{
12004
11992
  birthdayTimeZone: z.ZodOptional<z.ZodString>;
12005
11993
  location: z.ZodOptional<z.ZodString>;
12006
11994
  avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11995
+ /** Full AppsFlyer OneLink URL ready to share. */
12007
11996
  createdAt: z.ZodNumber;
12008
11997
  updatedAt: z.ZodNumber;
12009
11998
  leagues: z.ZodOptional<z.ZodObject<{
@@ -12669,7 +12658,7 @@ export declare const miniLeagueInvitationsResponseDtoSchema: z.ZodObject<{
12669
12658
  weightedRating: number;
12670
12659
  };
12671
12660
  lastRatedAt?: number | undefined;
12672
- }>; /** 1-based week index within the league window. */
12661
+ }>;
12673
12662
  }, "strip", z.ZodTypeAny, {
12674
12663
  nba: {
12675
12664
  totalRatedGames: number;
@@ -13077,7 +13066,6 @@ export declare const miniLeagueInvitationsResponseDtoSchema: z.ZodObject<{
13077
13066
  instagram: z.ZodOptional<z.ZodString>;
13078
13067
  x: z.ZodOptional<z.ZodString>;
13079
13068
  youtube: z.ZodOptional<z.ZodString>;
13080
- /** 1-based month index within the league window. */
13081
13069
  tiktok: z.ZodOptional<z.ZodString>;
13082
13070
  }, "strip", z.ZodTypeAny, {
13083
13071
  instagram?: string | undefined;
@@ -13092,7 +13080,7 @@ export declare const miniLeagueInvitationsResponseDtoSchema: z.ZodObject<{
13092
13080
  }>>;
13093
13081
  platform: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"ios">, z.ZodLiteral<"android">, z.ZodLiteral<"macos">, z.ZodLiteral<"windows">, z.ZodLiteral<"web">]>>;
13094
13082
  selectedTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
13095
- favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Platform league slug, e.g. "nfl". */
13083
+ favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
13096
13084
  promptedLeagues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
13097
13085
  notificationSettings: z.ZodOptional<z.ZodObject<{
13098
13086
  allGames: z.ZodOptional<z.ZodBoolean>;
@@ -13135,6 +13123,7 @@ export declare const miniLeagueInvitationsResponseDtoSchema: z.ZodObject<{
13135
13123
  clubhouse?: boolean | undefined;
13136
13124
  spanish?: boolean | undefined;
13137
13125
  }>>;
13126
+ /** 1-based day index within the league window (for chart filtering). */
13138
13127
  repliesToRatings: z.ZodOptional<z.ZodBoolean>;
13139
13128
  repliesToLists: z.ZodOptional<z.ZodBoolean>;
13140
13129
  repliesToUserEvents: z.ZodOptional<z.ZodBoolean>;
@@ -13142,14 +13131,10 @@ export declare const miniLeagueInvitationsResponseDtoSchema: z.ZodObject<{
13142
13131
  ratingLikes: z.ZodOptional<z.ZodBoolean>;
13143
13132
  triviaLikes: z.ZodOptional<z.ZodBoolean>;
13144
13133
  listLikes: z.ZodOptional<z.ZodBoolean>;
13145
- eventLikes: z.ZodOptional<z.ZodBoolean>; /** Day buckets — empty when the span is too short (<2 days) or too long (>14). */
13134
+ eventLikes: z.ZodOptional<z.ZodBoolean>;
13146
13135
  commentLikes: z.ZodOptional<z.ZodBoolean>;
13147
13136
  threadActivityNotifications: z.ZodOptional<z.ZodBoolean>;
13148
13137
  trendingGames: z.ZodOptional<z.ZodBoolean>;
13149
- /**
13150
- * Week buckets — empty when the league does not span 2+ weeks.
13151
- * Kept for chart + best-week; truncated to last 12 when longer.
13152
- */
13153
13138
  gameTopLists: z.ZodOptional<z.ZodBoolean>;
13154
13139
  playerTopLists: z.ZodOptional<z.ZodBoolean>;
13155
13140
  streakReminders: z.ZodOptional<z.ZodBoolean>;
@@ -13411,13 +13396,12 @@ export declare const miniLeagueInvitationsResponseDtoSchema: z.ZodObject<{
13411
13396
  achievedAt?: number | undefined;
13412
13397
  seen?: boolean | undefined;
13413
13398
  isOngoing?: boolean | undefined;
13414
- }>>>;
13399
+ }>>>; /** Preferred: one or more platform leagues (max 2). */
13415
13400
  seen: z.ZodOptional<z.ZodBoolean>;
13416
13401
  type: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"global">, z.ZodLiteral<"sport">, z.ZodLiteral<"league">]>>;
13417
- category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>;
13402
+ category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>; /** Legacy single-league create. */
13418
13403
  league: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"nba">, z.ZodLiteral<"ncaa">, z.ZodLiteral<"nfl">, z.ZodLiteral<"nhl">, z.ZodLiteral<"mlb">, z.ZodLiteral<"cbb">, z.ZodLiteral<"cfb">, z.ZodLiteral<"epl">, z.ZodLiteral<"mls">, z.ZodLiteral<"wnba">, z.ZodLiteral<"cwc">, z.ZodLiteral<"fifa">, z.ZodLiteral<"laliga">, z.ZodLiteral<"seriea">, z.ZodLiteral<"bundesliga">, z.ZodLiteral<"ligue1">, z.ZodLiteral<"ucl">, z.ZodUnion<[z.ZodLiteral<"global">, z.ZodString]>]>, z.ZodString]>>;
13419
13404
  sport: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"basketball">, z.ZodLiteral<"football">, z.ZodLiteral<"soccer">, z.ZodLiteral<"baseball">, z.ZodLiteral<"hockey">]>>;
13420
- /** Public (unauthenticated) preview of the league behind an invite link. */
13421
13405
  seasonal: z.ZodOptional<z.ZodBoolean>;
13422
13406
  }, "strip", z.ZodTypeAny, {
13423
13407
  id: string;
@@ -13632,6 +13616,7 @@ export declare const miniLeagueInvitationsResponseDtoSchema: z.ZodObject<{
13632
13616
  birthdayTimeZone: z.ZodOptional<z.ZodString>;
13633
13617
  location: z.ZodOptional<z.ZodString>;
13634
13618
  avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
13619
+ /** Full AppsFlyer OneLink URL ready to share. */
13635
13620
  createdAt: z.ZodNumber;
13636
13621
  updatedAt: z.ZodNumber;
13637
13622
  leagues: z.ZodOptional<z.ZodObject<{
@@ -14297,7 +14282,7 @@ export declare const miniLeagueInvitationsResponseDtoSchema: z.ZodObject<{
14297
14282
  weightedRating: number;
14298
14283
  };
14299
14284
  lastRatedAt?: number | undefined;
14300
- }>; /** 1-based week index within the league window. */
14285
+ }>;
14301
14286
  }, "strip", z.ZodTypeAny, {
14302
14287
  nba: {
14303
14288
  totalRatedGames: number;
@@ -14705,7 +14690,6 @@ export declare const miniLeagueInvitationsResponseDtoSchema: z.ZodObject<{
14705
14690
  instagram: z.ZodOptional<z.ZodString>;
14706
14691
  x: z.ZodOptional<z.ZodString>;
14707
14692
  youtube: z.ZodOptional<z.ZodString>;
14708
- /** 1-based month index within the league window. */
14709
14693
  tiktok: z.ZodOptional<z.ZodString>;
14710
14694
  }, "strip", z.ZodTypeAny, {
14711
14695
  instagram?: string | undefined;
@@ -14720,7 +14704,7 @@ export declare const miniLeagueInvitationsResponseDtoSchema: z.ZodObject<{
14720
14704
  }>>;
14721
14705
  platform: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"ios">, z.ZodLiteral<"android">, z.ZodLiteral<"macos">, z.ZodLiteral<"windows">, z.ZodLiteral<"web">]>>;
14722
14706
  selectedTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
14723
- favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Platform league slug, e.g. "nfl". */
14707
+ favoriteTeamsPerLeague: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
14724
14708
  promptedLeagues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
14725
14709
  notificationSettings: z.ZodOptional<z.ZodObject<{
14726
14710
  allGames: z.ZodOptional<z.ZodBoolean>;
@@ -14763,6 +14747,7 @@ export declare const miniLeagueInvitationsResponseDtoSchema: z.ZodObject<{
14763
14747
  clubhouse?: boolean | undefined;
14764
14748
  spanish?: boolean | undefined;
14765
14749
  }>>;
14750
+ /** 1-based day index within the league window (for chart filtering). */
14766
14751
  repliesToRatings: z.ZodOptional<z.ZodBoolean>;
14767
14752
  repliesToLists: z.ZodOptional<z.ZodBoolean>;
14768
14753
  repliesToUserEvents: z.ZodOptional<z.ZodBoolean>;
@@ -14770,14 +14755,10 @@ export declare const miniLeagueInvitationsResponseDtoSchema: z.ZodObject<{
14770
14755
  ratingLikes: z.ZodOptional<z.ZodBoolean>;
14771
14756
  triviaLikes: z.ZodOptional<z.ZodBoolean>;
14772
14757
  listLikes: z.ZodOptional<z.ZodBoolean>;
14773
- eventLikes: z.ZodOptional<z.ZodBoolean>; /** Day buckets — empty when the span is too short (<2 days) or too long (>14). */
14758
+ eventLikes: z.ZodOptional<z.ZodBoolean>;
14774
14759
  commentLikes: z.ZodOptional<z.ZodBoolean>;
14775
14760
  threadActivityNotifications: z.ZodOptional<z.ZodBoolean>;
14776
14761
  trendingGames: z.ZodOptional<z.ZodBoolean>;
14777
- /**
14778
- * Week buckets — empty when the league does not span 2+ weeks.
14779
- * Kept for chart + best-week; truncated to last 12 when longer.
14780
- */
14781
14762
  gameTopLists: z.ZodOptional<z.ZodBoolean>;
14782
14763
  playerTopLists: z.ZodOptional<z.ZodBoolean>;
14783
14764
  streakReminders: z.ZodOptional<z.ZodBoolean>;
@@ -15039,13 +15020,12 @@ export declare const miniLeagueInvitationsResponseDtoSchema: z.ZodObject<{
15039
15020
  achievedAt?: number | undefined;
15040
15021
  seen?: boolean | undefined;
15041
15022
  isOngoing?: boolean | undefined;
15042
- }>>>;
15023
+ }>>>; /** Preferred: one or more platform leagues (max 2). */
15043
15024
  seen: z.ZodOptional<z.ZodBoolean>;
15044
15025
  type: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"global">, z.ZodLiteral<"sport">, z.ZodLiteral<"league">]>>;
15045
- category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>;
15026
+ category: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"rating">, z.ZodLiteral<"picks">, z.ZodLiteral<"takes">, z.ZodLiteral<"voting">, z.ZodLiteral<"social">, z.ZodLiteral<"stadium">, z.ZodLiteral<"lists">, z.ZodLiteral<"profile">]>>; /** Legacy single-league create. */
15046
15027
  league: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"nba">, z.ZodLiteral<"ncaa">, z.ZodLiteral<"nfl">, z.ZodLiteral<"nhl">, z.ZodLiteral<"mlb">, z.ZodLiteral<"cbb">, z.ZodLiteral<"cfb">, z.ZodLiteral<"epl">, z.ZodLiteral<"mls">, z.ZodLiteral<"wnba">, z.ZodLiteral<"cwc">, z.ZodLiteral<"fifa">, z.ZodLiteral<"laliga">, z.ZodLiteral<"seriea">, z.ZodLiteral<"bundesliga">, z.ZodLiteral<"ligue1">, z.ZodLiteral<"ucl">, z.ZodUnion<[z.ZodLiteral<"global">, z.ZodString]>]>, z.ZodString]>>;
15047
15028
  sport: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"basketball">, z.ZodLiteral<"football">, z.ZodLiteral<"soccer">, z.ZodLiteral<"baseball">, z.ZodLiteral<"hockey">]>>;
15048
- /** Public (unauthenticated) preview of the league behind an invite link. */
15049
15029
  seasonal: z.ZodOptional<z.ZodBoolean>;
15050
15030
  }, "strip", z.ZodTypeAny, {
15051
15031
  id: string;
@@ -15380,6 +15360,7 @@ export declare const miniLeagueInvitationsResponseDtoSchema: z.ZodObject<{
15380
15360
  export declare const miniLeagueLeaderboardResponseDtoSchema: z.ZodObject<{
15381
15361
  leaderboard: z.ZodArray<z.ZodObject<{
15382
15362
  id: z.ZodString;
15363
+ /** Preferred: one or more platform leagues (max 2). */
15383
15364
  username: z.ZodString;
15384
15365
  avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15385
15366
  badge: z.ZodOptional<z.ZodString>;
@@ -15411,6 +15392,7 @@ export declare const miniLeagueLeaderboardResponseDtoSchema: z.ZodObject<{
15411
15392
  }>, "many">;
15412
15393
  currentUserEntry: z.ZodOptional<z.ZodNullable<z.ZodObject<{
15413
15394
  id: z.ZodString;
15395
+ /** Preferred: one or more platform leagues (max 2). */
15414
15396
  username: z.ZodString;
15415
15397
  avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15416
15398
  badge: z.ZodOptional<z.ZodString>;
@@ -15846,3 +15828,4 @@ export declare const isMiniLeagueOngoing: (league: {
15846
15828
  status?: string | null;
15847
15829
  endAt?: number | null;
15848
15830
  }, now?: number) => boolean;
15831
+ export {};
@@ -1,14 +1,41 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isMiniLeagueOngoing = exports.getMiniLeaguePlatformLeagues = exports.miniLeagueRecapResponseDtoSchema = exports.miniLeagueRecapLeagueBreakdownSchema = exports.miniLeagueRecapAchievementSchema = exports.miniLeagueRecapDefiningPickSchema = exports.miniLeagueRecapChartPeriodSchema = exports.miniLeagueRecapPeriodBucketSchema = exports.miniLeagueRecapWeeklySchema = exports.miniLeagueUpcomingGamesResponseDtoSchema = exports.miniLeagueLeaderboardResponseDtoSchema = exports.miniLeagueInvitationsResponseDtoSchema = exports.miniLeagueMembersResponseDtoSchema = exports.miniLeagueListResponseDtoSchema = exports.miniLeagueInvitationActionResponseDtoSchema = exports.miniLeagueJoinResponseDtoSchema = exports.miniLeagueInviteLinkClaimResponseDtoSchema = exports.miniLeagueInviteLinkPreviewDtoSchema = exports.miniLeagueInviteLinkResponseDtoSchema = exports.miniLeagueInviteLinkSchema = exports.createMiniLeagueInvitationDtoSchema = exports.updateMiniLeagueDtoSchema = exports.createMiniLeagueDtoSchema = exports.miniLeagueInvitationSchema = exports.miniLeagueMemberSchema = exports.miniLeagueSchema = exports.miniLeagueInvitationStatusSchema = exports.miniLeagueMemberRoleSchema = exports.miniLeagueStatusSchema = exports.miniLeagueVisibilitySchema = exports.MINI_LEAGUE_MAX_MEMBERSHIPS_PER_USER = exports.MINI_LEAGUE_MAX_PLATFORM_LEAGUES = void 0;
3
+ exports.isMiniLeagueOngoing = exports.getMiniLeaguePlatformLeagues = exports.miniLeagueRecapResponseDtoSchema = exports.miniLeagueRecapLeagueBreakdownSchema = exports.miniLeagueRecapAchievementSchema = exports.miniLeagueRecapDefiningPickSchema = exports.miniLeagueRecapChartPeriodSchema = exports.miniLeagueRecapPeriodBucketSchema = exports.miniLeagueRecapWeeklySchema = exports.miniLeagueUpcomingGamesResponseDtoSchema = exports.miniLeagueLeaderboardResponseDtoSchema = exports.miniLeagueInvitationsResponseDtoSchema = exports.miniLeagueMembersResponseDtoSchema = exports.miniLeagueListResponseDtoSchema = exports.miniLeagueInvitationActionResponseDtoSchema = exports.miniLeagueJoinResponseDtoSchema = exports.miniLeagueInviteLinkClaimResponseDtoSchema = exports.miniLeagueInviteLinkPreviewDtoSchema = exports.miniLeagueInviteLinkResponseDtoSchema = exports.miniLeagueInviteLinkSchema = exports.createMiniLeagueInvitationDtoSchema = exports.updateMiniLeagueDtoSchema = exports.createMiniLeagueDtoSchema = exports.miniLeagueInvitationSchema = exports.miniLeagueMemberSchema = exports.miniLeagueSchema = exports.miniLeagueInvitationStatusSchema = exports.miniLeagueMemberRoleSchema = exports.miniLeagueStatusSchema = exports.miniLeagueVisibilitySchema = exports.isAtMiniLeagueJoinLimit = exports.isAtMiniLeagueCreateLimit = exports.countMiniLeagueAllotments = exports.MINI_LEAGUE_MAX_MEMBERSHIPS_PER_USER = exports.MINI_LEAGUE_MAX_JOINED_PER_USER = exports.MINI_LEAGUE_MAX_CREATED_PER_USER = exports.MINI_LEAGUE_MAX_PLATFORM_LEAGUES = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const pick_1 = require("./pick");
6
6
  const sharedTypes_1 = require("./sharedTypes");
7
7
  const user_1 = require("./user");
8
8
  /** Max sports/platform leagues selectable when creating a mini league. */
9
9
  exports.MINI_LEAGUE_MAX_PLATFORM_LEAGUES = 2;
10
- /** Max active (ongoing) mini leagues a user can belong to (owned + joined). */
11
- exports.MINI_LEAGUE_MAX_MEMBERSHIPS_PER_USER = 5;
10
+ /** Max active mini leagues a user can create (own) at once. */
11
+ exports.MINI_LEAGUE_MAX_CREATED_PER_USER = 5;
12
+ /** Max active mini leagues a user can join (not own) at once. */
13
+ exports.MINI_LEAGUE_MAX_JOINED_PER_USER = 5;
14
+ /** Combined cap when both create and join allotments are full. */
15
+ exports.MINI_LEAGUE_MAX_MEMBERSHIPS_PER_USER = exports.MINI_LEAGUE_MAX_CREATED_PER_USER + exports.MINI_LEAGUE_MAX_JOINED_PER_USER;
16
+ const countMiniLeagueAllotments = (leagues, userId, now = Date.now()) => {
17
+ if (!userId) {
18
+ return { created: 0, joined: 0 };
19
+ }
20
+ let created = 0;
21
+ let joined = 0;
22
+ for (const league of leagues) {
23
+ if (!(0, exports.isMiniLeagueOngoing)(league, now))
24
+ continue;
25
+ if (league.ownerId === userId) {
26
+ created += 1;
27
+ }
28
+ else {
29
+ joined += 1;
30
+ }
31
+ }
32
+ return { created, joined };
33
+ };
34
+ exports.countMiniLeagueAllotments = countMiniLeagueAllotments;
35
+ const isAtMiniLeagueCreateLimit = (counts) => counts.created >= exports.MINI_LEAGUE_MAX_CREATED_PER_USER;
36
+ exports.isAtMiniLeagueCreateLimit = isAtMiniLeagueCreateLimit;
37
+ const isAtMiniLeagueJoinLimit = (counts) => counts.joined >= exports.MINI_LEAGUE_MAX_JOINED_PER_USER;
38
+ exports.isAtMiniLeagueJoinLimit = isAtMiniLeagueJoinLimit;
12
39
  exports.miniLeagueVisibilitySchema = zod_1.z.union([
13
40
  zod_1.z.literal("public"),
14
41
  zod_1.z.literal("private"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rategame-shared",
3
- "version": "1.1.486",
3
+ "version": "1.1.487",
4
4
  "description": "This package contains shared resources for the Rate Game project.",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",