Changeset 3394378
- Timestamp:
- 11/12/2025 01:49:14 PM (5 months ago)
- Location:
- ready-made-oxygen-integration/trunk
- Files:
-
- 5 edited
-
README.md (modified) (1 diff)
-
includes/js/addPasteButton-modular.js (modified) (1 diff)
-
includes/js/modules/classProcessor.js (modified) (9 diffs)
-
readme.txt (modified) (2 diffs)
-
ready-made-oxygen-integration.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ready-made-oxygen-integration/trunk/README.md
r3394213 r3394378 1 1 # Ready-Made Oxygen Integration 2 2 3 [](https://levels.dev)3 [](https://levels.dev) 4 4 [](https://wordpress.org) 5 5 [](https://oxygenbuilder.com) -
ready-made-oxygen-integration/trunk/includes/js/addPasteButton-modular.js
r3394213 r3394378 3 3 * Modular structure for better maintainability 4 4 * 5 * Version: 1.3. 16 */ 7 8 console.log("READOXIN: ✅ Plugin loaded v1.3. 1");5 * Version: 1.3.2 6 */ 7 8 console.log("READOXIN: ✅ Plugin loaded v1.3.2"); 9 9 10 10 // Verify modules are loaded -
ready-made-oxygen-integration/trunk/includes/js/modules/classProcessor.js
r3394213 r3394378 158 158 styles: classDef.original || {}, 159 159 parent: classDef.parent || -1, 160 set_name: classDef.set_name || '' 160 set_name: classDef.set_name || '', 161 media: classDef.media || {} 161 162 }); 162 163 } else { … … 168 169 styles: classDef.original || {}, 169 170 parent: classDef.parent || -1, 170 set_name: classDef.set_name || '' 171 set_name: classDef.set_name || '', 172 media: classDef.media || {} 171 173 }); 172 174 } … … 175 177 176 178 if (this.settings.debug) { 179 // Count classes with media queries 180 const createWithMedia = toCreate.filter(c => c.media && Object.keys(c.media).length > 0); 181 const updateWithMedia = toUpdate.filter(c => c.media && Object.keys(c.media).length > 0); 182 177 183 console.log('READOXIN: Class sync analysis:', { 178 184 toCreate: toCreate.length, 179 185 toUpdate: toUpdate.length, 180 mode: this.settings.classSyncMode 186 mode: this.settings.classSyncMode, 187 withMediaQueries: { 188 create: createWithMedia.length, 189 update: updateWithMedia.length 190 } 181 191 }); 192 193 // Log classes with media queries 194 if (createWithMedia.length > 0) { 195 console.log('READOXIN: 📱 Classes with media queries (create):', createWithMedia.map(c => ({ 196 name: c.className, 197 breakpoints: Object.keys(c.media) 198 }))); 199 } 200 if (updateWithMedia.length > 0) { 201 console.log('READOXIN: 📱 Classes with media queries (update):', updateWithMedia.map(c => ({ 202 name: c.className, 203 breakpoints: Object.keys(c.media) 204 }))); 205 } 182 206 } 183 207 … … 322 346 } 323 347 348 // Include media queries if present 349 if (item.media && Object.keys(item.media).length > 0) { 350 classObj.media = item.media; 351 } 352 324 353 updatedClasses[item.className] = classObj; 325 354 changedClasses[item.className] = classObj; // Track only changed classes … … 380 409 } 381 410 411 // Include media queries if present 412 if (item.media && Object.keys(item.media).length > 0) { 413 classObj.media = item.media; 414 } 415 382 416 updatedClasses[item.className] = classObj; 383 417 changedClasses[item.className] = classObj; // Track only changed classes … … 426 460 updatedClasses[item.className].original = item.styles; 427 461 462 // Update media queries if provided 463 if (item.media !== undefined) { 464 if (Object.keys(item.media).length > 0) { 465 updatedClasses[item.className].media = item.media; 466 } else { 467 // Remove media property if empty object 468 delete updatedClasses[item.className].media; 469 } 470 } 471 428 472 // Track only changed classes 429 473 changedClasses[item.className] = updatedClasses[item.className]; … … 478 522 if (item.set_name !== undefined) { 479 523 updatedClasses[item.className].set_name = item.set_name; 524 } 525 526 // Update media queries if provided 527 if (item.media !== undefined) { 528 if (Object.keys(item.media).length > 0) { 529 updatedClasses[item.className].media = item.media; 530 } else { 531 // Remove media property if empty object 532 delete updatedClasses[item.className].media; 533 } 480 534 } 481 535 … … 560 614 if (item.set_name !== undefined) { 561 615 scope.classes[item.className].set_name = item.set_name; 616 } 617 618 // Update media queries if provided 619 if (item.media !== undefined) { 620 if (Object.keys(item.media).length > 0) { 621 scope.classes[item.className].media = item.media; 622 } else { 623 // Remove media property if empty object 624 delete scope.classes[item.className].media; 625 } 562 626 } 563 627 } … … 573 637 if (item.set_name && item.set_name !== '' && !(Array.isArray(item.set_name) && item.set_name.length === 0)) { 574 638 classObj.set_name = item.set_name; 639 } 640 641 // Include media queries if present 642 if (item.media && Object.keys(item.media).length > 0) { 643 classObj.media = item.media; 575 644 } 576 645 -
ready-made-oxygen-integration/trunk/readme.txt
r3394213 r3394378 5 5 Requires at least: 5.0 6 6 Tested up to: 6.8 7 Stable tag: 1.3. 17 Stable tag: 1.3.2 8 8 Requires PHP: 7.2 9 9 License: GPLv2 or later … … 76 76 == Changelog == 77 77 78 = 1.3.2 = 79 * NEW: Full media query support - Figma responsive breakpoints now sync to Oxygen 80 * Supports all Oxygen breakpoints: page-width, phone-landscape, phone-portrait, tablet 81 * Classes preserve responsive styles: base + tablet + mobile variations 82 * Debug logging shows classes with media queries and breakpoint names 83 78 84 = 1.3.1 = 79 85 * Performance: Incremental class saving - only sends changed classes instead of entire database (1 class = <1s instead of 7s) -
ready-made-oxygen-integration/trunk/ready-made-oxygen-integration.php
r3394213 r3394378 7 7 * Plugin URI: https://levels.dev/automatic-webdevelopment-from-figma-via-copy-paste 8 8 * Description: Essential integration for the Ready-Made Figma plugin to enable copy-paste functionality with Oxygen 4. 9 * Version: 1.3. 19 * Version: 1.3.2 10 10 * Author: levels.dev 11 11 * Author URI: https://levels.dev … … 26 26 27 27 // Define plugin version 28 define('READOXIN_JS_VERSION', '1.3. 1');28 define('READOXIN_JS_VERSION', '1.3.2'); 29 29 30 30 // Use global namespace for WordPress hooks … … 396 396 if (!empty($set_name)) { 397 397 $class_obj['set_name'] = $set_name; 398 } 399 400 // Include media queries if present 401 if (isset($class_data['media']) && is_array($class_data['media']) && !empty($class_data['media'])) { 402 $class_obj['media'] = $class_data['media']; 398 403 } 399 404
Note: See TracChangeset
for help on using the changeset viewer.