templates/contact/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
    
    {% block title %}Contact form - Nova-Link
    {% endblock %}
    
    {% block stylesheets %}
        {{ parent() }}
        <style>
            .alert.alert-success {
                color: #000000; /* Чёрный цвет текста */
                background-color: transparent;
                border-left: none;
                padding-left: 0;
                margin: 0 auto 1rem;
                text-align: left;
                width: 100%;
                max-width: 500px; /* Такая же ширина, как у формы */ /* Выравнивание по левому краю формы */
            }
            .contact-container {
                div.alert.alert-success {
                    width: 100%;
                    /* color: red; */
                    margin-bottom: 1rem;
                    text-justify: center;
                }
                max-width: 800px;
                margin: 2rem auto;
                padding: 2rem;
                {
                    # background-color: #fff; #
                }
                border-radius: 10px;
                box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
            }
    
            .contact-title {
                color: black;
                font-weight: 700;
                margin-bottom: 1.5rem;
                text-align: center;
                font-size: 2rem;
            }
    
            .contact-form {
                width: 100%;
                max-width: 500px;
                margin: 0 auto;
            }
    
            .contact-form .form-control {
                width: 100%;
                border: 1px solidrgb(0, 0, 0);
                border-radius: 5px;
                padding: 12px 15px;
                font-size: 1rem;
                transition: all 0.3s;
            }
    
            .contact-form .form-control:focus {
                border-color: black;
                box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
            }
    
            .contact-form label {
                font-weight: 500;
                margin-bottom: 0.5rem;
                color: black;
                display: block;
            }
    
            .contact-form .btn-submit {
                {
                    # background-color: var(--primary); #
                }
                border: 1px solid rgb(0, 0, 0);
                {
                    # color: black; #
                }
                padding: 12px 30px;
                font-weight: 600;
                font-size: 1rem;
                border-radius: 5px;
                width: 100%;
                margin-top: 1rem;
                transition: all 0.3s;
                cursor: pointer;
            }
    
            .contact-form .btn-submit:hover {
                {
                    # background-color: rgb(255, 255, 255); #
                }
                transform: translateY(-2px);
                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            }
    
            textarea.form-control {
                min-height: 150px;
                resize: vertical;
            }
    
            .invalid-feedback {
                color: #dc3545;
                font-size: 0.875rem;
                margin-top: 0.25rem;
            }
    
            .form-group {
                margin-bottom: 1.5rem;
            }
    
            .captcha-checkbox {
                margin: 10px 0;
            }
    
            .custom-subject {
                display: none;
                margin-top: 10px;
            }
    
            button.btn-close {
                display: none;
            }
        </style>
    {% endblock %}
    
    {% block javascripts %}
        {{ parent() }}
         <script>
                document.addEventListener('DOMContentLoaded', function () {
        const form = document.querySelector('.contact-form form');
        if (! form) 
        return;
        
        
        
        const subjectSelect = form.querySelector('.subject-select');
        const customSubjectGroup = form.querySelector('.custom-subject-group');
        
        if (subjectSelect && customSubjectGroup) {
        subjectSelect.addEventListener('change', function () {
        customSubjectGroup.style.display = this.value === 'Other issues' ? 'block' : 'none';
        });
        
        // Инициализация при загрузке
        customSubjectGroup.style.display = subjectSelect.value === 'Other issues' ? 'block' : 'none';
        }
        });
            </script>
    {% endblock %}
    
    {% block body %}
        <div class="contact-container">
            <h1 class="contact-title">Contact Us</h1>
    
            {% for flash in app.flashes('success') %}
                <div class="alert alert-success alert-dismissible fade show" role="alert">
                    {{ flash }}
                    <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
                </div>
            {% endfor %}
    
            <div class="contact-form">
                {{ form_start(form, {'attr': {'class': 'needs-validation', 'novalidate': true}}) }}
    
                <div class="form-group">
                    {{ form_label(form.name, 'Your Name', {'label_attr': {'class': 'form-label'}}) }}
                    {{ form_widget(form.name, {
                        'attr': {
                            'class': 'form-control',
                            'value': app.user ? app.user.firstName ~ ' ' ~ app.user.lastName : '',
                            'placeholder': 'Enter your full name'
                        }
                    }) }}
                    {{ form_errors(form.name) }}
                </div>
    
                <div class="form-group">
                    {{ form_label(form.email, 'Email Address', {'label_attr': {'class': 'form-label'}}) }}
                    {{ form_widget(form.email, {
                        'attr': {
                            'class': 'form-control',
                            'value': app.user ? app.user.email : '',
                            'placeholder': 'Enter your email address'
                        }
                    }) }}
                    {{ form_errors(form.email) }}
                </div>
    
                <div class="form-group">
                    {{ form_label(form.subject, 'Subject', {'label_attr': {'class': 'form-label'}}) }}
                    {{ form_widget(form.subject, {
                        'attr': {
                            'class': 'form-control subject-select'
                        }
                    }) }}
    
                    {{ form_errors(form.subject) }}
    
                    <div class="custom-subject-group" style="display: none;">
                        {{ form_label(form.customSubject, 'Please specify your subject', {'label_attr': {'class': 'form-label'}}) }}
                        {{ form_widget(form.customSubject, {
                        'attr': {
                            'class': 'form-control',
                            'placeholder': 'Enter your custom subject here...'
                        }
                    }) }}
                        {{ form_errors(form.customSubject) }}
                    </div>
                </div>
    
    
                <div class="form-group">
                    {{ form_label(form.message, 'Your Message', {'label_attr': {'class': 'form-label'}}) }}
                    {{ form_widget(form.message, {
                        'attr': {
                            'class': 'form-control',
                            'placeholder': 'Type your message here...'
                        }
                    }) }}
                    {{ form_errors(form.message) }}
                </div>
    
                {{ form_label(form.captcha) }}
                {{ form_widget(form.captcha, {'attr': {'class': 'captcha-checkbox'}}) }}
                {{ form_errors(form.captcha) }}
    
                <div class="form-group">
                    <button type="submit" class="btn-submit">
                        <i class="bi bi-send-fill"></i>
                        Send Message
                    </button>
                </div>
                {{ form_end(form) }}
            </div>
        </div>
    {% endblock %}