PageSourceSearch

https://lovelofi.app/_app/immutable/nodes/4.CLGabN3q.js

js lovelofi.app collected 2026-10-02 01:14:39 UTC 4,809 bytes, 3 lines download raw bytes

1import{a as _,f as L}from"../chunks/D7_HFaOx.js";import{o as F}from"../chunks/mEwtWhUX.js";import{p as H,o as M,q as O,f as W,t as q,a as N,u as U,c as r,s as o,v as G,$ as J,w as m,r as s,x as i,y as p}from"../chunks/Bh_NaAiz.js";import{h as K}from"../chunks/8yT0xsUd.js";import{s as P}from"../chunks/CXX2agSa.js";import{A as Q}from"../chunks/CTzmEpes.js";import{C as D}from"../chunks/BHr0PCWE.js";import{D as V}from"../chunks/Dk10QEii.js";import{A as X}from"../chunks/Dnv5EABi.js";var Y=L('<meta name="description" content="Browse the full LoveLofi preset demo library, including atmosphere packs and experimental packs, all from one page."/>'),Z=L(`<section class="border-b border-border-soft bg-surface-1 py-18 sm:py-22"><div class="mx-auto max-w-6xl px-4 sm:px-6"><div class="max-w-3xl"><p class="inline-flex items-center gap-2 rounded-pill border border-border bg-surface-0 px-4 py-1.5 text-sm text-ink-secondary"><!> Full Demo Library</p> <h1 class="mt-5 font-display text-4xl font-bold leading-tight text-ink sm:text-5xl">Browse every demo preset, pack, and atmosphere in one place</h1> <p class="mt-4 max-w-2xl text-lg text-ink-secondary">This page expands the homepage demo with the full starting library: built-in presets,
2				atmosphere collections, and the more experimental corners of LoveLofi.</p> <div class="mt-7 flex flex-wrap gap-3"><a target="_blank" rel="noopener" class="btn-lift rounded-button bg-accent px-5 py-3 text-sm font-semibold text-white hover:bg-accent-hover">Install Extension</a> <a href="/#demo" class="btn-lift rounded-button border border-border px-5 py-3 text-sm font-semibold text-ink hover:bg-surface-0">Back To Homepage Demo</a></div></div></div></section> <section class="border-b border-border-soft bg-surface-1"><!></section> <section class="py-18"><div class="mx-auto max-w-6xl px-4 text-center sm:px-6"><h2 class="font-display text-3xl font-bold text-ink sm:text-4xl">Take the full library into your own listening setup</h2> <p class="mx-auto mt-4 max-w-2xl text-ink-tertiary">The web demo gives you a taste. The extension adds the full preset workflow, radio, tab audio,
3			ambient layers, and premium pack imports.</p> <div class="mt-8 flex flex-wrap justify-center gap-3"><a target="_blank" rel="noopener" class="btn-lift inline-flex items-center rounded-button bg-accent px-5 py-3 text-sm font-semibold text-white hover:bg-accent-hover">Install Extension</a> <a href="/download" class="btn-lift inline-flex items-center rounded-button border border-border gap-2 px-5 py-3 text-sm font-semibold text-ink hover:bg-surface-1">Download App <!></a> <a href="/" class="btn-lift rounded-button border border-border px-5 py-3 text-sm font-semibold text-ink hover:bg-surface-1">Back To Home</a></div></div></section>`,1);function de(A,S){H(S,!0);let n=M(O([]));const T=new Set(["rainy-night","sunday-morning","city-lights","strange-rooms","after-hours"]),C=new Set(["radio-ghosts","underwater-dreams","digital-decay","ta
3pe-dreams"]);function a(e,t){return{enabled:!!e[t]?.enabled,intensity:e[t]?.intensity??0}}function f(e,t){return{id:`pack:${e.id}:${t.id}`,name:t.name,description:`${t.description} From the ${e.name}.`,collectionName:e.name,effects:{lowPass:a(t.settings,"lowPass"),highPass:a(t.settings,"highPass"),tapeSaturation:a(t.settings,"tapeSaturation"),reverb:a(t.settings,"reverb"),bitcrusher:a(t.settings,"bitcrusher"),chorus:a(t.settings,"chorus"),vinylCrackle:a(t.settings,"vinylCrackle"),pitchWobble:a(t.settings,"pitchWobble"),stereoDrift:a(t.settings,"stereoDrift"),dropout:a(t.settings,"dropout"),slowdown:a(t.settings,"slowdown"),vocalCut:a(t.settings,"vocalCut")}}}F(async()=>{try{const e=await fetch("/config/preset-packs.json");if(!e.ok)return;const t=await e.json();G(n,Array.isArray(t?.packs)?t.packs:[],!0)}catch{}});let $=p(()=>i(n).filter(e=>T.has(e.id))),B=p(()=>i(n).filter(e=>C.has(e.id))),E=p(()=>[{id:"atmosphere",label:"Atmosphere",description:"Rain, room tone, city glow, and scene-forward presets that lean cozy and immersive.",packs:i($).map(e=>({id:e.id,name:e.name,tier:e.tier,presets:e.presets.map(t=>f(e,t))}))},{id:"experimental",label:"Experimental",description:"Stranger textures, heavier degradation, and more stylized color shifts.",packs:i(B).map(e=>({id:e.id,name:e.name,tier:e.tier,presets:e.presets.map(t=>f(e,t))}))}].filter(e=>e.packs.length>0));var b=Z();K("1du1zi4",e=>{var t=Y();U(()=>{J.title="Preset Demo Library — LoveLofi"}),_(e,t)});var l=W(b),x=r(l),h=r(x),d=r(h),I=r(d);V(I,{class:"h-4 w-4 text-accent"}),m(),s(d);var u=o(d,6),R=r(u);m(2),s(u),s(h),s(x),s(l);var c=o(l,2),j=r(c);Q(j,{get packSections(){return i(E)}}),s(c);var g=o(c,2),v=r(g),y=o(r(v),4),w=r(y),k=o(w,2),z=o(r(k));X(z,{class:"h-4 w-4"}),s(k),m(2),s(y),s(v),s(g),q(()=>{P(R,"href",D),P(w,"href",D)}),_(A,b),N()}export{de as component};

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.