From 346d3f053173c3d5938edf5f56ed1afa1bb98543 Mon Sep 17 00:00:00 2001 From: "IGNY8 VPS (Salman)" Date: Sat, 10 Jan 2026 01:42:20 +0000 Subject: [PATCH] pluign updates --- .../admin/assets/css/admin.css | 28 +++++++++--- .../admin/assets/css/igny8-modern.css | 42 ++++++++++++++---- .../admin/assets/images/Igny8_icon_32.png | Bin 0 -> 1614 bytes .../admin/assets/images/Igny8_icon_64.png | Bin 0 -> 3054 bytes .../igny8-wp-bridge/admin/class-admin.php | 4 +- .../igny8-wp-bridge/admin/layout-header.php | 32 ++++++------- .../source/igny8-wp-bridge/igny8-bridge.php | 4 +- .../includes/class-igny8-updater.php | 29 +++++++++--- 8 files changed, 97 insertions(+), 42 deletions(-) create mode 100644 plugins/wordpress/source/igny8-wp-bridge/admin/assets/images/Igny8_icon_32.png create mode 100644 plugins/wordpress/source/igny8-wp-bridge/admin/assets/images/Igny8_icon_64.png diff --git a/plugins/wordpress/source/igny8-wp-bridge/admin/assets/css/admin.css b/plugins/wordpress/source/igny8-wp-bridge/admin/assets/css/admin.css index d26fdeeb..08b5a3d1 100644 --- a/plugins/wordpress/source/igny8-wp-bridge/admin/assets/css/admin.css +++ b/plugins/wordpress/source/igny8-wp-bridge/admin/assets/css/admin.css @@ -46,21 +46,37 @@ } } +/* Main content wrapper */ +.igny8-main-content { + margin-left: 260px; + flex: 1; + padding: 10px 25px; + max-width: 1400px; +} + + + /* Page header */ .igny8-page-header { - height: 100px; + /* height: 100px; */ + background: linear-gradient(135deg, #3B82F6 0%, #3B82F6 100%); display: flex; - align-items: center; + align-items: flex-start; border-radius: 8px; margin: 12px 0 24px 0; + flex-direction: column; } .igny8-page-header h1 { margin: 0; - font-size: 20px; + font-size: 30px; font-weight: 700; - color: #111827; + color: #fff; +} +.igny8-page-header p { + color: var(--igny8-stroke); + font-size:18px; + margin: 12px 0px 0px 0px; } - .igny8-module-title h2 { margin: 0; font-size: 18px; @@ -850,4 +866,4 @@ ============================================ */ .sellvia-banner.notice.notice-info { display: none; -} \ No newline at end of file +} diff --git a/plugins/wordpress/source/igny8-wp-bridge/admin/assets/css/igny8-modern.css b/plugins/wordpress/source/igny8-wp-bridge/admin/assets/css/igny8-modern.css index 2b0e7298..3a81ac1b 100644 --- a/plugins/wordpress/source/igny8-wp-bridge/admin/assets/css/igny8-modern.css +++ b/plugins/wordpress/source/igny8-wp-bridge/admin/assets/css/igny8-modern.css @@ -55,7 +55,7 @@ .igny8-admin-wrapper { display: flex; min-height: 100vh; - background: var(--igny8-surface); + margin-left: -20px; margin-top: -10px; } @@ -71,14 +71,21 @@ } .igny8-sidebar-logo { - padding: 0 24px 24px; - border-bottom: 1px solid var(--igny8-stroke); - margin-bottom: 24px; + padding: 24px; + text-align: center; + margin-bottom: 16px; } .igny8-sidebar-logo img { height: 32px; width: auto; + display: inline-block; +} + +.igny8-sidebar-badge-container { + padding: 0 24px 24px; + margin-bottom: 24px; + text-align: center; } .igny8-sidebar-nav { @@ -108,22 +115,32 @@ color: var(--igny8-text); } +.igny8-sidebar-nav a:hover svg { + opacity: 1; +} + .igny8-sidebar-nav a.active { background: var(--igny8-primary-subtle); color: var(--igny8-primary); } +.igny8-sidebar-nav a.active svg { + opacity: 1; +} + .igny8-sidebar-nav svg { width: 18px; height: 18px; margin-right: 12px; flex-shrink: 0; + opacity: 1; + display: block; } .igny8-main-content { margin-left: 260px; flex: 1; - padding: 32px 40px; + padding: 10px 25px; max-width: 1400px; } @@ -131,20 +148,27 @@ HEADER - Minimal Design =================================================================== */ .igny8-page-header { - margin-bottom: 32px; + background: linear-gradient(135deg, #3B82F6 0%, #3B82F6 100%); + display: flex; + align-items: flex-start; + border-radius: 8px; + margin: 12px 0 24px 0; + flex-direction: column; + padding: 20px 24px; } .igny8-page-header h1 { - font-size: 28px; + font-size: 30px; font-weight: 600; - color: var(--igny8-text); + color: #fff; margin: 0 0 8px 0; } .igny8-page-header p { - color: var(--igny8-text-dim); + color: var(--igny8-stroke); font-size: 14px; margin: 0; + line-height: 1.6; } /* =================================================================== diff --git a/plugins/wordpress/source/igny8-wp-bridge/admin/assets/images/Igny8_icon_32.png b/plugins/wordpress/source/igny8-wp-bridge/admin/assets/images/Igny8_icon_32.png new file mode 100644 index 0000000000000000000000000000000000000000..f5fc526197e19004013ed72ce62fd7c8bff23b9b GIT binary patch literal 1614 zcmZ8hdpOf=82-&HS}n>P8ef~rDH7XJ~Oh_fIn4If#$T6q-eyZ#GuIqcQ>wfS1d7k@yp7*c!q9cWbfTQ3503gV=HclX8 zRv^0yJb8hE(;z{3P9$rf^p)BOm`Jm%?5zOcPQsccItVT&m5s3M-;)HOUI{61uGBB56W$b5e{LBX7_4-4)#tR#tYtv6^fKAT%Grf9dg!z# z@*whYLRaRQhqL*Wv&4gZr6nt3+|25?uM_#9$VwsM=1I@j^?902mUZad`V?Ca6x0S$ zD~O89sZFz{#mEz5>(Oj}sH?#Td$dn;mDtaJ@YPI4>TXrGf8krp=Mnnnyoa(DGkL8a zd1I*>Cg0q{Z+g8{Nyb&=-cFqs`ADOEjY-h=yvJH? zCX=k?qL@xn{z1BJDntHddt`!qZ=sP|-cqApLFJikkIVbw7H@rSdZVxpew=Zb*2O*V z_p@5#rib(~`QYiZ$s68gchsKP)EUTM3N7fXq(#5+w$npBjla@3+3H}QrBYtc-bxkQ zc&we0nC8s#VGi?di@ld=cTN7GJ(*9d5lHQi)A7>TCElRqV;tSV#5jjt%&#rq`#R4d zTY~$-Mc`i`()(*eM^Zb5>4J&165*JBx#rpQ+7G%D$>8Mjcf#k-k+___M4f^%@B5tawVB!2?tHs>;E4f}1+{VlA z=pCMisH(x%w|h#yDw_NH9u}}6W)2ul?W;-88oV7s6fD*JcTV~1*h$?ptf564_gA}B zZxvOjnB_&WfH~Yv&lPAw-;|)@$D{QqDQ&6u=U*~ z*o|?dQffL4sutZh*>E{P?;CR{id0c%RYmW<9PYMmCtlPObeu7hm!lEMLSRtwv!$q% zi{ZtASMisd)Is!}lR%6; zDX=qQPy|(|bM5QCpk{pHOkKTi#1_wPcVwHN+PUis%A|BumJZiT*8z=ibbmpC$;N93 zm>>9f|H_47xu-465rw9Y3b9#)phc5gQB20QXX4w09ef^~;$Y*FecubA5nUeJ+%erU zibz<7cL=yaTN}D@(7;BC%Ult?+P$~07{QaEBl#|U!=}VuN^sck)nc>(s?3Pn3V2HH}WwgGFS=h04 z8$Facm$=me!IuxXqj5ra{D;Vi;?N>;CtS!7na={%$;wq%uRa>$#22|{>1K&qKSAey zunLt;jUhFmBKQMJdr}=P=5T_*1dD6Ed1Q-D%$a)QjZ+oBkp*FKNYuCmzJ z^|;vbcp#TW$1;-7n{6&$s1^>}@05ENcNgP+?)!jnNNvZQezI2dc{)4==)tEOc@{MJavj2fcd{KlVY*nLfV@62tPgu`&s$7x9#t@vcQS<$#N z$H}8zfnfC4BUc0D`f&%;T}WUUt1VGiS4(-T+E}B(r3HhH~B=TM7y- kez@I|t-$&G6KefK%K7w9apGcU&B~`pCQ@ult&fNO3nkmL&;S4c literal 0 HcmV?d00001 diff --git a/plugins/wordpress/source/igny8-wp-bridge/admin/assets/images/Igny8_icon_64.png b/plugins/wordpress/source/igny8-wp-bridge/admin/assets/images/Igny8_icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..92f51108ae5b439a7247bc97d61da4beff413b26 GIT binary patch literal 3054 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 XIYJ+#_DAZggP|2+i?V4t?ML_z8hdh; literal 0 HcmV?d00001 diff --git a/plugins/wordpress/source/igny8-wp-bridge/admin/class-admin.php b/plugins/wordpress/source/igny8-wp-bridge/admin/class-admin.php index 8a9d3a93..27fac676 100644 --- a/plugins/wordpress/source/igny8-wp-bridge/admin/class-admin.php +++ b/plugins/wordpress/source/igny8-wp-bridge/admin/class-admin.php @@ -49,14 +49,14 @@ class Igny8Admin { * Add admin menu pages */ public function add_menu_pages() { - // Add main menu page + // Add main menu page with dashicons (most reliable method) add_menu_page( __('IGNY8', 'igny8-bridge'), __('IGNY8', 'igny8-bridge'), 'manage_options', 'igny8-dashboard', array($this, 'render_page'), - plugins_url('admin/assets/images/logo-icon.png', IGNY8_BRIDGE_PLUGIN_FILE), + 'dashicons-cloud-saved', 58 ); diff --git a/plugins/wordpress/source/igny8-wp-bridge/admin/layout-header.php b/plugins/wordpress/source/igny8-wp-bridge/admin/layout-header.php index 8cb383ed..1186a9b9 100644 --- a/plugins/wordpress/source/igny8-wp-bridge/admin/layout-header.php +++ b/plugins/wordpress/source/igny8-wp-bridge/admin/layout-header.php @@ -23,7 +23,22 @@ $is_connected = !empty($api_key); diff --git a/plugins/wordpress/source/igny8-wp-bridge/igny8-bridge.php b/plugins/wordpress/source/igny8-wp-bridge/igny8-bridge.php index 9736ffe9..9fa4c988 100644 --- a/plugins/wordpress/source/igny8-wp-bridge/igny8-bridge.php +++ b/plugins/wordpress/source/igny8-wp-bridge/igny8-bridge.php @@ -3,7 +3,7 @@ * Plugin Name: IGNY8 WordPress Bridge * Plugin URI: https://igny8.com/igny8-wp-bridge * Description: Lightweight bridge plugin that connects WordPress to IGNY8 API for one-way content publishing. - * Version: 1.2.0 + * Version: 1.2.5 * Author: IGNY8 * Author URI: https://igny8.com/ * License: GPL v2 or later @@ -22,7 +22,7 @@ if (!defined('ABSPATH')) { } // Define plugin constants -define('IGNY8_BRIDGE_VERSION', '1.2.0'); +define('IGNY8_BRIDGE_VERSION', '1.2.5'); define('IGNY8_BRIDGE_PLUGIN_DIR', plugin_dir_path(__FILE__)); define('IGNY8_BRIDGE_PLUGIN_URL', plugin_dir_url(__FILE__)); define('IGNY8_BRIDGE_PLUGIN_FILE', __FILE__); diff --git a/plugins/wordpress/source/igny8-wp-bridge/includes/class-igny8-updater.php b/plugins/wordpress/source/igny8-wp-bridge/includes/class-igny8-updater.php index 77c1c79c..a3c4f631 100644 --- a/plugins/wordpress/source/igny8-wp-bridge/includes/class-igny8-updater.php +++ b/plugins/wordpress/source/igny8-wp-bridge/includes/class-igny8-updater.php @@ -57,6 +57,9 @@ class Igny8_Updater { // Hook into WordPress update system add_filter('pre_set_site_transient_update_plugins', array($this, 'check_for_updates')); add_filter('plugins_api', array($this, 'plugin_info'), 10, 3); + + // Add custom styling for plugin details popup + add_action('admin_enqueue_scripts', array($this, 'enqueue_plugin_details_styles')); } /** @@ -73,21 +76,26 @@ class Igny8_Updater { // Get update info from IGNY8 API $update_info = $this->get_update_info(); - if (!$update_info || !isset($update_info['update_available'])) { + if (!$update_info || !isset($update_info['latest_version'])) { return $transient; } - if ($update_info['update_available'] === true) { - $plugin_basename = plugin_basename($this->plugin_file); - + $plugin_basename = plugin_basename($this->plugin_file); + $latest_version = $update_info['latest_version']; + + // Only show update if latest version is actually newer than current + if (version_compare($this->version, $latest_version, '<')) { $transient->response[$plugin_basename] = (object) array( 'slug' => $this->plugin_slug, - 'new_version' => $update_info['latest_version'], - 'package' => $update_info['download_url'], + 'new_version' => $latest_version, + 'package' => $update_info['download_url'] ?? '', 'url' => $update_info['info_url'] ?? '', 'tested' => $update_info['tested'] ?? '', 'requires_php' => $update_info['requires_php'] ?? '', ); + } else { + // Remove from response if version is current or newer + unset($transient->response[$plugin_basename]); } return $transient; @@ -121,7 +129,7 @@ class Igny8_Updater { 'name' => $info['name'] ?? 'IGNY8 WordPress Bridge', 'slug' => $this->plugin_slug, 'version' => $info['version'] ?? $this->version, - 'author' => 'IGNY8', + 'author' => 'IGNY8', 'author_profile' => 'https://igny8.com', 'homepage' => 'https://igny8.com', 'sections' => array( @@ -134,6 +142,13 @@ class Igny8_Updater { ); } + /** + * Enqueue custom styles for plugin details popup + */ + public function enqueue_plugin_details_styles() { + // No custom styles needed + } + /** * Get update information from IGNY8 API *