<?php
declare(strict_types=1);

/**
 * ============================================================
 *  デモパック：キッズクラブ系（元気カラー・ポップな書体 想定）
 * ------------------------------------------------------------
 *  ここは「文言・構成」だけ。色/フォントはフレームの theme.css、
 *  写真は uploads を、各フォルダで差し替える。エンジン(core/db.php)は全業種共通。
 * ============================================================ */

function cms_demo_pack_seed(PDO $pdo): void {
    $settings = [
        'site_name'    => 'キッズクラブ サンプル',
        'copyright'    => 'Kids Club Sample',
        'logo'         => '',
        'tel'          => '0120-000-000',
        'address'      => '東京都〇〇区サンプル1-2-3',
        'active_frame' => 'siyou-kids',
        'mainvisual'   => json_encode([
            'slides' => [
                ['image' => '', 'align' => 'auto',
                 'catch' => "のびのび、わくわく、\n毎日が冒険！", 'sub' => '子どもたちの「できた！」を応援します。',
                 'btn1_text' => 'コースを見る', 'btn1_url' => 'service', 'btn2_text' => '体験・お問い合わせ', 'btn2_url' => 'contact'],
                ['image' => '', 'align' => 'auto', 'catch' => 'たくさん遊んで、たくさん学ぼう！', 'sub' => '笑顔があふれる教室です。'],
                ['image' => '', 'align' => 'auto', 'catch' => 'はじめての「やってみたい」を、ここで。', 'sub' => 'まずは体験から！'],
            ],
            'video_text' => ['align' => 'center', 'catch' => 'さあ、はじめよう！', 'sub' => 'ようこそ、キッズクラブへ。'],
        ], JSON_UNESCAPED_UNICODE),
        'sns'          => json_encode([
            'instagram' => 'https://instagram.com/',
            'youtube'   => 'https://youtube.com/',
            'line'      => 'https://line.me/',
        ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
        'footer_design' => 'footer1',
        'footer_text'   => '子どもたちの成長を応援する、教室のサンプル紹介文がここに入ります。',
        'footer_menu'   => json_encode([
            ['heading' => 'サイト', 'links' => [
                ['label' => 'ホーム',     'target' => 'home'],
                ['label' => 'コース',     'target' => 'service'],
                ['label' => '教室について', 'target' => 'about'],
                ['label' => 'アクセス',   'target' => 'access'],
            ]],
            ['heading' => '体験・入会', 'links' => [
                ['label' => '体験・お問い合わせ', 'target' => 'contact'],
            ]],
        ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
    ];
    foreach ($settings as $k => $v) {
        $pdo->prepare("INSERT INTO settings(key,value) VALUES(?,?)")->execute([$k, $v]);
    }

    $pages = [
        ['home',    'ホーム',     'げんきいっぱいキッズクラブ（サンプル）のトップ。', '', 0, 0],
        ['service', 'コース',     'コースと料金のご案内。',                         '', 1, 1],
        ['about',   '教室について', '教室のご紹介。',                                '', 1, 2],
        ['access',  'アクセス',   '所在地・地図のご案内。',                         '', 1, 3],
        ['samples', 'パーツ見本', '無料版で使えるパーツの一覧。',                   '', 1, 4],
    ];
    $insP = $pdo->prepare("INSERT INTO pages(slug,title,meta_description,parent,in_nav,sort) VALUES(?,?,?,?,?,?)");
    $ids = [];
    foreach ($pages as $p) { $insP->execute($p); $ids[$p[0]] = (int)$pdo->lastInsertId(); }

    $insB = $pdo->prepare("INSERT INTO blocks(page_id,part,data,sort) VALUES(?,?,?,?)");
    $sortOf = [];
    $add = function (int $pid, string $part, array $data) use ($insB, &$sortOf) {
        $n = $sortOf[$pid] ?? 0; $sortOf[$pid] = $n + 1;
        $insB->execute([$pid, $part, json_encode($data, JSON_UNESCAPED_UNICODE), $n]);
    };

    /* ===== ホーム ===== */
    $h = $ids['home'];
    $add($h, 'basic', [
        'h_level' => 'h2', 'h_text' => 'ようこそ キッズクラブ サンプルへ', 'h_deco' => 'WELCOME',
        'lead' => "遊びながら学べる、げんきいっぱいの教室です。\n一人ひとりの「やってみたい！」を大切に、のびのび育てます。",
    ]);
    $add($h, 'list1', [
        'h_level' => 'h2', 'h_text' => '人気のコース', 'h_deco' => 'COURSE', 'style' => '',
        'rows' => [
            ['image' => 'ph1.jpg', 'title' => 'たいそうクラブ', 'body' => '体を動かして、元気な身体づくり！', 'btn_text' => '詳しく', 'btn_url' => 'page:service'],
            ['image' => 'ph2.jpg', 'title' => 'えいごであそぼ', 'body' => '歌やゲームで楽しく英語にふれよう。',   'btn_text' => '詳しく', 'btn_url' => 'page:service'],
            ['image' => 'ph3.jpg', 'title' => 'アートひろば',   'body' => '自由な発想で、つくる楽しさを。',       'btn_text' => '詳しく', 'btn_url' => 'page:service'],
        ],
    ]);
    $add($h, 'news-list', [
        'h_level' => 'h2', 'h_text' => 'お知らせ', 'h_deco' => 'NEWS', 'count' => '3', 'more_text' => 'お知らせ一覧へ',
    ]);
    $add($h, 'basic', [
        'bg' => '薄い色', 'h_level' => 'h2', 'h_text' => 'まずは体験してみよう！', 'h_deco' => 'TRIAL',
        'lead' => "はじめてのお子さまも大歓迎。無料体験を受付中です。お気軽にお問い合わせください。",
    ]);
    $add($h, 'button', [
        'btn_text' => '体験・お問い合わせ', 'btn_url' => 'page:contact', 'btn_icon' => 'ti ti-mail',
        'style' => '', 'align' => 'center',
    ]);

    /* ===== コース ===== */
    $s = $ids['service'];
    $add($s, 'basic', ['h_level' => 'h2', 'h_text' => 'コース', 'h_deco' => 'COURSE', 'lead' => "年齢や興味に合わせて選べるコースをご用意しています。"]);
    $add($s, 'list1', [
        'h_level' => 'h3', 'h_text' => 'コース一覧', 'anchor' => 'svc-list', 'style' => '',
        'rows' => [
            ['image' => 'ph4.jpg', 'title' => 'たいそうクラブ', 'body' => '走る・跳ぶ・転がる。基礎運動を楽しく。', 'btn_text' => '体験する', 'btn_url' => 'page:contact'],
            ['image' => 'ph5.jpg', 'title' => 'えいごであそぼ', 'body' => '耳から自然に。英語を好きになろう。',     'btn_text' => '体験する', 'btn_url' => 'page:contact'],
            ['image' => 'ph6.jpg', 'title' => 'アートひろば',   'body' => '描く・作る・飾る。創造力を伸ばそう。',   'btn_text' => '体験する', 'btn_url' => 'page:contact'],
        ],
    ]);
    $add($s, 'ta1', [
        'h_level' => 'h3', 'h_text' => '料金の目安', 'anchor' => 'svc-price', 'caption' => '月謝', 'style' => 'ta1-parts',
        'rows' => [
            ['th' => 'たいそうクラブ（週1回）', 'td' => '6,000円／月'],
            ['th' => 'えいごであそぼ（週1回）', 'td' => '7,000円／月'],
            ['th' => 'アートひろば（週1回）',   'td' => '6,500円／月'],
        ],
    ]);
    $add($s, 'faq', [
        'h_level' => 'h3', 'h_text' => 'よくある質問',
        'rows' => [
            ['question' => '何歳から通えますか？',     'answer' => "3歳から小学生まで、コースごとに対象年齢があります。"],
            ['question' => '体験はできますか？',       'answer' => "はい、無料体験を受付中です。お問い合わせフォームからどうぞ。"],
            ['question' => '途中入会できますか？',     'answer' => "いつでも入会いただけます。お気軽にご相談ください。"],
        ],
    ]);
    $add($s, 'button', [
        'btn_text' => 'このコースを体験する', 'btn_url' => 'page:contact', 'btn_icon' => 'ti ti-send',
        'style' => '', 'align' => 'center',
    ]);

    /* ===== 教室について ===== */
    $a = $ids['about'];
    $add($a, 'basic', [
        'h_level' => 'h2', 'h_text' => '教室について', 'h_deco' => 'ABOUT US',
        'lead' => "「楽しい！」が学びの第一歩。子どもたちの好奇心と成長を、スタッフ全員で応援します。",
        'image' => 'ph2.jpg',
    ]);
    $add($a, 'ta1', [
        'caption' => '教室概要', 'style' => 'ta1-parts',
        'rows' => [
            ['th' => '教室名', 'td' => 'キッズクラブ サンプル'],
            ['th' => '所在地', 'td' => '東京都〇〇区サンプル1-2-3'],
            ['th' => '開校',   'td' => '2017年4月'],
            ['th' => 'コース', 'td' => 'たいそう・えいご・アート'],
            ['th' => '対象',   'td' => '3歳〜小学生'],
        ],
    ]);

    /* ===== アクセス ===== */
    $ac = $ids['access'];
    $add($ac, 'basic', ['h_level' => 'h2', 'h_text' => 'アクセス', 'h_deco' => 'ACCESS', 'lead' => "下記の地図をご参照ください。送り迎えに便利な立地です。"]);
    $add($ac, 'embed', ['embed' => 'https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3241.0448418561778!2d139.74267721573196!3d35.675897837870934!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x60188b89b2e1c8b1%3A0x59a123e3d5ac5ab6!2z44CSMTAwLTAwMTQg5p2x5Lqs6YO95Y2D5Luj55Sw5Yy65rC455Sw55S677yR5LiB55uu77yX4oiS77yR!5e0!3m2!1sja!2sjp!4v1545036128899', 'caption' => '所在地（サンプル）']);
    $add($ac, 'ta1', [
        'caption' => '教室情報', 'style' => 'ta1-parts',
        'rows' => [
            ['th' => '所在地',   'td' => '東京都〇〇区サンプル1-2-3'],
            ['th' => '電話',     'td' => '0120-000-000'],
            ['th' => '開講時間', 'td' => '平日 15:00〜19:00／土 10:00〜17:00'],
            ['th' => '休講日',   'td' => '日曜・祝日'],
        ],
    ]);

    /* ===== パーツ見本（無料版で使えるパーツのみ） ===== */
    $p = $ids['samples'];
    $add($p, 'basic', ['h_level' => 'h2', 'h_text' => 'パーツ見本', 'lead' => "無料版で使えるパーツを一通り並べています。各パーツの見え方を確認できます。"]);
    $add($p, 'basic', ['h_level' => 'h3', 'h_text' => '見出し＋本文＋画像（基本セット）', 'lead' => "見出し・装飾文字・本文・画像をまとめて置ける基本パーツです。", 'image' => 'ph7.jpg']);
    $add($p, 'list1', [
        'h_level' => 'h3', 'h_text' => 'カラムリスト（画像・見出し・本文）', 'lead' => '写真＋見出し＋説明＋ボタンのカードを横に並べます。狭い画面では縦積みに。', 'style' => '',
        'rows' => [
            ['image' => 'ph1.jpg', 'title' => 'タイトルA', 'body' => '説明文のサンプルです。', 'btn_text' => '詳しく', 'btn_url' => '#'],
            ['image' => 'ph2.jpg', 'title' => 'タイトルB', 'body' => '説明文のサンプルです。', 'btn_text' => '詳しく', 'btn_url' => '#'],
            ['image' => 'ph3.jpg', 'title' => 'タイトルC', 'body' => '説明文のサンプルです。', 'btn_text' => '詳しく', 'btn_url' => '#'],
        ],
    ]);
    $add($p, 'ta1', [
        'h_level' => 'h3', 'h_text' => '表（項目と内容）', 'lead' => '左に項目、右に内容の表。教室概要や料金の記載に。', 'caption' => '教室概要', 'style' => 'ta1-parts',
        'rows' => [
            ['th' => '教室名', 'td' => 'キッズクラブ サンプル'],
            ['th' => '所在地', 'td' => '東京都〇〇区サンプル1-2-3'],
            ['th' => 'コース', 'td' => 'たいそう・えいご・アート'],
        ],
    ]);
    $add($p, 'faq', [
        'h_level' => 'h3', 'h_text' => 'よくある質問（開閉）',
        'rows' => [
            ['question' => 'クリックで開きますか？', 'answer' => "はい。質問をクリックすると回答が開きます。"],
            ['question' => 'スマホでも見やすいですか？', 'answer' => "はい、スマホでも見やすく表示されます。"],
        ],
    ]);
    $add($p, 'button', [
        'h_level' => 'h3', 'h_text' => 'ボタン（単体）', 'lead' => 'リンクボタンを1つ設置。文字・リンク先・アイコン・寄せを設定できます。',
        'btn_text' => '体験・お問い合わせ', 'btn_url' => 'page:contact', 'btn_icon' => 'ti ti-mail',
        'style' => '', 'align' => 'center',
    ]);
    $add($p, 'embed', [
        'h_level' => 'h3', 'h_text' => '埋め込み（地図・YouTubeなど）', 'lead' => 'GoogleマップやYouTube動画などを貼り付け。画面幅に合わせて自動調整。',
        'embed' => 'https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3241.0448418561778!2d139.74267721573196!3d35.675897837870934!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x60188b89b2e1c8b1%3A0x59a123e3d5ac5ab6!2z44CSMTAwLTAwMTQg5p2x5Lqs6YO95Y2D5Luj55Sw5Yy65rC455Sw55S677yR5LiB55uu77yX4oiS77yR!5e0!3m2!1sja!2sjp!4v1545036128899', 'caption' => '地図のサンプル',
    ]);
}

function cms_demo_pack_menu(PDO $pdo): void {
    $ins = $pdo->prepare("INSERT INTO menu_items(label,link_type,link,parent_id,show_pc,show_mobile,is_button,sort) VALUES(?,?,?,?,?,?,?,?)");
    $add = function (string $label, string $type, string $link, ?int $parent, int $sort, int $btn = 0, int $pc = 1, int $mb = 1) use ($ins, $pdo): int {
        $ins->execute([$label, $type, $link, $parent, $pc, $mb, $btn, $sort]);
        return (int)$pdo->lastInsertId();
    };
    $add('ホーム',     'page', 'home',    null, 0);
    $sv = $add('コース', 'page', 'service', null, 1);
    $add('コース一覧', 'anchor', page_url('service') . '#svc-list', $sv, 0); // コースページ内のセクションへジャンプ
    $add('料金の目安', 'anchor', page_url('service') . '#svc-price', $sv, 1);
    $add('教室について', 'page', 'about',  null, 2);
    $add('アクセス',     'page', 'access',  null, 3);
    $add('お知らせ',     'page', 'news',    null, 4);
    $add('体験・お問い合わせ', 'page', 'contact', null, 6, 1);
    $add('パーツ見本',   'page', 'samples', null, 5);
}
