# Generated by Django 5.2.13 on 2026-06-08 12:42 from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ ('pages', '0014_alter_aboutsection_section_type_and_more'), ] operations = [ migrations.CreateModel( name='PageVideo', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('video_source', models.CharField(blank=True, choices=[('youtube', 'YouTube / external link'), ('upload', 'Uploaded file')], default='youtube', max_length=20)), ('video_url', models.CharField(blank=True, help_text='YouTube watch, embed, or youtu.be link.', max_length=500)), ('video_file', models.FileField(blank=True, help_text='MP4, WebM, OGG, or MOV file.', upload_to='videos/')), ('video_poster', models.ImageField(blank=True, help_text='Optional thumbnail shown before an uploaded video plays.', null=True, upload_to='videos/posters/')), ('video_size', models.CharField(choices=[('sm', 'Small (480px)'), ('md', 'Medium (720px)'), ('lg', 'Large (960px)'), ('full', 'Full width')], default='md', max_length=10)), ('video_aspect_ratio', models.CharField(choices=[('16/9', '16:9 (widescreen)'), ('4/3', '4:3 (standard)'), ('1/1', '1:1 (square)')], default='16/9', max_length=10)), ('page', models.CharField(choices=[('contact', 'Contact'), ('faq', 'FAQ')], max_length=20)), ('badge', models.CharField(blank=True, max_length=100)), ('title', models.CharField(blank=True, max_length=300)), ('description', models.TextField(blank=True)), ('order', models.PositiveIntegerField(default=0)), ('is_active', models.BooleanField(default=True)), ], options={ 'verbose_name': 'Page Video', 'verbose_name_plural': 'Page Videos', 'ordering': ['page', 'order'], }, ), migrations.AddField( model_name='aboutsection', name='video_aspect_ratio', field=models.CharField(choices=[('16/9', '16:9 (widescreen)'), ('4/3', '4:3 (standard)'), ('1/1', '1:1 (square)')], default='16/9', max_length=10), ), migrations.AddField( model_name='aboutsection', name='video_file', field=models.FileField(blank=True, help_text='MP4, WebM, OGG, or MOV file.', upload_to='videos/'), ), migrations.AddField( model_name='aboutsection', name='video_poster', field=models.ImageField(blank=True, help_text='Optional thumbnail shown before an uploaded video plays.', null=True, upload_to='videos/posters/'), ), migrations.AddField( model_name='aboutsection', name='video_size', field=models.CharField(choices=[('sm', 'Small (480px)'), ('md', 'Medium (720px)'), ('lg', 'Large (960px)'), ('full', 'Full width')], default='md', max_length=10), ), migrations.AddField( model_name='aboutsection', name='video_source', field=models.CharField(blank=True, choices=[('youtube', 'YouTube / external link'), ('upload', 'Uploaded file')], default='youtube', max_length=20), ), migrations.AddField( model_name='aboutsection', name='video_url', field=models.CharField(blank=True, help_text='YouTube watch, embed, or youtu.be link.', max_length=500), ), migrations.AddField( model_name='custompagesection', name='video_aspect_ratio', field=models.CharField(choices=[('16/9', '16:9 (widescreen)'), ('4/3', '4:3 (standard)'), ('1/1', '1:1 (square)')], default='16/9', max_length=10), ), migrations.AddField( model_name='custompagesection', name='video_file', field=models.FileField(blank=True, help_text='MP4, WebM, OGG, or MOV file.', upload_to='videos/'), ), migrations.AddField( model_name='custompagesection', name='video_poster', field=models.ImageField(blank=True, help_text='Optional thumbnail shown before an uploaded video plays.', null=True, upload_to='videos/posters/'), ), migrations.AddField( model_name='custompagesection', name='video_size', field=models.CharField(choices=[('sm', 'Small (480px)'), ('md', 'Medium (720px)'), ('lg', 'Large (960px)'), ('full', 'Full width')], default='md', max_length=10), ), migrations.AddField( model_name='custompagesection', name='video_source', field=models.CharField(blank=True, choices=[('youtube', 'YouTube / external link'), ('upload', 'Uploaded file')], default='youtube', max_length=20), ), migrations.AddField( model_name='custompagesection', name='video_url', field=models.CharField(blank=True, help_text='YouTube watch, embed, or youtu.be link.', max_length=500), ), migrations.AddField( model_name='homepagesection', name='video_aspect_ratio', field=models.CharField(choices=[('16/9', '16:9 (widescreen)'), ('4/3', '4:3 (standard)'), ('1/1', '1:1 (square)')], default='16/9', max_length=10), ), migrations.AddField( model_name='homepagesection', name='video_file', field=models.FileField(blank=True, help_text='MP4, WebM, OGG, or MOV file.', upload_to='videos/'), ), migrations.AddField( model_name='homepagesection', name='video_poster', field=models.ImageField(blank=True, help_text='Optional thumbnail shown before an uploaded video plays.', null=True, upload_to='videos/posters/'), ), migrations.AddField( model_name='homepagesection', name='video_size', field=models.CharField(choices=[('sm', 'Small (480px)'), ('md', 'Medium (720px)'), ('lg', 'Large (960px)'), ('full', 'Full width')], default='md', max_length=10), ), migrations.AddField( model_name='homepagesection', name='video_source', field=models.CharField(blank=True, choices=[('youtube', 'YouTube / external link'), ('upload', 'Uploaded file')], default='youtube', max_length=20), ), migrations.AddField( model_name='homepagesection', name='video_url', field=models.CharField(blank=True, help_text='YouTube watch, embed, or youtu.be link.', max_length=500), ), migrations.AlterField( model_name='aboutsection', name='section_type', field=models.CharField(choices=[('hero', 'Hero'), ('intro', 'Intro Card'), ('grid', 'Grid Cards'), ('history', 'History Block'), ('custom', 'Custom Content'), ('supporters', 'Supporters'), ('video', 'Video')], default='custom', max_length=30), ), migrations.AlterField( model_name='custompagesection', name='section_type', field=models.CharField(choices=[('hero', 'Hero'), ('intro', 'Intro Card'), ('grid', 'Grid Cards'), ('history', 'History Block'), ('custom', 'Custom Content'), ('features', 'Features Grid'), ('screenshots', 'Screenshots Gallery'), ('products', 'Products Grid'), ('products_catalog', 'Products with Sub-products'), ('problems', 'Problems / Value Proposition'), ('supporters', 'Supporters'), ('about_strip', 'About Strip'), ('faq', 'FAQ Accordion'), ('video', 'Video')], default='custom', max_length=30), ), migrations.AlterField( model_name='homepagesection', name='section_type', field=models.CharField(choices=[('features', 'Features'), ('screenshots', 'Screenshots Gallery'), ('products', 'Products'), ('products_catalog', 'Products with Sub-products'), ('problems', 'Problems / Value Proposition'), ('about_strip', 'About Strip'), ('supporters', 'Supporters'), ('video', 'Video')], max_length=30), ), ]