
from django import forms
from .models import Banner, ShopSettings


class BannerForm(forms.ModelForm):
    class Meta:
        model = Banner
        fields = [
            'title', 'subtitle', 'description', 'image', 'link_url', 'link_text',
            'banner_type', 'placement', 'background_color', 'text_color',
            'is_active', 'start_date', 'end_date', 'display_order'
        ]
        widgets = {
            'title': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Banner Title'}),
            'subtitle': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Banner Subtitle'}),
            'description': forms.Textarea(attrs={'class': 'form-control', 'rows': 3, 'placeholder': 'Banner Description'}),
            'image': forms.FileInput(attrs={'class': 'form-control'}),
            'link_url': forms.URLInput(attrs={'class': 'form-control', 'placeholder': 'https://example.com'}),
            'link_text': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Click Here'}),
            'banner_type': forms.Select(attrs={'class': 'form-control'}),
            'placement': forms.Select(attrs={'class': 'form-control'}),
            'background_color': forms.TextInput(attrs={'type': 'color', 'class': 'form-control'}),
            'text_color': forms.TextInput(attrs={'type': 'color', 'class': 'form-control'}),
            'is_active': forms.CheckboxInput(attrs={'class': 'form-check-input'}),
            'start_date': forms.DateTimeInput(attrs={'type': 'datetime-local', 'class': 'form-control'}),
            'end_date': forms.DateTimeInput(attrs={'type': 'datetime-local', 'class': 'form-control'}),
            'display_order': forms.NumberInput(attrs={'class': 'form-control', 'min': 0}),
        }


class ShopSettingsForm(forms.ModelForm):
    class Meta:
        model = ShopSettings
        fields = [
            'tagline', 'welcome_message', 'featured_products_count', 'products_per_page',
            'enable_reviews', 'enable_wishlist', 'enable_compare',
            'social_facebook', 'social_twitter', 'social_instagram', 'social_youtube',
            'google_analytics_id', 'facebook_pixel_id'
        ]
        widgets = {
            'tagline': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Your shop tagline'}),
            'welcome_message': forms.Textarea(attrs={'class': 'form-control', 'rows': 4, 'placeholder': 'Welcome message for customers'}),
            'featured_products_count': forms.NumberInput(attrs={'class': 'form-control', 'min': 1, 'max': 20}),
            'products_per_page': forms.NumberInput(attrs={'class': 'form-control', 'min': 6, 'max': 50}),
            'enable_reviews': forms.CheckboxInput(attrs={'class': 'form-check-input'}),
            'enable_wishlist': forms.CheckboxInput(attrs={'class': 'form-check-input'}),
            'enable_compare': forms.CheckboxInput(attrs={'class': 'form-check-input'}),
            'social_facebook': forms.URLInput(attrs={'class': 'form-control', 'placeholder': 'https://facebook.com/yourpage'}),
            'social_twitter': forms.URLInput(attrs={'class': 'form-control', 'placeholder': 'https://twitter.com/yourhandle'}),
            'social_instagram': forms.URLInput(attrs={'class': 'form-control', 'placeholder': 'https://instagram.com/yourpage'}),
            'social_youtube': forms.URLInput(attrs={'class': 'form-control', 'placeholder': 'https://youtube.com/yourchannel'}),
            'google_analytics_id': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'GA-XXXXXXXXX-X'}),
            'facebook_pixel_id': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Your Facebook Pixel ID'}),
        }
