{#
 # @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 packaging-flash-message">
            <p>{{ message }}</p>
        </div>
    {% endif %}

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

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

            <div class="packaging-form-body">
                <div class="packaging-form-grid-row">
                    <div class="packaging-form-grid-cell-left">
                        <label for="carrier_name_display">{{ trans('m3d.packaging.info.carrier') }}</label>
                        <input type="text" 
                               id="carrier_name_display" 
                               class="regular-text" 
                               value="{{ carrier.name }}"
                               disabled>
                    </div>
                    <div class="packaging-form-grid-cell-right">
                        <div class="packaging-form-description">
                            <p>{{ trans('m3d.packaging.field.carrier_desc') }}</p>
                        </div>
                    </div>
                </div>

                <div class="packaging-form-grid-row">
                    <div class="packaging-form-grid-cell-left">
                        <label for="packaging_type">{{ trans('m3d.packaging.field.type') }} *</label>
                        <select id="packaging_type" name="packaging_type" class="regular-text" required>
                            {% for typeValue, typeLabel in types %}
                                <option value="{{ typeValue }}" {{ (packaging.type|default('bin')) == typeValue ? 'selected' : '' }}>
                                    {{ trans(typeLabel) }}
                                </option>
                            {% endfor %}
                        </select>
                    </div>
                    <div class="packaging-form-grid-cell-right">
                        <div class="packaging-form-description">
                            <p>{{ trans('m3d.packaging.field.type_desc') }}</p>
                        </div>
                    </div>
                </div>

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

                <div class="packaging-form-grid-row">
                    <div class="packaging-form-grid-cell-left">
                        <label>{{ trans('m3d.packaging.field.dimensions') }} *</label>
                        <div class="packaging-dimensions-grid">
                            <div class="packaging-dimension-field">
                                <label for="packaging_width">{{ trans('m3d.packaging.field.width') }} ({{ dimensionUnit }})</label>
                                <input type="number" 
                                       id="packaging_width" 
                                       name="packaging_width" 
                                       class="regular-text" 
                                       value="{{ packaging.width|default('') }}"
                                       step="0.01"
                                       min="0.01"
                                       required>
                            </div>
                            <div class="packaging-dimension-field">
                                <label for="packaging_height">{{ trans('m3d.packaging.field.height') }} ({{ dimensionUnit }})</label>
                                <input type="number" 
                                       id="packaging_height" 
                                       name="packaging_height" 
                                       class="regular-text" 
                                       value="{{ packaging.height|default('') }}"
                                       step="0.01"
                                       min="0.01"
                                       required>
                            </div>
                            <div class="packaging-dimension-field">
                                <label for="packaging_depth">{{ trans('m3d.packaging.field.depth') }} ({{ dimensionUnit }})</label>
                                <input type="number" 
                                       id="packaging_depth" 
                                       name="packaging_depth" 
                                       class="regular-text" 
                                       value="{{ packaging.depth|default('') }}"
                                       step="0.01"
                                       min="0.01"
                                       required>
                            </div>
                        </div>
                    </div>
                    <div class="packaging-form-grid-cell-right">
                        <div class="packaging-form-description">
                            <p>{{ trans('m3d.packaging.field.dimensions_desc') }}</p>
                        </div>
                    </div>
                </div>

                <div class="packaging-form-grid-row packaging-form-row-quantity">
                    <div class="packaging-form-grid-cell-left">
                        <label for="packaging_quantity">{{ trans('m3d.packaging.field.quantity') }}</label>
                        <input type="number" 
                               id="packaging_quantity" 
                               name="packaging_quantity" 
                               class="regular-text packaging-quantity-input" 
                               value="{{ packaging.quantity|default('') }}"
                               min="1">
                    </div>
                    <div class="packaging-form-grid-cell-right">
                        <div class="packaging-form-description">
                            <p>{{ trans('m3d.packaging.field.quantity_desc') }}</p>
                        </div>
                    </div>
                </div>

                <div class="packaging-form-grid-row packaging-form-row-weight-cost">
                    <div class="packaging-form-grid-cell-left">
                        <div class="packaging-weight-cost-grid">
                            <div class="packaging-weight-cost-field">
                                <label for="packaging_weight">{{ trans('m3d.packaging.field.weight') }} ({{ weightUnit }})</label>
                                <input type="number" 
                                       id="packaging_weight" 
                                       name="packaging_weight" 
                                       class="regular-text" 
                                       value="{{ packaging.weight|default('') }}"
                                       step="0.01"
                                       min="0">
                            </div>
                            <div class="packaging-weight-cost-field">
                                <label for="packaging_max_weight">{{ trans('m3d.packaging.field.max_weight') }} ({{ weightUnit }})</label>
                                <input type="number" 
                                       id="packaging_max_weight" 
                                       name="packaging_max_weight" 
                                       class="regular-text" 
                                       value="{{ packaging.max_weight|default('') }}"
                                       step="0.01"
                                       min="0">
                            </div>
                            <div class="packaging-weight-cost-field">
                                <label for="packaging_cost">{{ trans('m3d.packaging.field.cost') }} ({{ currency }}){% if carrier.packing_optimisation_mode == 'cost' %} *{% endif %}</label>
                                <input type="number" 
                                       id="packaging_cost" 
                                       name="packaging_cost" 
                                       class="regular-text" 
                                       value="{{ packaging.cost|default('') }}"
                                       step="0.01"
                                       min="0"
                                       {% if carrier.packing_optimisation_mode == 'cost' %}required{% endif %}>
                            </div>
                        </div>
                    </div>
                    <div class="packaging-form-grid-cell-right">
                        <div class="packaging-weight-cost-descriptions">
                            <div class="packaging-weight-cost-desc">
                                <p>{{ trans('m3d.packaging.field.weight_desc') }}</p>
                            </div>
                            <div class="packaging-weight-cost-desc">
                                <p>{{ trans('m3d.packaging.field.max_weight_desc') }}</p>
                            </div>
                            <div class="packaging-weight-cost-desc">
                                <p>{{ trans('m3d.packaging.field.cost_desc') }}</p>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="packaging-form-grid-row">
                    <div class="packaging-form-grid-cell-left">
                        <label for="packaging_comment">{{ trans('m3d.packaging.field.comment') }}</label>
                        <textarea id="packaging_comment" 
                                  name="packaging_comment" 
                                  class="large-text" 
                                  rows="4">{{ packaging.comment|default('') }}</textarea>
                    </div>
                    <div class="packaging-form-grid-cell-right">
                        <div class="packaging-form-description">
                            <p>{{ trans('m3d.packaging.field.comment_desc') }}</p>
                        </div>
                    </div>
                </div>

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

                <div class="packaging-form-grid-row">
                    <div class="packaging-form-grid-cell-left">
                        <div class="packaging-form-buttons">
                            <a href="?page=tdbinpack-settings&tab=packaging&carrier_id={{ carrier.id_carrier_3dbp }}" class="button button-secondary">
                                {{ trans('m3d.action.cancel') }}
                            </a>
                            <button type="submit" class="button button-primary">
                                {{ packaging is defined ? trans('m3d.action.save') : trans('m3d.action.add') }}
                            </button>
                        </div>
                    </div>
                    <div class="packaging-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-packaging.css">
    <script src="{{ pluginUrl }}assets/js/admin-common.js"></script>
    <script src="{{ pluginUrl }}assets/js/admin-packaging.js"></script>

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