# Generated by Django 3.2.25 on 2025-12-01 15:33

from django.db import migrations, models
import django.db.models.deletion
import mediautils.utils


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Identity',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(default='MAHUTIN KENNY EVRA', max_length=100, verbose_name='Nom complet')),
                ('title', models.CharField(default='Développeur Backend Django', max_length=100, verbose_name='Titre professionnel')),
                ('subtitle', models.CharField(blank=True, help_text='Ex: Architecte Logiciel', max_length=100, verbose_name='Sous-titre (court)')),
                ('photo', models.ImageField(blank=True, upload_to=mediautils.utils.upload_to_identity, verbose_name='Photo de profil')),
                ('bio_short', models.TextField(help_text='Texte court affiché dans la sidebar.', max_length=500, verbose_name='Résumé express')),
                ('email', models.EmailField(default='houessoukenny205@gmail.com', max_length=254, verbose_name='Email public')),
                ('phone', models.CharField(default='+229 50 80 99 76', max_length=20, verbose_name='Téléphone')),
                ('location', models.CharField(default='Cotonou / Parakou (Bénin)', max_length=100, verbose_name='Localisation')),
                ('cv_file', models.FileField(blank=True, upload_to=mediautils.utils.upload_to_identity, verbose_name='Fichier CV (PDF)')),
                ('availability', models.CharField(default='Disponible pour missions', max_length=50, verbose_name='Disponibilité')),
            ],
            options={
                'verbose_name': 'Identité & Sidebar',
                'verbose_name_plural': 'Identité & Sidebar',
            },
        ),
        migrations.CreateModel(
            name='Interest',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, verbose_name='Intérêt')),
                ('icon_class', models.CharField(max_length=50, verbose_name='Classe FontAwesome')),
                ('tooltip_text', models.CharField(blank=True, max_length=150, verbose_name='Texte Tooltip')),
            ],
            options={
                'verbose_name': "Centre d'intérêt",
            },
        ),
        migrations.CreateModel(
            name='Language',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, verbose_name='Langue')),
                ('level', models.CharField(help_text='Ex: Natif, Technique, B2...', max_length=50, verbose_name='Niveau')),
                ('icon_code', models.CharField(blank=True, help_text='Ex: fr, gb, us (pour les classes css de drapeaux)', max_length=10, verbose_name='Code Drapeau')),
                ('order', models.PositiveIntegerField(default=0)),
            ],
            options={
                'verbose_name': 'Langue',
                'ordering': ['order'],
            },
        ),
        migrations.CreateModel(
            name='SkillCategory',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, verbose_name='Nom de la catégorie')),
                ('order', models.PositiveIntegerField(default=0, verbose_name='Ordre')),
            ],
            options={
                'verbose_name': 'Catégorie de Compétence',
                'verbose_name_plural': 'Catégories de Compétences',
                'ordering': ['order'],
            },
        ),
        migrations.CreateModel(
            name='SocialLink',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, verbose_name='Réseau')),
                ('url', models.URLField(verbose_name='URL Profil')),
                ('icon_class', models.CharField(help_text='ex: fa-brands fa-linkedin', max_length=50, verbose_name='Classe FontAwesome')),
                ('order', models.PositiveIntegerField(default=0, verbose_name="Ordre d'affichage")),
            ],
            options={
                'verbose_name': 'Réseau Social',
                'verbose_name_plural': 'Réseaux Sociaux',
                'ordering': ['order'],
            },
        ),
        migrations.CreateModel(
            name='Skill',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, verbose_name='Nom de la compétence')),
                ('icon_class', models.CharField(blank=True, help_text='Ex: fa-brands fa-python', max_length=50, verbose_name='Classe FontAwesome')),
                ('icon_image', models.ImageField(blank=True, null=True, upload_to=mediautils.utils.upload_to_skills, verbose_name='Ou Image Personnalisée')),
                ('level', models.PositiveIntegerField(default=80, verbose_name='Niveau de maîtrise (%)')),
                ('description', models.TextField(blank=True, help_text='Texte affiché dans la modale au clic.', verbose_name='Description (Modale)')),
                ('is_featured', models.BooleanField(default=False, verbose_name="Mettre en avant sur l'Accueil ?")),
                ('order', models.PositiveIntegerField(default=0, verbose_name='Ordre')),
                ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='skills', to='sidebar.skillcategory')),
            ],
            options={
                'verbose_name': 'Compétence',
                'ordering': ['category__order', 'order'],
            },
        ),
    ]
