from wagtail.blocks import (
    CharBlock,
    DateBlock,
    EmailBlock,
    StructBlock,
    TextBlock,
    URLBlock,
)
from wagtail.documents.blocks import DocumentChooserBlock


class PersonBlock(StructBlock):
    name = CharBlock(label="Jméno")
    position = TextBlock(label="Pracovní pozice", required=False)
    email = EmailBlock(label="E-mailová adresa", required=False)

    class Meta:
        label = "Člověk"
        template = "home/blocks/person_block.html"
        icon = "user"


class DocumentBlock(StructBlock):
    name = CharBlock(label="Jméno")
    date_added = DateBlock(label="Datum přidání", required=False)
    url = URLBlock(label="URL (místo dokumentu)", required=False)
    file = DocumentChooserBlock(label="Dokument", required=False)

    class Meta:
        label = "Dokument"
        template = "home/blocks/document_block.html"
        icon = "doc-full-inverse"


class EventBlock(StructBlock):
    name = CharBlock(label="Jméno")
    date = DateBlock(label="Datum konání", required=False)
    location = CharBlock(label="Lokace", required=False)

    class Meta:
        label = "Událost"
        template = "home/blocks/event_block.html"
        icon = "calendar-alt"