import { api } from './api'; export type BadgeCategory = 'sleep' | 'exercise' | 'diet' | 'challenge' | 'social' | 'special'; export type BadgeRarity = 'common' | 'uncommon' | 'rare' | 'epic' | 'legendary'; export interface BadgeDto { code: string; name: string; description: string; category: BadgeCategory; rarity?: BadgeRarity; imageUrl: string; icon?: string; sortOrder?: number; earnedAt?: string | null; awardedAt?: string | null; isAwarded: boolean; isShow?: boolean; } export async function getAvailableBadges(): Promise { return api.get('/api/users/badges/available'); } export async function reportBadgeShowcaseDisplayed(badgeCode: string): Promise { const response = await api.post<{ success: boolean }>('/users/badges/mark-shown', { badgeCode }); return Boolean(response?.success); }