From e220b00a1f20d47338eaeff5ecb4c575d59da1ab Mon Sep 17 00:00:00 2001 From: "Builder.io" Date: Wed, 6 Aug 2025 02:12:22 +0000 Subject: [PATCH] Remove demo storage file cgen-13f91198a8ac46d4bb8ec7a2f03bf233 --- client/lib/demo-storage.ts | 260 ------------------------------------- 1 file changed, 260 deletions(-) delete mode 100644 client/lib/demo-storage.ts diff --git a/client/lib/demo-storage.ts b/client/lib/demo-storage.ts deleted file mode 100644 index a491a1c6..00000000 --- a/client/lib/demo-storage.ts +++ /dev/null @@ -1,260 +0,0 @@ -// Demo storage service - simulates backend functionality using localStorage -import type { UserProfile, Project, Achievement } from "./database.types"; -import { aethexToast } from "./aethex-toast"; - -const STORAGE_KEYS = { - USER_PROFILE: "aethex_demo_user_profile", - PROJECTS: "aethex_demo_projects", - ACHIEVEMENTS: "aethex_demo_achievements", - NOTIFICATIONS: "aethex_demo_notifications", - INTERESTS: "aethex_demo_interests", -}; - -// Demo user data -const DEMO_USER_PROFILE: Partial = { - id: "demo-user-123", - username: "demo_developer", - full_name: "Demo Developer", - user_type: "game_developer", - experience_level: "intermediate", - total_xp: 1250, - level: 5, - bio: "Passionate game developer exploring the AeThex ecosystem", - location: "Digital Realm", - github_url: "https://github.com/demo-developer", - twitter_url: "https://twitter.com/demo_dev", - created_at: new Date().toISOString(), - updated_at: new Date().toISOString(), -}; - -const DEMO_PROJECTS: Project[] = [ - { - id: "proj-1", - user_id: "demo-user-123", - title: "Quantum Quest", - description: "A sci-fi adventure game built with AeThex Engine", - status: "in_progress", - technologies: ["AeThex Engine", "TypeScript", "WebGL"], - github_url: "https://github.com/demo/quantum-quest", - demo_url: "https://quantum-quest-demo.com", - image_url: null, - start_date: "2024-01-15", - end_date: null, - created_at: new Date().toISOString(), - updated_at: new Date().toISOString(), - }, - { - id: "proj-2", - user_id: "demo-user-123", - title: "Neon Runner", - description: "Fast-paced endless runner with cyberpunk aesthetics", - status: "completed", - technologies: ["AeThex Engine", "JavaScript", "CSS3"], - github_url: "https://github.com/demo/neon-runner", - demo_url: "https://neon-runner-demo.com", - image_url: null, - start_date: "2023-08-01", - end_date: "2023-12-15", - created_at: new Date().toISOString(), - updated_at: new Date().toISOString(), - }, - { - id: "proj-3", - user_id: "demo-user-123", - title: "Pixel Physics", - description: "Educational physics simulation game", - status: "planning", - technologies: ["AeThex Engine", "React", "Physics Engine"], - github_url: null, - demo_url: null, - image_url: null, - start_date: "2024-03-01", - end_date: null, - created_at: new Date().toISOString(), - updated_at: new Date().toISOString(), - }, -]; - -const DEMO_ACHIEVEMENTS: Achievement[] = [ - { - id: "ach-1", - name: "Welcome to AeThex", - description: "Complete your profile setup", - icon: "🎉", - xp_reward: 100, - badge_color: "#10B981", - created_at: new Date().toISOString(), - }, - { - id: "ach-2", - name: "First Project", - description: "Create your first project", - icon: "🚀", - xp_reward: 150, - badge_color: "#3B82F6", - created_at: new Date().toISOString(), - }, - { - id: "ach-3", - name: "Community Contributor", - description: "Make your first community post", - icon: "💬", - xp_reward: 75, - badge_color: "#8B5CF6", - created_at: new Date().toISOString(), - }, - { - id: "ach-4", - name: "Experienced Developer", - description: "Complete 5 projects", - icon: "👨‍💻", - xp_reward: 300, - badge_color: "#EF4444", - created_at: new Date().toISOString(), - }, -]; - -export class DemoStorageService { - // User Profile Management - static getUserProfile(): UserProfile | null { - const stored = localStorage.getItem(STORAGE_KEYS.USER_PROFILE); - return stored ? JSON.parse(stored) : DEMO_USER_PROFILE; - } - - static updateUserProfile(updates: Partial): UserProfile { - const current = this.getUserProfile() || DEMO_USER_PROFILE; - const updated = { - ...current, - ...updates, - updated_at: new Date().toISOString(), - }; - localStorage.setItem(STORAGE_KEYS.USER_PROFILE, JSON.stringify(updated)); - return updated as UserProfile; - } - - // Projects Management - static getUserProjects(): Project[] { - const stored = localStorage.getItem(STORAGE_KEYS.PROJECTS); - return stored ? JSON.parse(stored) : DEMO_PROJECTS; - } - - static createProject( - project: Omit, - ): Project { - const projects = this.getUserProjects(); - const newProject: Project = { - ...project, - id: `proj-${Date.now()}`, - created_at: new Date().toISOString(), - updated_at: new Date().toISOString(), - }; - projects.unshift(newProject); - localStorage.setItem(STORAGE_KEYS.PROJECTS, JSON.stringify(projects)); - return newProject; - } - - static updateProject( - projectId: string, - updates: Partial, - ): Project | null { - const projects = this.getUserProjects(); - const index = projects.findIndex((p) => p.id === projectId); - if (index === -1) return null; - - projects[index] = { - ...projects[index], - ...updates, - updated_at: new Date().toISOString(), - }; - localStorage.setItem(STORAGE_KEYS.PROJECTS, JSON.stringify(projects)); - return projects[index]; - } - - static deleteProject(projectId: string): boolean { - const projects = this.getUserProjects(); - const filtered = projects.filter((p) => p.id !== projectId); - localStorage.setItem(STORAGE_KEYS.PROJECTS, JSON.stringify(filtered)); - return filtered.length < projects.length; - } - - // Achievements Management - static getAllAchievements(): Achievement[] { - return DEMO_ACHIEVEMENTS; - } - - static getUserAchievements(): Achievement[] { - const stored = localStorage.getItem(STORAGE_KEYS.ACHIEVEMENTS); - const earnedIds = stored ? JSON.parse(stored) : ["ach-1", "ach-2", "ach-3"]; - return DEMO_ACHIEVEMENTS.filter((ach) => earnedIds.includes(ach.id)); - } - - static awardAchievement(achievementId: string): void { - const stored = localStorage.getItem(STORAGE_KEYS.ACHIEVEMENTS); - const earnedIds = stored ? JSON.parse(stored) : ["ach-1", "ach-2", "ach-3"]; - - if (!earnedIds.includes(achievementId)) { - earnedIds.push(achievementId); - localStorage.setItem( - STORAGE_KEYS.ACHIEVEMENTS, - JSON.stringify(earnedIds), - ); - - const achievement = DEMO_ACHIEVEMENTS.find((a) => a.id === achievementId); - if (achievement) { - aethexToast.aethex({ - title: "Achievement Unlocked!", - description: `${achievement.icon} ${achievement.name} - ${achievement.description}`, - duration: 8000, - }); - } - } - } - - // Interests Management - static getUserInterests(): string[] { - const stored = localStorage.getItem(STORAGE_KEYS.INTERESTS); - return stored - ? JSON.parse(stored) - : ["Game Development", "AI/ML", "Web3", "Mobile Apps"]; - } - - static updateUserInterests(interests: string[]): void { - localStorage.setItem(STORAGE_KEYS.INTERESTS, JSON.stringify(interests)); - } - - // Demo data initialization - static initializeDemoData(): void { - // Only initialize if no data exists - if (!localStorage.getItem(STORAGE_KEYS.USER_PROFILE)) { - localStorage.setItem( - STORAGE_KEYS.USER_PROFILE, - JSON.stringify(DEMO_USER_PROFILE), - ); - } - if (!localStorage.getItem(STORAGE_KEYS.PROJECTS)) { - localStorage.setItem( - STORAGE_KEYS.PROJECTS, - JSON.stringify(DEMO_PROJECTS), - ); - } - if (!localStorage.getItem(STORAGE_KEYS.ACHIEVEMENTS)) { - localStorage.setItem( - STORAGE_KEYS.ACHIEVEMENTS, - JSON.stringify(["ach-1", "ach-2", "ach-3"]), - ); - } - if (!localStorage.getItem(STORAGE_KEYS.INTERESTS)) { - localStorage.setItem( - STORAGE_KEYS.INTERESTS, - JSON.stringify(["Game Development", "AI/ML", "Web3", "Mobile Apps"]), - ); - } - } - - // Clear all demo data - static clearDemoData(): void { - Object.values(STORAGE_KEYS).forEach((key) => { - localStorage.removeItem(key); - }); - } -}