{#
 # @author    SWM
 # @copyright 2025 SWM
 # @license   https://www.gnu.org/licenses/gpl-2.0.html GNU General Public License v2.0 or later
 #}
{% extends "admin/layout.html.twig" %}

{% block content %}
    {% if message %}
        <div class="notice notice-{{ messageType }} is-dismissible carrier-flash-message">
            <p>{{ message }}</p>
        </div>
    {% endif %}

    <div class="carrier-form-wrapper">
        <div class="carrier-form-header">
            <h2>
                {{ carrier is defined ? trans('m3d.carrier.page.edit_title') : trans('m3d.carrier.page.add_title') }}
                {{ help_trigger('carrier_form')|raw }}
            </h2>
        </div>

        <form method="post">
            <input type="hidden" name="action" value="{{ carrier is defined ? 'edit' : 'add' }}">
            {% if carrier is defined %}
            <input type="hidden" name="carrier_id" value="{{ carrier.id_carrier_3dbp }}">
            {% endif %}
            <input type="hidden" name="tdbinpack_carrier_nonce" value="{{ nonce }}">

            <div class="carrier-form-body">
                <div class="carrier-form-grid-row">
                    <div class="carrier-form-grid-cell-left">
                        <label for="carrier_name">{{ trans('m3d.carrier.field.name') }} *</label>
                        <input type="text" 
                               id="carrier_name" 
                               name="carrier_name" 
                               class="regular-text" 
                               value="{{ carrier.name|default('') }}"
                               required>
                    </div>
                    <div class="carrier-form-grid-cell-right">
                        <div class="carrier-form-description">
                            <p>{{ trans('m3d.carrier.field.name_desc') }}</p>
                        </div>
                    </div>
                </div>

                <div class="carrier-form-grid-row">
                    <div class="carrier-form-grid-cell-left">
                        <label for="carrier_optimization">{{ trans('m3d.carrier.field.optimization') }}</label>
                        <select id="carrier_optimization" name="carrier_optimization" class="regular-text">
                            <option value="bins_number" {{ (carrier.packing_optimisation_mode|default('bins_number')) == 'bins_number' ? 'selected' : '' }}>{{ trans('m3d.carrier.optimization.minimum_bins') }}</option>
                            <option value="bins_utilization" {{ (carrier.packing_optimisation_mode|default('')) == 'bins_utilization' ? 'selected' : '' }}>{{ trans('m3d.carrier.optimization.best_fit') }}</option>
                            <option value="cost" {{ (carrier.packing_optimisation_mode|default('')) == 'cost' ? 'selected' : '' }}>{{ trans('m3d.carrier.optimization.lowest_cost') }}</option>
                        </select>
                    </div>
                    <div class="carrier-form-grid-cell-right">
                        <div class="carrier-form-description">
                            <p>{{ trans('m3d.carrier.field.optimization') }} – {{ trans('m3d.carrier.field.optimization_desc') }}</p>
                            <ul>
                                <li>
                                    <strong>{{ trans('m3d.carrier.optimization.minimum_bins') }}</strong> – {{ trans('m3d.carrier.optimization.minimum_bins_desc') }}
                                </li>
                                <li>
                                    <strong>{{ trans('m3d.carrier.optimization.best_fit') }}</strong> – {{ trans('m3d.carrier.optimization.best_fit_desc') }}
                                </li>
                                <li>
                                    <strong>{{ trans('m3d.carrier.optimization.lowest_cost') }}</strong> – {{ trans('m3d.carrier.optimization.lowest_cost_desc') }}
                                </li>
                            </ul>
                        </div>
                    </div>
                </div>

                <div class="carrier-form-grid-row">
                    <div class="carrier-form-grid-cell-left">
                        <label class="packaging-toggle-label">
                            {{ trans('m3d.carrier.field.active') }}
                        </label>
                        <div class="packaging-toggle-wrapper">
                            <label class="packaging-toggle-switch">
                                <input type="checkbox" 
                                       id="carrier_active" 
                                       name="carrier_active" 
                                       value="1"
                                       data-active-text="{{ trans('m3d.label.active') }}"
                                       data-inactive-text="{{ trans('m3d.label.inactive') }}"
                                       {{ (carrier.active|default(1)) ? 'checked' : '' }}>
                                <span class="packaging-toggle-slider"></span>
                            </label>
                            <span class="packaging-toggle-status-text">
                                {{ (carrier.active|default(1)) ? trans('m3d.label.active') : trans('m3d.label.inactive') }}
                            </span>
                        </div>
                    </div>
                    <div class="carrier-form-grid-cell-right">
                        <div class="carrier-form-description">
                            <p>{{ trans('m3d.carrier.field.active_desc') }}</p>
                        </div>
                    </div>
                </div>

                <div class="carrier-form-grid-row">
                    <div class="carrier-form-grid-cell-left">
                        <div class="carrier-form-buttons">
                            <a href="?page=tdbinpack-settings&tab=carriers" class="button button-secondary">
                                {{ trans('m3d.action.cancel') }}
                            </a>
                            <button type="submit" class="button button-primary">
                                {{ carrier is defined ? trans('m3d.action.save') : trans('m3d.action.add') }}
                            </button>
                        </div>
                    </div>
                    <div class="carrier-form-grid-cell-right">
                    </div>
                </div>
            </div>
        </form>
    </div>

    <link rel="stylesheet" href="{{ pluginUrl }}assets/css/admin-common.css">
    <link rel="stylesheet" href="{{ pluginUrl }}assets/css/admin-carrier.css">
    <script src="{{ pluginUrl }}assets/js/admin-common.js"></script>
    <script src="{{ pluginUrl }}assets/js/admin-carrier.js"></script>

    {{ help_dialog('carrier_form')|raw }}
{% endblock %}
