export interface Achievement { id: string title: string description: string icon?: string unlockedAt?: string } export const useAchievements = () => { const achievements = ref([]) const stats = ref({ total: 0, completedTasks: 0 }) const pending = ref(false) const loadAchievements = async () => { pending.value = true try { const data = await $fetch<{ achievements: Achievement[], stats: { total: number, completedTasks: number } }>('/api/achievements') achievements.value = data.achievements || [] stats.value = data.stats || { total: 0, completedTasks: 0 } } catch (e) { console.error('Failed to load achievements:', e) } finally { pending.value = false } } return { achievements, stats, pending, loadAchievements } }