/** * A/B Test Variant Logic */ (function () { 'use strict'; var App = window.BenchmarkApp; var STORAGE_KEY = 'benchmark_ab_variant'; /** * Determine A/B variant. * Priority: URL override → localStorage → random 50/50. * @returns {string} 'A' or 'B' */ App.getVariant = function () { // 1. URL override (extracted by params.js before URL cleanup) if (App._variantOverride) { try { localStorage.setItem(STORAGE_KEY, App._variantOverride); } catch (e) {} return App._variantOverride; } // 2. Persisted variant try { var stored = localStorage.getItem(STORAGE_KEY); if (stored === 'A' || stored === 'B') return stored; } catch (e) {} // 3. Random assignment var variant = Math.random() < 0.5 ? 'A' : 'B'; try { localStorage.setItem(STORAGE_KEY, variant); } catch (e) {} return variant; }; })();