PageSourceSearch

https://tooolo.com/assets/GlobalLayout-o8n4unHM.js

js tooolo.com collected 2026-09-24 14:54:47 UTC 9,999 bytes, 1 lines download raw bytes

1import{R as v,r as l,j as e,L as d,w as D,y as A,O}from"./chunk-JZWAC4HX-CyzTo3l_.js";import{c as u,u as _}from"./context-B-fc_4xu.js";import{G as k,D as z,a as G,B as N,b as P,d as R,C as T}from"./dropdown-menu-C0vzxnC8.js";import{m as x,A as g}from"./proxy-3kIRInGf.js";import{c as j}from"./createLucideIcon-2tv_ypck.js";import"./index-F7hX-top.js";import"./index-CdiuzngQ.js";function B({subpath:t,title:o,className:n}){const a=v.useRef(null),[r,c]=l.useState(0),[i,s]=l.useState(0),[y,M]=l.useState(72),[f,p]=l.useState(!1),[C,w]=l.useState(!1),[L,E]=l.useState(!1);l.useEffect(()=>{if(!a.current)return;const m=new ResizeObserver(([b])=>{M(b.borderBoxSize[0].blockSize)});return m.observe(a.current),()=>m.disconnect()},[]),l.useEffect(()=>{const m=()=>c(window.scrollY);return window.addEventListener("scroll",m,{passive:!0}),()=>window.removeEventListener("scroll",m)},[]),l.useEffect(()=>{const m=r-i;m>5&&r>y&&!f?p(!0):m<-5&&f&&(p(!1),w(!0)),r<50&&(p(!1),w(!1)),s(r)},[r,i,y,f]),l.useEffect(()=>{const I=setTimeout(()=>E(!0),!t&&!o?2500:100);return()=>clearTimeout(I)},[t,o]);const H=C&&r>50;return e.jsx(x.header,{ref:a,initial:{opacity:0}
1,animate:{opacity:L?1:0},transition:{duration:.8,ease:"easeOut"},style:{transform:`translateY(${f?"-100%":"0%"})`,transition:"transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0.4s ease, opacity 0.8s ease-out"},className:u("fixed top-0 left-0 right-0 z-50",H?"bg-background/80 backdrop-blur-lg border-b border-border/40":"bg-transparent border-none",n),children:e.jsxs("div",{className:u("h-[72px] flex items-center justify-between",k.container),children:[e.jsxs("div",{className:"flex items-center h-[38px] md:h-[44px]",children:[e.jsx(d,{to:"/",className:"flex items-center group gap-2",children:e.jsx("span",{className:u("text-[20px] md:text-[24px] font-bold font-outfit transition-colors duration-300",!t&&!o?"text-foreground":"text-muted-foreground hover:text-foreground"),children:"tooolo"})}),e.jsx(d,{to:"/articles",className:"ml-[8px] text-[20px] md:text-[24px] font-bold font-outfit",children:e.jsx("span",{className:u("transition-colors duration-300 ml-1",t==="articles"&&!o?"text-foreground":"text-muted-foreground hover:text-foreground"),children:"articles"})}),e.jsxs("div",{className:"flex items-center h-full",children:[e.jsx(g,{children:o&&e.jsx(x.div,{initial:{opacity:0,scale:1},animate:{opacity:1,scale:1},exit:{opacity:0,scale:1},transition:{duration:.3},style:{height:"24px",width:"1px"},className:"ml-[8px] md:ml-[16px] bg-muted-foreground self-center"},"separator")}),e.jsx(g,{mode:"popLayout",children:o&&e.jsx(x.span,{initial:{opacity:0,x:-12,filter:"blur(4px)"},animate:{opacity:1,x:0,filter:"blur(0px)"},exit:{opacity:0,x:32,filter:"blur(12px)"},transition:{duration:.8,ease:[.22,1,.36,1]},className:"ml-[8px] md:ml-[12px] text-[20px] md:text-[24px] font-extralight font-outfit text-muted-foreground truncate max-w-[200px] md:max-w-none",children:o},o)})]})]}),e.jsx("div",{className:"flex items-center gap-3",children:e.jsx("div",{className:"hidden sm:flex items-center gap-2",children:e.jsx(g,{mode:"wait",children:e.jsx(x.span,{initial:{opacity:0,y:5},animate:{opacity:1,y:0},exit:{opacity:0,y:-5},transition:{duration:.4,ease:"easeOut"},className:"text-[14px] text-muted-foreground font-medium",children:t==="articles"?"Structured ideas for better starts":"Modular tooolo, built around you"},t==="articles"?"articles-slogan":"tooolo-slogan")})})})]})})}const Y=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],U=j("globe",Y);const F=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],$=j("moon",F);const V=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],q=j("sun",V),S=({x:t,y:o,activeIndices:n,index:a,isHovered:r})=>{const c=n.includes(a);return e.jsx(x.rect,{x:t,y:o,width:"5.83333",height:"5.83333",rx:"1.16667",initial:!1,style:{transformOrigin:"center",transformBox:"fill-box"},animate:r?{opacity:c?[0,1,.4,1,.8,1]:[0,.8,0,.6,.2,0],fill:c?"var(--foreground)":"var(--muted-foreground)",scale:c?[1,1.1,1]:1}:{opacity:c?.35:0,fill:"var(--muted-foreground)",scale:1},transition:r?{duration:.8,times:[0,.2,.4,.6,.8,1],delay:Math.random()*.4,ease:"easeInOut"}:{duration:.4,ease:"easeOut"}})},h=[1,7.54199,14.083,20.625,27.167];function W({size:t=32,className:o,...n}){const[a,r]=l.useState(!1),c=[2,7,17,22,10,11,13,14];return e.jsx("svg",{width:t,height:t,viewBox:"0 0 34 34",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:u("cursor-pointer overflow-visible",o),onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),...n,children:e.jsx("g",{children:Array.from({length:25}).map((i,s)=>e.jsx(S,{index:s,x:h[s%5],y:h[Math.floor(s/5)],activeIndices:c,isHovered:a},s))})})}function J({size:t=32,className:o,...n}){const[a,r]=l.useState(!1),c=[1,7,13,17,21];return e.jsx("svg",{width:t,height:t,viewBox:"0 0 34 34",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:u("cursor-pointer overflow-visible",o),onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),...n,children:e.jsx("g",{children:Array.from({length:25}
1).map((i,s)=>e.jsx(S,{index:s,x:h[s%5],y:h[Math.floor(s/5)],activeIndices:c,isHovered:a},s))})})}const K=[{code:"ko",label:"한국어"},{code:"en",label:"English"},{code:"jp",label:"日本語"}];function Q({className:t}){const o=new Date().getFullYear(),[n,a]=v.useState(!1),{language:r,setLanguage:c}=_();v.useEffect(()=>{a(!0)},[]);const i="text-[14px] text-foreground/60 hover:text-foreground transition-all duration-300 font-medium whitespace-nowrap cursor-pointer";return e.jsx("footer",{className:u("w-full h-auto py-12",t),children:e.jsxs("div",{className:u(k.container),children:[e.jsxs("div",{className:"flex justify-between items-center w-full",children:[e.jsxs("div",{className:"flex items-center gap-[12px]",children:[e.jsx(d,{to:"/",title:"tooolo Home",children:e.jsx(W,{size:32})}),e.jsx(d,{to:"https://start.tooolo.com",target:"_blank",rel:"noopener noreferrer",title:"Start tooolo",children:e.jsx(J,{size:32})})]}),e.jsxs("div",{className:"flex items-center gap-6 md:gap-8",children:[e.jsxs("div",{className:"hidden md:flex items-center gap-x-8",children:[e.jsx(d,{to:"/concept",className:i,children:"Concept"}),e.jsx(d,{to:"/terms",className:i,children:"Terms of Service"}),e.jsx(d,{to:"/privacy",className:i,children:"Privacy Policy"}),e.jsx("a",{href:"mailto:[email protected]",className:i,onClick:s=>{s.preventDefault(),window.location.href="mailto:[email protected]"},children:"Contact"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[n&&e.jsxs(z,{children:[e.jsx(G,{asChild:!0,children:e.jsxs(N,{variant:"ghost",size:"icon",className:"text-muted-foreground hover:text-foreground hover:bg-transparent h-9 w-9 transition-all duration-300 rounded-full",title:"Select Language",children:[e.jsx(U,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Change Language"})]})}),e.jsx(P,{align:"end",className:"min-w-[120px]",children:K.map(s=>e.jsxs(R,{onClick:()=>c(s.code),className:"flex items-center justify-between cursor-pointer text-xs",children:[e.jsx("span",{children:s.label}),r===s.code&&e.jsx(T,{className:"h-3.5 w-3.5 text-primary ml-2"})]},s.code))})]}),n&&e.jsxs(N,{variant:"ghost",size:"icon",onClick:()=>{document.documentElement.classList.contains("dark")?(document.documentElement.classList.remove("dark"),localStorage.setItem("theme","light")):(document.documentElement.classList.add("dark"),localStorage.setItem("theme","dark"))},className:"text-muted-foreground hover:text-foreground hover:bg-transparent h-9 w-9 transition-all duration-300 rounded-full",children:[e.jsxs("div",{className:"relative w-4 h-4",children:[e.jsx($,{className:"h-4 w-4 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),e.jsx(q,{className:"absolute inset-0 h-4 w-4 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"})]}),e.jsx("span",{className:"sr-only",children:"Toggle theme"})]})]})]})]}),e.jsxs("div",{className:"flex flex-col lg:flex-row justify-between items-start lg:items-center gap-8 mt-12",children:[e.jsx("div",{className:"order-last lg:order-first w-full lg:max-w-md text-left space-y-4",children:e.jsxs("div",{className:"text-[12px] text-muted-foreground font-sans opacity-60",children:["© ",o," tooolo. All rights reserved."]})}),e.jsxs("div",{className:"flex md:hidden flex-col items-start gap-y-4 w-full",children:[e.jsx(d,{to:"/concept",className:i,children:"Concept"}),e.jsx(d,{to:"/terms",className:i,children:"Terms of Service"}),e.jsx(d,{to:"/privacy",className:i,children:"Privacy Policy"}),e.jsx("a",{href:"mailto:[email protected]",className:i,onClick:s=>{s.preventDefault(),window.location.href="mailto:[email protected]"},children:"Contact"})]})]})]})})}function X(t){return t==="/"?{title:void 0,subpath:void 0}:t==="/concept"?{title:"Concept",subpath:"concept"}:t==="/terms"?{title:"Terms of Service",subpath:"terms"}:t==="/privacy"?{title:"Privacy Policy",subpath:"privacy"}:t==="/articles"?{title:void 0,subpath:"articles"}:t.startsWith("/articles/")?{title:t.replace("/articles/","").split("-").map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" "),subpath:"articles"}:{title:void 0,subpath:void 0}}const ne=D(function(){const o=A(),{title:n,subpath:a}=l.useMemo(()=>X(o.pathname),[o.pathname]);return e.jsxs("div",{className:"min-h-screen bg-background flex flex-col selection:bg-primary/20",children:[e.jsx(B,{title:n,subpath:a}),e.jsx("main",{className:"flex-1",children:e.jsx(O,{})}),e.jsx(Q,{})]})});export{ne 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.