From f17a80c07820f9a8647cf536cff8b6e26974fadd Mon Sep 17 00:00:00 2001
From: Marcus Quinn <marcus@agentdesign.co.uk>
Date: Sun, 16 Mar 2025 01:27:49 +0000
Subject: [PATCH] Fix accordion toggle functionality and reposition chevron
 icon

---
 admin/settings.php | 70 ++++++++++++++++++++++++++++++----------------
 1 file changed, 46 insertions(+), 24 deletions(-)

diff --git a/admin/settings.php b/admin/settings.php
index 8809f75..9123528 100644
--- a/admin/settings.php
+++ b/admin/settings.php
@@ -659,25 +659,27 @@ function wp_allstars_settings_page() {
                     <div class="wp-allstars-settings-content">
                         <div class="wp-allstars-toggle">
                             <div class="wp-allstars-toggle-header">
-                                <label for="wp_allstars_auto_upload_images">
-                                    <div class="wp-toggle-switch">
-                                        <input type="checkbox" 
-                                               id="wp_allstars_auto_upload_images"
-                                               name="wp_allstars_auto_upload_images" 
-                                               value="1"
-                                               <?php checked(get_option('wp_allstars_auto_upload_images', false)); ?> 
-                                        />
-                                        <span class="wp-toggle-slider"></span>
-                                    </div>
-                                    <?php esc_html_e('Enable Auto Upload Images', 'wp-allstars'); ?>
-                                </label>
-                                <button type="button" class="wp-allstars-expand-settings" aria-expanded="false">
-                                    <span class="dashicons dashicons-arrow-down-alt2"></span>
-                                </button>
+                                <div class="wp-allstars-toggle-main">
+                                    <label for="wp_allstars_auto_upload_images">
+                                        <div class="wp-toggle-switch">
+                                            <input type="checkbox" 
+                                                   id="wp_allstars_auto_upload_images"
+                                                   name="wp_allstars_auto_upload_images" 
+                                                   value="1"
+                                                   <?php checked(get_option('wp_allstars_auto_upload_images', false)); ?> 
+                                            />
+                                            <span class="wp-toggle-slider"></span>
+                                        </div>
+                                        <?php esc_html_e('Enable Auto Upload Images', 'wp-allstars'); ?>
+                                    </label>
+                                    <button type="button" class="wp-allstars-expand-settings" aria-expanded="false">
+                                        <span class="dashicons dashicons-arrow-down-alt2"></span>
+                                    </button>
+                                </div>
+                                <p class="description">
+                                    <?php esc_html_e('Import images that have external URLs into your Media Library when saving. Consider disabling during large data imports with many external image URLs.', 'wp-allstars'); ?>
+                                </p>
                             </div>
-                            <p class="description">
-                                <?php esc_html_e('Import images that have external URLs into your Media Library when saving. Consider disabling during large data imports with many external image URLs.', 'wp-allstars'); ?>
-                            </p>
                             <div class="wp-allstars-toggle-settings" style="display: none;">
                                 <div class="wp-allstars-setting-row">
                                     <label for="wp_max_width"><?php esc_html_e('Max Width', 'wp-allstars'); ?></label>
@@ -738,12 +740,32 @@ function wp_allstars_settings_page() {
                         </div>
                     </div>
 
+                    <style>
+                    .wp-allstars-toggle-main {
+                        display: flex;
+                        flex-direction: column;
+                        align-items: flex-start;
+                        gap: 8px;
+                    }
+                    .wp-allstars-expand-settings {
+                        background: none;
+                        border: none;
+                        padding: 4px;
+                        cursor: pointer;
+                        color: #2271b1;
+                    }
+                    .wp-allstars-expand-settings:hover {
+                        color: #135e96;
+                    }
+                    .wp-allstars-expand-settings:focus {
+                        outline: 1px solid #2271b1;
+                        box-shadow: none;
+                    }
+                    </style>
+
                     <script>
                     jQuery(document).ready(function($) {
-                        $('.wp-allstars-expand-settings').on('click', function(e) {
-                            e.preventDefault();
-                            e.stopPropagation();
-                            
+                        $('.wp-allstars-expand-settings').on('click', function() {
                             var $button = $(this);
                             var $settings = $button.closest('.wp-allstars-toggle').find('.wp-allstars-toggle-settings');
                             var isExpanded = $button.attr('aria-expanded') === 'true';
@@ -753,8 +775,8 @@ function wp_allstars_settings_page() {
                             
                             // Toggle icon
                             $button.find('.dashicons')
-                                .toggleClass('dashicons-arrow-down-alt2', isExpanded)
-                                .toggleClass('dashicons-arrow-up-alt2', !isExpanded);
+                                .removeClass(isExpanded ? 'dashicons-arrow-up-alt2' : 'dashicons-arrow-down-alt2')
+                                .addClass(isExpanded ? 'dashicons-arrow-down-alt2' : 'dashicons-arrow-up-alt2');
                             
                             // Toggle settings panel with animation
                             $settings.slideToggle(200);