PageSourceSearch

https://404eats.com/assets/js/customer-seasonal-effects.js?version=1790254072

js 404eats.com collected 2026-09-24 12:48:52 UTC 2,509 bytes, 39 lines download raw bytes

1(function(){
2 "use strict";
3 var layer=document.querySelector(".seasonal-effect-layer"),toggle=document.querySelector(".seasonal-effect-toggle");
4 if(!layer||!toggle||window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;
5 var settings={};
6 try{settings=JSON.parse(layer.getAttribute("data-seasonal-effects")||"{}");}catch(e){settings={enabled:false};}
7 var storageKey="404eats-seasonal-effects",stored=localStorage.getItem(storageKey),enabled=stored===null?settings.customer_default!==false:stored==="1";
8 var presetSymbols={CONFETTI:["◆","●","■"],FALLING_LEAVES:["❧","◆","●"],SNOW:["❄","✧","•"],HEARTS:["♥","♡","✧"],SPARKLES:["✦","✧","◆"],BUBBLES:["○","◦","✿"],FIREWORKS:["✺","✹","✦"],CUSTOM_DOTS:["•","●"]};
9 var theme=(document.body.getAttribute("data-seasonal-theme")||"").toUpperCase();
10 var themeSymbols={
11  CHRISTMAS:["❄","✦","•"],HALLOWEEN:["☾","✦","◆"],VALENTINES:["♥","♡","✧"],THANKSGIVING:["❧","◆","●"],
12  NEW_YEAR:["✺","✹","✦"],JULY_4TH:["★","✦","•"],EASTER:["○","◦","✿"],MOTHERS_DAY:["✿","♡","✧"],
13  FATHERS_DAY:["✦","✧","◆"],SPRING:["✿","❀","◦"],SUMMER:["☀","○","◦"],FALL:["❧","◆","●"],WINTER:["❄","✧","•"]
14 };
15 var chars=themeSymbols[theme]||presetSymbols[settings.preset]||presetSymbols.CUSTOM_DOTS;
16 var max=window.matchMedia("(max-width: 767px)").matches?12:20,count=Math.max(0,Math.min(max,parseInt(settings.density,10)||0));
17 function render(){
18  layer.textContent="";
19  document.documentElement.classList.toggle("seasonal-effects-off",!enabled);
20  toggle.setAttribute("aria-pressed",enabled?"true":"false");
21  if(!enabled||document.hidden)return;
22  var frag=document.createDocumentFragment();
23  for(var i=0;i<count;i++){
24   var p=document.createElement("i");
25   p.className="seasonal-particle seasonal-particle--"+theme.toLowerCase().replace(/[^a-z0-9_-]/g,"-");
26   p.textContent=chars[i%chars.length];
27   p.style.left=((i*83)%97)+"%";
28   p.style.setProperty("--seasonal-delay",(-i*.67)+"s");
29   p.style.setProperty("--seasonal-duration",(7+(i%6))+"s");
30   p.style.setProperty("--seasonal-drift",(-30+(i*17)%60)+"px");
31   p.style.setProperty("--seasonal-size",(12+(i%5)*3)+"px");
32   frag.appendChild(p);
33  }
34  layer.appendChild(frag);
35 }
36 toggle.addEventListener("click",function(){enabled=!enabled;localStorage.setItem(storageKey,enabled?"1":"0");render();});
37 document.addEventListener("visibilitychange",render,{passive:true});
38 render();
39})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.