mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-08-18 09:14:09 +00:00
Update achievement schema (#3542)
## Description: Update the schema for achievements ## Please complete the following: - [x] I have added screenshots for all UI updates - [x] I process any text displayed to the user through translateText() and I've added it to the en.json file - [x] I have added relevant tests to the test directory - [x] I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced ## Please put your Discord username so you can be contacted if a bug or regression is found: evan
This commit is contained in:
@@ -144,14 +144,7 @@ export class SinglePlayerModal extends BaseModal {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const achievements = Array.isArray(userMe.player.achievements)
|
const completions = userMe.player.achievements.singleplayerMap;
|
||||||
? userMe.player.achievements
|
|
||||||
: [];
|
|
||||||
|
|
||||||
const completions =
|
|
||||||
achievements.find(
|
|
||||||
(achievement) => achievement?.type === "singleplayer-map",
|
|
||||||
)?.data ?? [];
|
|
||||||
|
|
||||||
const winsMap = new Map<GameMapType, Set<Difficulty>>();
|
const winsMap = new Map<GameMapType, Set<Difficulty>>();
|
||||||
for (const entry of completions) {
|
for (const entry of completions) {
|
||||||
|
|||||||
@@ -56,14 +56,9 @@ export const UserMeResponseSchema = z.object({
|
|||||||
publicId: z.string(),
|
publicId: z.string(),
|
||||||
roles: z.string().array().optional(),
|
roles: z.string().array().optional(),
|
||||||
flares: z.string().array().optional(),
|
flares: z.string().array().optional(),
|
||||||
achievements: z
|
achievements: z.object({
|
||||||
.array(
|
singleplayerMap: z.array(SingleplayerMapAchievementSchema),
|
||||||
z.object({
|
}),
|
||||||
type: z.literal("singleplayer-map"), // TODO: change the shape to be more flexible when we have more achievements
|
|
||||||
data: z.array(SingleplayerMapAchievementSchema),
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
.optional(),
|
|
||||||
leaderboard: z
|
leaderboard: z
|
||||||
.object({
|
.object({
|
||||||
oneVone: z
|
oneVone: z
|
||||||
|
|||||||
Reference in New Issue
Block a user