diff --git a/client/lib/aethex-database-adapter.ts b/client/lib/aethex-database-adapter.ts index 35d6d920..b3e53413 100644 --- a/client/lib/aethex-database-adapter.ts +++ b/client/lib/aethex-database-adapter.ts @@ -473,6 +473,16 @@ export const aethexAchievementService = { }, async awardAchievement(userId: string, achievementId: string): Promise { + const { data: achievement, error: fetchError } = await supabase + .from("achievements") + .select("id, xp_reward") + .eq("id", achievementId) + .maybeSingle(); + + if (fetchError) { + throw fetchError; + } + const { error } = await supabase.from("user_achievements").insert({ user_id: userId, achievement_id: achievementId, @@ -481,6 +491,10 @@ export const aethexAchievementService = { if (error && error.code !== "23505") { throw error; } + + if (!error && achievement?.xp_reward) { + await this.updateUserXPAndLevel(userId, achievement.xp_reward ?? 0); + } }, async updateUserXPAndLevel(userId: string, xpGained: number | null = null): Promise {