PageSourceSearch

https://joaotome.com/assets/CloudSection-BeQbg5VF.js

js joaotome.com collected 2026-09-24 18:12:52 UTC 2,275 bytes, 1 lines download raw bytes

1import{r as s,j as d,a as e}from"./index-OZBwOq0W.js";import{b as c,E as x}from"./Footer-Bl-kUtxI.js";import{S as m}from"./SectionLink-CYLVaZpO.js";const p=()=>{const n=s.useRef(null),{theme:a}=d(),[l,o]=s.useState(!1);return s.useEffect(()=>{const t=n.current;if(!t)return;const r=()=>{var i;(i=t.contentWindow)==null||i.postMessage(a==="light"?"light":"dark","*")};return r(),t.addEventListener("load",r),()=>t.removeEventListener("load",r)},[a]),e.jsxs("section",{id:"cloud",className:"relative w-full",children:[e.jsx(c,{children:e.jsxs("div",{className:"text-center pt-12 pb-4 px-6",children:[e.jsxs("h2",{className:"font-serif text-2xl md:text-3xl font-bold text-foreground mb-2 group inline-flex items-center",children:["Cloud Generator",e.jsx(m,{id:"cloud"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Drag it around. Resize it. Make it storm."})]})}),e.jsxs("div",{className:"relative overflow-hidden",style:{height:"75vh",minHeight:450},children:[!l&&e.jsxs("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-background",children:[e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_top,rgba(255,255,255,0.04),transparent_55%),linear-gradient(180deg,rgba(255,255,255,0.02),transparent)]"}),e.jsxs("div",{className:"relative flex flex-col items-center gap-3 px-6 text-center",children:[e.jsx("div",{className:"h-14 w-14 rounded-full border border-border/70 bg-card/60 animate-pulse"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm text-foreground",children:"Loading the cloud generator..."}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Keeping the full visual here, just warming it up first."})]})]})]}),e.jsx("iframe",{ref:n,src:"/cloud",title:"Interactive cloud generator",className:"w-full h-full border-0",loading:"eager",sandbox:"allow-scripts",onLoad:()=>o(!0)})]}),e.jsx("div",{className:"text-center pb-8 px-6",children:e.jsxs("a",{href:"https://codepen.io/BalintFerenczy/pen/qENdpoL",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-xs text-muted-foreground/60 hover:text-muted-foreground transition-colors",children:["Original by Bálint Ferenczy",e.jsx(x,{size:11})]})})]})};export{p 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.