PageSourceSearch

https://www.patricknesbitt.ai/assets/Tools-C3EEjtYU.js

js patricknesbitt.ai collected 2026-10-05 15:09:15 UTC 1,626 bytes, 1 lines download raw bytes

1import{u as a,j as e}from"./query-vendor-xE32BUwA.js";import{N as o}from"./Navigation-DszQSMiE.js";import{k as i,C as n,l as m,m as c,n as d,o as l}from"./index-BmlH4SZ6.js";import{L as x}from"./react-vendor-DACtqSey.js";import{t as p}from"./toolsService-DBzX5I3v.js";import{P as u,a as f,C as h}from"./ContentGrid-DAAJjFxQ.js";import"./index-OuxIG8oY.js";import"./index-DvF9jvg8.js";import"./index-DSb8_gEY.js";import"./ui-vendor-sWY5FKeG.js";import"./client-miKtLRar.js";import"./tslib.es6-Ds0fHAFP.js";const q=()=>{const{data:r,isLoading:s}=a({queryKey:["tools"],queryFn:()=>p.getAll()});return e.jsxs("div",{className:"min-h-screen",children:[e.jsx(o,{}),e.jsx(u,{children:e.jsxs("div",{id:"main-content",children:[e.jsx(f,{title:"Tools",description:"A curated collection of interactive tools to enhance your workflow"}),s?e.jsx(i,{}):e.jsx(h,{variant:"compact",children:r==null?void 0:r.map(t=>e.jsx(x,{to:`/tools/${t.slug}`,children:e.jsxs(n,{className:"hover:shadow-card-hover transition-all duration-normal ease-smooth cursor-pointer border-2 h-full",children:[e.jsxs(m,{children:[e.jsx("div",{className:"flex items-center justify-between mb-2",children:e.jsx("span",{className:"font-outfit font-medium text-xs uppercase tracking-wider text-primary",children:t.category})}),e.jsx(c,{className:"font-outfit font-bold text-2xl",children:t.name}),e.jsx(d,{className:"font-inter text-base",children:t.description})]}),e.jsx(l,{children:e.jsx("span",{className:"font-outfit font-medium text-sm text-primary hover:text-primary/80 transition-colors",children:"Launch Tool →"})})]})},t.id))})]})})]})};export{q 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.