// ==================== IMMEDIATE CSS INJECTION ==================== // Hide Wix color pickers IMMEDIATELY to prevent flash // ==================== CONFIGURATION ==================== // Session storage keys // Get instanceId from Wix Blocks parameters // Product config cache (in-memory) // Global settings cache // ==================== SESSION STORAGE ==================== // ==================== GLOBAL SETTINGS ==================== // ==================== USER VERIFICATION ==================== // Restore Wix pickers if user is not verified // ==================== PRODUCT CONFIG ==================== // Merge with global settings // ==================== DOM MANIPULATION ==================== // Find the Wix product options container // โœ… FIXED: Find ALL color variant groups (each with unique name) // Find all top-level repeater items (these are the variant groups like "Color", "color") // Get direct children repeater items (variant groups) // Find the variant name (title) // Find all radio inputs within THIS group only // Create a color swatch element // Size mapping // Shape // Get color value // Handle different color types // Hover effects // Click handler // Create variant title element // Inject custom color picker for a variant // Create wrapper container // Add title // Create custom picker container // Find default/selected color from SPO config // Also check which Wix color is currently selected // Add color swatches // Check if this SPO color matches the selected Wix color // Update visual selection // Find and click the original Wix radio button // Dispatch custom event // Insert custom picker BEFORE the Wix variant container, then hide it // ==================== MAIN HANDLER ==================== // Validate productId format // Step 1: Verify user return; // restoreWixPickers already called in verifyUser // Step 2: Get product config from CMS // Step 3: Wait for DOM and inject // Find ALL Wix color variant groups // Match and inject for each SPO variant // Find matching Wix variant group by EXACT name match first // If no exact match, try partial match (but only if not already used) matchingWixGroup.used = true; // Mark as used to prevent double-matching // Remove the immediate hide style since we've injected our pickers // Add global CSS styles // ==================== PRODUCT ID EXTRACTION ==================== // Method 1: Check Wix global state // Method 2: Check window.__PRODUCT_PAGE_DATA__ // Method 3: Check for product ID in page data (LD+JSON) // Method 4: Check URL for product ID patterns // Method 5: Look for product ID in any data attribute // Method 6: Check for hidden inputs // Track if we've already processed this product // ==================== INITIALIZATION ==================== // Validate instanceId // Register Wix analytics event listeners // ProductPageLoaded event // ViewContent event (Wix Stores tracking pixel) // Fallback: If we're already on a product page, try to extract productId // Wait for page to fully load // Try again after more time // Not on a product page, don't hide anything // Start when DOM is ready
top of page

ืื‘ื˜ื—ืช ืžื™ื“ืข

ืื‘ื˜ื—ืช ืžื™ื“ืข ื•ืฉืžื™ืจืช ืกื•ื“ื™ื•ืช

1. ืื‘ื˜ื—ืช ื”ืืชืจ
GUCHA ืžื™ื™ืฉืžืช ื ื”ืœื™ื ื˜ื›ื ื•ืœื•ื’ื™ื™ื ื•ืžื ื”ืœืชื™ื™ื ืžืชืงื“ืžื™ื ืœืฉืžื™ืจื” ืขืœ ืื‘ื˜ื—ืช ื”ืžื™ื“ืข ื‘ืืชืจ. ืขื ื–ืืช, ืืฃ ืžืขืจื›ืช ืื™ื ื” ื—ืกื™ื ื” ืœื—ืœื•ื˜ื™ืŸ, ื•ื”ื—ื‘ืจื” ืื™ื ื” ื™ื›ื•ืœื” ืœื”ืชื—ื™ื™ื‘ ืœื”ื’ื ื” ืžื•ื—ืœื˜ืช ืžืคื ื™ ื’ื™ืฉื” ื‘ืœืชื™ ืžื•ืจืฉื™ืช ืื• ืคืจื™ืฆื”.

2. ื”ืฆืคื ืช ื ืชื•ื ื™ื
ื”ืขื‘ืจืช ื”ืžื™ื“ืข ื‘ืืชืจ ื ืขืฉื™ืช ื‘ืืžืฆืขื•ืช ืคืจื•ื˜ื•ืงื•ืœ SSL ืžื•ืฆืคืŸ, ื‘ื”ืชืื ืœืชืงื ื™ื ืžื—ืžื™ืจื™ื ืฉืœ ืื‘ื˜ื—ืช ืžื™ื“ืข. ื”ืขื‘ืจืช ืคืจื˜ื™ ื›ืจื˜ื™ืก ื”ืืฉืจืื™ ืžืชื‘ืฆืขืช ื™ืฉื™ืจื•ืช ืœืกืคืงื™ ื”ืกืœื™ืงื” ื”ืžืื•ื‘ื˜ื—ื™ื – ืœืœื ืฉืžื™ืจืชื ื‘ืฉืจืชื™ ื”ื—ื‘ืจื”.

3. ื”ื’ื‘ืœืช ืฉื™ืžื•ืฉ ื‘ืžื™ื“ืข ืื™ืฉื™
ื”ืžื™ื“ืข ืฉื ืžืกืจ ื‘ืžื”ืœืš ื‘ื™ืฆื•ืข ืจื›ื™ืฉื” ืžืฉืžืฉ ืœืฆื•ืจืš ืชืคืขื•ืœ ื”ื”ื–ืžื ื”, ืฉื™ืจื•ืช ืœืงื•ื—ื•ืช, ืชื™ืขื•ื“ ืžืฉืคื˜ื™ ื•ืœื™ืฆื™ืจืช ืงืฉืจ ื‘ืžืงืจื” ื”ืฆื•ืจืš.
ื”ื—ื‘ืจื” ืœื ืชืขื‘ื™ืจ ืืช ืคืจื˜ื™ื™ืš ื”ืื™ืฉื™ื™ื ืœืฆื“ื“ื™ื ืฉืœื™ืฉื™ื™ื ืœืฆื•ืจื›ื™ ืคืจืกื•ื ืื• ืฉื™ื•ื•ืง – ืืœื ืื ื ื™ืชื ื” ืœื›ืš ื”ืกื›ืžื” ืžืคื•ืจืฉืช.

4. ืื—ืจื™ื•ืช ืžื•ื’ื‘ืœืช
ื‘ืžืงืจื™ื ืฉืœ ืชืงืœื•ืช ื˜ื›ื ื™ื•ืช, ืื™ืจื•ืขื™ ื›ื•ื— ืขืœื™ื•ืŸ ืื• ื—ื“ื™ืจื” ืฉืžืงื•ืจื” ื‘ื’ื•ืจืžื™ื ืฉืื™ื ื ื‘ืฉืœื™ื˜ืช ื”ื—ื‘ืจื” – GUCHA ืœื ืชื™ืฉื ื‘ืื—ืจื™ื•ืช ืœื ื–ืง ื™ืฉื™ืจ ืื• ืขืงื™ืฃ ืฉื™ื™ื’ืจื, ื‘ืžื™ืฉืจื™ืŸ ืื• ื‘ืขืงื™ืคื™ืŸ, ื›ืชื•ืฆืื” ืžืฉื™ืžื•ืฉ ื‘ืžื™ื“ืข.

โธป

ืกื•ื’ื™ ื”ืžื™ื“ืข ืฉื ืืกืฃ

1. ืžื™ื“ืข ืื™ืฉื™ ืžื–ื”ื”
ื‘ืขืช ื‘ื™ืฆื•ืข ื”ื–ืžื ื” ื‘ืืชืจ, ื ืืกืฃ ืžื™ื“ืข ืฉืืช ืžื–ื™ื ื” ื‘ืื•ืคืŸ ื™ื–ื•ื – ื›ื’ื•ืŸ ืฉื, ื˜ืœืคื•ืŸ, ื›ืชื•ื‘ืช ืื™ืžื™ื™ืœ, ื›ืชื•ื‘ืช ืœืžืฉืœื•ื— ื•ืืžืฆืขื™ ืชืฉืœื•ื.

2. ืžื™ื“ืข ืฉืื™ื ื• ืžื–ื”ื” ืื™ืฉื™ืช
ื‘ืžื”ืœืš ื”ื’ืœื™ืฉื” ื‘ืืชืจ ื ืืกืฃ ืžื™ื“ืข ื˜ื›ื ื™ ืกื˜ื˜ื™ืกื˜ื™ ื›ืžื• ื›ืชื•ื‘ืช IP, ืกื•ื’ ื”ื“ืคื“ืคืŸ, ืžืฉืš ื–ืžืŸ ืฉื”ื™ื™ื” ื‘ืืชืจ ื•ื“ืคื™ื ืฉื ืฆืคื•. ืžื™ื“ืข ื–ื” ืžืฉืžืฉ ืœืฆืจื›ื™ ื ื™ืชื•ื— ื•ืฉื™ืคื•ืจ ื—ื•ื•ื™ื™ืช ื”ืžืฉืชืžืฉ.

3. ืฉื™ืžื•ืฉ ื‘ื›ืœื™ ื ื™ืชื•ื— ืฆื“ ืฉืœื™ืฉื™
ื”ืืชืจ ืขื•ืฉื” ืฉื™ืžื•ืฉ ื‘ื›ืœื™ื ื—ื™ืฆื•ื ื™ื™ื ื›ืžื• Google Analytics ืœืฆื•ืจืš ืื™ืกื•ืฃ ื ืชื•ื ื™ ืฉื™ืžื•ืฉ ืกื˜ื˜ื™ืกื˜ื™ื™ื. ื”ืžื™ื“ืข ืื™ื ื• ื›ื•ืœืœ ื–ื™ื”ื•ื™ ืื™ืฉื™ ื™ืฉื™ืจ ื•ืื™ื ื• ื ืžืกืจ ืœืฆื“ื“ื™ื ืฉืœื™ืฉื™ื™ื ืœืžืขื˜ ื‘ืžืงืจื™ื ื”ืžื—ื•ื™ื‘ื™ื ืขืœ ืคื™ ื—ื•ืง (ืœืžืฉืœ – ืœืคื™ ืฆื• ื‘ื™ืช ืžืฉืคื˜ ืื• ื“ืจื™ืฉื” ืฉืœ ืจืฉื•ืช ืžื•ืกืžื›ืช).

bottom of page