PageSourceSearch

https://www.xgrind.pro/assets/ThemeRoulettePage-CjzgEMyk.js

js xgrind.pro collected 2026-09-24 15:12:35 UTC 21,381 bytes, 1 lines download raw bytes

1import{r as s,j as e}from"./react-core-bWLI75Fw.js";import{o as ce,E as f,F as h,ct as U,cF as p,cH as i,lr as xe}from"./index-Cuw9rIcM.js";import{loadImageFromFile as q,matchSizePair as be,encodeThemeRoulette as me,compositeOnBackground as M,X_DIM as W,exportRgbaPng as ue}from"./core-D8bievjF.js";import{F as pe}from"./FunViralShortcuts-BJW8fPeM.js";import{av as ge,J as B,ad as he,aM as ke,cU as fe,L as Q,bb as je,v as ve,d as Y,e as Z,X as ee,bE as Ne}from"./lucide-U8ZTX028.js";import"./firebase-BwZ4hkwm.js";import"./framer-motion-C0wpNkKn.js";const ye="xgrind-theme-roulette.png",K={"dark-normal":{id:"dark-normal",label:"Dark biasa · Light absurd",badge:"Rekomendasi X",blurb:"Mayoritas feed X gelap → setup di dark, punchline di light.",lightTitle:"Foto Light · Absurd",lightSub:"Punchline — muncul di light mode / latar terang",darkTitle:"Foto Dark · Biasa",darkSub:"Setup — yang paling sering dilihat di dark mode",steps:[{n:"1",title:"Pilih strategi",text:"Default: Dark biasa, Light absurd (cocok X)."},{n:"2",title:"Upload 2 foto",text:"Dark = setup biasa. Light = twist/absurd."},{n:"3",title:"Unduh & post",text:"Post PNG dari browser desktop x.com."}]},"light-normal":{id:"light-normal",label:"Light biasa · Dark absurd",badge:"Klasik",blurb:"Timeline terang / hold gelap jadi twist — pola kakushie klasik.",lightTitle:"Foto Light · Biasa",lightSub:"Setup — muncul di light mode / latar terang",darkTitle:"Foto Dark · Absurd",darkSub:"Punchline — dark mode & hold",steps:[{n:"1",title:"Pilih strategi",text:"Klasik: Light biasa, Dark absurd."},{n:"2",title:"Upload 2 foto",text:"Light = setup. Dark = twist/absurd."},{n:"3",title:"Unduh & post",text:"Post PNG dari browser desktop x.com."}]}};function J(n){Object.values(n||{}).forEach(d=>{d&&URL.revokeObjectURL(d)})}function we(n){return n>=75?{label:"Bagus",cls:"border-emerald-400 bg-emerald-50 text-emerald-900 dark:bg-emerald-950/40 dark:text-emerald-100"}:n>=50?{label:"Cukup",cls:"border-amber-400 bg-amber-50 text-amber-950 dark:bg-amber-950/40 dark:text-amber-100"}:{label:"Lemah",cls:"border-rose-400 bg-rose-50 text-rose-900 dark:bg-rose-950/40 dark:text-rose-100"}}function $e({open:n,onClose:d,onUseDemo:o,busy:x,strategyId:m}){if(!n)return null;const l=m==="dark-normal";return e.jsxs("div",{className:"fixed inset-0 z-50 flex items-end justify-center p-3 sm:items-center sm:p-4",children:[e.jsx("button",{type:"button",className:"absolute inset-0 bg-slate-950/70 backdrop-blur-[2px]","aria-label":"Tutup",onClick:d}),e.jsxs("div",{className:`relative z-10 max-h-[88dvh] w-full max-w-sm overflow-y-auto rounded-2xl border-2 bg-white ${f} ${h} dark:bg-slate-950`,children:[e.jsxs("div",{className:"sticky top-0 z-10 flex items-start justify-between gap-2 border-b-2 border-slate-200 bg-white/95 px-3 py-2 backdrop-blur dark:border-indigo-500/25 dark:bg-slate-950/95",children:[e.jsxs("div",{children:[e.jsx("p",{className:`text-[10px] font-black uppercase tracking-[0.14em] ${i}`,children:"Contoh hasil"}),e.jsx("h2",{className:`text-[12px] font-black ${p}`,children:l?"Dark biasa → Light absurd":"Light biasa → Dark absurd"})]}),e.jsx("button",{type:"button",onClick:d,className:`rounded-lg border-2 p-1 ${f} ${p}`,"aria-label":"Tutup modal",children:e.jsx(ee,{size:14})})]}),e.jsxs("div",{className:"space-y-2.5 p-2.5",children:[e.jsx("p",{className:`text-[10px] font-medium leading-snug ${i}`,children:"Engine sama; bedanya strategi. Orang sama, ekspresi beda (AI). Kalau cuma digelapkan, bedanya hampir tidak terasa."}),e.jsxs("div",{children:[e.jsx("p",{className:`mb-1 text-[9px] font-black uppercase tracking-wide ${i}`,children:"Bahan"}),e.jsxs("div",{className:"flex justify-center gap-1.5",children:[e.jsxs("figure",{className:"w-[64px] overflow-hidden rounded-md border-2 border-amber-300/80 dark:border-amber-500/40",children:[e.jsx("img",{src:"/assets/xviral/theme-roulette-input-light.jpg",alt:"Foto light",className:"aspect-[4/5] w-full object-cover"}),e.jsx("figcaption",{className:"bg-amber-50 px-0.5 py-0.5 text-center text-[8px] font-black text-amber-950 dark:bg-amber-950/50 dark:text-amber-100",children:l?"Light · absurd":"Light · biasa"})]}),e.jsxs("figure",{className:"w-[64px] overflow-hidden rounded-md border-2 border-violet-400/70 dark:border-violet-500/40",children:[e.jsx("img",{src:"/assets/xviral/theme-roulette-input-dark.jpg",alt:"Foto dark",className:"aspect-[4/5] w-full object-cover"}),e.jsx("figcaption",{className:"bg-violet-950 px-0.5 py-0.5 text-center text-[8px] font-black text-violet-100",children:l?"Dark · biasa":"Dark · absurd"})]})]})]}),e.jsxs("div",{children:[e.jsx("p",{className:`mb-1 text-[9px] font-black uppercase tracking-wide ${i}`,children:"Hasil encode"}),e.jsxs("div",{className:"flex justify-center gap-1.5",children:[e.jsxs("figure",{className:"w-[72px] overflow-hidden rounded-md border-2 border-slate-900 dark:border-indigo-400/40",children:[e.jsx("div",{className:"bg-white p-0.5",children:e.jsx("img",{src:"/assets/xviral/theme-roulette-card-light.jpg",alt:"Preview light",className:"aspect-[4/5] w-full object-cover"})}),e.jsx("figcaption",{className:"bg-amber-200 px-0.5 py-0.5 text-center text-[8px] font-black text-slate-900",children:l?"Light · absurd":"Light"})]}),e.jsxs("figure",{className:"w-[72px] overflow-hidden rounded-md border-2 border-slate-900 dark:border-indigo-400/40",children:[e.jsx("div",{className:"bg-black p-0.5",children:e.jsx("img",{src:"/assets/xviral/theme-roulette-card-dark.jpg",alt:"Preview dark",className:"aspect-[4/5] w-full object-cover"})}),e.jsx("figcaption",{className:"bg-violet-300 px-0.5 py-0.5 text-center text-[8px] font-black text-slate-900",children:l?"Dark · biasa":"Dark/Hold"})]})]})]}),e.jsx("img",{src:"/assets/xviral/theme-roulette-compare.jpg",alt:"Perbandingan compact light vs dark",className:"mx-auto max-w-[200px] rounded-md border border-slate-800"}),l?e.jsx("p",{className:`text-center text-[9px] font-semibold ${i}`,children:"Feed gelap → setup biasa · Light → punchline absurd"}):null,e.jsxs("div",{className:"flex flex-wrap gap-2 pb-0.5",children:[e.jsxs("button",{type:"button",onClick:o,disabled:x,className:`inline-flex items-center gap-1.5 rounded-xl border-2 border-slate-900 bg-vi
1olet-300 px-3 py-2 text-[11px] font-black text-slate-900 disabled:opacity-60 ${h} dark:border-violet-400/50 dark:bg-violet-800 dark:text-violet-50`,children:[x?e.jsx(Q,{size:13,className:"animate-spin"}):e.jsx(B,{size:13}),"Pakai di editor"]}),e.jsx("button",{type:"button",onClick:d,className:`inline-flex items-center gap-1.5 rounded-xl border-2 px-3 py-2 text-[11px] font-black ${f} ${p}`,children:"Tutup"})]})]})]})]})}function V({tone:n,title:d,subtitle:o,file:x,previewUrl:m,onFile:l,onClear:v}){const t=n==="light";return e.jsxs("div",{className:`relative overflow-hidden rounded-2xl border-2 ${h} ${t?"border-slate-900 bg-white dark:border-indigo-400/40 dark:bg-slate-900":"border-slate-900 bg-slate-900 text-white dark:border-indigo-400/40"}`,children:[e.jsxs("div",{className:`flex items-center gap-2 border-b-2 px-3 py-2 ${t?"border-slate-200 bg-amber-50 dark:border-indigo-500/25 dark:bg-amber-950/30":"border-white/10 bg-slate-950"}`,children:[t?e.jsx(Y,{size:14,className:"text-amber-600 dark:text-amber-300"}):e.jsx(Z,{size:14,className:"text-indigo-300"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:`text-[12px] font-black ${t?p:"text-white"}`,children:d}),e.jsx("p",{className:`text-[10px] font-semibold ${t?i:"text-slate-400"}`,children:o})]}),x?e.jsx("button",{type:"button",onClick:v,className:`ml-auto rounded-lg border p-1 ${t?"border-slate-300 text-slate-500 hover:bg-slate-100 dark:border-slate-600":"border-white/20 text-slate-300 hover:bg-white/10"}`,"aria-label":"Hapus gambar",children:e.jsx(ee,{size:14})}):null]}),e.jsxs("label",{className:"block cursor-pointer p-3",children:[m?e.jsx("img",{src:m,alt:d,className:"aspect-[4/5] w-full rounded-xl object-cover"}):e.jsxs("div",{className:`flex aspect-[4/5] flex-col items-center justify-center gap-2 rounded-xl border-2 border-dashed px-4 text-center ${t?"border-slate-300 bg-slate-50 dark:border-indigo-400/30 dark:bg-slate-950":"border-white/20 bg-black/40"}`,children:[e.jsx(Ne,{size:28,className:t?"text-amber-600":"text-indigo-300"}),e.jsx("p",{className:`text-xs font-black ${t?p:"text-white"}`,children:"Klik / drop foto"}),e.jsx("p",{className:`text-[10px] font-medium ${t?i:"text-slate-400"}`,children:"JPG, PNG, atau WebP"})]}),e.jsx("input",{type:"file",accept:"image/png,image/jpeg,image/webp,image/gif",className:"hidden",onChange:N=>l(N.target.files?.[0]||null)})]}),x?e.jsx("p",{className:`truncate px-3 pb-3 text-[10px] font-semibold ${t?"text-emerald-700 dark:text-emerald-300":"text-emerald-300"}`,children:x.name}):null]})}function Le({canvas:n,view:d}){const o=s.useMemo(()=>n?n.toDataURL("image/png"):null,[n]),x=d==="light"?"#ffffff":d==="dark"?W:"#000000";return e.jsxs("div",{className:`overflow-hidden rounded-[1.6rem] border-2 border-slate-900 bg-slate-950 ${h} dark:border-indigo-400/45`,children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-white/10 px-3 py-2",children:[e.jsx("span",{className:"text-[10px] font-black uppercase tracking-wider text-slate-400",children:"Preview di X"}),e.jsx("span",{className:"text-[10px] font-bold text-cyan-300",children:d==="light"?"Light timeline":d==="dark"?"Dark (Dim)":"Hold / Lights Out"})]}),e.jsx("div",{className:"p-3",style:{background:x},children:e.jsx("div",{className:"flex min-h-[220px] items-center justify-center overflow-hidden rounded-xl border border-black/10",style:{background:x},children:o?e.jsx("img",{src:o,alt:"Preview",className:"max-h-[320px] w-full object-contain"}):e.jsx("p",{className:"px-4 py-16 text-center text-xs font-bold text-slate-500",children:"Upload kedua foto untuk melihat hasil"})})})]})}function Ue(){const{isDark:n}=ce(),d=xe(n),[o,x]=s.useState("dark-normal"),m=K[o],[l,v]=s.useState(null),[t,N]=s.useState(null),[D,E]=s.useState({light:null,dark:null}),[P,y]=s.useState(!1),[_,k]=s.useState(""),[j,w]=s.useState(null),[b,$]=s.useState(null),[ae,L]=s.useState({light:null,dark:null,hold:null}),[R,z]=s.useState("dark"),[S,te]=s.useState("black"),[le,G]=s.useState(!1);s.useEffect(()=>()=>J(D),[D]);const T=s.useCallback((a,r)=>{E(c=>(c[a]&&URL.revokeObjectURL(c[a]),{...c,[a]:r?URL.createObjectURL(r):null})),a==="light"?v(r):N(r),w(null),$(null),L({light:null,dark:null,hold:null}),k("")},[]),se=s.useCallback(()=>{v(t),N(l),E(a=>({light:a.dark,dark:a.light})),w(null),$(null),L({light:null,dark:null,hold:null}),k("")},[l,t]),re=s.useCallback(a=>{a!==o&&(x(a),z(a==="dark-normal"?"dark":"light"),(l||t)&&(v(t),N(l),E(r=>({light:r.dark,dark:r.light})),w(null),$(null),L({light:null,dark:null,hold:null})))},[o,l,t]),ie=s.useCallback(async()=>{y(!0),k("");try{const a=o==="dark-normal",[r,c]=await Promise.all([fetch(a?"/assets/xviral/theme-roulette-demo-absurd-bright.jpg":"/assets/xviral/theme-roulette-demo-biasa-bright.jpg").then(g=>{if(!g.ok)throw new Error("Gagal muat contoh light");return g.blob()}),fetch(a?"/assets/xviral/theme-roulette-demo-biasa-dark.jpg":"/assets/xviral/theme-roulette-demo-absurd-dark.jpg").then(g=>{if(!g.ok)throw new Error("Gagal muat contoh dark");return g.blob()})]),u=new File([r],a?"demo-absurd.jpg":"demo-biasa.jpg",{type:"image/jpeg"}),C=new File([c],a?"demo-biasa.jpg":"demo-absurd.jpg",{type:"image/jpeg"});E(g=>(J(g),{light:URL.createObjectURL(u),dark:URL.createObjectURL(C)}
1)),v(u),N(C),z(a?"dark":"light"),w(null),$(null),L({light:null,dark:null,hold:null})}catch(a){k(a?.message||"Gagal memuat contoh")}finally{y(!1)}},[o]),O=!!(l&&t),A=s.useCallback(async()=>{if(!(!l||!t)){y(!0),k("");try{const[a,r]=await Promise.all([q(l),q(t)]),{width:c,height:u,a:C,b:g}=be(a,r),{rgba:F,quality:oe,qualityAlt:I,remapInfo:X}=me(C,g,c,u,{darkMode:S,safeRemap:!0});w({rgba:F,width:c,height:u}),$({...oe,maeAlt:I.maeAvg,scoreAlt:I.score,fixedPixels:X.fixedPixels,totalPixels:X.totalPixels}),L({light:M(F,c,u,"#ffffff"),dark:M(F,c,u,W),hold:M(F,c,u,"#000000")})}catch(a){k(a?.message||"Gagal membuat PNG"),w(null),$(null),L({light:null,dark:null,hold:null})}finally{y(!1)}}},[l,t,S]);s.useEffect(()=>{if(!O)return;const a=setTimeout(()=>{A()},180);return()=>clearTimeout(a)},[O,l,t,S,A]);const de=s.useCallback(async()=>{if(j){y(!0),k("");try{await ue(j.rgba,j.width,j.height,ye,"png32")}catch(a){k(a?.message||"Gagal unduh")}finally{y(!1)}}},[j]),ne=ae[R]||null,H=b?we(b.score):null;return e.jsxs("div",{className:"mx-auto w-full max-w-5xl space-y-4 px-3 pb-16 pt-3 sm:px-5 sm:pt-4",children:[e.jsx(pe,{current:"theme-roulette",trailing:e.jsxs("button",{type:"button",onClick:()=>G(!0),className:`inline-flex items-center gap-1.5 rounded-xl border-2 bg-violet-200 px-2.5 py-1.5 text-[11px] font-black text-slate-900 ${f} ${h} dark:bg-violet-900 dark:text-violet-50`,children:[e.jsx(ge,{size:13}),"Lihat contoh hasil"]})}),e.jsx($e,{open:le,onClose:()=>G(!1),busy:P,strategyId:o,onUseDemo:async()=>{await ie(),G(!1)}}),e.jsxs("section",{className:`relative overflow-hidden rounded-2xl border-2 ${U} ${h}`,children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-amber-100/70 via-white to-indigo-100/60 dark:from-amber-950/40 dark:via-slate-950 dark:to-indigo-950/50"}),e.jsxs("div",{className:"relative p-4 sm:p-5",children:[e.jsxs("div",{className:"flex items-center gap-2 text-violet-800 dark:text-violet-300",children:[e.jsx(B,{size:16}),e.jsx("span",{className:"text-[10px] font-black uppercase tracking-[0.18em]",children:"Fun · Viral PNG"})]}),e.jsx("h1",{className:`mt-1.5 text-xl font-black sm:text-2xl ${p}`,children:"Theme Roulette"}),e.jsx("p",{className:`mt-1 max-w-2xl text-sm font-medium ${i}`,children:"Satu PNG transparan: light vs dark/hold beda foto. Engine dual-alpha tetap sama — kamu pilih strategi mana yang jadi setup vs punchline."}),e.jsx("ol",{className:"mt-4 grid gap-2 sm:grid-cols-3",children:m.steps.map(a=>e.jsxs("li",{className:`flex gap-2.5 rounded-xl border-2 bg-white/80 p-2.5 dark:bg-slate-900/70 ${f}`,children:[e.jsx("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border-2 border-slate-900 bg-violet-200 text-[11px] font-black text-slate-900 dark:border-violet-400/50 dark:bg-violet-900 dark:text-violet-100",children:a.n}),e.jsxs("div",{children:[e.jsx("p",{className:`text-[12px] font-black ${p}`,children:a.title}),e.jsx("p",{className:`mt-0.5 text-[11px] font-medium leading-snug ${i}`,children:a.text})]})]},a.n))})]})]}),e.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row",children:[e.jsxs("div",{className:"flex flex-1 items-start gap-2 rounded-2xl border-2 border-emerald-400/70 bg-emerald-50 px-3 py-2.5 text-xs font-semibold text-emerald-950 dark:border-emerald-500/40 dark:bg-emerald-950/35 dark:text-emerald-100",children:[e.jsx(he,{size:15,className:"mt-0.5 shrink-0"}),e.jsx("span",{children:"Semua proses lokal di browser. Gambar tidak di-upload ke server XGrind."})]}),e.jsxs("div",{className:"flex flex-1 items-start gap-2 rounded-2xl border-2 border-amber-400/80 bg-amber-50 px-3 py-2.5 text-xs font-semibold text-amber-950 dark:border-amber-500/40 dark:bg-amber-950/35 dark:text-amber-100",children:[e.jsx(ke,{size:15,className:"mt-0.5 shrink-0"}),e.jsxs("span",{children:["Post dari ",e.jsx("strong",{children:"desktop x.com"}),". App HP sering ubah ke JPEG → trik hilang. Beberapa client flatten timeline ke putih — uji light & dark."]})]})]}),e.jsxs("div",{className:"grid gap-4 lg:grid-cols-[1.05fr_0.95fr] lg:items-start",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:`text-[11px] font-black uppercase tracking-[0.14em] ${i}`,children:"Langkah 1 · Strategi & upload"}),e.jsxs("div",{className:`rounded-xl border-2 p-2.5 ${U}`,children:[e.jsx("p",{className:`mb-2 text-[10px] font-black uppercase tracking-wide ${i}`,children:"Strategi punchline"}),e.jsx("div",{className:"grid gap-1.5 sm:grid-cols-2",children:Object.values(K).map(a=>{const r=o===a.id;return e.jsxs("button",{type:"button",onClick:()=>re(a.id),className:`rounded-xl border-2 px-2.5 py-2 text-left transition ${r?"border-slate-900 bg-vi
1olet-300 text-slate-900 dark:border-violet-400/60 dark:bg-violet-800 dark:text-violet-50":`border-slate-200 bg-slate-50 ${p} dark:border-slate-700 dark:bg-slate-900`}`,children:[e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"text-[11px] font-black",children:a.label}),a.badge?e.jsx("span",{className:`rounded px-1 py-0.5 text-[8px] font-black uppercase tracking-wide ${r?"bg-slate-900 text-violet-100":"bg-violet-200 text-violet-950 dark:bg-violet-950 dark:text-violet-200"}`,children:a.badge}):null]}),e.jsx("span",{className:`mt-1 block text-[10px] font-medium leading-snug ${r?"opacity-90":i}`,children:a.blurb})]},a.id)})})]}),e.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[e.jsx(V,{tone:"light",title:m.lightTitle,subtitle:m.lightSub,file:l,previewUrl:D.light,onFile:a=>T("light",a),onClear:()=>T("light",null)}),e.jsx(V,{tone:"dark",title:m.darkTitle,subtitle:m.darkSub,file:t,previewUrl:D.dark,onFile:a=>T("dark",a),onClear:()=>T("dark",null)})]}),e.jsxs("button",{type:"button",onClick:se,disabled:!l&&!t,className:`inline-flex w-full items-center justify-center gap-1.5 rounded-xl border-2 px-3 py-2 text-[11px] font-black disabled:opacity-40 ${f} ${p}`,children:[e.jsx(fe,{size:13}),"Tukar Light ↔ Dark"]}),e.jsxs("div",{className:`rounded-xl border-2 p-2.5 ${U}`,children:[e.jsx("p",{className:`mb-2 text-[10px] font-black uppercase tracking-wide ${i}`,children:"Target dark"}),e.jsx("div",{className:"flex gap-1.5",children:[{id:"black",label:"Hold / Lights Out"},{id:"dim",label:"X Dim (#15202b)"}].map(a=>e.jsx("button",{type:"button",onClick:()=>te(a.id),className:`flex-1 rounded-lg px-2 py-2 text-[11px] font-black ${S===a.id?"bg-violet-300 text-slate-900 dark:bg-violet-700 dark:text-white":"bg-slate-100 text-slate-600 dark:bg-slate-800 dark:text-slate-300"}`,children:a.label},a.id))})]}),O?e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("button",{type:"button",onClick:A,disabled:P,className:`inline-flex items-center gap-2 rounded-xl border-2 px-4 py-2.5 text-sm font-black disabled:opacity-60 ${d} ${h}`,children:[P?e.jsx(Q,{size:16,className:"animate-spin"}):e.jsx(je,{size:16}),P?"Memproses…":"Generate ulang"]}),e.jsxs("button",{type:"button",onClick:de,disabled:!j||P,className:`inline-flex items-center gap-2 rounded-xl border-2 border-slate-900 bg-cyan-300 px-4 py-2.5 text-sm font-black text-slate-900 disabled:cursor-not-allowed disabled:opacity-50 ${h} dark:border-cyan-400/50 dark:bg-cyan-800 dark:text-cyan-50`,children:[e.jsx(ve,{size:16}),"Unduh PNG"]})]}):e.jsx("p",{className:`rounded-xl border-2 border-dashed px-3 py-2 text-xs font-bold ${i} ${f}`,children:"Upload kedua foto — engine dual-alpha jalan otomatis."}),b&&H?e.jsxs("div",{className:`rounded-2xl border-2 px-3 py-2.5 text-xs font-semibold ${H.cls}`,children:[e.jsxs("p",{className:"font-black",children:["Kualitas engine: ",b.score,"/100 · ",H.label]}),e.jsxs("p",{className:"mt-1 opacity-90",children:["Error light ≈ ",b.maeLight.toFixed(1)," · dark ≈ ",b.maeDark.toFixed(1)," · ",S==="black"?"Dim":"Hold"," alt ≈ ",b.maeAlt.toFixed(1),b.fixedPixels>0?` · engine koreksi ${Math.round(100*b.fixedPixels/b.totalPixels)}% pixel terbalik`:""]}),b.score<50?e.jsx("p",{className:"mt-1 font-bold",children:"Tip: channel Light harus lebih terang dari Dark (meski konten “absurd”). Hindari dua foto kecerahan mirip tapi warna berlawanan."}):null]}):null,_?e.jsx("p",{className:"rounded-xl border-2 border-rose-300 bg-rose-50 px-3 py-2 text-xs font-bold text-rose-800 dark:border-rose-700 dark:bg-rose-950/40 dark:text-rose-200",children:_}):null,j?e.jsxs("div",{className:`rounded-2xl border-2 p-3 ${U} ${h}`,children:[e.jsx("p",{className:`text-[11px] font-black uppercase tracking-wide ${p}`,children:"Siap post?"}),e.jsxs("ul",{className:`mt-2 space-y-1.5 text-[12px] font-semibold ${i}`,children:[e.jsx("li",{children:"✓ Unduh PNG ini (jangan di-screenshot / di-recompress)"}),e.jsx("li",{children:"✓ Post dari browser desktop → x.com"}),e.jsx("li",{children:"✓ Bandingkan light vs dark / hold di HP"})]})]}):null]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:`text-[11px] font-black uppercase tracking-[0.14em] ${i}`,children:"Langkah 2 · Preview"}),e.jsx("div",{className:`flex gap-1.5 rounded-2xl border-2 bg-white p-1 dark:bg-slate-900 ${f}`,children:[{id:"light",label:"Light",Icon:Y},{id:"dark",label:"Dark",Icon:Z},{id:"hold",label:"Hold",Icon:B}].map(({id:a,label:r,Icon:c})=>{const u=R===a;return e.jsxs("button",{type:"button",onClick:()=>z(a),className:`flex flex-1 items-center justify-center gap-1.5 rounded-xl px-2 py-2 text-xs font-black transition ${u?"bg-violet-300 text-slate-900 shadow-[2px_2px_0_rgba(15,23,42,0.85)] dark:bg-violet-700 dark:text-white":"text-slate-500 hover:bg-slate-100 dar
1k:text-slate-400 dark:hover:bg-slate-800"}`,children:[e.jsx(c,{size:13}),r]},a)})}),e.jsx(Le,{canvas:ne,view:R}),e.jsx("p",{className:`text-[11px] font-medium ${i}`,children:"Engine meminimalkan error ke dua latar. Foto full-warna arbitrary tidak selalu sempurna — skor kualitas membantu kamu pilih pasangan yang “nendang”."})]})]})]})}export{Ue as default};

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.