<?php

namespace Database\Seeders;

use App\Models\Faq;
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::factory(10)->create();

        User::updateOrCreate(
            ['email' => 'admin@example.com'],
            [
                'name' => 'Administrator',
                'role' => 'admin',
                'password' => 'password',
                'email_verified_at' => now(),
            ]
        );

        $this->call([
            PermissionSeeder::class,
            CategorySeeder::class,
            BrandSeeder::class,
            UnitSeeder::class,
            ProductSeeder::class,
            SlideSeeder::class,
            SettingSeeder::class,
            PaymentMethodSeeder::class,
            ShippingMethodSeeder::class,
            PageContentSeeder::class,
        ]);

        $faqs = [
            [
                'question' => 'How do I use the products?',
                'question_km' => 'តើខ្ញុំប្រើផលិតផលដូចម្តេច?',
                'answer' => "All 360° MONICA bedding products are ready to use.\nSimply place the fitted sheet on your mattress, add pillowcases and the comforter — your bed will feel soft, clean, and comfortable instantly.",
                'answer_km' => "ផលិតផលគ្រែ 360° MONICA ទាំងអស់រួចរាល់សម្រាប់ប្រើប្រាស់។\nគ្រាន់តែដាក់ស្រោមពូកលើពូករបស់អ្នក បន្ថែមស្រោមខ្នើយ និងពូកគ្រប — គ្រែរបស់អ្នកនឹងទន់ ស្អាត និងមានផាសុខភាពភ្លាមៗ។",
                'order' => 1,
                'status' => true,
            ],
            [
                'question' => 'How do I wash and care for them?',
                'question_km' => 'តើខ្ញុំត្រូវបោក និងថែទាំដូចម្តេច?',
                'answer' => "- Machine washable\n- Use cold or mild warm water\n- Use gentle detergent\n- Do not bleach\n- Tumble dry on low heat\n- Avoid ironing on high heat\nProper care will help maintain softness and extend product lifespan.",
                'answer_km' => "- អាចបោកម៉ាស៊ីនបាន\n- ប្រើទឹកត្រជាក់ ឬទឹកក្តៅបន្តិច\n- ប្រើសាប៊ូបោកសម្លៀកបំពាក់ដែលទន់ភ្លន់\n- កុំប្រើទឹកជាវ (bleach)\n- សម្ងួតម៉ាស៊ីនដោយកម្តៅទាប\n- ជៀសវាងអ៊ុតដោយកម្តៅខ្ពស់\nការថែទាំត្រឹមត្រូវជួយរក្សាភាពទន់ និងបន្ថែមអាយុកាលផលិតផល។",
                'order' => 2,
                'status' => true,
            ],
            [
                'question' => 'Is there any warranty?',
                'question_km' => 'តើមានការធានាដែរឬទេ?',
                'answer' => "Yes.\n360° MONICA provides a quality guarantee for any manufacturing defects.\nIf you have any issues, contact us via LINE / Facebook / Phone and we will assist you.",
                'answer_km' => "មាន។\n360° MONICA ផ្តល់ការធានាគុណភាពចំពោះកំហុសពីការផលិត។\nប្រសិនបើមានបញ្ហាណាមួយ សូមទាក់ទងយើងតាម LINE / Facebook / ទូរស័ព្ទ ហើយយើងនឹងជួយដោះស្រាយ។",
                'order' => 3,
                'status' => true,
            ],
            [
                'question' => 'What size is suitable for my bed?',
                'question_km' => 'ទំហំមួយណាសមស្របសម្រាប់គ្រែរបស់ខ្ញុំ?',
                'answer' => "Common bed sizes:\n• 4 ft (120×200 cm) — Single\n• 5 ft (150×200 cm) — Queen\n• 6 ft (180×200 cm) — King\nFor thick mattresses (30–35 cm), we recommend Fitted Sheet 35 cm.",
                'answer_km' => "ទំហំគ្រែដែលពេញនិយម៖\n• 4 ហ្វីត (120×200 សម) — គ្រែតែមួយ\n• 5 ហ្វីត (150×200 សម) — Queen\n• 6 ហ្វីត (180×200 សម) — King\nសម្រាប់ពូកកម្រាស់ (30–35 សម) យើងណែនាំស្រោមពូក 35 សម។",
                'order' => 4,
                'status' => true,
            ],
            [
                'question' => 'Do you offer delivery?',
                'question_km' => 'តើមានសេវាដឹកជញ្ជូនដែរឬទេ?',
                'answer' => 'Yes. We deliver across Phnom Penh and many provinces through trusted couriers (Flash, J&T, etc.)',
                'answer_km' => 'មាន។ យើងដឹកជញ្ជូនទូទាំងភ្នំពេញ និងខេត្តជាច្រើន តាមរយៈក្រុមហ៊ុនដឹកជញ្ជូនដែលទុកចិត្តបាន (Flash, J&T ជាដើម)។',
                'order' => 5,
                'status' => true,
            ],
            [
                'question' => 'How can I place an order?',
                'question_km' => 'តើខ្ញុំអាចកុម្មង់ទំនិញដោយរបៀបណា?',
                'answer' => "You can order through:\n✔ Facebook Page\n✔ LINE\n✔ Phone Call\n✔ Inbox / Messenger\n✔ IG\n✔ TikTok\nWe also help you choose the correct size and products.",
                'answer_km' => "អ្នកអាចកុម្មង់ទំនិញតាមរយៈ៖\n✔ Facebook Page\n✔ LINE\n✔ ទូរស័ព្ទ\n✔ Inbox / Messenger\n✔ IG\n✔ TikTok\nយើងក៏ជួយណែនាំទំហំ និងផលិតផលឱ្យបានត្រឹមត្រូវផងដែរ។",
                'order' => 6,
                'status' => true,
            ],
        ];

        foreach ($faqs as $faq) {
            Faq::updateOrCreate(
                ['question' => $faq['question']],
                $faq
            );
        }
    }
}
