<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
    <system>
        <tab id="bluelogic" translate="label" sortOrder="10">
            <label>Blue Logic</label>
        </tab>
        <section id="gupshupconfigruation" sortOrder="10" showInWebsite="1" showInStore="1" showInDefault="1"
                 translate="label">
            <label>GupShup SMS Configruation</label>
            <tab>bluelogic</tab>
            <resource>BlueLogic_GupShupSms::config_bluelogic_smsintegration</resource>
            <!--<resource>Magento_Config::config_admin</resource>-->
            <group id="general" translate="label" type="text" sortOrder="20" showInDefault="1" showInWebsite="1"
                   showInStore="0">
                <label>Enable Module</label>
                <field id="enable_module" translate="label" type="select" showInDefault="1" canRestore="1">
                    <label>Enabled</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
            </group>
            <!--General Configuration -->
            <group id="credential" sortOrder="50" showInWebsite="1" showInStore="1" showInDefault="1"
                   translate="label">
                <depends>
                    <field id="gupshupconfigruation/general/enable_module">1</field>
                </depends>
                <label>GupShup Sms Configruation</label>
                <field id="sender_name" type="text" sortOrder="1" showInDefault="1" showInWebsite="1"
                       showInStore="1"
                       canRestore="1">
                    <label>Sender</label>
                    <validate>required-entry</validate>
                </field>
                <field id="sender_username" type="text" sortOrder="2" showInDefault="1" showInWebsite="1"
                       showInStore="1"
                       canRestore="1">
                    <label>Username</label>
                    <validate>required-entry</validate>
                </field>
                <field id="sender_password" type="password" sortOrder="3" showInDefault="1" showInWebsite="1"
                       showInStore="1"
                       canRestore="1">
                    <label>Password</label>
                    <validate>required-entry</validate>
                </field>
                <field id="sendsmsurl" translate="label" type="text" sortOrder="5" showInDefault="1" showInWebsite="1"
                       showInStore="1" canRestore="1">
                    <label>SMS API URL</label>
                    <validate>required-entry</validate>
                </field>
            </group>
            <!--Message Text Configuration -->
            <group id="messages" sortOrder="100" showInWebsite="1" showInStore="1" showInDefault="1"
                   translate="label">
                <depends>
                    <field id="gupshupconfigruation/general/enable_module">1</field>
                </depends>
                <label>GupShup Sms Messages</label>
                <field id="customer_success_text_message" translate="label" type="textarea" sortOrder="15"
                       showInDefault="1"
                       showInWebsite="1" showInStore="1" canRestore="1">
                    <label>Customer Welcome Text Message</label>
                    <validate>required-entry</validate>
                </field>
                <field id="order_placed_text_message" translate="label" type="textarea" sortOrder="25" showInDefault="1"
                       showInWebsite="1" showInStore="1" canRestore="1">
                    <label>Order Success Text Message</label>
                    <validate>required-entry</validate>
                </field>
                <field id="credit_memo_text_message" translate="label" type="textarea" sortOrder="35" showInDefault="1"
                       showInWebsite="1" showInStore="1" canRestore="1">
                    <label>Credit Memo Text Message</label>
                    <validate>required-entry</validate>
                </field>
                <field id="rma_request_message" type="textarea" translate="label" sortOrder="45" showInDefault="1"
                       showInWebsite="1" showInStore="1">
                    <label>RMA Request text Message</label>
                </field>
                <field id="order_messages" translate="label" sortOrder="55" showInDefault="1" showInWebsite="1"
                       showInStore="1">
                    <label>Order Messages</label>
                    <frontend_model>BlueLogic\GupShupSms\Block\Adminhtml\Form\Field\OrderMessages</frontend_model>
                    <backend_model>Magento\Config\Model\Config\Backend\Serialized\ArraySerialized</backend_model>
                </field>
                <field id="otp_message" type="textarea" translate="label" sortOrder="55" showInDefault="1"
                       showInWebsite="1" showInStore="1">
                    <label>OTP Text Message</label>
                </field>
                <field id="otp_message_registration" type="textarea" translate="label" sortOrder="55" showInDefault="1"
                       showInWebsite="1" showInStore="1">
                    <label>Registration OTP Text Message</label>
                </field>
                <field id="otp_message_alert" type="textarea" translate="label" sortOrder="55" showInDefault="1"
                       showInWebsite="1" showInStore="1">
                    <label>Product Alert OTP Text Message</label>
                </field>
                <field id="store_information_message" type="textarea" translate="label" sortOrder="85" showInDefault="1"
                       showInWebsite="1" showInStore="1">
                    <label>Pickup Store Details Message</label>
                </field>
                <field id="shipping_message" type="textarea" translate="label" sortOrder="30" showInDefault="1"
                       showInWebsite="1" showInStore="1">
                    <label>Shipping SMS Message Text</label>
                    <comment>
                        <![CDATA[SMS message template. Available variables: <strong>customer_name</strong>, <strong>order_number</strong>]]></comment>
                    <depends>
                        <field id="enable_shipping_sms">1</field>
                    </depends>
                </field>
            </group>
            <!--Shipping Notifications Configuration-->
            <group id="shipping_notifications" sortOrder="105" showInWebsite="1" showInStore="1" showInDefault="1"
                   translate="label">
                <depends>
                    <field id="gupshupconfigruation/general/enable_module">1</field>
                </depends>
                <label>Shipping Notifications</label>
                <comment>Configure SMS and WhatsApp notifications when shipments are created</comment>
                <field id="enable_shipping_sms" translate="label" type="select" sortOrder="10" showInDefault="1"
                       showInWebsite="1" showInStore="1" canRestore="1">
                    <label>Enable Shipping SMS Notification</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                    <comment>Send SMS notification when order shipment is created</comment>
                </field>
                <field id="enable_shipping_whatsapp" translate="label" type="select" sortOrder="20" showInDefault="1"
                       showInWebsite="1" showInStore="1" canRestore="1">
                    <label>Enable Shipping WhatsApp Notification</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                    <comment>Send WhatsApp notification when order shipment is created</comment>
                </field>
            </group>
            <!-- WhatsApp Configuration for OTP via GupShup -->
            <group id="whatsapp" sortOrder="110" showInWebsite="1" showInStore="1" showInDefault="1" translate="label">
                <depends>
                    <field id="gupshupconfigruation/general/enable_module">1</field>
                </depends>
                <label>GupShup WhatsApp Configuration</label>
                <field id="enable_whatsapp" translate="label" type="select" sortOrder="1" showInDefault="1"
                       showInWebsite="1" showInStore="1" canRestore="1">
                    <label>Enable WhatsApp OTP</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field id="wa_api_url" translate="label" type="text" sortOrder="5" showInDefault="1" showInWebsite="1"
                       showInStore="1" canRestore="1">
                    <label>WhatsApp Template API URL</label>
                    <comment>Default: https://api.gupshup.io/wa/api/v1/template/msg</comment>
                </field>
                <field id="wa_api_key" translate="label" type="obscure" sortOrder="10" showInDefault="1"
                       showInWebsite="1" showInStore="1" canRestore="1">
                    <label>API Key</label>
                    <backend_model>Magento\Config\Model\Config\Backend\Encrypted</backend_model>
                    <comment>GupShup WhatsApp API key</comment>
                </field>
                <field id="wa_source" translate="label" type="text" sortOrder="20" showInDefault="1" showInWebsite="1"
                       showInStore="1" canRestore="1">
                    <label>Source Number</label>
                    <comment>E.g. 971800500800</comment>
                </field>
                <field id="wa_src_name" translate="label" type="text" sortOrder="30" showInDefault="1" showInWebsite="1"
                       showInStore="1" canRestore="1">
                    <label>Source Name</label>
                    <comment>GupShup App Name (src.name)</comment>
                </field>
            </group>
            <!--Template IDs Configuration-->
            <group id="template_ids" sortOrder="120" showInWebsite="1" showInStore="1" showInDefault="1"
                   translate="label">
                <label>GupShup Template IDs</label>
                <comment>Template IDs for GupShup message delivery</comment>
                <field id="order_success_template_id" translate="label" type="text" sortOrder="20"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Order Success Template ID</label>
                </field>
                <field id="order_status_template_id" translate="label" type="text" sortOrder="21"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Order Status Update Template ID</label>
                </field>
                <field id="shipping_template_id" translate="label" type="text" sortOrder="22"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Shipping Status Template ID</label>
                </field>
                <field id="credit_memo_template_id" translate="label" type="text" sortOrder="30"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Credit Memo Template ID</label>
                </field>
                <field id="otp_template_id" translate="label" type="text" sortOrder="50"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>OTP Template ID</label>
                </field>
                <field id="abandoned_cart_template_id" translate="label" type="text" sortOrder="70"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Abandoned Cart Template ID</label>
                </field>
                <field id="abandoned_cart_image" translate="label" type="image" sortOrder="75"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Abandoned Cart Image</label>
                    <backend_model>Magento\Config\Model\Config\Backend\Image</backend_model>
                    <upload_dir config="system/filesystem/media" scope_info="1">gupshup/abandoned_cart</upload_dir>
                    <base_url type="media" scope_info="1">gupshup/abandoned_cart</base_url>
                    <comment>Upload image for abandoned cart WhatsApp messages. Allowed formats: jpg, png only. Max size: 5MB</comment>
                </field>
            </group>
            <!--Stock Alert Template IDs Configuration (WhatsApp Only)-->
            <group id="stock_alert_template_ids" sortOrder="125" showInWebsite="1" showInStore="1" showInDefault="1"
                   translate="label">
                <label>Stock Alert WhatsApp Template IDs</label>
                <comment>
                    <![CDATA[Configure different WhatsApp template IDs based on the number of products in the alert (1-10 products). <strong>Only affects WhatsApp notifications.</strong>]]></comment>
                <field id="stock_alert_1" translate="label" type="text" sortOrder="10"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Stock Alert Template ID (1 Product)</label>
                </field>
                <field id="stock_alert_2" translate="label" type="text" sortOrder="20"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Stock Alert Template ID (2 Products)</label>
                </field>
                <field id="stock_alert_3" translate="label" type="text" sortOrder="30"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Stock Alert Template ID (3 Products)</label>
                </field>
                <field id="stock_alert_4" translate="label" type="text" sortOrder="40"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Stock Alert Template ID (4 Products)</label>
                </field>
                <field id="stock_alert_5" translate="label" type="text" sortOrder="50"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Stock Alert Template ID (5 Products)</label>
                </field>
                <field id="stock_alert_6" translate="label" type="text" sortOrder="60"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Stock Alert Template ID (6 Products)</label>
                </field>
                <field id="stock_alert_7" translate="label" type="text" sortOrder="70"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Stock Alert Template ID (7 Products)</label>
                </field>
                <field id="stock_alert_8" translate="label" type="text" sortOrder="80"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Stock Alert Template ID (8 Products)</label>
                </field>
                <field id="stock_alert_9" translate="label" type="text" sortOrder="90"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Stock Alert Template ID (9 Products)</label>
                </field>
                <field id="stock_alert_10" translate="label" type="text" sortOrder="100"
                       showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Stock Alert Template ID (10 Products)</label>
                </field>
            </group>
            <!-- Webhook Log Cleanup Configuration -->
            <group id="webhook_log" sortOrder="200" showInWebsite="1" showInStore="1" showInDefault="1"
                   translate="label">
                <depends>
                    <field id="gupshupconfigruation/general/enable_module">1</field>
                </depends>
                <label>Webhook Log Cleanup</label>
                <field id="cleanup_enabled" translate="label" type="select" sortOrder="1" showInDefault="1"
                       showInWebsite="1" showInStore="1" canRestore="1">
                    <label>Enable Log Cleanup</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                    <comment>Enable automatic cleanup of old webhook logs</comment>
                </field>
                <field id="retention_days" translate="label" type="text" sortOrder="2" showInDefault="1"
                       showInWebsite="1" showInStore="1" canRestore="1">
                    <label>Retention Period (Days)</label>
                    <validate>validate-number validate-greater-than-zero</validate>
                    <comment>Number of days to keep webhook logs before they are automatically deleted</comment>
                    <frontend_class>validate-number validate-greater-than-zero</frontend_class>
                </field>
                <field id="cron_schedule" translate="label" type="text" sortOrder="3" showInDefault="1"
                       showInWebsite="1" showInStore="1" canRestore="1">
                    <label>Cron Schedule Expression</label>
                    <comment>Use cron expression format (e.g., "0 2 * * *" for daily at 2:00 AM). Leave empty to use
                        default schedule.
                    </comment>
                </field>
            </group>
        </section>
    </system>
</config>
