/** * E-WASTE PRICE CALCULATOR * Simple, accurate pricing based on device specifications */ export const deviceDatabase = { smartphones: { brands: { 'Apple': { models: { 'iPhone 15 Pro Max': { basePrice: 800, releaseYear: 2023 }, 'iPhone 15 Pro': { basePrice: 700, releaseYear: 2023 }, 'iPhone 15': { basePrice: 500, releaseYear: 2023 }, 'iPhone 14 Pro Max': { basePrice: 650, releaseYear: 2022 }, 'iPhone 14 Pro': { basePrice: 550, releaseYear: 2022 }, 'iPhone 14': { basePrice: 400, releaseYear: 2022 }, 'iPhone 13 Pro Max': { basePrice: 500, releaseYear: 2021 }, 'iPhone 13 Pro': { basePrice: 450, releaseYear: 2021 }, 'iPhone 13': { basePrice: 350, releaseYear: 2021 }, 'iPhone 12 Pro Max': { basePrice: 400, releaseYear: 2020 }, 'iPhone 12 Pro': { basePrice: 350, releaseYear: 2020 }, 'iPhone 12': { basePrice: 280, releaseYear: 2020 }, 'iPhone 11 Pro Max': { basePrice: 300, releaseYear: 2019 }, 'iPhone 11 Pro': { basePrice: 250, releaseYear: 2019 }, 'iPhone 11': { basePrice: 200, releaseYear: 2019 }, 'iPhone XS Max': { basePrice: 200, releaseYear: 2018 }, 'iPhone XS': { basePrice: 180, releaseYear: 2018 }, 'iPhone XR': { basePrice: 150, releaseYear: 2018 }, 'iPhone X': { basePrice: 120, releaseYear: 2017 }, 'iPhone 8 Plus': { basePrice: 100, releaseYear: 2017 }, 'iPhone 8': { basePrice: 80, releaseYear: 2017 }, 'iPhone 7 Plus': { basePrice: 70, releaseYear: 2016 }, 'iPhone 7': { basePrice: 50, releaseYear: 2016 } } }, 'Samsung': { models: { 'Galaxy S24 Ultra': { basePrice: 600, releaseYear: 2024 }, 'Galaxy S24+': { basePrice: 500, releaseYear: 2024 }, 'Galaxy S24': { basePrice: 400, releaseYear: 2024 }, 'Galaxy S23 Ultra': { basePrice: 500, releaseYear: 2023 }, 'Galaxy S23+': { basePrice: 400, releaseYear: 2023 }, 'Galaxy S23': { basePrice: 320, releaseYear: 2023 }, 'Galaxy S22 Ultra': { basePrice: 400, releaseYear: 2022 }, 'Galaxy S22+': { basePrice: 320, releaseYear: 2022 }, 'Galaxy S22': { basePrice: 250, releaseYear: 2022 }, 'Galaxy S21 Ultra': { basePrice: 350, releaseYear: 2021 }, 'Galaxy S21+': { basePrice: 280, releaseYear: 2021 }, 'Galaxy S21': { basePrice: 220, releaseYear: 2021 }, 'Galaxy Note 20 Ultra': { basePrice: 300, releaseYear: 2020 }, 'Galaxy Note 20': { basePrice: 250, releaseYear: 2020 }, 'Galaxy S20 Ultra': { basePrice: 280, releaseYear: 2020 }, 'Galaxy S20+': { basePrice: 220, releaseYear: 2020 }, 'Galaxy S20': { basePrice: 180, releaseYear: 2020 }, 'Galaxy Note 10+': { basePrice: 200, releaseYear: 2019 }, 'Galaxy Note 10': { basePrice: 170, releaseYear: 2019 }, 'Galaxy S10+': { basePrice: 150, releaseYear: 2019 }, 'Galaxy S10': { basePrice: 120, releaseYear: 2019 } } }, 'Google': { models: { 'Pixel 8 Pro': { basePrice: 450, releaseYear: 2023 }, 'Pixel 8': { basePrice: 350, releaseYear: 2023 }, 'Pixel 7 Pro': { basePrice: 350, releaseYear: 2022 }, 'Pixel 7': { basePrice: 280, releaseYear: 2022 }, 'Pixel 6 Pro': { basePrice: 280, releaseYear: 2021 }, 'Pixel 6': { basePrice: 220, releaseYear: 2021 }, 'Pixel 5': { basePrice: 150, releaseYear: 2020 }, 'Pixel 4 XL': { basePrice: 120, releaseYear: 2019 }, 'Pixel 4': { basePrice: 100, releaseYear: 2019 } } }, 'OnePlus': { models: { 'OnePlus 12': { basePrice: 400, releaseYear: 2024 }, 'OnePlus 11': { basePrice: 320, releaseYear: 2023 }, 'OnePlus 10 Pro': { basePrice: 280, releaseYear: 2022 }, 'OnePlus 9 Pro': { basePrice: 220, releaseYear: 2021 }, 'OnePlus 9': { basePrice: 180, releaseYear: 2021 }, 'OnePlus 8 Pro': { basePrice: 150, releaseYear: 2020 }, 'OnePlus 8': { basePrice: 120, releaseYear: 2020 } } } } }, laptops: { brands: { 'Apple': { models: { 'MacBook Pro 16" M3': { basePrice: 1800, releaseYear: 2023 }, 'MacBook Pro 14" M3': { basePrice: 1400, releaseYear: 2023 }, 'MacBook Air M3': { basePrice: 900, releaseYear: 2024 }, 'MacBook Pro 16" M2': { basePrice: 1500, releaseYear: 2022 }, 'MacBook Pro 14" M2': { basePrice: 1200, releaseYear: 2022 }, 'MacBook Air M2': { basePrice: 800, releaseYear: 2022 }, 'MacBook Pro 16" M1': { basePrice: 1200, releaseYear: 2021 }, 'MacBook Pro 14" M1': { basePrice: 1000, releaseYear: 2021 }, 'MacBook Air M1': { basePrice: 650, releaseYear: 2020 }, 'MacBook Pro 16" Intel': { basePrice: 800, releaseYear: 2019 }, 'MacBook Pro 13" Intel': { basePrice: 600, releaseYear: 2020 }, 'MacBook Air Intel': { basePrice: 400, releaseYear: 2020 } } }, 'Dell': { models: { 'XPS 15 (2024)': { basePrice: 1000, releaseYear: 2024 }, 'XPS 13 (2024)': { basePrice: 800, releaseYear: 2024 }, 'XPS 15 (2023)': { basePrice: 900, releaseYear: 2023 }, 'XPS 13 (2023)': { basePrice: 700, releaseYear: 2023 }, 'XPS 15 (2022)': { basePrice: 800, releaseYear: 2022 }, 'XPS 13 (2022)': { basePrice: 600, releaseYear: 2022 }, 'Inspiron 15 7000': { basePrice: 400, releaseYear: 2023 }, 'Inspiron 14 5000': { basePrice: 300, releaseYear: 2023 }, 'Latitude 7420': { basePrice: 500, releaseYear: 2021 }, 'Latitude 5520': { basePrice: 350, releaseYear: 2021 } } }, 'HP': { models: { 'Spectre x360 16': { basePrice: 900, releaseYear: 2023 }, 'Spectre x360 14': { basePrice: 700, releaseYear: 2023 }, 'EliteBook 850 G9': { basePrice: 600, releaseYear: 2022 }, 'Pavilion 15': { basePrice: 350, releaseYear: 2023 }, 'Envy 13': { basePrice: 450, releaseYear: 2022 }, 'ProBook 450 G9': { basePrice: 400, releaseYear: 2022 } } }, 'Lenovo': { models: { 'ThinkPad X1 Carbon Gen 11': { basePrice: 1000, releaseYear: 2023 }, 'ThinkPad X1 Carbon Gen 10': { basePrice: 850, releaseYear: 2022 }, 'ThinkPad T14 Gen 4': { basePrice: 600, releaseYear: 2023 }, 'ThinkPad T14 Gen 3': { basePrice: 500, releaseYear: 2022 }, 'IdeaPad 5 Pro': { basePrice: 400, releaseYear: 2023 }, 'Legion 5 Pro': { basePrice: 800, releaseYear: 2023 }, 'Yoga 9i': { basePrice: 700, releaseYear: 2023 } } }, 'ASUS': { models: { 'ZenBook Pro 16X': { basePrice: 1200, releaseYear: 2023 }, 'ZenBook 14': { basePrice: 600, releaseYear: 2023 }, 'ROG Zephyrus G15': { basePrice: 900, releaseYear: 2023 }, 'VivoBook S15': { basePrice: 400, releaseYear: 2023 }, 'TUF Gaming A15': { basePrice: 500, releaseYear: 2023 } } } } }, tablets: { brands: { 'Apple': { models: { 'iPad Pro 12.9" M4': { basePrice: 800, releaseYear: 2024 }, 'iPad Pro 11" M4': { basePrice: 650, releaseYear: 2024 }, 'iPad Air M2': { basePrice: 450, releaseYear: 2024 }, 'iPad Pro 12.9" M2': { basePrice: 700, releaseYear: 2022 }, 'iPad Pro 11" M2': { basePrice: 550, releaseYear: 2022 }, 'iPad Air M1': { basePrice: 400, releaseYear: 2022 }, 'iPad 10th Gen': { basePrice: 250, releaseYear: 2022 }, 'iPad 9th Gen': { basePrice: 200, releaseYear: 2021 }, 'iPad mini 6': { basePrice: 350, releaseYear: 2021 } } }, 'Samsung': { models: { 'Galaxy Tab S9 Ultra': { basePrice: 700, releaseYear: 2023 }, 'Galaxy Tab S9+': { basePrice: 550, releaseYear: 2023 }, 'Galaxy Tab S9': { basePrice: 450, releaseYear: 2023 }, 'Galaxy Tab S8 Ultra': { basePrice: 600, releaseYear: 2022 }, 'Galaxy Tab S8+': { basePrice: 450, releaseYear: 2022 }, 'Galaxy Tab S8': { basePrice: 350, releaseYear: 2022 }, 'Galaxy Tab A8': { basePrice: 150, releaseYear: 2022 } } }, 'Microsoft': { models: { 'Surface Pro 10': { basePrice: 800, releaseYear: 2024 }, 'Surface Pro 9': { basePrice: 650, releaseYear: 2022 }, 'Surface Pro 8': { basePrice: 550, releaseYear: 2021 }, 'Surface Go 4': { basePrice: 300, releaseYear: 2023 }, 'Surface Go 3': { basePrice: 250, releaseYear: 2021 } } } } } }; export const conditionMultipliers = { 'Like New': 0.9, 'Excellent': 0.8, 'Good': 0.65, 'Fair': 0.45, 'Poor': 0.25, 'For Parts': 0.15 }; export const storageMultipliers = { '16GB': 0.7, '32GB': 0.8, '64GB': 0.9, '128GB': 1.0, '256GB': 1.15, '512GB': 1.3, '1TB': 1.5, '2TB': 1.8 }; export const calculatePrice = (deviceType, brand, model, condition, storage = '128GB', accessories = []) => { try { const device = deviceDatabase[deviceType]?.brands[brand]?.models[model]; if (!device) { return { error: 'Device not found in database' }; } let basePrice = device.basePrice; const currentYear = new Date().getFullYear(); const deviceAge = currentYear - device.releaseYear; // Age depreciation (10% per year for first 3 years, then 5% per year) let ageMultiplier = 1; if (deviceAge <= 3) { ageMultiplier = Math.max(0.4, 1 - (deviceAge * 0.1)); } else { ageMultiplier = Math.max(0.2, 0.7 - ((deviceAge - 3) * 0.05)); } // Apply condition multiplier const conditionMultiplier = conditionMultipliers[condition] || 0.5; // Apply storage multiplier (mainly for phones and tablets) const storageMultiplier = storageMultipliers[storage] || 1.0; // Calculate base value let estimatedValue = basePrice * ageMultiplier * conditionMultiplier * storageMultiplier; // Accessories bonus let accessoryBonus = 0; accessories.forEach(accessory => { switch (accessory) { case 'Original Box': accessoryBonus += estimatedValue * 0.05; break; case 'Charger': accessoryBonus += estimatedValue * 0.03; break; case 'Cables': accessoryBonus += estimatedValue * 0.02; break; case 'Manual': accessoryBonus += estimatedValue * 0.01; break; case 'Case/Cover': accessoryBonus += estimatedValue * 0.02; break; default: break; } }); estimatedValue += accessoryBonus; // Create price range (±15%) const minPrice = Math.round(estimatedValue * 0.85); const maxPrice = Math.round(estimatedValue * 1.15); return { minPrice, maxPrice, estimatedValue: Math.round(estimatedValue), breakdown: { basePrice, ageMultiplier: Math.round(ageMultiplier * 100) / 100, conditionMultiplier, storageMultiplier, accessoryBonus: Math.round(accessoryBonus), deviceAge } }; } catch (error) { return { error: 'Error calculating price: ' + error.message }; } }; export const getRecyclingOptions = (location = 'general') => { return { sellOnline: [ { name: 'Gazelle', url: 'https://gazelle.com', description: 'Instant quotes for phones, tablets, and laptops', rating: 4.2, paymentTime: '1-2 days', shippingFree: true }, { name: 'Swappa', url: 'https://swappa.com', description: 'Marketplace for used devices with buyer protection', rating: 4.5, paymentTime: 'Varies', shippingFree: false }, { name: 'Amazon Trade-In', url: 'https://amazon.com/tradein', description: 'Trade devices for Amazon gift cards', rating: 4.0, paymentTime: '2-3 days', shippingFree: true }, { name: 'eBay', url: 'https://ebay.com', description: 'Auction or fixed-price selling platform', rating: 4.1, paymentTime: 'Varies', shippingFree: false } ], tradeIn: [ { name: 'Apple Trade In', url: 'https://apple.com/trade-in', description: 'Official Apple trade-in program', rating: 4.3, devices: ['iPhone', 'iPad', 'MacBook', 'Apple Watch'], paymentMethod: 'Credit or Gift Card' }, { name: 'Samsung Trade-In', url: 'https://samsung.com/us/trade-in', description: 'Samsung official trade-in program', rating: 4.1, devices: ['Galaxy phones', 'Galaxy tablets', 'Galaxy watches'], paymentMethod: 'Credit towards new device' }, { name: 'Best Buy Trade-In', url: 'https://bestbuy.com/site/electronics-recycling/trade-in/pcmcat149900050011.c', description: 'Trade in any brand for Best Buy gift cards', rating: 4.0, devices: ['All electronics'], paymentMethod: 'Gift Card' } ], recycling: [ { name: 'Best Buy Recycling', url: 'https://bestbuy.com/site/services/recycling/pcmcat149900050025.c', description: 'Free recycling for most electronics', rating: 4.4, cost: 'Free', pickup: false }, { name: 'Staples Recycling', url: 'https://staples.com/sbd/cre/marketing/sustainability-center/recycling-services', description: 'Free recycling for small electronics', rating: 4.2, cost: 'Free for small items', pickup: false }, { name: 'Call2Recycle', url: 'https://call2recycle.org', description: 'Battery and cell phone recycling program', rating: 4.5, cost: 'Free', pickup: false }, { name: 'Earth911', url: 'https://earth911.com', description: 'Find local recycling centers', rating: 4.3, cost: 'Varies', pickup: 'Some locations' } ], donation: [ { name: 'Goodwill', url: 'https://goodwill.org', description: 'Donate working electronics for tax deduction', rating: 4.1, taxDeductible: true, pickup: 'Some locations' }, { name: 'World Computer Exchange', url: 'https://worldcomputerexchange.org', description: 'Donate computers to developing countries', rating: 4.6, taxDeductible: true, pickup: false }, { name: 'National Cristina Foundation', url: 'https://cristina.org', description: 'Donate technology to people with disabilities', rating: 4.5, taxDeductible: true, pickup: false } ] }; };