-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchunk-BdXe-GoP.js
More file actions
10 lines (10 loc) · 24.1 KB
/
Copy pathchunk-BdXe-GoP.js
File metadata and controls
10 lines (10 loc) · 24.1 KB
1
2
3
4
5
6
7
8
9
10
import{h as I,c3 as A,r as u,j as e,m as g,b_ as L,l as B,i as O,A as F,L as z,b as P,c8 as R,c7 as T,N as G}from"../entries/pages.BZkyDMuN.js";import{e as D,a as U,b as W}from"./chunk-C0GYHe6O.js";import{o as q}from"./chunk-DPK_ul2B.js";import{e as H}from"./chunk-B9dAXnk9.js";import{S as $}from"./chunk-D8YfSULr.js";import"./chunk-BXl3LOEh.js";/* empty css */const N="#0A0906",y="#120E08",K="#1A140C",t="#FFB000",h="#B87A00",f="#9AAF4F",C="#D97706",r="#5E4E3B",i="#2A2218",c="#E8DBB7",_=[{id:"all",label:"ALL"},{id:"productivity",label:"PRODUCTIVITY"},{id:"dev",label:"DEV"},{id:"system",label:"SYSTEM"},{id:"media",label:"MEDIA"},{id:"data",label:"DATA"},{id:"network",label:"NETWORK"},{id:"security",label:"SECURITY"},{id:"games",label:"GAMES"}],j=[{n:1,name:"hub",cat:"dev",blurb:"Centralized installer and manager for the whole suite.",sample:"atlas.hub"},{n:2,name:"todo",cat:"productivity",blurb:"Keyboard-centric task TUI with Vim bindings and CLI quick-add.",sample:'atlas.todo add "Finish Gemini @work !high"'},{n:3,name:"stats",cat:"system",blurb:"Real-time system monitor — CPU, memory, disk, network.",sample:"atlas.stats"},{n:4,name:"websearch",cat:"network",blurb:"Web search across DuckDuckGo, Wikipedia, HN, and Reddit.",sample:'atlas.websearch -e wiki "Go programming"'},{n:5,name:"compass",cat:"security",blurb:"Local-first password manager with AES-256-GCM encryption.",sample:"atlas.compass"},{n:6,name:"clock",cat:"productivity",blurb:"Multi-timezone dashboard with ms precision and IANA search.",sample:"atlas.clock"},{n:7,name:"cam",cat:"media",blurb:"Terminal webcam viewer with ASCII rendering and filters.",sample:"atlas.cam"},{n:8,name:"games",cat:"games",blurb:"Collection including Wilson's Revenge and Wave Function Collapse.",sample:"atlas.games"},{n:9,name:"bench",cat:"dev",blurb:"High-precision multi-command benchmarking with visual comparison.",sample:'atlas.bench "ls" "dir"'},{n:10,name:"radar",cat:"dev",blurb:"Monitor git statuses across multiple repositories simultaneously.",sample:"atlas.radar --show unclean --watch .."},{n:11,name:"otp",cat:"security",blurb:"Minimalist TOTP (2FA) manager with an onyx & gold theme.",sample:"atlas.otp"},{n:12,name:"diff",cat:"dev",blurb:"Side-by-side terminal file diff with high visibility.",sample:"atlas.diff file1.go file2.go"},{n:13,name:"screensaver",cat:"system",blurb:"Terminal screensavers — Pipes, Stars, Matrix, DNA, Waves.",sample:"atlas.screensaver"},{n:14,name:"facade",cat:"network",blurb:"Retro-future mock API server for instant frontend prototyping.",sample:"atlas.facade --file routes.piml"},{n:15,name:"pq",cat:"data",blurb:"Minimalist PIML processor — slice, filter, and map data.",sample:'atlas.pq -q "tools.0.version" manifest.piml'},{n:16,name:"hash",cat:"data",blurb:"Generate and compare MD5, SHA1, SHA256, SHA512 hashes.",sample:"atlas.hash my_file.zip"},{n:17,name:"grave",cat:"system",blurb:"Interactive process reaper with a Pip-Boy inspired TUI.",sample:"atlas.grave"},{n:18,name:"radio",cat:"network",blurb:"Global terminal radio receiver with thousands of live stations.",sample:"atlas.radio"},{n:19,name:"deck",cat:"productivity",blurb:"Interactive TUI command deck — workflows as a grid of pads.",sample:"atlas.deck"},{n:20,name:"convert",cat:"media",blurb:"Image conversion for JPEG, PNG, and HEIC formats.",sample:'atlas.convert -s "*.heic" -t png'},{n:21,name:"conquistador",cat:"data",blurb:"Beautiful terminal file explorer — Finder/Explorer, re-done.",sample:"atlas.conquistador"},{n:22,name:"horizon",cat:"system",blurb:"Environmental & weather dashboard with atmospheric monitoring.",sample:"atlas.horizon"},{n:23,name:"cat",cat:"dev",blurb:"High-performance text viewer with syntax highlighting.",sample:"atlas.cat main.go"},{n:24,name:"ed",cat:"dev",blurb:"High-performance text editor with highlighting, line nos, search.",sample:"atlas.ed README.md"},{n:25,name:"gitty",cat:"dev",blurb:"Comprehensive TUI git client — graphs, branches, multi-repo.",sample:"atlas.gitty"},{n:26,name:"ip",cat:"system",blurb:"Fetch local and public IP addresses with geolocation data.",sample:"atlas.ip"},{n:27,name:"sand",cat:"games",blurb:"Interactive falling sand and particle physics simulator.",sample:"atlas.sand"},{n:28,name:"sql",cat:"data",blurb:"Terminal SQL client for SQLite & PostgreSQL with highlighting.",sample:"atlas.sql"},{n:29,name:"color",cat:"dev",blurb:"Interactive color picker & converter (Hex, RGB, HSL).",sample:"atlas.color"},{n:30,name:"archive",cat:"system",blurb:"Step-by-step archiver and extractor for compressed files.",sample:"atlas.archive"},{n:31,name:"burner",cat:"media",blurb:"TUI image burner for OS images and USB drives.",sample:"atlas.burner"},{n:32,name:"batchdown",cat:"media",blurb:"Batch downloader that processes URLs sequentially.",sample:"atlas.batchdown links.txt"},{n:33,name:"guide",cat:"productivity",blurb:"Personal health & wellness — calories, gym activities, mood.",sample:"atlas.guide"},{n:34,name:"notes",cat:"productivity",blurb:"Markdown notes manager with editor and high-fidelity render.",sample:"atlas.notes"},{n:35,name:"pilot",cat:"system",blurb:"Remote PC pilot — control windows, mouse, system over WiFi.",sample:"atlas.pilot"},{n:36,name:"record",cat:"media",blurb:"Screen & audio recorder leveraging FFmpeg for hardware capture.",sample:"atlas.record"},{n:37,name:"subs",cat:"media",blurb:"Beautiful terminal subtitle searcher and downloader.",sample:"atlas.subs"},{n:38,name:"tones",cat:"media",blurb:"iPhone ringtone and notification sound manager.",sample:"atlas.tones"},{n:39,name:"yap",cat:"media",blurb:"YouTube audio player TUI with search (Windows only).",sample:"atlas.yap",url:"https://github.com/fezcode/yap"},{n:40,name:"quote",cat:"media",blurb:"Cowsay-like quote generator with a rainbow color mode.",sample:"atlas.quote --color"},{n:41,name:"llm",cat:"dev",blurb:"Local AI chat — GPU offload, agentic tools, MCP, LAN serving.",sample:"atlas.llm --summarize ./src"},{n:42,name:"tail",cat:"dev",blurb:"High-performance log follower — tail -f with highlighting.",sample:"atlas.tail server.log"},{n:43,name:"doomwalker",cat:"system",blurb:"Lightning-fast disk space analyzer with a terminal treemap.",sample:"atlas.doomwalker C:\\"},{n:44,name:"dict",cat:"productivity",blurb:"Fast, offline terminal dictionary with delicate design.",sample:'atlas.dict -f en -t tr -q "eminence"'}],M="https://github.com/fezcode",J=s=>`${M}/atlas.${s}`,V=[{os:"unix",label:"bash · macOS / Linux",cmd:"curl -fsSL https://raw.githubusercontent.com/fezcode/atlas.hub/main/scripts/install.sh | bash"},{os:"pwsh",label:"powershell · Windows",cmd:"irm https://raw.githubusercontent.com/fezcode/atlas.hub/main/scripts/install.ps1 | iex"}],w=["[OK] loading /atlas/manifest.piml","[OK] scanning bin/… 44 tools discovered","[OK] verifying signatures · ed25519","[OK] resolving categories · 8 groups","[OK] handshake · atlas.hub v1.0.0","","> ready — press / to search, or tap a tile."],Y=()=>e.jsxs(e.Fragment,{children:[e.jsx("div",{"aria-hidden":"true",className:"pointer-events-none fixed inset-0 z-[60] opacity-[0.12]",style:{backgroundImage:"repeating-linear-gradient(180deg, rgba(255,176,0,0.35) 0 1px, transparent 1px 3px)",mixBlendMode:"overlay"}}),e.jsx("div",{"aria-hidden":"true",className:"pointer-events-none fixed inset-0 z-[61]",style:{background:"radial-gradient(ellipse at center, transparent 45%, rgba(0,0,0,0.55) 100%)"}}),[0,1,2,3].map(s=>{const l=s===0||s===1?"18px":"auto",n=s===0||s===2?"18px":"auto",o=s===1||s===3?"18px":"auto",p=s===2||s===3?"18px":"auto";return e.jsxs("svg",{"aria-hidden":"true",className:"pointer-events-none fixed w-[14px] h-[14px] z-[62]",style:{top:l,left:n,right:o,bottom:p},viewBox:"0 0 14 14",children:[e.jsx("circle",{cx:"7",cy:"7",r:"3",fill:"none",stroke:h,strokeWidth:"0.8"}),e.jsx("line",{x1:"0",y1:"7",x2:"14",y2:"7",stroke:h,strokeWidth:"0.8"}),e.jsx("line",{x1:"7",y1:"0",x2:"7",y2:"14",stroke:h,strokeWidth:"0.8"})]},s)})]}),X=({project:s})=>e.jsx(g.header,{initial:{opacity:0,y:-10},animate:{opacity:1,y:0},transition:{duration:.4},className:"sticky top-0 z-30 border-b",style:{backgroundColor:"rgba(10,9,6,0.85)",backdropFilter:"blur(8px)",borderColor:i},children:e.jsxs("div",{className:"max-w-[1600px] mx-auto px-6 md:px-10 py-3 flex items-center justify-between gap-4 text-[11px] tracking-[0.22em] uppercase",children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsxs(z,{to:"/projects",className:"flex items-center gap-2 transition-colors",style:{color:r},onMouseOver:l=>l.currentTarget.style.color=t,onMouseOut:l=>l.currentTarget.style.color=r,children:[e.jsx(P,{size:12,weight:"bold"}),e.jsx("span",{className:"hidden sm:inline",children:"projects"})]}),e.jsx("span",{style:{color:r},children:"/"}),e.jsx("span",{style:{color:h},className:"truncate",children:"fezcode/atlas"}),e.jsx("span",{style:{color:r},className:"hidden md:inline",children:"/"}),e.jsx("span",{style:{color:c},className:"hidden md:inline",children:"catalog"})]}),e.jsxs("div",{className:"flex items-center gap-5",children:[e.jsxs("span",{className:"hidden md:flex items-center gap-2",style:{color:r},children:[e.jsx("span",{className:"inline-block w-[6px] h-[6px] rounded-full",style:{backgroundColor:f,boxShadow:`0 0 8px ${f}`}}),e.jsx("span",{children:"LIVE · v1.0.0 · MMXXVI"})]}),e.jsxs("a",{href:s?.repo_link||M,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 transition-colors",style:{color:c},onMouseOver:l=>l.currentTarget.style.color=t,onMouseOut:l=>l.currentTarget.style.color=c,children:[e.jsx(R,{size:14,weight:"bold"}),e.jsx("span",{className:"hidden sm:inline",children:"stars/atlas"}),e.jsx(T,{size:10,weight:"bold"})]})]})]})}),Q=()=>{const[s,l]=u.useState([]);return u.useEffect(()=>{let n=!1,o=0;const p=()=>{if(!n&&o<w.length){const b=w[o];l(m=>[...m,b]),o+=1,setTimeout(p,140)}},x=setTimeout(p,250);return()=>{n=!0,clearTimeout(x)}},[]),e.jsxs("pre",{className:"text-[11px] leading-[1.75] whitespace-pre font-mono",style:{color:r,fontFamily:"'JetBrains Mono', monospace"},children:[s.map((n,o)=>e.jsx("span",{className:"block",children:n?n.startsWith("[OK]")?e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{color:f},children:"[OK]"}),n.slice(4)]}):n.startsWith(">")?e.jsx("span",{style:{color:t},children:n}):n:e.jsx(e.Fragment,{children:" "})},o)),s.length<w.length&&e.jsx("span",{className:"inline-block w-[8px] h-[12px] align-middle",style:{backgroundColor:t},children:" "})]})},Z=({label:s,cmd:l,os:n})=>{const[o,p]=u.useState(!1),{addToast:x}=G(),b=()=>{navigator.clipboard.writeText(l).then(()=>{p(!0),x({title:"Copied",message:`${n==="pwsh"?"PowerShell":"bash"} install command on clipboard.`,duration:1800,type:"success"}),setTimeout(()=>p(!1),1600)},()=>{x({title:"Clipboard blocked",message:"Copy manually from the terminal.",duration:1800,type:"error"})})};return e.jsxs("div",{className:"group relative border font-mono text-[13px] transition-colors",style:{backgroundColor:y,borderColor:i,fontFamily:"'JetBrains Mono', monospace"},children:[e.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 border-b",style:{borderColor:i,color:r},children:[e.jsxs("div",{className:"flex items-center gap-2 text-[10px] tracking-[0.22em] uppercase",children:[e.jsx("span",{className:"inline-block w-[6px] h-[6px] rounded-full",style:{backgroundColor:t,opacity:.85}}),e.jsx("span",{children:s})]}),e.jsxs("button",{type:"button",onClick:b,className:"flex items-center gap-1.5 text-[10px] tracking-[0.22em] uppercase transition-colors",style:{color:o?f:r},onMouseOver:m=>{o||(m.currentTarget.style.color=t)},onMouseOut:m=>{o||(m.currentTarget.style.color=r)},"aria-label":"Copy to clipboard",children:[o?e.jsx(q,{size:12,weight:"bold"}):e.jsx(H,{size:12,weight:"bold"}),e.jsx("span",{children:o?"Copied":"Copy"})]})]}),e.jsx("div",{className:"px-3 py-3 overflow-x-auto",children:e.jsxs("code",{className:"block whitespace-nowrap",children:[e.jsx("span",{style:{color:t},children:"$ "}),e.jsx("span",{style:{color:c},children:l})]})})]})},k=({icon:s,label:l})=>e.jsxs("div",{className:"flex items-center gap-2 px-2.5 py-1.5 border text-[10px] tracking-[0.22em] uppercase",style:{borderColor:i,color:c,backgroundColor:y},children:[e.jsx(s,{size:12,weight:"bold",style:{color:t}}),e.jsx("span",{children:l})]}),ee=({active:s,label:l,count:n,onClick:o})=>e.jsxs("button",{type:"button",onClick:o,className:"relative px-3 py-1.5 border text-[10px] tracking-[0.22em] uppercase transition-colors",style:{borderColor:s?t:i,color:s?N:c,backgroundColor:s?t:"transparent",fontFamily:"'JetBrains Mono', monospace",fontWeight:s?700:500},children:[l,e.jsxs("span",{className:"ml-2 inline-block text-[9px]",style:{color:s?y:r},children:["· ",n]})]}),ae=({tool:s})=>{const[l,n]=u.useState(!1);return e.jsxs(g.a,{href:s.url||J(s.name),target:"_blank",rel:"noopener noreferrer",layout:!0,initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:-8,transition:{duration:.2}},transition:{duration:.35,ease:[.22,.61,.36,1]},whileHover:{y:-2},onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),className:"relative block border overflow-hidden group",style:{backgroundColor:l?K:y,borderColor:l?t:i,fontFamily:"'JetBrains Mono', monospace",transition:"background-color 0.25s, border-color 0.25s"},children:[e.jsxs("div",{className:"flex items-center justify-between px-4 pt-3 text-[9.5px] tracking-[0.26em] uppercase",style:{color:r},children:[e.jsxs("span",{children:["№ ",String(s.n).padStart(2,"0")]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{style:{color:h},children:s.cat}),e.jsx(T,{size:11,weight:"bold",style:{color:l?t:r,transform:l?"translate(1px, -1px)":"none",transition:"all 0.2s"}})]})]}),e.jsx("div",{className:"px-4 pt-2 pb-1.5",children:e.jsxs("div",{className:"text-[20px] font-bold tracking-tight",style:{color:l?t:c},children:["atlas",e.jsx("span",{style:{color:t},children:"."}),s.name]})}),e.jsx("div",{className:"px-4 pb-4",children:e.jsx("p",{className:"text-[12px] leading-[1.55]",style:{color:r,fontFamily:"'JetBrains Mono', monospace"},children:s.blurb})}),e.jsx("div",{className:"border-t",style:{borderColor:l?h:i,backgroundColor:N},children:e.jsx("div",{className:"px-4 py-2.5 overflow-hidden",children:e.jsxs("code",{className:"block text-[11px] whitespace-nowrap",style:{color:l?t:r,transition:"color 0.25s"},children:[e.jsx("span",{style:{color:l?f:r},children:"➜"})," ",s.sample]})})})]})},se=()=>e.jsx("section",{className:"max-w-[1600px] mx-auto px-6 md:px-10 pt-28 pb-24",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-[auto_1fr] gap-10 border-t pt-16",style:{borderColor:i},children:[e.jsx("div",{className:"text-[11px] tracking-[0.3em] uppercase",style:{color:t,fontFamily:"'JetBrains Mono', monospace"},children:"WHY ATLAS ?"}),e.jsx("ul",{className:"space-y-3 text-[14px] leading-relaxed",style:{color:c,fontFamily:"'JetBrains Mono', monospace"},children:[["Go-powered","Built for speed and portability across Windows, Linux, and macOS."],["Beautiful TUIs","Bubble Tea and Lip Gloss give every tool a modern, high-fidelity terminal interface."],["Minimalist","No bloated UI. Each tool solves one problem exceptionally well."],["Local-first","Your data stays on your machine. No telemetry, no sign-ups."],["One line to install","atlas.hub brings the whole suite — pick what you need, skip the rest."]].map(([s,l])=>e.jsxs("li",{className:"flex gap-3",children:[e.jsx("span",{className:"mt-[6px] block w-[8px] h-[8px] shrink-0",style:{backgroundColor:t}}),e.jsxs("span",{children:[e.jsx("span",{style:{color:t},children:s}),e.jsxs("span",{style:{color:r},children:[" — ",l]})]})]},s))})]})}),de=()=>{const{slug:s}=I(),{projects:l}=A(),n=l.find(a=>a.slug===s)||null,[o,p]=u.useState("all"),[x,b]=u.useState(""),m=u.useRef(null);u.useEffect(()=>{const a=d=>{d.key==="/"&&document.activeElement!==m.current&&(d.preventDefault(),m.current?.focus()),d.key==="Escape"&&document.activeElement===m.current&&(b(""),m.current?.blur())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[]);const S=u.useMemo(()=>{const a={all:j.length};for(const d of j)a[d.cat]=(a[d.cat]||0)+1;return a},[]),v=u.useMemo(()=>{const a=x.trim().toLowerCase();return j.filter(d=>o!=="all"&&d.cat!==o?!1:a?d.name.includes(a)||d.blurb.toLowerCase().includes(a)||d.cat.includes(a)||d.sample.toLowerCase().includes(a):!0)},[o,x]),E=o!=="all"||!!x.trim();return e.jsxs("div",{className:"min-h-screen relative",style:{backgroundColor:N,color:c,fontFamily:"'JetBrains Mono', monospace",backgroundImage:`
radial-gradient(1200px 600px at 80% -10%, rgba(255,176,0,0.045) 0%, transparent 60%),
radial-gradient(900px 500px at -10% 110%, rgba(154,175,79,0.035) 0%, transparent 60%)
`},children:[e.jsx($,{title:"Atlas Suite | Fezcodex",description:"A family of 44+ minimalist, high-performance Go CLI tools built with Bubble Tea — one install line, one philosophy, eight categories.",keywords:["atlas","atlas suite","go","cli","tui","bubble tea","productivity"]}),e.jsx("style",{children:`
@keyframes atlas-blink {
0%, 49% { opacity: 1; }
50%, 100% { opacity: 0; }
}
.atlas-caret { animation: atlas-blink 0.9s steps(1, end) infinite; }
`}),e.jsx(Y,{}),e.jsx(X,{project:n}),e.jsx("section",{className:"max-w-[1600px] mx-auto px-6 md:px-10 pt-14 md:pt-20 pb-20 md:pb-28 relative",children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[1.25fr_1fr] gap-10 lg:gap-20 items-start",children:[e.jsxs("div",{children:[e.jsxs(g.div,{initial:{opacity:0,y:-6},animate:{opacity:1,y:0},transition:{duration:.4},className:"flex items-center gap-3 text-[10.5px] tracking-[0.3em] uppercase mb-8",style:{color:t},children:[e.jsx("span",{className:"inline-block w-[7px] h-[7px]",style:{backgroundColor:t,boxShadow:`0 0 10px ${t}`}}),e.jsx("span",{children:"ATLAS · SUITE · CATALOGUE"}),e.jsx("span",{"aria-hidden":"true",className:"inline-block h-px w-12",style:{backgroundColor:h}}),e.jsx("span",{style:{color:r},children:"MMXXVI"})]}),e.jsxs(g.h1,{initial:{opacity:0,y:18},animate:{opacity:1,y:0},transition:{duration:.6,delay:.15,ease:[.22,.61,.36,1]},className:"text-[72px] md:text-[120px] xl:text-[148px] leading-[0.86] font-black tracking-[-0.045em]",style:{color:c},children:["atlas",e.jsx("span",{style:{color:t},children:"."}),e.jsx("br",{}),e.jsx("span",{style:{color:h},children:"suite"}),e.jsx("span",{"aria-hidden":"true",className:"inline-block ml-2 align-middle atlas-caret",style:{width:"0.45em",height:"0.85em",backgroundColor:t,boxShadow:`0 0 14px ${t}`}})]}),e.jsxs(g.p,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.5,delay:.45},className:"mt-6 max-w-[56ch] text-[15px] md:text-[17px] leading-relaxed",style:{color:c},children:["A family of ",e.jsx("span",{style:{color:t},children:"44 minimalist"}),", high-performance command-line tools built with Go and Bubble Tea. Each one solves a single problem well. Together, they form a terminal-native productivity stack."]}),e.jsxs(g.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.5,delay:.7},className:"mt-8 flex flex-wrap items-center gap-6",children:[e.jsxs("div",{className:"flex items-center gap-3 text-[10.5px] tracking-[0.22em] uppercase",style:{color:r},children:[e.jsx("span",{style:{color:t},children:j.length})," tools",e.jsx("span",{className:"inline-block w-1 h-1",style:{backgroundColor:r}}),e.jsx("span",{style:{color:t},children:"8"})," categories",e.jsx("span",{className:"inline-block w-1 h-1",style:{backgroundColor:r}}),e.jsx("span",{style:{color:t},children:"1"})," install line"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(k,{icon:D,label:"macOS"}),e.jsx(k,{icon:U,label:"Linux"}),e.jsx(k,{icon:W,label:"Windows"})]})]})]}),e.jsxs(g.div,{initial:{opacity:0,y:18},animate:{opacity:1,y:0},transition:{duration:.55,delay:.35},className:"flex flex-col gap-5 w-full",children:[e.jsxs("div",{className:"flex items-center gap-2 text-[10.5px] tracking-[0.3em] uppercase",style:{color:t},children:[e.jsx(L,{size:14,weight:"bold"}),e.jsx("span",{children:"install"}),e.jsx("span",{"aria-hidden":"true",className:"flex-1 h-px",style:{backgroundColor:i}}),e.jsx("span",{style:{color:r},children:"one liner"})]}),V.map(a=>e.jsx(Z,{...a},a.os)),e.jsx("div",{className:"border px-4 py-4 mt-2",style:{borderColor:i,backgroundColor:y},children:e.jsx(Q,{})})]})]})}),e.jsxs("section",{className:"max-w-[1600px] mx-auto px-6 md:px-10",children:[e.jsxs(g.div,{initial:{opacity:0},whileInView:{opacity:1},viewport:{once:!0},className:"flex items-end justify-between gap-6 pb-5 border-b",style:{borderColor:i},children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-[10px] tracking-[0.3em] uppercase mb-2",style:{color:t},children:"§ catalogue"}),e.jsxs("h2",{className:"text-[32px] md:text-[44px] font-black tracking-tight",style:{color:c},children:["the ",e.jsx("span",{style:{color:t},children:"tool"})," index"]})]}),e.jsxs("div",{className:"hidden md:block text-[10.5px] tracking-[0.22em] uppercase text-right",style:{color:r},children:[e.jsxs("div",{children:[e.jsx("span",{style:{color:f},children:v.length})," · ",e.jsxs("span",{children:["of ",j.length," visible"]})]}),E&&e.jsx("button",{type:"button",onClick:()=>{p("all"),b("")},className:"mt-1 text-[9.5px] tracking-[0.22em] transition-colors",style:{color:C},onMouseOver:a=>a.currentTarget.style.color=t,onMouseOut:a=>a.currentTarget.style.color=C,children:"clear all filters ↺"})]})]}),e.jsx("div",{className:"sticky top-[52px] z-20 py-5 border-b",style:{backgroundColor:"rgba(10,9,6,0.92)",backdropFilter:"blur(6px)",borderColor:i},children:e.jsxs("div",{className:"flex flex-col lg:flex-row gap-4 lg:items-center",children:[e.jsx("div",{className:"flex flex-wrap gap-1.5 flex-1",children:_.map(a=>e.jsx(ee,{active:o===a.id,label:a.label,count:S[a.id]||0,onClick:()=>p(a.id)},a.id))}),e.jsxs("div",{className:"relative flex items-center border lg:max-w-[320px] w-full",style:{borderColor:i,backgroundColor:y},children:[e.jsx(B,{size:14,weight:"bold",className:"ml-3",style:{color:h}}),e.jsx("input",{ref:m,value:x,onChange:a=>b(a.target.value),placeholder:"search tools · press / to focus",className:"flex-1 bg-transparent px-3 py-2 text-[12px] placeholder:text-[#5E4E3B] focus:outline-none",style:{color:c,fontFamily:"'JetBrains Mono', monospace"}}),x&&e.jsx("button",{type:"button",onClick:()=>b(""),className:"mr-2 p-1 transition-colors",style:{color:r},onMouseOver:a=>a.currentTarget.style.color=t,onMouseOut:a=>a.currentTarget.style.color=r,"aria-label":"Clear search",children:e.jsx(O,{size:12,weight:"bold"})}),e.jsx("span",{className:"mr-3 px-1.5 py-0.5 border text-[9px] tracking-[0.2em] uppercase hidden sm:inline",style:{borderColor:i,color:r},children:"/"})]})]})}),e.jsx("div",{className:"pt-8 pb-12",children:v.length===0?e.jsxs("div",{className:"py-32 text-center text-[13px] tracking-[0.2em] uppercase border",style:{borderColor:i,color:r},children:[e.jsx("div",{className:"mb-3",children:"no tools match your filter."}),e.jsx("button",{type:"button",onClick:()=>{p("all"),b("")},className:"text-[11px] transition-colors",style:{color:t},onMouseOver:a=>a.currentTarget.style.color=c,onMouseOut:a=>a.currentTarget.style.color=t,children:"↺ reset"})]}):e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3 md:gap-4",children:e.jsx(F,{mode:"popLayout",children:v.map(a=>e.jsx(ae,{tool:a},a.name))})})})]}),e.jsx(se,{}),e.jsx("footer",{className:"border-t",style:{borderColor:i,backgroundColor:y},children:e.jsxs("div",{className:"max-w-[1600px] mx-auto px-6 md:px-10 py-5 flex flex-wrap items-center justify-between gap-4 text-[10px] tracking-[0.22em] uppercase",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-4",style:{color:r},children:[e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"px-1.5 py-0.5 border",style:{borderColor:i,color:t},children:"/"}),e.jsx("span",{children:"search"})]}),e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"px-1.5 py-0.5 border",style:{borderColor:i,color:t},children:"esc"}),e.jsx("span",{children:"clear"})]}),e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"px-1.5 py-0.5 border",style:{borderColor:i,color:t},children:"↵"}),e.jsx("span",{children:"open repo"})]})]}),e.jsxs("div",{style:{color:r},children:[e.jsx("span",{style:{color:h},children:"atlas.hub"})," · © ",new Date().getFullYear()," · fezcode"]})]})})]})};export{de as default};