# Generated by Django 5.0.6 on 2024-07-06 13:07

import wagtail.blocks
import wagtail.fields
import wagtail.images.blocks
import wagtail.models
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name="Foooter",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(max_length=100)),
                (
                    "body",
                    wagtail.fields.StreamField(
                        [
                            (
                                "paragraph",
                                wagtail.blocks.StructBlock(
                                    [
                                        ("title", wagtail.blocks.CharBlock()),
                                        (
                                            "text",
                                            wagtail.blocks.RichTextBlock(),
                                        ),
                                    ]
                                ),
                            ),
                            (
                                "link_list",
                                wagtail.blocks.StructBlock(
                                    [
                                        ("title", wagtail.blocks.CharBlock()),
                                        (
                                            "links",
                                            wagtail.blocks.ListBlock(
                                                wagtail.blocks.StructBlock(
                                                    [
                                                        (
                                                            "name",
                                                            wagtail.blocks.CharBlock(),
                                                        ),
                                                        (
                                                            "page",
                                                            wagtail.blocks.PageChooserBlock(
                                                                label="page"
                                                            ),
                                                        ),
                                                    ]
                                                ),
                                                max_num=4,
                                            ),
                                        ),
                                    ]
                                ),
                            ),
                            (
                                "text_list",
                                wagtail.blocks.StructBlock(
                                    [
                                        ("title", wagtail.blocks.CharBlock()),
                                        (
                                            "texts",
                                            wagtail.blocks.ListBlock(
                                                wagtail.blocks.StructBlock(
                                                    [
                                                        (
                                                            "toggle",
                                                            wagtail.blocks.ChoiceBlock(
                                                                choices=[
                                                                    (
                                                                        "fa-map-marked-alt",
                                                                        "map",
                                                                    ),
                                                                    (
                                                                        "fa-envelope",
                                                                        "envelope",
                                                                    ),
                                                                    (
                                                                        "fa-phone-alt",
                                                                        "phone",
                                                                    ),
                                                                ],
                                                                required=False,
                                                            ),
                                                        ),
                                                        (
                                                            "text",
                                                            wagtail.blocks.CharBlock(),
                                                        ),
                                                    ]
                                                ),
                                                max_num=4,
                                            ),
                                        ),
                                    ]
                                ),
                            ),
                            (
                                "icon_list",
                                wagtail.blocks.StructBlock(
                                    [
                                        ("title", wagtail.blocks.CharBlock()),
                                        (
                                            "icons",
                                            wagtail.blocks.ListBlock(
                                                wagtail.blocks.StructBlock(
                                                    [
                                                        (
                                                            "icon_name",
                                                            wagtail.blocks.ChoiceBlock(
                                                                choices=[
                                                                    (
                                                                        "fa-facebook-f",
                                                                        "facebook",
                                                                    ),
                                                                    (
                                                                        "fa-twitter",
                                                                        "twitter",
                                                                    ),
                                                                    (
                                                                        "fa-instagram",
                                                                        "instagram",
                                                                    ),
                                                                    (
                                                                        "fa-pinterest",
                                                                        "pinterest",
                                                                    ),
                                                                ]
                                                            ),
                                                        ),
                                                        (
                                                            "external_url",
                                                            wagtail.blocks.URLBlock(
                                                                label="external URL",
                                                                required=False,
                                                            ),
                                                        ),
                                                    ]
                                                ),
                                                max_num=4,
                                            ),
                                        ),
                                    ]
                                ),
                            ),
                        ],
                        use_json_field=True,
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="Index",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(default="index", max_length=100)),
                ("in_use", models.BooleanField(default=False)),
                (
                    "body",
                    wagtail.fields.StreamField(
                        [
                            (
                                "carousel",
                                wagtail.blocks.StructBlock(
                                    [
                                        (
                                            "image_title",
                                            wagtail.blocks.CharBlock(
                                                required=False
                                            ),
                                        ),
                                        (
                                            "image",
                                            wagtail.images.blocks.ImageChooserBlock(
                                                required=False
                                            ),
                                        ),
                                        (
                                            "slides",
                                            wagtail.blocks.ListBlock(
                                                wagtail.blocks.StructBlock(
                                                    [
                                                        (
                                                            "photo",
                                                            wagtail.images.blocks.ImageChooserBlock(
                                                                required=False
                                                            ),
                                                        ),
                                                        (
                                                            "text",
                                                            wagtail.blocks.ListBlock(
                                                                wagtail.blocks.StructBlock(
                                                                    [
                                                                        (
                                                                            "text",
                                                                            wagtail.blocks.CharBlock(
                                                                                label="title"
                                                                            ),
                                                                        ),
                                                                        (
                                                                            "kind",
                                                                            wagtail.blocks.ChoiceBlock(
                                                                                choices=[
                                                                                    (
                                                                                        "h1",
                                                                                        "h1",
                                                                                    ),
                                                                                    (
                                                                                        "h2",
                                                                                        "h2",
                                                                                    ),
                                                                                ]
                                                                            ),
                                                                        ),
                                                                    ]
                                                                ),
                                                                max_num=2,
                                                            ),
                                                        ),
                                                        (
                                                            "button_text",
                                                            wagtail.blocks.ListBlock(
                                                                wagtail.blocks.CharBlock(
                                                                    label="text of button"
                                                                ),
                                                                max_num=1,
                                                            ),
                                                        ),
                                                        (
                                                            "page",
                                                            wagtail.blocks.PageChooserBlock(
                                                                label="page"
                                                            ),
                                                        ),
                                                        (
                                                            "is_active",
                                                            wagtail.blocks.BooleanBlock(
                                                                required=False
                                                            ),
                                                        ),
                                                    ]
                                                )
                                            ),
                                        ),
                                    ]
                                ),
                            ),
                            (
                                "page_card_list",
                                wagtail.blocks.StructBlock(
                                    [
                                        ("title", wagtail.blocks.CharBlock()),
                                        (
                                            "image",
                                            wagtail.images.blocks.ImageChooserBlock(
                                                required=False
                                            ),
                                        ),
                                        (
                                            "page_type",
                                            wagtail.blocks.PageChooserBlock(
                                                label="index page"
                                            ),
                                        ),
                                        (
                                            "num_posts",
                                            wagtail.blocks.IntegerBlock(
                                                default=3,
                                                label="number of pages to show",
                                            ),
                                        ),
                                        (
                                            "card_type",
                                            wagtail.blocks.ChoiceBlock(
                                                choices=[
                                                    ("type1", "type1"),
                                                    ("type2", "type2"),
                                                ],
                                                label="card type",
                                            ),
                                        ),
                                        (
                                            "button_text",
                                            wagtail.blocks.CharBlock(
                                                default="more", required=False
                                            ),
                                        ),
                                    ]
                                ),
                            ),
                            (
                                "card_list",
                                wagtail.blocks.StructBlock(
                                    [
                                        (
                                            "title",
                                            wagtail.blocks.CharBlock(
                                                required=False
                                            ),
                                        ),
                                        (
                                            "image",
                                            wagtail.images.blocks.ImageChooserBlock(
                                                required=False
                                            ),
                                        ),
                                        (
                                            "coverImage",
                                            wagtail.blocks.BooleanBlock(
                                                label="image cover section or not",
                                                required=False,
                                            ),
                                        ),
                                        (
                                            "list_type",
                                            wagtail.blocks.ChoiceBlock(
                                                choices=[
                                                    ("type1", "type1"),
                                                    ("type2", "type2"),
                                                ],
                                                label="list type",
                                            ),
                                        ),
                                        (
                                            "cards",
                                            wagtail.blocks.ListBlock(
                                                wagtail.blocks.StructBlock(
                                                    [
                                                        (
                                                            "title",
                                                            wagtail.blocks.CharBlock(
                                                                required=False
                                                            ),
                                                        ),
                                                        (
                                                            "photo",
                                                            wagtail.images.blocks.ImageChooserBlock(
                                                                required=False
                                                            ),
                                                        ),
                                                        (
                                                            "text",
                                                            wagtail.blocks.RichTextBlock(
                                                                required=False
                                                            ),
                                                        ),
                                                        (
                                                            "icon",
                                                            wagtail.blocks.CharBlock(
                                                                label="icon bootstrap name",
                                                                required=False,
                                                            ),
                                                        ),
                                                        (
                                                            "page",
                                                            wagtail.blocks.PageChooserBlock(
                                                                required=False
                                                            ),
                                                        ),
                                                        (
                                                            "button_text",
                                                            wagtail.blocks.CharBlock(
                                                                required=False
                                                            ),
                                                        ),
                                                        (
                                                            "card_type",
                                                            wagtail.blocks.ChoiceBlock(
                                                                choices=[
                                                                    (
                                                                        "type1",
                                                                        "type1",
                                                                    ),
                                                                    (
                                                                        "type2",
                                                                        "type2",
                                                                    ),
                                                                ],
                                                                label="card type",
                                                            ),
                                                        ),
                                                    ]
                                                )
                                            ),
                                        ),
                                    ]
                                ),
                            ),
                            (
                                "one_paragraph",
                                wagtail.blocks.StructBlock(
                                    [
                                        (
                                            "title",
                                            wagtail.blocks.CharBlock(
                                                required=False
                                            ),
                                        ),
                                        (
                                            "image",
                                            wagtail.images.blocks.ImageChooserBlock(
                                                required=False
                                            ),
                                        ),
                                        (
                                            "section_type",
                                            wagtail.blocks.ChoiceBlock(
                                                choices=[
                                                    ("type1", "type1"),
                                                    ("type2", "type2"),
                                                ],
                                                label="section type",
                                            ),
                                        ),
                                        (
                                            "paragraph",
                                            wagtail.blocks.RichTextBlock(
                                                required=False
                                            ),
                                        ),
                                        (
                                            "link",
                                            wagtail.blocks.ListBlock(
                                                wagtail.blocks.StructBlock(
                                                    [
                                                        (
                                                            "text",
                                                            wagtail.blocks.CharBlock(
                                                                required=False
                                                            ),
                                                        ),
                                                        (
                                                            "page",
                                                            wagtail.blocks.PageChooserBlock(
                                                                required=False
                                                            ),
                                                        ),
                                                    ]
                                                )
                                            ),
                                        ),
                                    ]
                                ),
                            ),
                        ],
                        use_json_field=True,
                    ),
                ),
            ],
            bases=(wagtail.models.PreviewableMixin, models.Model),
        ),
        migrations.CreateModel(
            name="TemplateSettings",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(max_length=100)),
            ],
        ),
    ]
