<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;

use App\Models\Page;
use Illuminate\Support\Arr;

class PagesSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $home_page = Page::create()->saveVersion(['version' => [
            'name' => 'Home',
            'slug' => '/',
            'sort_order' => 1,
            'footer_color' => '218,241,250',
        ]])->publish();

        $home_page_version = $home_page->versions->first();
        $home_page_version->parent_page_id = 0;
        $home_page_version->save();

        $home_page->protected = true;
        $home_page->save();

        // why brentwood

        $why_brentwood = Page::create()->saveVersion(['version' => [
            'name' => 'Why Brentwood',
            'parent_page_id' => 1,
            'sort_order' => 1,
        ]])->publish();

        $tripartite = Page::create()->saveVersion(['version' => [
            'name' => 'Scheduling',
            'parent_page_id' => $why_brentwood->id,
            'sort_order' => 1,
        ]])->publish();

        $choose = Page::create()->saveVersion(['version' => [
            'name' => 'Choice',
            'parent_page_id' => $why_brentwood->id,
            'sort_order' => 2,
        ]])->publish();

        $boarding = Page::create()->saveVersion(['version' => [
            'name' => 'Boarding',
            'parent_page_id' => $why_brentwood->id,
            'sort_order' => 3,
        ]])->publish();

        $support = Page::create()->saveVersion(['version' => [
            'name' => 'Support',
            'parent_page_id' => $why_brentwood->id,
            'sort_order' => 4,
        ]])->publish();

        $campus = Page::create()->saveVersion(['version' => [
            'name' => 'Campus',
            'parent_page_id' => $why_brentwood->id,
            'sort_order' => 5,
        ]])->publish();

        $culture = Page::create()->saveVersion(['version' => [
            'name' => 'Culture',
            'parent_page_id' => $why_brentwood->id,
            'sort_order' => 6,
        ]])->publish();

        $history = Page::create()->saveVersion(['version' => [
            'name' => 'Legacy',
            'parent_page_id' => $why_brentwood->id,
            'sort_order' => 7,
        ]])->publish();


        // Boarding Life

        $campus_life = Page::create()->saveVersion(['version' => [
            'name' => 'Campus Life',
            'parent_page_id' => 1,
            'sort_order' => 2,
        ]])->publish();

        $living_on_campus = Page::create()->saveVersion(['version' => [
            'name' => 'Living on Campus',
            'parent_page_id' => $campus_life->id,
            'sort_order' => 1,
        ]])->publish();

        $student_wellness = Page::create()->saveVersion(['version' => [
            'name' => 'Student Wellness',
            'parent_page_id' => $campus_life->id,
            'sort_order' => 2,
        ]])->publish();

        $oceanfront = Page::create()->saveVersion(['version' => [
            'name' => 'Oceanfront',
            'parent_page_id' => $campus_life->id,
            'sort_order' => 3,
        ]])->publish();

        $activities = Page::create()->saveVersion(['version' => [
            'name' => 'Activities',
            'parent_page_id' => $campus_life->id,
            'sort_order' => 4,
        ]])->publish();

        $leadership = Page::create()->saveVersion(['version' => [
            'name' => 'Student Leaders',
            'parent_page_id' => $campus_life->id,
            'sort_order' => 5,
        ]])->publish();


        // Academics

        $academics = Page::create()->saveVersion(['version' => [
            'name' => 'Academics',
            'parent_page_id' => 1,
            'sort_order' => 3,
        ]])->publish();

        $university = Page::create()->saveVersion(['version' => [
            'name' => 'University Placement',
            'parent_page_id' => $academics->id,
            'sort_order' => 1,
        ]])->publish();

        $ap = Page::create()->saveVersion(['version' => [
            'name' => 'Advancement Placement',
            'parent_page_id' => $academics->id,
            'sort_order' => 2,
        ]])->publish();

        $grade12 = Page::create()->saveVersion(['version' => [
            'name' => 'Grade 12',
            'parent_page_id' => $academics->id,
            'sort_order' => 3,
        ]])->publish();

        $grade11 = Page::create()->saveVersion(['version' => [
            'name' => 'Grade 11',
            'parent_page_id' => $academics->id,
            'sort_order' => 4,
        ]])->publish();

        $grade10 = Page::create()->saveVersion(['version' => [
            'name' => 'Grade 10',
            'parent_page_id' => $academics->id,
            'sort_order' => 5,
        ]])->publish();

        $grade9 = Page::create()->saveVersion(['version' => [
            'name' => 'Grade 9',
            'parent_page_id' => $academics->id,
            'sort_order' => 6,
        ]])->publish();

        $grade8 = Page::create()->saveVersion(['version' => [
            'name' => 'Grade 8',
            'parent_page_id' => $academics->id,
            'sort_order' => 7,
        ]])->publish();

        // Athletics

        $athletics = Page::create()->saveVersion(['version' => [
            'name' => 'Athletics',
            'parent_page_id' => 1,
            'sort_order' => 4,
        ]])->publish();

        $basketball = Page::create()->saveVersion(['version' => [
            'name' => 'Basketball',
            'parent_page_id' => $athletics->id,
            'sort_order' => 1,
        ]])->publish();

        $climbing = Page::create()->saveVersion(['version' => [
            'name' => 'Climbing',
            'parent_page_id' => $athletics->id,
            'sort_order' => 2,
        ]])->publish();

        $cross_country = Page::create()->saveVersion(['version' => [
            'name' => 'Cross Country Running',
            'parent_page_id' => $athletics->id,
            'sort_order' => 3,
        ]])->publish();

        $cross_training = Page::create()->saveVersion(['version' => [
            'name' => 'Cross Training',
            'parent_page_id' => $athletics->id,
            'sort_order' => 4,
        ]])->publish();

        $field_hockey = Page::create()->saveVersion(['version' => [
            'name' => 'Field Hockey',
            'parent_page_id' => $athletics->id,
            'sort_order' => 5,
        ]])->publish();

        $golf = Page::create()->saveVersion(['version' => [
            'name' => 'Golf',
            'parent_page_id' => $athletics->id,
            'sort_order' => 6,
        ]])->publish();

        $ice_hockey = Page::create()->saveVersion(['version' => [
            'name' => 'Ice Hockey',
            'parent_page_id' => $athletics->id,
            'sort_order' => 7,
        ]])->publish();

        $outdoor_pursuits = Page::create()->saveVersion(['version' => [
            'name' => 'Outdoor Pursuits',
            'parent_page_id' => $athletics->id,
            'sort_order' => 8,
        ]])->publish();

        $rowing = Page::create()->saveVersion(['version' => [
            'name' => 'Rowing',
            'parent_page_id' => $athletics->id,
            'sort_order' => 9,
        ]])->publish();

        $rubgy = Page::create()->saveVersion(['version' => [
            'name' => 'Rugby',
            'parent_page_id' => $athletics->id,
            'sort_order' => 10,
        ]])->publish();

        $soccer = Page::create()->saveVersion(['version' => [
            'name' => 'Soccer',
            'parent_page_id' => $athletics->id,
            'sort_order' => 11,
        ]])->publish();

        $squash = Page::create()->saveVersion(['version' => [
            'name' => 'Squash',
            'parent_page_id' => $athletics->id,
            'sort_order' => 12,
        ]])->publish();

        $sNc = Page::create()->saveVersion(['version' => [
            'name' => 'Strength and Conditioning',
            'parent_page_id' => $athletics->id,
            'sort_order' => 13,
        ]])->publish();

        $swimming = Page::create()->saveVersion(['version' => [
            'name' => 'Swimming',
            'parent_page_id' => $athletics->id,
            'sort_order' => 14,
        ]])->publish();

        $tennis = Page::create()->saveVersion(['version' => [
            'name' => 'Tennis',
            'parent_page_id' => $athletics->id,
            'sort_order' => 15,
        ]])->publish();

        $volleyball = Page::create()->saveVersion(['version' => [
            'name' => 'Volleyball',
            'parent_page_id' => $athletics->id,
            'sort_order' => 16,
        ]])->publish();

        $yoga = Page::create()->saveVersion(['version' => [
            'name' => 'Yoga',
            'parent_page_id' => $athletics->id,
            'sort_order' => 17,
        ]])->publish();

        // Arts

        $arts = Page::create()->saveVersion(['version' => [
            'name' => 'Arts',
            'parent_page_id' => 1,
            'sort_order' => 5,
        ]])->publish();

        $sculpture = Page::create()->saveVersion(['version' => [
            'name' => '3D Art and Sculpture',
            'parent_page_id' => $arts->id,
            'sort_order' => 1,
        ]])->publish();

        $acting = Page::create()->saveVersion(['version' => [
            'name' => 'Acting and Drama',
            'parent_page_id' => $arts->id,
            'sort_order' => 2,
        ]])->publish();

        $dance = Page::create()->saveVersion(['version' => [
            'name' => 'Dance',
            'parent_page_id' => $arts->id,
            'sort_order' => 3,
        ]])->publish();

        $debate = Page::create()->saveVersion(['version' => [
            'name' => 'Debate and Public Speaking',
            'parent_page_id' => $arts->id,
            'sort_order' => 4,
        ]])->publish();

        $painting = Page::create()->saveVersion(['version' => [
            'name' => 'Drawing and Painting',
            'parent_page_id' => $arts->id,
            'sort_order' => 5,
        ]])->publish();

        $media = Page::create()->saveVersion(['version' => [
            'name' => 'Media Arts',
            'parent_page_id' => $arts->id,
            'sort_order' => 6,
        ]])->publish();

        $music = Page::create()->saveVersion(['version' => [
            'name' => 'Music',
            'parent_page_id' => $arts->id,
            'sort_order' => 7,
        ]])->publish();

        $musical = Page::create()->saveVersion(['version' => [
            'name' => 'Musical',
            'parent_page_id' => $arts->id,
            'sort_order' => 8,
        ]])->publish();

        $photography = Page::create()->saveVersion(['version' => [
            'name' => 'Photography',
            'parent_page_id' => $arts->id,
            'sort_order' => 9,
        ]])->publish();

        $pottery = Page::create()->saveVersion(['version' => [
            'name' => 'Pottery',
            'parent_page_id' => $arts->id,
            'sort_order' => 10,
        ]])->publish();

        $robotics = Page::create()->saveVersion(['version' => [
            'name' => 'Robotics',
            'parent_page_id' => $arts->id,
            'sort_order' => 11,
        ]])->publish();

        $woodwork = Page::create()->saveVersion(['version' => [
            'name' => 'Woodworking',
            'parent_page_id' => $arts->id,
            'sort_order' => 12,
        ]])->publish();

        // Admissions

        $admissions = Page::create()->saveVersion(['version' => [
            'name' => 'Admissions',
            'parent_page_id' => 1,
            'sort_order' => 6,
        ]])->publish();

        $admissions->protected = true;
        $admissions->save();

        $apply = Page::create()->saveVersion(['version' => [
            'name' => 'Apply',
            'parent_page_id' => $admissions->id,
            'sort_order' => 1,
        ]])->publish();

        $apply->protected = true;
        $apply->save();

        $fees = Page::create()->saveVersion(['version' => [
            'name' => 'Fees and Tuition',
            'parent_page_id' => $admissions->id,
            'sort_order' => 2,
        ]])->publish();

        $sessions = Page::create()->saveVersion(['version' => [
            'name' => 'Information Sessions',
            'parent_page_id' => $admissions->id,
            'sort_order' => 3,
        ]])->publish();

        // Portal

        $portal = Page::create()->saveVersion(['version' => [
            'name' => 'Portal',
            'parent_page_id' => 1,
            'sort_order' => 7,
        ]])->publish();

        $login = Page::create()->saveVersion(['version' => [
            'name' => 'Login',
            'parent_page_id' => 1,
            'sort_order' => 8,
            'unlisted' => true,
        ]])->publish();

        $login->protected = true;
        $login->save();

        $live = Page::create()->saveVersion(['version' => [
            'name' => 'Live',
            'slug' => 'live',
            'parent_page_id' => 1,
            'sort_order' => 9,
            'unlisted' => true,
        ]])->publish();

        $live->protected = true;
        $live->save();

        $live_register = Page::create()->saveVersion(['version' => [
            'name' => 'Livestream Registration',
            'slug' => 'register',
            'parent_page_id' => $live->id,
            'sort_order' => 1,
            'unlisted' => true,
        ]])->publish();
        $live_register->protected = true;
        $live_register->save();

        $live_registration_complete = Page::create()->saveVersion(['version' => [
            'name' => 'Registration Complete',
            'slug' => 'registration-complete',
            'parent_page_id' => $live->id,
            'sort_order' => 2,
            'unlisted' => true,
        ]])->publish();
        $live_registration_complete->protected = true;
        $live_registration_complete->save();

        $live_unregister_complete = Page::create()->saveVersion(['version' => [
            'name' => 'Registration Removed',
            'slug' => 'unregister-complete',
            'parent_page_id' => $live->id,
            'sort_order' => 3,
            'unlisted' => true,
        ]])->publish();
        $live_unregister_complete->protected = true;
        $live_unregister_complete->save();

        $live_view = Page::create()->saveVersion(['version' => [
            'name' => 'Livestream',
            'slug' => 'view',
            'parent_page_id' => $live->id,
            'sort_order' => 4,
            'unlisted' => true,
        ]])->publish();
        $live_view->protected = true;
        $live_view->save();

        // Inquiries

        $inquiry = Page::create()->saveVersion(['version' => [
            'name' => 'Inquiry',
            'slug' => 'inquiry',
            'parent_page_id' => 1,
            'sort_order' => 10,
            'unlisted' => true,
        ]])->publish();
        $inquiry->protected = true;
        $inquiry->save();

        $inquiry_content = Page::create()->saveVersion(['version' => [
            'name' => 'Inquiry Content',
            'slug' => 'inquiry-content',
            'parent_page_id' => $inquiry->id,
            'sort_order' => 1,
            'unlisted' => true,
        ]])->publish();
        $inquiry_content->protected = true;
        $inquiry_content->save();

        $register = Page::create()->saveVersion(['version' => [
            'name' => 'Register',
            'slug' => 'register',
            'title' => 'Create an Account',
            'parent_page_id' => 1,
            'sort_order' => 11,
            'unlisted' => true,
        ]])->publish();
        $register->protected = true;
        $register->save();

        $news = Page::create()->saveVersion(['version' => [
            'name' => 'News',
            'parent_page_id' => 1,
            'sort_order' => 13,
            'unlisted' => true,
        ]])->publish();

        $parents = Page::create()->saveVersion(['version' => [
            'name' => 'Parents',
            'parent_page_id' => 1,
            'sort_order' => 14,
            'unlisted' => true,
        ]])->publish();

        $students = Page::create()->saveVersion(['version' => [
            'name' => 'Students',
            'parent_page_id' => 1,
            'sort_order' => 15,
            'unlisted' => true,
        ]])->publish();

        $staff = Page::create()->saveVersion(['version' => [
            'name' => 'Staff',
            'parent_page_id' => 1,
            'sort_order' => 16,
            'unlisted' => true,
        ]])->publish();

        $alumni = Page::create()->saveVersion(['version' => [
            'name' => 'Alumni',
            'parent_page_id' => 1,
            'sort_order' => 17,
            'unlisted' => true,
        ]])->publish();

        $advancement = Page::create()->saveVersion(['version' => [
            'name' => 'Advancement',
            'parent_page_id' => 1,
            'sort_order' => 18,
            'unlisted' => true,
        ]])->publish();

        $employement = Page::create()->saveVersion(['version' => [
            'name' => 'Current Openings',
            'parent_page_id' => 1,
            'sort_order' => 19,
            'unlisted' => true,
        ]])->publish();

        $rentals = Page::create()->saveVersion(['version' => [
            'name' => 'Rentals',
            'parent_page_id' => 1,
            'sort_order' => 20,
            'unlisted' => true,
        ]])->publish();

        $events = Page::create()->saveVersion(['version' => [
            'name' => 'Events',
            'parent_page_id' => 1,
            'sort_order' => 21,
            'unlisted' => true,
        ]])->publish();
    }
}
