diff --git a/admin/css/seoprostack-admin.css b/admin/css/seoprostack-admin.css index 812d248..634d29e 100644 --- a/admin/css/seoprostack-admin.css +++ b/admin/css/seoprostack-admin.css @@ -1,10 +1,10 @@ -.wp-allstars-wrap { +.seoprostack-wrap { max-width: none; margin: 0; padding-right: 20px; } -.wp-allstars-header { +.seoprostack-header { background: #fff; border-bottom: 1px solid #c3c4c7; box-shadow: 0 1px 0 rgba(0,0,0,.04); @@ -17,7 +17,7 @@ position: relative; } -.wp-allstars-header h1 { +.seoprostack-header h1 { font-size: 23px; font-weight: 400; margin: 0; @@ -26,13 +26,13 @@ color: #1d2327; } -.wp-allstars-header-actions { +.seoprostack-header-actions { display: flex; align-items: center; gap: 10px; } -.wp-allstars-version { +.seoprostack-version { color: #d35400; /* Updated to dark orange */ font-size: 13px; font-weight: 400; @@ -84,7 +84,7 @@ } /* Base Toggle Switch Component */ -.wp-toggle-switch { +.seoprostack-toggle-switch { position: relative; display: inline-block; width: 36px; @@ -95,7 +95,7 @@ z-index: 2; } -.wp-toggle-switch input { +.seoprostack-toggle-switch input { opacity: 0; width: 0; height: 0; @@ -240,15 +240,15 @@ input:checked + .wp-toggle-slider:before { border-bottom-right-radius: 8px; } -.wp-allstars-setting-row { +.seoprostack-setting-row { margin-bottom: 24px; } -.wp-allstars-setting-row:last-child { +.seoprostack-setting-row:last-child { margin-bottom: 0; } -.wp-allstars-setting-row label { +.seoprostack-setting-row label { display: block; margin-bottom: 8px; font-size: 14px; @@ -258,9 +258,9 @@ input:checked + .wp-toggle-slider:before { padding-right: 80px; } -.wp-allstars-setting-row input[type="text"], -.wp-allstars-setting-row input[type="number"], -.wp-allstars-setting-row textarea { +.seoprostack-setting-row input[type="text"], +.seoprostack-setting-row input[type="number"], +.seoprostack-setting-row textarea { width: 100%; max-width: 400px; padding: 8px; @@ -271,9 +271,9 @@ input:checked + .wp-toggle-slider:before { display: block; } -.wp-allstars-setting-row input[type="text"]:focus, -.wp-allstars-setting-row input[type="number"]:focus, -.wp-allstars-setting-row textarea:focus { +.seoprostack-setting-row input[type="text"]:focus, +.seoprostack-setting-row input[type="number"]:focus, +.seoprostack-setting-row textarea:focus { border-color: #2271b1; box-shadow: 0 0 0 1px #2271b1; outline: 2px solid transparent; @@ -631,7 +631,7 @@ input:checked + .wp-toggle-slider:before { } /* Settings Notification */ -.wp-setting-notification { +.seoprostack-setting-notification { display: inline-flex; align-items: center; margin-left: 10px; @@ -647,22 +647,22 @@ input:checked + .wp-toggle-slider:before { position: relative; } -.wp-setting-notification.error { +.seoprostack-setting-notification.error { background: #d63638; } /* Add space for notification to prevent layout shifts */ .wp-setting-left label, .wp-allstars-toggle-left label, -.wp-allstars-setting-row label { +.seoprostack-setting-row label { position: relative; padding-right: 20px; display: inline-block; } -.wp-setting-left label .wp-setting-notification, -.wp-allstars-toggle-left label .wp-setting-notification, -.wp-allstars-setting-row label .wp-setting-notification { +.wp-setting-left label .seoprostack-setting-notification, +.wp-allstars-toggle-left label .seoprostack-setting-notification, +.seoprostack-setting-row label .seoprostack-setting-notification { position: absolute; right: -60px; top: -2px; @@ -695,7 +695,7 @@ input:checked + .wp-toggle-slider:before { } /* Panel styles for Pro Plugins, Hosting, and Tools tabs */ -.wpa-pro-plugins { +.seoprostack-pro-plugins { padding: 20px; display: grid; grid-template-columns: repeat(auto-fill, minmax(450px, 1fr)); @@ -704,7 +704,7 @@ input:checked + .wp-toggle-slider:before { margin: 0 auto; } -.wpa-pro-plugin { +.seoprostack-pro-plugin { background: #fff; border: 1px solid #ddd; padding: 24px; @@ -715,12 +715,12 @@ input:checked + .wp-toggle-slider:before { box-shadow: 0 1px 3px rgba(0,0,0,0.1); } -.wpa-pro-plugin:hover { +.seoprostack-pro-plugin:hover { border-color: #2271b1; box-shadow: 0 2px 6px rgba(0,0,0,0.15); } -.wpa-pro-plugin h3 { +.seoprostack-pro-plugin h3 { margin: 0 0 12px; font-size: 16px; font-weight: 600; @@ -728,21 +728,21 @@ input:checked + .wp-toggle-slider:before { line-height: 1.4; } -.wpa-pro-plugin p { +.seoprostack-pro-plugin p { margin: 0 0 16px; color: #50575e; font-size: 14px; line-height: 1.6; } -.wpa-pro-plugin .button-group { +.seoprostack-pro-plugin .button-group { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; } -.wpa-pro-plugin .button { +.seoprostack-pro-plugin .button { text-decoration: none; min-width: 120px; text-align: center; @@ -762,45 +762,45 @@ input:checked + .wp-toggle-slider:before { cursor: pointer; } -.wpa-pro-plugin .button:hover { +.seoprostack-pro-plugin .button:hover { background: #f0f0f1; border-color: #0071a1; color: #0071a1; } -.wpa-pro-plugin .button.button-primary { +.seoprostack-pro-plugin .button.button-primary { background: #2271b1; border-color: #2271b1 !important; color: #fff; } -.wpa-pro-plugin .button.button-primary:hover { +.seoprostack-pro-plugin .button.button-primary:hover { background: #135e96; border-color: #135e96 !important; color: #fff; } @media screen and (max-width: 960px) { - .wpa-pro-plugins { + .seoprostack-pro-plugins { grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); gap: 20px; padding: 16px; } - .wpa-pro-plugin { + .seoprostack-pro-plugin { padding: 20px; } } @media screen and (max-width: 782px) { - .wpa-pro-plugins { + .seoprostack-pro-plugins { grid-template-columns: 1fr; gap: 16px; padding: 12px; } - .wpa-pro-plugin { + .seoprostack-pro-plugin { padding: 16px; } - .wpa-pro-plugin .button { + .seoprostack-pro-plugin .button { width: 100%; } } @@ -1020,14 +1020,14 @@ input:checked + .wp-toggle-slider:before { } /* Toggle Switch */ -.wp-toggle-switch { +.seoprostack-toggle-switch { position: relative; display: inline-block; width: 50px; height: 24px; } -.wp-toggle-switch input { +.seoprostack-toggle-switch input { opacity: 0; width: 0; height: 0; diff --git a/admin/js/seoprostack-admin.js b/admin/js/seoprostack-admin.js index 814bb95..c48182f 100644 --- a/admin/js/seoprostack-admin.js +++ b/admin/js/seoprostack-admin.js @@ -46,7 +46,7 @@ jQuery(document).ready(function($) { }); } // Toggle sections - $('.seoprostack-toggle-header').on('click', function() { + $('.seoprostack-toggle-header').on('click', function() { $(this).toggleClass('active'); $(this).next('.seoprostack-toggle-settings').slideToggle(300); }); diff --git a/wp-seoprostack-plugin.php b/wp-seoprostack-plugin.php index ba0d4fb..fc9c737 100644 --- a/wp-seoprostack-plugin.php +++ b/wp-seoprostack-plugin.php @@ -40,41 +40,25 @@ define('SEOPROSTACK_PLUGIN_DIR', plugin_dir_path(__FILE__)); define('SEOPROSTACK_PLUGIN_URL', plugin_dir_url(__FILE__)); define('SEOPROSTACK_PLUGIN_BASENAME', plugin_basename(__FILE__)); -// Load autoloader -require_once SEOPROSTACK_PLUGIN_DIR . 'includes/core/class-seoprostack-autoloader.php'; - -// Backward compatibility - load only necessary legacy files -// This will be removed in future iterations -if (is_admin()) { - require_once SEOPROSTACK_PLUGIN_DIR . 'admin/pro-plugins-config.php'; - // Legacy settings.php is now handled through the OOP structure -} - // Activation hook function seoprostack_activate() { - // Activation logic + // Add activation logic later if needed } -register_activation_hook(__FILE__, 'seoprostack_activate'); +register_activation_hook( __FILE__, 'seoprostack_activate' ); -// Deactivation hook -function seoprostack_deactivate() { - // Deactivation logic -} -register_deactivation_hook(__FILE__, 'seoprostack_deactivate'); +// Load core functionality +require_once SEOPROSTACK_PLUGIN_DIR . 'includes/class-seoprostack-auto-upload.php'; -/** - * Begin execution of the plugin. - */ -function run_seoprostack() { - require_once SEOPROSTACK_PLUGIN_DIR . 'includes/core/class-seoprostack-plugin.php'; - $plugin = new SEOProStack_Plugin(); - $plugin->run(); +// Load admin UI and configurations +if ( is_admin() ) { + require_once SEOPROSTACK_PLUGIN_DIR . 'admin/pro-plugins-config.php'; + require_once SEOPROSTACK_PLUGIN_DIR . 'admin/settings.php'; } -run_seoprostack(); + + // Admin assets function seoprostack_admin_assets() { - // Enqueue styles wp_enqueue_style( 'seoprostack-admin', @@ -103,4 +87,7 @@ function seoprostack_admin_assets() { ); wp_localize_script('seoprostack-admin', 'wpSeoProStack', $ajax_data); } -add_action('admin_enqueue_scripts', 'seoprostack_admin_assets'); \ No newline at end of file +add_action('admin_enqueue_scripts', 'seoprostack_admin_assets'); + +// Initialize classes +$seoprostack_auto_upload = new SEOProStack_Auto_Upload(); \ No newline at end of file