<?php

namespace Database\Seeders;

use App\Models\Client;
use App\Models\Industry;
use App\Models\PageContent;
use App\Models\Service;
use App\Models\User;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    use WithoutModelEvents;

    /**
     * Seed the application's database.
     */
    public function run(): void
    {
        User::query()->updateOrCreate(
            ['email' => 'admin@nivex.dev'],
            [
                'name' => 'Nivex Admin',
                'password' => 'password',
                'is_admin' => true,
            ]
        );

        foreach ($this->services() as $service) {
            Service::query()->updateOrCreate(['sort_order' => $service['sort_order']], $service);
        }

        foreach ($this->industries() as $industry) {
            Industry::query()->updateOrCreate(['sort_order' => $industry['sort_order']], $industry);
        }

        foreach ($this->clients() as $client) {
            Client::query()->updateOrCreate(['name' => $client['name']], $client);
        }

        foreach ($this->pageContents() as $page => $content) {
            PageContent::query()->updateOrCreate(['page' => $page], ['content' => $content]);
        }
    }

    protected function services(): array
    {
        return [
            [
                'title' => ['en' => 'Web Development', 'ar' => 'تطوير الويب'],
                'excerpt' => ['en' => 'Fast, scalable web platforms built around your commercial goals.', 'ar' => 'منصات ويب سريعة وقابلة للتوسع مبنية حول أهدافك التجارية.'],
                'bullets' => ['en' => ['Laravel architecture', 'Performance-first UI', 'SEO and analytics'], 'ar' => ['هندسة Laravel', 'واجهات عالية الأداء', 'تهيئة SEO والتحليلات']],
                'icon' => 'monitor-smartphone',
                'sort_order' => 1,
                'is_active' => true,
            ],
            [
                'title' => ['en' => 'Mobile Apps', 'ar' => 'تطبيقات الجوال'],
                'excerpt' => ['en' => 'Cross-platform experiences with polished flows and business logic that scales.', 'ar' => 'تجارب متعددة المنصات بتدفقات سلسة ومنطق أعمال قابل للتوسع.'],
                'bullets' => ['en' => ['iOS and Android delivery', 'API-ready backend', 'Lifecycle support'], 'ar' => ['تسليم iOS وAndroid', 'خلفية جاهزة للـ API', 'دعم دورة حياة المنتج']],
                'icon' => 'smartphone',
                'sort_order' => 2,
                'is_active' => true,
            ],
            [
                'title' => ['en' => 'Systems', 'ar' => 'الأنظمة'],
                'excerpt' => ['en' => 'Operational systems that remove bottlenecks from sales, service, and management.', 'ar' => 'أنظمة تشغيلية تزيل الاختناقات من المبيعات والخدمة والإدارة.'],
                'bullets' => ['en' => ['CRM and ERP flows', 'Role-based dashboards', 'Automation pipelines'], 'ar' => ['تدفقات CRM وERP', 'لوحات بصلاحيات مختلفة', 'أتمتة العمليات']],
                'icon' => 'blocks',
                'sort_order' => 3,
                'is_active' => true,
            ],
            [
                'title' => ['en' => 'UI/UX Design', 'ar' => 'تصميم UI/UX'],
                'excerpt' => ['en' => 'Interfaces that clarify value, reduce friction, and improve conversion.', 'ar' => 'واجهات توضّح القيمة وتقلل الاحتكاك وترفع التحويل.'],
                'bullets' => ['en' => ['Research-led decisions', 'Design systems', 'Interactive prototypes'], 'ar' => ['قرارات مبنية على البحث', 'أنظمة تصميم', 'نماذج تفاعلية']],
                'icon' => 'pen-tool',
                'sort_order' => 4,
                'is_active' => true,
            ],
            [
                'title' => ['en' => 'Digital Marketing', 'ar' => 'التسويق الرقمي'],
                'excerpt' => ['en' => 'Campaign strategy connected to data, content, and measurable growth.', 'ar' => 'استراتيجية حملات مرتبطة بالبيانات والمحتوى والنمو القابل للقياس.'],
                'bullets' => ['en' => ['Performance campaigns', 'Content funnels', 'Attribution tracking'], 'ar' => ['حملات أداء', 'مسارات محتوى', 'تتبع الإسناد']],
                'icon' => 'megaphone',
                'sort_order' => 5,
                'is_active' => true,
            ],
        ];
    }

    protected function industries(): array
    {
        return [
            ['title' => ['en' => 'Startups', 'ar' => 'الشركات الناشئة'], 'description' => ['en' => 'Lean launch systems for speed, validation, and fundraising readiness.', 'ar' => 'أنظمة إطلاق مرنة للسرعة والتحقق والاستعداد للتمويل.'], 'icon' => 'rocket', 'sort_order' => 1, 'is_active' => true],
            ['title' => ['en' => 'E-commerce', 'ar' => 'التجارة الإلكترونية'], 'description' => ['en' => 'Acquisition, checkout, and fulfillment journeys that actually convert.', 'ar' => 'مسارات اكتساب وشراء وتنفيذ تعمل فعلاً على رفع المبيعات.'], 'icon' => 'shopping-bag', 'sort_order' => 2, 'is_active' => true],
            ['title' => ['en' => 'Healthcare', 'ar' => 'الرعاية الصحية'], 'description' => ['en' => 'Secure experiences for booking, records, and service coordination.', 'ar' => 'تجارب آمنة للحجوزات والسجلات وتنسيق الخدمات.'], 'icon' => 'heart-pulse', 'sort_order' => 3, 'is_active' => true],
            ['title' => ['en' => 'Education', 'ar' => 'التعليم'], 'description' => ['en' => 'Digital learning journeys, portals, and measurable student engagement.', 'ar' => 'رحلات تعليمية رقمية وبوابات وتفاعل طلابي قابل للقياس.'], 'icon' => 'graduation-cap', 'sort_order' => 4, 'is_active' => true],
            ['title' => ['en' => 'Real Estate', 'ar' => 'العقارات'], 'description' => ['en' => 'Lead capture, property showcase, and sales follow-up in one flow.', 'ar' => 'التقاط العملاء وعرض العقارات ومتابعة المبيعات ضمن تدفق واحد.'], 'icon' => 'building-2', 'sort_order' => 5, 'is_active' => true],
            ['title' => ['en' => 'Business Services', 'ar' => 'خدمات الأعمال'], 'description' => ['en' => 'Internal and client-facing systems that simplify delivery.', 'ar' => 'أنظمة داخلية وخارجية تبسّط تقديم الخدمة.'], 'icon' => 'briefcase-business', 'sort_order' => 6, 'is_active' => true],
        ];
    }

    protected function clients(): array
    {
        return [
            ['name' => 'Astra', 'company' => ['en' => 'Astra Ventures', 'ar' => 'أسترا فنتشرز'], 'quote' => ['en' => 'Nivex translated our idea into a launch-ready product with real operational depth.', 'ar' => 'حوّلت Nivex فكرتنا إلى منتج جاهز للإطلاق بعمق تشغيلي حقيقي.'], 'role' => ['en' => 'Founder', 'ar' => 'المؤسس'], 'website' => null, 'logo_path' => null, 'sort_order' => 1, 'is_active' => true],
            ['name' => 'Verde', 'company' => ['en' => 'Verde Commerce', 'ar' => 'فيردي كومرس'], 'quote' => ['en' => 'The new system removed manual chaos from our order pipeline.', 'ar' => 'النظام الجديد أزال الفوضى اليدوية من مسار الطلبات لدينا.'], 'role' => ['en' => 'Operations Director', 'ar' => 'مدير العمليات'], 'website' => null, 'logo_path' => null, 'sort_order' => 2, 'is_active' => true],
            ['name' => 'Clario', 'company' => ['en' => 'Clario Health', 'ar' => 'كلاريو هيلث'], 'quote' => ['en' => 'Design, backend, and rollout came together in a way that felt disciplined.', 'ar' => 'التصميم والخلفية والإطلاق اجتمعت بطريقة منضبطة وواضحة.'], 'role' => ['en' => 'Product Manager', 'ar' => 'مدير المنتج'], 'website' => null, 'logo_path' => null, 'sort_order' => 3, 'is_active' => true],
        ];
    }

    protected function pageContents(): array
    {
        return [
            'home' => [
                'hero' => [
                    'eyebrow' => ['en' => 'Nivex software company', 'ar' => 'شركة Nivex للبرمجيات'],
                    'title' => ['en' => 'Every project starts with an idea', 'ar' => 'كل مشروع يبدأ بفكرة'],
                    'description' => ['en' => 'We shape ideas into systems, experiences, and launch moments that move businesses forward.', 'ar' => 'نحوّل الأفكار إلى أنظمة وتجارب ولحظات إطلاق تدفع الأعمال إلى الأمام.'],
                    'cta' => ['en' => 'Start Your Project', 'ar' => 'ابدأ مشروعك'],
                ],
                'scroll_steps' => [
                    ['title' => ['en' => 'Idea', 'ar' => 'الفكرة'], 'text' => ['en' => 'We identify the signal inside the noise.', 'ar' => 'نلتقط الإشارة وسط الفوضى.']],
                    ['title' => ['en' => 'Design', 'ar' => 'التصميم'], 'text' => ['en' => 'We design the flow users can trust.', 'ar' => 'نصمم تدفقًا يمكن للمستخدم الوثوق به.']],
                    ['title' => ['en' => 'System', 'ar' => 'النظام'], 'text' => ['en' => 'We build the engine behind the experience.', 'ar' => 'نبني المحرك خلف التجربة.']],
                    ['title' => ['en' => 'Success', 'ar' => 'النجاح'], 'text' => ['en' => 'We launch with clarity, data, and momentum.', 'ar' => 'نطلق بوضوح وبيانات وزخم.']],
                ],
                'problems' => [
                    'title' => ['en' => 'When digital work stays messy, growth stalls.', 'ar' => 'عندما يبقى العمل الرقمي فوضويًا، يتوقف النمو.'],
                    'items' => [
                        ['before' => ['en' => 'Messy workflow', 'ar' => 'سير عمل فوضوي'], 'after' => ['en' => 'Clear process engine', 'ar' => 'محرك عمليات واضح']],
                        ['before' => ['en' => 'No customers pipeline', 'ar' => 'لا يوجد تدفق عملاء'], 'after' => ['en' => 'Consistent demand system', 'ar' => 'نظام طلب مستمر']],
                    ],
                ],
                'audiences' => [
                    'title' => ['en' => 'Choose your stage. We will show the path.', 'ar' => 'اختر مرحلتك، وسنعرض لك الطريق.'],
                    'items' => [
                        ['key' => 'startup', 'label' => ['en' => 'Startup', 'ar' => 'شركة ناشئة'], 'headline' => ['en' => 'Launch lean, validate faster.', 'ar' => 'أطلق بمرونة وتحقق أسرع.'], 'body' => ['en' => 'We help startups move from concept to MVP with a system that investors and customers can understand.', 'ar' => 'نساعد الشركات الناشئة على الانتقال من الفكرة إلى MVP بنظام يفهمه المستثمر والعميل.']],
                        ['key' => 'business', 'label' => ['en' => 'Business Owner', 'ar' => 'صاحب عمل'], 'headline' => ['en' => 'Turn operations into leverage.', 'ar' => 'حوّل التشغيل إلى قوة.'], 'body' => ['en' => 'We replace fragmented tools with unified dashboards, automation, and digital touchpoints.', 'ar' => 'نستبدل الأدوات المتفرقة بلوحات موحدة وأتمتة ونقاط تواصل رقمية.']],
                        ['key' => 'idea', 'label' => ['en' => 'Idea Owner', 'ar' => 'صاحب فكرة'], 'headline' => ['en' => 'Shape a market-ready product story.', 'ar' => 'اصنع قصة منتج جاهزة للسوق.'], 'body' => ['en' => 'We define the product journey, visual identity, and technical foundation before you waste budget.', 'ar' => 'نحدد رحلة المنتج والهوية البصرية والأساس التقني قبل إهدار الميزانية.']],
                    ],
                ],
                'behind_scenes' => [
                    'title' => ['en' => 'Behind the scenes, the product takes shape in layers.', 'ar' => 'خلف الكواليس، يتشكل المنتج على طبقات.'],
                    'items' => [
                        ['title' => ['en' => 'Dashboard building', 'ar' => 'بناء لوحة التحكم'], 'text' => ['en' => 'Structure, permissions, reporting, and workflows.', 'ar' => 'هيكلة وصلاحيات وتقارير وتدفقات عمل.']],
                        ['title' => ['en' => 'Code snippets', 'ar' => 'مقاطع الكود'], 'text' => ['en' => 'The logic that keeps every action consistent.', 'ar' => 'المنطق الذي يجعل كل عملية متسقة.']],
                        ['title' => ['en' => 'UI forming', 'ar' => 'تشكّل الواجهة'], 'text' => ['en' => 'Interfaces that feel inevitable, not decorative.', 'ar' => 'واجهات تبدو بديهية لا مجرد زخرفة.']],
                    ],
                ],
                'timeline' => [
                    ['title' => ['en' => 'Discovery', 'ar' => 'الاكتشاف'], 'text' => ['en' => 'Business mapping and direction.', 'ar' => 'فهم العمل وتحديد الاتجاه.']],
                    ['title' => ['en' => 'Blueprint', 'ar' => 'المخطط'], 'text' => ['en' => 'UX flow, architecture, priorities.', 'ar' => 'تدفقات UX والهندسة والأولويات.']],
                    ['title' => ['en' => 'Build', 'ar' => 'البناء'], 'text' => ['en' => 'Backend, frontend, integrations.', 'ar' => 'الخلفية والواجهة والتكاملات.']],
                    ['title' => ['en' => 'Launch', 'ar' => 'الإطلاق'], 'text' => ['en' => 'Release, monitor, improve.', 'ar' => 'إطلاق ومراقبة وتحسين.']],
                ],
                'ending' => [
                    'title' => ['en' => 'The right system changes more than the screen. It changes the business behind it.', 'ar' => 'النظام الصحيح لا يغيّر الشاشة فقط، بل يغيّر العمل خلفها.'],
                    'cta' => ['en' => 'Start Your Project', 'ar' => 'ابدأ مشروعك'],
                ],
            ],
            'about' => [
                'hero' => ['title' => ['en' => 'We build digital systems with commercial intent.', 'ar' => 'نبني أنظمة رقمية بنية تجارية واضحة.'], 'description' => ['en' => 'Nivex exists to turn complexity into structured growth for ambitious companies.', 'ar' => 'توجد Nivex لتحويل التعقيد إلى نمو منظم للشركات الطموحة.']],
                'story' => ['title' => ['en' => 'Our story', 'ar' => 'قصتنا'], 'body' => ['en' => 'Nivex was built around a simple belief: good software should remove friction from growth, not add to it.', 'ar' => 'بُنيت Nivex على قناعة بسيطة: البرمجيات الجيدة يجب أن تزيل الاحتكاك من النمو لا أن تضيفه.']],
                'vision' => ['title' => ['en' => 'Vision', 'ar' => 'الرؤية'], 'body' => ['en' => 'To become the digital execution partner companies trust when the stakes are real.', 'ar' => 'أن نكون شريك التنفيذ الرقمي الذي تثق به الشركات عندما تكون الرهانات حقيقية.']],
                'mission' => ['title' => ['en' => 'Mission', 'ar' => 'الرسالة'], 'body' => ['en' => 'Design and build products, systems, and journeys that make businesses simpler to run and easier to grow.', 'ar' => 'تصميم وبناء منتجات وأنظمة ورحلات تجعل الأعمال أسهل في الإدارة وأسرع في النمو.']],
                'values' => [
                    ['title' => ['en' => 'Clarity', 'ar' => 'الوضوح'], 'text' => ['en' => 'We simplify complexity without flattening the strategy.','ar' => 'نبسّط التعقيد دون إضعاف الاستراتيجية.']],
                    ['title' => ['en' => 'Ownership', 'ar' => 'الملكية'], 'text' => ['en' => 'We think beyond the ticket and solve for the outcome.','ar' => 'نفكر أبعد من المهمة ونحل من أجل النتيجة.']],
                    ['title' => ['en' => 'Precision', 'ar' => 'الدقة'], 'text' => ['en' => 'Execution quality matters because scale magnifies every decision.','ar' => 'جودة التنفيذ مهمة لأن التوسع يضخم كل قرار.']],
                ],
                'methodology' => [
                    ['title' => ['en' => 'Discover', 'ar' => 'اكتشف'], 'text' => ['en' => 'Understand business, users, and constraints.', 'ar' => 'فهم العمل والمستخدمين والقيود.']],
                    ['title' => ['en' => 'Design', 'ar' => 'صمّم'], 'text' => ['en' => 'Map flows, interfaces, and priorities.', 'ar' => 'رسم التدفقات والواجهات والأولويات.']],
                    ['title' => ['en' => 'Develop', 'ar' => 'طوّر'], 'text' => ['en' => 'Build stable, scalable foundations.', 'ar' => 'بناء أساسات مستقرة وقابلة للتوسع.']],
                    ['title' => ['en' => 'Refine', 'ar' => 'حسّن'], 'text' => ['en' => 'Optimize after launch with real usage data.', 'ar' => 'التحسين بعد الإطلاق ببيانات الاستخدام الفعلية.']],
                ],
            ],
            'services' => [
                'hero' => ['title' => ['en' => 'Services built around outcomes, not buzzwords.', 'ar' => 'خدمات مبنية حول النتائج لا المصطلحات.'], 'description' => ['en' => 'From launch-ready websites to business systems, every service exists to remove friction from growth.', 'ar' => 'من مواقع جاهزة للإطلاق إلى أنظمة أعمال، كل خدمة موجودة لإزالة العوائق من النمو.']],
            ],
            'industries' => [
                'hero' => ['title' => ['en' => 'Industry context changes the product strategy.', 'ar' => 'سياق القطاع يغيّر استراتيجية المنتج.'], 'description' => ['en' => 'We adapt systems, interfaces, and acquisition logic to the realities of each industry.', 'ar' => 'نكيّف الأنظمة والواجهات ومنطق الاكتساب مع واقع كل قطاع.']],
            ],
            'clients' => [
                'hero' => ['title' => ['en' => 'Trusted by teams that needed more than a pretty interface.', 'ar' => 'موثوق من فرق احتاجت أكثر من واجهة جميلة.'], 'description' => ['en' => 'Nivex ships digital products and systems that solve real operating problems.', 'ar' => 'تقدّم Nivex منتجات وأنظمة رقمية تحل مشكلات تشغيلية حقيقية.']],
                'stats' => ['projects' => '50+', 'satisfaction' => '100%'],
            ],
            'contact' => [
                'hero' => ['title' => ['en' => 'Tell us what you want to build.', 'ar' => 'أخبرنا ماذا تريد أن نبني.'], 'description' => ['en' => 'Send the essentials and we will turn the conversation into a concrete next step.', 'ar' => 'أرسل الأساسيات وسنحوّل المحادثة إلى خطوة عملية واضحة.']],
                'email' => 'info@nivex.technology',
                'phone' => '+20 128 060 0515',
            ],
        ];
    }
}
