from django.db import models

# Create your models here.
class Head(models.Model):
    title = models.CharField(max_length=200, verbose_name='Заголовок')
    description = models.TextField(max_length=1000, verbose_name='Опис')
    background_image = models.ImageField(upload_to='media/img/', verbose_name='Фонове зображення')

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = '                  Головну частину'
        verbose_name_plural = '                  Головна частина'

class MainServices(models.Model):
    title = models.CharField(max_length=200, verbose_name='Заголовок')
    image = models.ImageField(upload_to='media/img/', verbose_name='Зображення')

    def __str__(self):
        return ''

    class Meta:
        verbose_name = '                 Головне про блок "Послуги"'
        verbose_name_plural = '                 Головне про блок "Послуги"'

class Services(models.Model):
    title = models.CharField(max_length=200, verbose_name='Заголовок')
    description = models.TextField(verbose_name='Опис')
    icon = models.CharField(max_length=200, verbose_name='Іконка (linearicons-laptop-phone)')

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = '                Послугу'
        verbose_name_plural = '                Послуги'

class Cta(models.Model):
    title = models.CharField(max_length=200, verbose_name='Заголовок')
    description = models.TextField(max_length=1000, verbose_name='Опис')
    background_image = models.ImageField(upload_to='media/img/', verbose_name='Фонове зображення')

    def __str__(self):
        return ''

    class Meta:
        verbose_name = '               Головне про блок CTA'
        verbose_name_plural = '               Головне про блок CTA'

class MainProjects(models.Model):
    title = models.CharField(max_length=200, verbose_name='Заголовок')
    description = models.TextField(verbose_name='Опис')

    def __str__(self):
        return ''

    class Meta:
        verbose_name = '              Головне про блок Проектів'
        verbose_name_plural = '              Головне про блок Проектів'

class ProjectCategory(models.Model):
    category_name = models.CharField(max_length=200, verbose_name='Назва категорії')

    def __str__(self):
        return self.category_name

    class Meta:
        verbose_name = '             Категорію'
        verbose_name_plural = '             Категорії'

class Projects(models.Model):
    title = models.CharField(max_length=200, verbose_name='Заголовок')
    description = models.TextField(verbose_name='Опис')
    image = models.ImageField(upload_to='media/img', verbose_name='Зображення проекту')
    url = models.CharField(max_length=200, verbose_name='Посилання на проект', null=True, blank=True)
    project_category = models.ForeignKey(ProjectCategory, on_delete=models.PROTECT, verbose_name='Категорія')

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = '            Проект'
        verbose_name_plural = '            Проекти'

class MainExperience(models.Model):
    title = models.CharField(max_length=200, verbose_name='Заголовок')
    description = models.TextField(verbose_name='Опис')
    years = models.BigIntegerField(verbose_name='Роки досвіду')
    url = models.CharField(max_length=200, verbose_name='Посилання під роками досвіду', null=True, blank=True)
    kpi1_title = models.CharField(max_length=200, verbose_name='Назва першого КПІ')
    kpi1 = models.BigIntegerField(verbose_name='Значення першого КПІ')
    kpi2_title = models.CharField(max_length=200, verbose_name='Назва другого КПІ')
    kpi2 = models.BigIntegerField(verbose_name='Значення другого КПІ')
    kpi3_title = models.CharField(max_length=200, verbose_name='Назва третього КПІ')
    kpi3 = models.BigIntegerField(verbose_name='Значення третього КПІ')
    kpi4_title = models.CharField(max_length=200, verbose_name='Назва четвертого КПІ')
    kpi4 = models.BigIntegerField(verbose_name='Значення четвертого КПІ')

    def __str__(self):
        return ''

    class Meta:
        verbose_name = '           Досвід'
        verbose_name_plural = '           Досвід'

class MainTeam(models.Model):
    title = models.CharField(max_length=200, verbose_name='Заголовок')

    def __str__(self):
        return ''

    class Meta:
        verbose_name = '          Головне про блок Команди'
        verbose_name_plural = '          Головне про блок Команди'

class Team(models.Model):
    name = models.CharField(max_length=200, verbose_name="Ім'я")
    position = models.CharField(max_length=200, verbose_name='Посада')
    photo = models.ImageField(upload_to='media/img', verbose_name='Фото')

    def __str__(self):
        return self.name

    class Meta:
        verbose_name = '         Член команди'
        verbose_name_plural = '         Члени команди'

class MainGetMore(models.Model):
    title = models.CharField(max_length=200, verbose_name='Заголовок')
    images_displayed = models.BigIntegerField(verbose_name='Кількість зображень які відображаються одночасно', null=True, blank=True)

    def __str__(self):
        return ''

    class Meta:
        verbose_name = '        Головне про блок "Переваги"'
        verbose_name_plural = '        Головне про блок "Переваги"'

class GetMore(models.Model):
    title = models.CharField(max_length=200, verbose_name="Заголовок")
    description = models.TextField(max_length=500, verbose_name='Опис')
    image = models.ImageField(upload_to='media/img', verbose_name='Фото', null=True, blank=True)
    state = models.BooleanField(verbose_name='Активний', null=True, blank=True)

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = '       Перевагу'
        verbose_name_plural = '       Переваги'

class MainReviews(models.Model):
    title = models.CharField(max_length=200, verbose_name='Заголовок')

    def __str__(self):
        return ''

    class Meta:
        verbose_name = '      Головне про блок "Відгуки"'
        verbose_name_plural = '      Головне про блок "Відгуки"'

class Reviews(models.Model):
    name = models.CharField(max_length=200, verbose_name="Ім'я")
    position = models.CharField(max_length=200, verbose_name='Посада')
    photo = models.ImageField(upload_to='media/img', verbose_name='Фото')
    description = models.TextField(max_length=500, verbose_name='Опис')

    def __str__(self):
        return self.name

    class Meta:
        verbose_name = '     Відгук'
        verbose_name_plural = '     Відгуки'

class MainPackages(models.Model):
    title = models.CharField(max_length=200, verbose_name='Заголовок')
    description = models.TextField(verbose_name='Опис')

    def __str__(self):
        return ''

    class Meta:
        verbose_name = '    Головне про блок "Пакети"'
        verbose_name_plural = '    Головне про блок "Пакети"'

class Packages(models.Model):
    title = models.CharField(max_length=200, verbose_name="Назва")
    price = models.CharField(max_length=200, verbose_name='Ціна')
    description = models.TextField(default='starting at', verbose_name='Опис')
    is_popular = models.BooleanField(default=False, verbose_name='Популярний')

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = '   Пакет'
        verbose_name_plural = '   Пакети'

class Features(models.Model):
    name = models.CharField(max_length=50)

    def __str__(self):
        return self.name

    class Meta:
        verbose_name = '  Опції'
        verbose_name_plural = '  Опції'

class PackageFeature(models.Model):
    package = models.ForeignKey(Packages, on_delete=models.CASCADE)
    feature = models.ForeignKey(Features, on_delete=models.CASCADE)
    is_active = models.BooleanField(default=True)

    def __str__(self):
        return ''

    class Meta:
        verbose_name = ' Пакети-опції'
        verbose_name_plural = ' Пакети-опції'

class GeneralInfo(models.Model):
    company_name = models.CharField(max_length=200, verbose_name='Назва компанії')
    logo = models.ImageField(upload_to='media/img', verbose_name='Логотип')
    favicon = models.ImageField(upload_to='media/img', verbose_name='Фавіконка', null=True, blank=True)
    email1 = models.CharField(max_length=200, verbose_name='Ел. пошта (1)')
    email2 = models.CharField(max_length=200, verbose_name='Ел. пошта (2)')
    address = models.CharField(max_length=200, verbose_name='Адреса (текстом)')
    address_link = models.CharField(max_length=200, verbose_name='Адреса (посилання)')
    instagram_link = models.CharField(max_length=200, verbose_name='Instagram (посилання)', null=True, blank=True)
    linkedin_link = models.CharField(max_length=200, verbose_name='LinkedIn (посилання)', null=True, blank=True)
    seo_keywords = models.TextField(verbose_name='Ключові слова для пошукових систем (SEO)', blank=True)
    meta_description = models.TextField(verbose_name='Короткий опис сайту (SEO)', blank=True)

    def __str__(self):
        return ''

    class Meta:
        verbose_name = 'Основна інформація'
        verbose_name_plural = 'Основна інформація'