@smartico/public-api 0.0.322 → 0.0.323
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.
- package/dist/Missions/BadgesTimeLimitStates.d.ts +14 -0
- package/dist/Missions/MissionsUtils.d.ts +2 -0
- package/dist/Missions/UserAchievement.d.ts +3 -0
- package/dist/Missions/index.d.ts +2 -0
- package/dist/SmarticoLib/index.d.ts +2 -0
- package/dist/WSAPI/WSAPITypes.d.ts +3 -1
- package/dist/index.js +60 -1
- package/dist/index.js.map +1 -1
- package/dist/index.modern.mjs +62 -2
- package/dist/index.modern.mjs.map +1 -1
- package/package.json +1 -1
- package/src/Missions/BadgesTimeLimitStates.ts +15 -0
- package/src/Missions/MissionsUtils.ts +38 -0
- package/src/Missions/UserAchievement.ts +12 -0
- package/src/Missions/index.ts +3 -1
- package/src/SmarticoAPI.ts +2 -0
- package/src/SmarticoLib/index.ts +3 -0
- package/src/WSAPI/WSAPITypes.ts +4 -1
package/dist/index.modern.mjs
CHANGED
|
@@ -1133,6 +1133,22 @@ var AchievementAvailabilityStatus;
|
|
|
1133
1133
|
AchievementAvailabilityStatus[AchievementAvailabilityStatus["MissedByLimitInTime"] = 14] = "MissedByLimitInTime";
|
|
1134
1134
|
})(AchievementAvailabilityStatus || (AchievementAvailabilityStatus = {}));
|
|
1135
1135
|
|
|
1136
|
+
var BadgesTimeLimitStates;
|
|
1137
|
+
(function (BadgesTimeLimitStates) {
|
|
1138
|
+
/** Before Start Date */
|
|
1139
|
+
BadgesTimeLimitStates[BadgesTimeLimitStates["BeforeStartDate"] = 0] = "BeforeStartDate";
|
|
1140
|
+
/** After Start Date but before earned */
|
|
1141
|
+
BadgesTimeLimitStates[BadgesTimeLimitStates["AfterStartDateNoProgress"] = 1] = "AfterStartDateNoProgress";
|
|
1142
|
+
/** After Start Date but before started (no progress) + End date */
|
|
1143
|
+
BadgesTimeLimitStates[BadgesTimeLimitStates["AfterStartDateNoProgressAndEndDate"] = 2] = "AfterStartDateNoProgressAndEndDate";
|
|
1144
|
+
/** After Start Date, but with some progress + End date */
|
|
1145
|
+
BadgesTimeLimitStates[BadgesTimeLimitStates["AfterStartDateWithProgressAndEndDate"] = 3] = "AfterStartDateWithProgressAndEndDate";
|
|
1146
|
+
/** After End Date (not started) */
|
|
1147
|
+
BadgesTimeLimitStates[BadgesTimeLimitStates["AfterEndDateNotStarted"] = 4] = "AfterEndDateNotStarted";
|
|
1148
|
+
/** After End Date (player has some progress, but not completed) */
|
|
1149
|
+
BadgesTimeLimitStates[BadgesTimeLimitStates["AfterEndDateWithProgress"] = 5] = "AfterEndDateWithProgress";
|
|
1150
|
+
})(BadgesTimeLimitStates || (BadgesTimeLimitStates = {}));
|
|
1151
|
+
|
|
1136
1152
|
var _class;
|
|
1137
1153
|
class MissionUtils {}
|
|
1138
1154
|
_class = MissionUtils;
|
|
@@ -1355,7 +1371,49 @@ MissionUtils.replaceFavGameNameTag = ({
|
|
|
1355
1371
|
}
|
|
1356
1372
|
return task;
|
|
1357
1373
|
};
|
|
1374
|
+
MissionUtils.determineBadgeState = badge => {
|
|
1375
|
+
const now = Date.now();
|
|
1376
|
+
const {
|
|
1377
|
+
active_from_ts,
|
|
1378
|
+
active_till_ts,
|
|
1379
|
+
progress
|
|
1380
|
+
} = badge;
|
|
1381
|
+
// 1. BEFORE START
|
|
1382
|
+
if (active_from_ts > now) {
|
|
1383
|
+
return BadgesTimeLimitStates.BeforeStartDate;
|
|
1384
|
+
}
|
|
1385
|
+
// 2. AFTER START, NO END DATE (infinite badge)
|
|
1386
|
+
// → grey, no locked, no date chip
|
|
1387
|
+
if (!active_till_ts) {
|
|
1388
|
+
if (progress === 0) {
|
|
1389
|
+
return BadgesTimeLimitStates.AfterStartDateNoProgress;
|
|
1390
|
+
}
|
|
1391
|
+
// If infinite and with progress → this state does not exist in enum
|
|
1392
|
+
// (but if needed we can add one)
|
|
1393
|
+
}
|
|
1394
|
+
// 3. AFTER START, BEFORE END DATE
|
|
1395
|
+
if (now < active_till_ts) {
|
|
1396
|
+
if (progress === 0) {
|
|
1397
|
+
// now < end + has end date → must show chip
|
|
1398
|
+
return BadgesTimeLimitStates.AfterStartDateNoProgressAndEndDate;
|
|
1399
|
+
}
|
|
1400
|
+
return BadgesTimeLimitStates.AfterStartDateWithProgressAndEndDate;
|
|
1401
|
+
}
|
|
1402
|
+
// 4. AFTER END DATE
|
|
1403
|
+
if (progress === 0) {
|
|
1404
|
+
return BadgesTimeLimitStates.AfterEndDateNotStarted;
|
|
1405
|
+
}
|
|
1406
|
+
return BadgesTimeLimitStates.AfterEndDateWithProgress;
|
|
1407
|
+
};
|
|
1358
1408
|
|
|
1409
|
+
const enrichUserAchievementsWithBadgeState = items => {
|
|
1410
|
+
return items.map(item => {
|
|
1411
|
+
if (item.ach_type_id === AchievementType.Badge && (item.active_from_ts || item.active_till_ts)) {
|
|
1412
|
+
item.badgeTimeLimitState = MissionUtils.determineBadgeState(item);
|
|
1413
|
+
}
|
|
1414
|
+
return item;
|
|
1415
|
+
});
|
|
1416
|
+
};
|
|
1359
1417
|
const UserAchievementTransform = items => {
|
|
1360
1418
|
return items.filter(r => r.ach_id >= 1).map(r => {
|
|
1361
1419
|
var _missionName, _missionSubHeader, _missionDescription, _r$ach_categories;
|
|
@@ -1455,7 +1513,8 @@ const UserAchievementTransform = items => {
|
|
|
1455
1513
|
custom_section_type_id: r.ach_public_meta.custom_section_type_id,
|
|
1456
1514
|
availability_status: MissionUtils.getAvailabilityStatus(r),
|
|
1457
1515
|
claim_button_title: r.ach_public_meta.claim_button_title,
|
|
1458
|
-
claim_button_action: r.ach_public_meta.claim_button_action
|
|
1516
|
+
claim_button_action: r.ach_public_meta.claim_button_action,
|
|
1517
|
+
badgeTimeLimitState: r.badgeTimeLimitState
|
|
1459
1518
|
};
|
|
1460
1519
|
if (r.ach_status_id === AchievementStatus.Recurring) {
|
|
1461
1520
|
x.next_recurrence_date_ts = Date.now() + (r == null ? void 0 : r.milliseconds_till_available);
|
|
@@ -3728,6 +3787,7 @@ class SmarticoAPI {
|
|
|
3728
3787
|
const responseClone = _extends({}, response);
|
|
3729
3788
|
if (responseClone.achievements) {
|
|
3730
3789
|
responseClone.achievements = responseClone.achievements.filter(a => a.ach_type_id === AchievementType.Badge);
|
|
3790
|
+
responseClone.achievements = enrichUserAchievementsWithBadgeState(responseClone.achievements);
|
|
3731
3791
|
}
|
|
3732
3792
|
return responseClone;
|
|
3733
3793
|
}
|
|
@@ -4421,5 +4481,5 @@ var JackpotType;
|
|
|
4421
4481
|
JackpotType[JackpotType["Personal"] = 2] = "Personal";
|
|
4422
4482
|
})(JackpotType || (JackpotType = {}));
|
|
4423
4483
|
|
|
4424
|
-
export { AchCategoryTransform, AchCustomLayoutTheme, AchCustomSectionType, AchMissionsTabsOptions, AchOverviewMissionsFilter, AchievementAvailabilityStatus, AchievementStatus, AchievementTaskType, AchievementType, ActivityTypeLimited, AnalyticsInboxSubScreenNameId, AnalyticsInterfaceType, AnalyticsScreenNameId, AnalyticsTournamentsLobbySubScreenNameId, BonusItemsTransform, BonusStatus, BuyStoreItemErrorCode, ClassId, CookieStore, CoreUtils, ECacheContext, GetJackpotEligibleGamesResponseTransform, GetJackpotWinnersResponseTransform, GetLevelMapResponseTransform, InboxCategories, InboxMessageBodyTransform, InboxMessageType, InboxMessagesTransform, InboxReadStatus, JackPotTemparature, JackpotContributionType, JackpotType, LeaderBoardPeriodType, LiquidEntityData, MiniGamePrizeTypeName, MiniGamePrizeTypeNamed, MissionCategory, MissionUtils, OCache, OpenLinksType, PrizeModifiers, PrizeModifiersKeysNames, PublicLabelSettings, QuizAnswersValueType, QuizMarketPerSport, QuizSportType, SAWAcknowledgeType, SAWAcknowledgeTypeName, SAWAcknowledgeTypeNamed, SAWAskForUsername, SAWBuyInType, SAWBuyInTypeName, SAWBuyInTypeNamed, SAWExposeUserSpinId, SAWGPMarketType, SAWGameDifficultyType, SAWGameDifficultyTypeName, SAWGameLayout, SAWGameType, SAWGameTypeName, SAWGameTypeNamed, SAWHistoryTransform, SAWPrizeType, SAWSpinErrorCode, SAWTemplatesTransform, SAWUtils, SAWWheelLayout, SAWWinSoundFiles, SAWWinSoundType, SawGameDifficultyTypeNamed, ScheduledMissionType, SmarticoAPI, StoreCategoryTransform, StoreItemPurchaseType, StoreItemPurchasedTransform, StoreItemTransform, StoreItemType, StoreItemTypeName, StoreItemTypeNamed, TournamentInstanceStatus, TournamentInstanceStatusName, TournamentItemsTransform, TournamentRegistrationError, TournamentRegistrationStatus, TournamentRegistrationStatusName, TournamentRegistrationStatusNamed, TournamentRegistrationType, TournamentRegistrationTypeGetName, TournamentType, TournamentUtils, TranslationArea, UICustomSectionTransform, UserAchievementTransform, getLeaderBoardTransform, marketsInfo, quizAnswerAwayTeamReplacementText, quizAnswerHomeTeamReplacementText, quizAnswersTrKeys, quizDrawReplacementText, quizEvenReplacementText, quizNoGoalsReplacementText, quizNoReplacementText, quizOddReplacementText, quizOrReplacementText, quizSupportedSports, quizYesReplacementText, tournamentInfoItemTransform };
|
|
4484
|
+
export { AchCategoryTransform, AchCustomLayoutTheme, AchCustomSectionType, AchMissionsTabsOptions, AchOverviewMissionsFilter, AchievementAvailabilityStatus, AchievementStatus, AchievementTaskType, AchievementType, ActivityTypeLimited, AnalyticsInboxSubScreenNameId, AnalyticsInterfaceType, AnalyticsScreenNameId, AnalyticsTournamentsLobbySubScreenNameId, BadgesTimeLimitStates, BonusItemsTransform, BonusStatus, BuyStoreItemErrorCode, ClassId, CookieStore, CoreUtils, ECacheContext, GetJackpotEligibleGamesResponseTransform, GetJackpotWinnersResponseTransform, GetLevelMapResponseTransform, InboxCategories, InboxMessageBodyTransform, InboxMessageType, InboxMessagesTransform, InboxReadStatus, JackPotTemparature, JackpotContributionType, JackpotType, LeaderBoardPeriodType, LiquidEntityData, MiniGamePrizeTypeName, MiniGamePrizeTypeNamed, MissionCategory, MissionUtils, OCache, OpenLinksType, PrizeModifiers, PrizeModifiersKeysNames, PublicLabelSettings, QuizAnswersValueType, QuizMarketPerSport, QuizSportType, SAWAcknowledgeType, SAWAcknowledgeTypeName, SAWAcknowledgeTypeNamed, SAWAskForUsername, SAWBuyInType, SAWBuyInTypeName, SAWBuyInTypeNamed, SAWExposeUserSpinId, SAWGPMarketType, SAWGameDifficultyType, SAWGameDifficultyTypeName, SAWGameLayout, SAWGameType, SAWGameTypeName, SAWGameTypeNamed, SAWHistoryTransform, SAWPrizeType, SAWSpinErrorCode, SAWTemplatesTransform, SAWUtils, SAWWheelLayout, SAWWinSoundFiles, SAWWinSoundType, SawGameDifficultyTypeNamed, ScheduledMissionType, SmarticoAPI, StoreCategoryTransform, StoreItemPurchaseType, StoreItemPurchasedTransform, StoreItemTransform, StoreItemType, StoreItemTypeName, StoreItemTypeNamed, TournamentInstanceStatus, TournamentInstanceStatusName, TournamentItemsTransform, TournamentRegistrationError, TournamentRegistrationStatus, TournamentRegistrationStatusName, TournamentRegistrationStatusNamed, TournamentRegistrationType, TournamentRegistrationTypeGetName, TournamentType, TournamentUtils, TranslationArea, UICustomSectionTransform, UserAchievementTransform, enrichUserAchievementsWithBadgeState, getLeaderBoardTransform, marketsInfo, quizAnswerAwayTeamReplacementText, quizAnswerHomeTeamReplacementText, quizAnswersTrKeys, quizDrawReplacementText, quizEvenReplacementText, quizNoGoalsReplacementText, quizNoReplacementText, quizOddReplacementText, quizOrReplacementText, quizSupportedSports, quizYesReplacementText, tournamentInfoItemTransform };
|
|
4425
4485
|
//# sourceMappingURL=index.modern.mjs.map
|