{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/eOxRpYGEENAs2bF8YV5Y/j2EbPtLVvc0qTVijQy4U/siteMetadata.js"],
  "sourcesContent": ["// Generated by Framer (189896a)\nexport default function metadata(params,activeLocale){return{customHTMLBodyEnd:'<script src=\"https://static.webkraft.dev/js/screensaver.js\" defer=\"\"></script>',customHTMLBodyStart:'<!-- Google Tag Manager (noscript) -->\\n<noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id=GTM-N3H96SVZ\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>\\n<!-- End Google Tag Manager (noscript) -->',customHTMLHeadEnd:\"<script>\\n/**\\n * Optimized Google Analytics 4 + CookieYes Integration\\n * CSP-compliant implementation with centralized consent management\\n * Eliminates duplicate requests and improves performance\\n */\\n\\n(function() {\\n    'use strict';\\n    \\n    // Configuration constants\\n    const CONFIG = {\\n        GA_MEASUREMENT_ID: 'G-655PCGSEL2',\\n        DOMAIN: 'webkraft.dev',\\n        COOKIEYES_TIMEOUT: 10000, // 10 seconds max wait for CookieYes\\n        DEBOUNCE_DELAY: 300 // 300ms debounce for consent changes\\n    };\\n    \\n    // Centralized state management\\n    const STATE = {\\n        gaScriptLoaded: false,\\n        gaInitialized: false,\\n        consentProcessed: false,\\n        consentGranted: false,\\n        pageViewSent: false,\\n        cookieYesReady: false,\\n        initializationComplete: false\\n    };\\n    \\n    // Initialize dataLayer once\\n    window.dataLayer = window.dataLayer || [];\\n    function gtag() { dataLayer.push(arguments); }\\n    \\n    // Set initial timestamp\\n    gtag('js', new Date());\\n    \\n    // Set restrictive default consent (GDPR compliant)\\n    gtag('consent', 'default', {\\n        'analytics_storage': 'denied',\\n        'ad_storage': 'denied',\\n        'ad_user_data': 'denied',\\n        'ad_personalization': 'denied',\\n        'functionality_storage': 'denied',\\n        'personalization_storage': 'denied',\\n        'security_storage': 'granted'\\n    });\\n    \\n    /**\\n     * Debounce utility function to prevent rapid-fire consent changes\\n     */\\n    function debounce(func, delay) {\\n        let timeoutId;\\n        return function() {\\n            const context = this;\\n            const args = arguments;\\n            clearTimeout(timeoutId);\\n            timeoutId = setTimeout(function() {\\n                func.apply(context, args);\\n            }, delay);\\n        };\\n    }\\n    \\n    /**\\n     * Enhanced logging with context\\n     */\\n    function log(level, message, data) {\\n        const timestamp = new Date().toISOString();\\n        const logMessage = `[GA Integration ${timestamp}] ${message}`;\\n        \\n        if (data) {\\n            console[level](logMessage, data);\\n        } else {\\n            console[level](logMessage);\\n        }\\n    }\\n    \\n    /**\\n     * Load Google Analytics script with promise-based error handling\\n     */\\n    function loadGoogleAnalyticsScript() {\\n        return new Promise(function(resolve, reject) {\\n            if (STATE.gaScriptLoaded) {\\n                resolve();\\n                return;\\n            }\\n            \\n            const script = document.createElement('script');\\n            script.async = true;\\n            script.src = `https://www.googletagmanager.com/gtag/js?id=${CONFIG.GA_MEASUREMENT_ID}`;\\n            \\n            const timeoutId = setTimeout(function() {\\n                reject(new Error('Google Analytics script loading timeout'));\\n            }, 10000);\\n            \\n            script.onload = function() {\\n                clearTimeout(timeoutId);\\n                STATE.gaScriptLoaded = true;\\n                log('info', 'Google Analytics script loaded successfully');\\n                resolve();\\n            };\\n            \\n            script.onerror = function() {\\n                clearTimeout(timeoutId);\\n                reject(new Error('Google Analytics script failed to load (likely blocked by ad blocker)'));\\n            };\\n            \\n            document.head.appendChild(script);\\n        });\\n    }\\n    \\n    /**\\n     * Initialize Google Analytics configuration\\n     */\\n    function initializeGoogleAnalytics() {\\n        if (STATE.gaInitialized) {\\n            return;\\n        }\\n        \\n        try {\\n            gtag('config', CONFIG.GA_MEASUREMENT_ID, {\\n                // Privacy-first configuration\\n                'anonymize_ip': true,\\n                'allow_ad_personalization_signals': false,\\n                'allow_google_signals': false,\\n                \\n                // Performance optimization\\n                'transport_type': 'beacon',\\n                'send_page_view': false, // We'll handle page view manually after consent\\n                \\n                // Additional configuration\\n                'page_title': document.title,\\n                'page_location': window.location.href,\\n                'custom_map': {\\n                    'custom_parameter_1': 'domain'\\n                }\\n            });\\n            \\n            STATE.gaInitialized = true;\\n            log('info', 'Google Analytics initialized with privacy-first configuration');\\n            \\n        } catch (error) {\\n            log('error', 'Google Analytics initialization failed', error);\\n            throw error;\\n        }\\n    }\\n    \\n    /**\\n     * Send page view event (only once per page load)\\n     */\\n    function sendPageView() {\\n        if (STATE.pageViewSent || !STATE.consentGranted) {\\n            return;\\n        }\\n        \\n        try {\\n            gtag('event', 'page_view', {\\n                'page_title': document.title,\\n                'page_location': window.location.href,\\n                'domain': CONFIG.DOMAIN,\\n                'consent_method': 'CookieYes'\\n            });\\n            \\n            STATE.pageViewSent = true;\\n            log('info', 'Page view event sent to Google Analytics');\\n            \\n        } catch (error) {\\n            log('error', 'Failed to send page view event', error);\\n        }\\n    }\\n    \\n    /**\\n     * Grant analytics consent and update Google Analytics\\n     */\\n    const grantAnalyticsConsent = debounce(function() {\\n        if (STATE.consentGranted && STATE.consentProcessed) {\\n            log('info', 'Analytics consent already granted, skipping duplicate request');\\n            return;\\n        }\\n        \\n        try {\\n            // Update consent in Google Analytics\\n            gtag('consent', 'update', {\\n                'analytics_storage': 'granted',\\n                'functionality_storage': 'granted'\\n            });\\n            \\n            // Update state\\n            STATE.consentGranted = true;\\n            STATE.consentProcessed = true;\\n            \\n            // Send page view after consent is granted\\n            sendPageView();\\n            \\n            log('info', 'Analytics consent granted successfully');\\n            \\n            // Dispatch custom event for other scripts\\n            const consentEvent = new CustomEvent('webkraft_analytics_consent_granted', {\\n                detail: { timestamp: new Date().toISOString() }\\n            });\\n            document.dispatchEvent(consentEvent);\\n            \\n        } catch (error) {\\n            log('error', 'Failed to grant analytics consent', error);\\n        }\\n    }, CONFIG.DEBOUNCE_DELAY);\\n    \\n    /**\\n     * Revoke analytics consent\\n     */\\n    const revokeAnalyticsConsent = debounce(function() {\\n        if (!STATE.consentGranted && STATE.consentProcessed) {\\n            log('info', 'Analytics consent already revoked, skipping duplicate request');\\n            return;\\n        }\\n        \\n        try {\\n            // Update consent in Google Analytics\\n            gtag('consent', 'update', {\\n                'analytics_storage': 'denied',\\n                'functionality_storage': 'denied'\\n            });\\n            \\n            // Update state\\n            STATE.consentGranted = false;\\n            STATE.consentProcessed = true;\\n            \\n            log('info', 'Analytics consent revoked successfully');\\n            \\n            // Dispatch custom event for other scripts\\n            const consentEvent = new CustomEvent('webkraft_analytics_consent_revoked', {\\n                detail: { timestamp: new Date().toISOString() }\\n            });\\n            document.dispatchEvent(consentEvent);\\n            \\n        } catch (error) {\\n            log('error', 'Failed to revoke analytics consent', error);\\n        }\\n    }, CONFIG.DEBOUNCE_DELAY);\\n    \\n    /**\\n     * CookieYes integration with unified event handling\\n     */\\n    function setupCookieYesIntegration() {\\n        let integrationAttempts = 0;\\n        const maxAttempts = 3;\\n        \\n        function attemptIntegration() {\\n            integrationAttempts++;\\n            \\n            // Method 1: CookieYes API integration (preferred)\\n            if (window.cookieyes && typeof window.cookieyes.getConsentStatus === 'function') {\\n                log('info', 'CookieYes API detected, using direct integration');\\n                \\n                try {\\n                    // Get current consent status\\n                    const consentStatus = window.cookieyes.getConsentStatus();\\n                    processConsentStatus(consentStatus);\\n                    \\n                    // Listen for consent updates\\n                    if (typeof window.cookieyes.onConsentUpdate === 'function') {\\n                        window.cookieyes.onConsentUpdate(function(updatedConsent) {\\n                            log('info', 'CookieYes consent update received', updatedConsent);\\n                            processConsentStatus(updatedConsent);\\n                        });\\n                    }\\n                    \\n                    STATE.cookieYesReady = true;\\n                    return true;\\n                    \\n                } catch (error) {\\n                    log('warn', 'CookieYes API integration failed', error);\\n                }\\n            }\\n            \\n            // Method 2: Event listener integration (fallback)\\n            document.addEventListener('cookieyes_consent_update', function(event) {\\n                log('info', 'CookieYes event received', event.detail);\\n                \\n                if (event.detail && event.detail.accepted) {\\n                    const hasAnalyticsConsent = event.detail.accepted.some(function(category) {\\n                        return ['analytics', 'performance', 'functional'].indexOf(category) !== -1;\\n                    });\\n                    \\n                    if (hasAnalyticsConsent) {\\n                        grantAnalyticsConsent();\\n                    } else {\\n                        revokeAnalyticsConsent();\\n                    }\\n                }\\n            });\\n            \\n            // Method 3: Cookie polling (last resort)\\n            if (integrationAttempts >= maxAttempts && !STATE.cookieYesReady) {\\n                log('info', 'Falling back to cookie polling method');\\n                pollForConsentCookie();\\n            }\\n            \\n            return false;\\n        }\\n        \\n        // Try integration immediately\\n        if (!attemptIntegration()) {\\n            // Retry after short delay if CookieYes not ready\\n            const retryInterval = setInterval(function() {\\n                if (attemptIntegration() || integrationAttempts >= maxAttempts) {\\n                    clearInterval(retryInterval);\\n                }\\n            }, 1000);\\n            \\n            // Stop trying after timeout\\n            setTimeout(function() {\\n                clearInterval(retryInterval);\\n                if (!STATE.cookieYesReady) {\\n                    log('warn', 'CookieYes integration timeout reached, using fallback methods');\\n                }\\n            }, CONFIG.COOKIEYES_TIMEOUT);\\n        }\\n    }\\n    \\n    /**\\n     * Process consent status from CookieYes API\\n     */\\n    function processConsentStatus(consentStatus) {\\n        if (!consentStatus) {\\n            return;\\n        }\\n        \\n        // Check various consent properties\\n        const hasConsent = consentStatus.analytics === true ||\\n                          consentStatus.performance === true ||\\n                          consentStatus.functional === true ||\\n                          (consentStatus.categories && \\n                           consentStatus.categories.some(function(cat) {\\n                               return ['analytics', 'performance', 'functional'].indexOf(cat) !== -1;\\n                           }));\\n        \\n        if (hasConsent) {\\n            grantAnalyticsConsent();\\n        } else {\\n            revokeAnalyticsConsent();\\n        }\\n    }\\n    \\n    /**\\n     * Simplified cookie polling as last resort\\n     */\\n    function pollForConsentCookie() {\\n        const cookiePatterns = [\\n            'cookieyes-consent',\\n            'cky-consent',\\n            'cookielawinfo-checkbox-analytics'\\n        ];\\n        \\n        let pollCount = 0;\\n        const maxPolls = 5; // Reduced from 15 to minimize network requests\\n        \\n        const pollInterval = setInterval(function() {\\n            if (STATE.consentProcessed) {\\n                clearInterval(pollInterval);\\n                return;\\n            }\\n            \\n            const cookies = document.cookie.split('; ');\\n            let consentFound = false;\\n            \\n            for (let i = 0; i < cookiePatterns.length && !consentFound; i++) {\\n                const pattern = cookiePatterns[i];\\n                \\n                for (let j = 0; j < cookies.length; j++) {\\n                    if (cookies[j].startsWith(pattern + '=')) {\\n                        const cookieValue = decodeURIComponent(cookies[j].split('=')[1]);\\n                        \\n                        // Simple consent detection\\n                        const hasConsent = cookieValue.toLowerCase().indexOf('analytics') !== -1 &&\\n                                          (cookieValue.indexOf('yes') !== -1 || \\n                                           cookieValue.indexOf('true') !== -1 ||\\n                                           cookieValue.indexOf('granted') !== -1);\\n                        \\n                        if (hasConsent) {\\n                            log('info', 'Analytics consent detected via cookie polling');\\n                            grantAnalyticsConsent();\\n                        } else {\\n                            revokeAnalyticsConsent();\\n                        }\\n                        \\n                        consentFound = true;\\n                        break;\\n                    }\\n                }\\n            }\\n            \\n            pollCount++;\\n            if (pollCount >= maxPolls) {\\n                log('info', 'Cookie polling completed without finding consent');\\n                clearInterval(pollInterval);\\n            }\\n        }, 2000);\\n    }\\n    \\n    /**\\n     * Public API for manual control and external integration\\n     */\\n    window.webkraftAnalytics = {\\n        // Send custom event\\n        sendEvent: function(eventName, parameters) {\\n            if (!STATE.consentGranted) {\\n                log('warn', 'Cannot send event - analytics consent not granted', { event: eventName });\\n                return false;\\n            }\\n            \\n            try {\\n                gtag('event', eventName, parameters || {});\\n                log('info', 'Custom event sent', { event: eventName, parameters: parameters });\\n                return true;\\n            } catch (error) {\\n                log('error', 'Failed to send custom event', { event: eventName, error: error });\\n                return false;\\n            }\\n        },\\n        \\n        // Check system status\\n        getStatus: function() {\\n            return {\\n                gaScriptLoaded: STATE.gaScriptLoaded,\\n                gaInitialized: STATE.gaInitialized,\\n                consentGranted: STATE.consentGranted,\\n                consentProcessed: STATE.consentProcessed,\\n                pageViewSent: STATE.pageViewSent,\\n                cookieYesReady: STATE.cookieYesReady,\\n                ready: STATE.initializationComplete\\n            };\\n        },\\n        \\n        // Manual consent control (for testing purposes)\\n        _grantConsent: grantAnalyticsConsent,\\n        _revokeConsent: revokeAnalyticsConsent\\n    };\\n    \\n    /**\\n     * Main initialization function\\n     */\\n    function initialize() {\\n        if (STATE.initializationComplete) {\\n            log('warn', 'Analytics already initialized, skipping duplicate initialization');\\n            return;\\n        }\\n        \\n        log('info', 'Starting Google Analytics + CookieYes integration');\\n        \\n        // Load Google Analytics script\\n        loadGoogleAnalyticsScript()\\n            .then(function() {\\n                // Initialize Google Analytics\\n                initializeGoogleAnalytics();\\n                \\n                // Setup CookieYes integration\\n                setupCookieYesIntegration();\\n                \\n                STATE.initializationComplete = true;\\n                log('info', 'Analytics integration initialized successfully');\\n                \\n                // Dispatch ready event\\n                const readyEvent = new CustomEvent('webkraft_analytics_ready', {\\n                    detail: { timestamp: new Date().toISOString() }\\n                });\\n                document.dispatchEvent(readyEvent);\\n            })\\n            .catch(function(error) {\\n                log('error', 'Analytics initialization failed', error);\\n                \\n                // Still mark as complete to prevent retry loops\\n                STATE.initializationComplete = true;\\n            });\\n    }\\n    \\n    /**\\n     * Enhanced error handling for Google Analytics\\n     */\\n    function setupErrorHandling() {\\n        // Suppress common GA network errors from ad blockers\\n        const originalConsoleError = console.error;\\n        console.error = function() {\\n            const args = Array.prototype.slice.call(arguments);\\n            const message = args.join(' ').toLowerCase();\\n            \\n            // Filter out known ad-blocker related errors\\n            if (message.indexOf('google-analytics') !== -1 && \\n                (message.indexOf('blocked') !== -1 || \\n                 message.indexOf('network') !== -1 ||\\n                 message.indexOf('fetch') !== -1)) {\\n                log('warn', 'GA network request blocked (likely by ad blocker)', args[0]);\\n                return;\\n            }\\n            \\n            originalConsoleError.apply(console, args);\\n        };\\n    }\\n    \\n    // Initialize error handling\\n    setupErrorHandling();\\n    \\n    // Initialize when DOM is ready\\n    if (document.readyState === 'loading') {\\n        document.addEventListener('DOMContentLoaded', initialize);\\n    } else {\\n        // DOM already loaded, initialize immediately\\n        setTimeout(initialize, 0);\\n    }\\n    \\n})();\\n</script>\",customHTMLHeadStart:\"<!-- Add to Framer: Site Settings > Custom Code > Head -->\\n<script>\\n(function() {\\n  // Check if user came from loader\\n  const isFromLoader = document.referrer.includes('loader.webkraft.dev');\\n  \\n  // Check if loader was already shown in this session\\n  const loaderShown = sessionStorage.getItem('webkraft_loader_shown');\\n  \\n  // If NOT from loader and loader wasn't shown yet - redirect\\n  if (!isFromLoader && !loaderShown) {\\n    // Mark that loader will be shown\\n    sessionStorage.setItem('webkraft_loader_shown', 'true');\\n    \\n    // Redirect to loader\\n    window.location.replace('https://loader.webkraft.dev');\\n  }\\n})();\\n</script>\\n\\n<!-- Google Tag Manager -->\\n<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\\nnew Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\\nj=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\\n'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\\n})(window,document,'script','dataLayer','GTM-N3H96SVZ');</script>\\n<!-- End Google Tag Manager -->\\n\\n\\n<link rel=\\\"stylesheet\\\" href=\\\"https://static.webkraft.dev/css/main.css\\\">\",description:\"We handcrafted websites with purpose, precision, and power. Showcasing selected works in web design & front-end development.\",favicon:\"https://framerusercontent.com/assets/13bd5ZiS6GAF9wvRnBLN4lip3E.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/VB9dcVxOc3cMkLU0HbIwDrGILFY.png\",title:\"Web Kraft\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["metadata", "params", "activeLocale"]
}
