'use server' import { NextRequest, NextResponse } from 'next/server' export async function POST(request: NextRequest) { try { const { region = 'VN' } = await request.json() const regionTopics: Record = { VN: [ { hashtag: '#foodchallenge', desc: 'Thử thách 24 giờ chỉ ăn một món 🍜', usernames: ['anvlog', 'foodie.vn', 'monanvn', 'nauananh'] }, { hashtag: '#tech', desc: 'Mua đồ công nghệ giá rẻ ở đâu? 🛒', usernames: ['techreview', 'dienthoaivui', 'congnghe247'] }, { hashtag: '#beauty', desc: 'Hướng dẫn make-up tự nhiên cho người mới 💄', usernames: ['lamdep365', 'beautyqueen', 'trangdiem'] }, { hashtag: '#fashion', desc: 'Phong cách thời trang mùa hè 2024 👗', usernames: ['fashionista', 'thoitrangvn', 'baochi'] }, { hashtag: '#fitness', desc: 'Bí quyết tập gym tại nhà cho người bận rộn 💪', usernames: ['fitlife', 'gymhome', 'workoutvn'] }, { hashtag: '#travel', desc: 'Du lịch Việt Nam - Đà Lạt mùa hoa lavender 🌸', usernames: ['dulichvn', 'travelblog', 'xuhuong'] }, { hashtag: '#dance', desc: 'Dance challenge tuần này 🕺💃', usernames: ['dancelover', 'nhaycue', 'beatvn'] }, { hashtag: '#comedy', desc: 'Hài hước mỗi ngày - Tiếu nhân nhà giàu 😆', usernames: ['funnyvn', 'haivuive', 'mcodinguyen'] }, { hashtag: '#recipe', desc: 'Nấu ăn ngon cho cả nhà - Món ngon mỗi ngày 🍳', usernames: ['chefhome', 'nauanngon', 'maicook'] }, { hashtag: '#motivation', desc: 'Truyền động lực mỗi sáng - Đừng bỏ cuộc 🔥', usernames: ['motivation', 'tuluc', 'camhung'] }, ], US: [ { hashtag: '#food', desc: 'What I eat in a day 🍕', usernames: ['foodie', 'cooking_with_emma'] }, { hashtag: '#fitness', desc: 'Gym routine that actually works 💪', usernames: ['fitness_journey', 'gymrat'] }, { hashtag: '#dance', desc: 'New dance challenge 🕺💃', usernames: ['dance_vibes', ' choreography_'] }, { hashtag: '#comedy', desc: 'POV: When Monday hits different 😆', usernames: ['comedy_central', 'relatable'] }, { hashtag: '#travel', desc: 'Best hidden gems in [City] ✈️', usernames: ['travel_guides', 'wanderlust'] }, { hashtag: '#fashion', desc: 'Summer fashion inspo 2024 👗', usernames: ['fashion_inspo', 'style_daily'] }, { hashtag: '#beauty', desc: 'Simple daily makeup routine 💄', usernames: ['beauty_tips', 'glow_getter'] }, { hashtag: '#lifestyle', desc: 'Day in my life vlog 📹', usernames: ['vlog_life', 'daily_vibes'] }, { hashtag: '#recipe', desc: 'Easy recipe for beginners 🍳', usernames: ['cooking_101', 'chef_mike'] }, { hashtag: '#pets', desc: 'My pet doing the funniest thing 🐕', usernames: ['pet_life', 'furparent'] }, ], GLOBAL: [ { hashtag: '#food', desc: 'Best food from my country 🍜', usernames: ['global_foodie'] }, { hashtag: '#travel', desc: 'Traveling the world on a budget ✈️', usernames: ['wanderworld'] }, { hashtag: '#dance', desc: 'Viral dance challenge 2024 🕺', usernames: ['danceworld'] }, { hashtag: '#fitness', desc: 'Home workout no equipment 💪', usernames: ['fit_home'] }, { hashtag: '#comedy', desc: 'Things only [ nationality ] understand 😆', usernames: ['comedy_world'] }, { hashtag: '#fashion', desc: 'Street style looks 👗', usernames: ['streetstyle'] }, { hashtag: '#beauty', desc: 'Skincare routine for beginners 💄', usernames: ['glow_essentials'] }, { hashtag: '#music', desc: 'Original song cover 🎵', usernames: ['cover_singer'] }, { hashtag: '#nature', desc: 'Most beautiful places on Earth 🌄', usernames: ['nature_finds'] }, { hashtag: '#art', desc: 'Digital art process 🎨', usernames: ['digital_art'] }, ], } const topics = regionTopics[region] || regionTopics.GLOBAL const videos = topics.map((topic, i) => { const username = topic.usernames[Math.floor(Math.random() * topic.usernames.length)] const playCount = Math.floor(Math.random() * 5000000) + 500000 const likeCount = Math.floor(playCount * (0.15 + Math.random() * 0.2)) return { id: `${region}${Date.now()}${i}`, url: `https://www.tiktok.com/@${username}/video/${region}${i}`, thumbnail: `https://picsum.photos/seed/trending${region}${i}/360/640`, caption: `${topic.desc} ${topic.hashtag}`, playCount, likeCount, commentCount: Math.floor(likeCount * 0.02), shareCount: Math.floor(likeCount * 0.01), authorName: username, authorAvatar: `https://api.dicebear.com/7.x/initials/svg?seed=${username}`, hashtags: [topic.hashtag], } }) return NextResponse.json({ videos, region, count: videos.length, source: 'generated' }) } catch (error: any) { console.error('API error:', error) return NextResponse.json({ videos: [], error: error.message }, { status: 500 }) } }