PageSourceSearch

https://browserextensions.io/_next/static/chunks/32ab38d9533d18bf.js

js browserextensions.io collected 2026-10-02 00:37:08 UTC 17,480 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,37469,e=>{"use strict";var t=e.i(43476),s=e.i(39499),r=e.i(90597),a=e.i(71645),i=e.i(83906);function l({slug:e,className:l,size:o="md",variant:n="default"}){let{isFavorite:c,toggleFavorite:d}=(0,i.useFavorites)(),[u,m]=(0,a.useState)(!1),h=c(e),x=(0,s.cn)("relative flex items-center justify-center rounded-full transition-all duration-200 z-20 cursor-pointer group/favorite","hover:scale-110 will-change-transform transform-gpu","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",{sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12"}[o],{"bg-background border shadow-sm":"default"===n,"hover:bg-muted/50":"ghost"===n},"default"===n&&(h?"border-red-500 hover:border-red-600 dark:border-red-400 dark:hover:border-red-500":"border-border hover:border-red-200 dark:hover:border-red-800"),l);return(0,t.jsx)("button",{type:"button",onClick:t=>{t.preventDefault(),t.stopPropagation(),m(!0),d(e),setTimeout(()=>m(!1),200)},className:x,"aria-label":h?"Remove from favorites":"Add to favorites",title:h?"Remove from favorites":"Add to favorites",children:(0,t.jsx)(r.Heart,{className:(0,s.cn)("transition-all duration-200 antialiased",{sm:"h-5 w-5",md:"h-6 w-6",lg:"h-7 w-7"}[o],h?"fill-red-500 text-red-500 dark:fill-red-400 dark:text-red-400":"text-muted-foreground group-hover/favorite:text-red-400 dark:group-hover/favorite:text-red-500",u&&"scale-125"),style:{shapeRendering:"auto",vectorEffect:"non-scaling-stroke"}})})}e.s(["FavoriteButton",()=>l])},99338,e=>{"use strict";var t=e.i(43476),s=e.i(94498),r=e.i(39499),a=e.i(22016),i=e.i(47709),l=e.i(35478),o=e.i(7581),n=e.i(37469);function c(e){return e?e.replace(/<[^>]*>/g,"").trim():""}function d({items:e=[],variant:d="default",className:u,maxItems:m,animateIn:h=!0,analyticsSource:x,overrideGrid:g=!1}){if(!e?.length)return null;let f=e=>{let t=Math.min(e,7)+1;return`stagger-${t}`};return"compact"===d?(0,t.jsx)("div",{className:(0,r.cn)("space-y-4",u),children:e.map((e,l)=>e?.slug?(0,t.jsxs)("div",{className:(0,r.cn)("flex items-center gap-3 p-2 sm:p-2.5 rounded-lg transition-all duration-200 relative","hover:bg-muted/50 hover:translate-x-1",h&&"animate-fade-in-up opacity-0",h&&f(l)),children:[(0,t.jsx)(o.FaviconWithFallback,{website:e.website,name:e.name,logoUrl:e.media?.logo,size:32}),(0,t.jsxs)("div",{className:"flex-1 min-w-0 space-y-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("h3",{className:"font-semibold text-xs sm:text-sm md:text-base truncate",children:(0,t.jsx)(a.default,{href:(0,i.getRoute)("listing.detail",{slug:e.slug}),className:"block after:absolute after:inset-0 after:content-[''] z-10","data-analytics":"website-click","data-website-name":e.name,"data-website-slug":e.slug,"data-source":x||"grid-compact",children:e.name})}),e.isUnofficial&&(0,t.jsx)(s.Badge,{variant:"outline",className:"text-xs border-yellow-500/20 bg-yellow-500/10 dark:border-yellow-400/30 dark:bg-yellow-400/10 text-yellow-700 dark:text-yellow-300 hover:bg-yellow-500/20 dark:hover:bg-yellow-400/20 transition-colors",children:"Unofficial"})]}),(0,t.jsx)("p",{className:"text-xs sm:text-sm text-muted-foreground",children:c(e.description)})]}),(0,t.jsx)("div",{className:"flex-shrink-0 ml-2",children:(0,t.jsx)(n.FavoriteButton,{slug:e.slug,size:"sm",variant:"ghost"})})]},e.slug):null)}):(0,t.jsx)("div",{className:g?u:(0,r.cn)("grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 2xl:grid-cols-6 4xl:grid-cols-8 gap-4",u),children:e.map((e,d)=>{if(!e?.slug)return null;let u=!m||d<m;return(0,t.jsx)("div",{className:(0,r.cn)("transition-all duration-300 ease-out",u?"scale-100":"scale-95 absolute pointer-events-none",h&&u&&"animate-fade-in-up opacity-0",h&&u&&f(d),void 0===m&&d>=6&&u&&"hidden 4xl:block"),children:(0,t.jsx)(l.Card,{className:"p-4 relative h-full group",children:(0,t.jsx)("div",{className:"space-y-1.5",children:(0,t.jsxs)("div",{className:"space-y-1.5 sm:space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between",children:[(0,t.jsx)(o.FaviconWithFallback,{website:e.website,name:e.name,logoUrl:e.media?.logo,size:32}),(0,t.jsx)(n.FavoriteButton,{slug:e.slug,size:"sm",variant:"default"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("h3",{className:"font-bold text-xs sm:text-sm md:text-base truncate",children:(0,t.jsx)(a.default,{href:(0,i.getRoute)("listing.detail",{slug:e.slug}),className:"block after:absolute after:inset-0 after:content-[''] z-10","data-analytics":"website-click","data-website-name":e.name,"data-website-slug":e.slug,"data-source":x||"grid-default",children:e.name})}),e.isUnofficial&&(0,t.jsx)(s.Badge,{variant:"outline",className:"text-xs border-yellow-500/20 bg-yellow-500/10 dark:border-yellow-400/30 dark:bg-yellow-400/10 text-yellow-700 dark:text-yellow-300 hover:bg-yellow-500/20 dark:hover:bg-yellow-400/20 transition-colors",children:"Unofficial"})]}),(0,t.jsx)("p",{className:"text-xs sm:text-sm text-muted-foreground line-clamp-2",children:c(e.description)})]})})})},e.slug)})})}e.s(["LLMGrid",()=>d])},64302,e=>{"use strict";var t=e.i(43476),s=e.i(96681),r=e.i(71645),a=e.i(83906),i=e.i(99338),l=e.i(47709),o=e.i(10904);
1function n({analytics:e,displayLimit:s,emptyDescription:a=`There are no directory entries available. Try checking back later or ${o.siteCopy.submitLabelSentence}.`,emptyTitle:i="No entries found",favorites:n,initialShowFavoritesOnly:c=!1,initialWebsites:d,slots:u,totalCount:m}){let[h,x]=(0,r.useState)("latest"),[g,f]=(0,r.useState)(""),[p,b]=(0,r.useState)(c),[v,j]=(0,r.useState)(!1),[y,N]=(0,r.useState)(!0),[w]=(0,r.useState)(d),{trackSearch:k,trackSortChange:C}=e,{favoriteWebsites:S,hasFavorites:L}=n,{EmptyState:T,LLMGrid:R,WebsitesSearchControls:F}=u;(0,r.useEffect)(()=>{requestAnimationFrame(()=>{let e=localStorage.getItem("websites-sort-by");if(null!==e){let t=JSON.parse(e);("name"===t||"latest"===t)&&x(t)}j(!0),N(!1)})},[]),(0,r.useEffect)(()=>{v&&localStorage.setItem("websites-sort-by",JSON.stringify(h))},[h,v]);let U=(0,r.useMemo)(()=>{let e=p?[...S]:[...w],t=g.trim().toLowerCase();return(t&&(e=e.filter(e=>`${e.name} ${e.description} ${e.category} ${(e.categories||[]).join(" ")}`.toLowerCase().includes(t))),"latest"===h)?e.sort((e,t)=>{let s=new Date(e.publishedAt).getTime();return new Date(t.publishedAt).getTime()-s}):e.sort((e,t)=>e.name.localeCompare(t.name))},[w,S,g,p,h]);return d.length?(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(F,{searchQuery:g,setSearchQuery:f,sortBy:h,setSortBy:x,showFavoritesOnly:p,setShowFavoritesOnly:b,hasFavorites:L,filteredCount:U.length,trackSearch:k,trackSortChange:C}),0===U.length?g.trim()?(0,t.jsx)(T,{title:"No results found",description:`No entries found matching "${g}". Try a different search term.`,actionLabel:"Clear Search",onAction:()=>f("")}):(0,t.jsx)(T,{title:i,description:a}):(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"sr-only mb-6 text-2xl font-semibold",children:o.siteCopy.listingName.pluralTitle}),g?(0,t.jsxs)("p",{className:"mb-4 text-sm text-muted-foreground",children:["Showing ",U.length," result",1!==U.length?"s":"",' for "',g,'"']}):null,(0,t.jsx)("div",{className:"relative",children:(0,t.jsx)("div",{className:`transition-opacity duration-300 ${y?"opacity-80":"opacity-100"}`,children:(0,t.jsx)(R,{items:U,maxItems:s,animateIn:!g.trim()&&!y,className:"transition-all duration-500 ease-in-out"})})}),(0,t.jsxs)("div",{className:"mt-8 text-center","aria-live":"polite",children:[(0,t.jsx)("div",{className:"text-sm text-muted-foreground",children:(0,t.jsxs)("p",{children:["Showing"," ",Math.min(U.length,s??U.length)," ","of ",U.length," matching ",o.siteCopy.listingName.plural,"."]})}),(0,t.jsxs)("p",{className:"mt-3 text-xs text-muted-foreground",children:["Directory size: ",m||w.length," ",o.siteCopy.listingName.plural]})]})]})]}):(0,t.jsx)(T,{title:i,description:a,actionLabel:o.siteCopy.submitLabel,actionHref:(0,l.getRoute)("submit")})}var c=e.i(57306),d=e.i(3116),u=e.i(90597),m=e.i(55436),h=e.i(91152),x=e.i(92989);function g({searchQuery:e,setSearchQuery:s,sortBy:r,setSortBy:a,showFavoritesOnly:i,setShowFavoritesOnly:o,hasFavorites:n,filteredCount:g,trackSearch:f,trackSortChange:p}){let b=(0,x.useRouter)();return(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 items-start sm:items-center justify-between",children:[(0,t.jsxs)("form",{onSubmit:t=>{t.preventDefault(),e.trim()&&(f(e,g,"homepage-search"),b.push(`${(0,l.getRoute)("search")}?q=${encodeURIComponent(e)}`))},className:"relative flex-1 max-w-md",children:[(0,t.jsx)("input",{type:"text",placeholder:"Search the directory...",value:e,onChange:e=>s(e.target.value),className:"w-full rounded-lg border border-input bg-background px-4 py-2 text-sm r
1ing-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"}),(0,t.jsx)("button",{type:"submit",className:"absolute inset-y-0 right-0 flex items-center px-2 text-muted-foreground","aria-label":"Search",children:(0,t.jsx)(m.Search,{className:"h-4 w-4"})})]}),(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-3",children:[n&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsxs)("button",{type:"button",onClick:()=>o(!i),className:`flex items-center gap-2 px-3 py-2 rounded-md border text-sm transition-colors cursor-pointer ${i?"bg-accent text-accent-foreground border-accent":"bg-background hover:bg-muted/50 border-border"}`,children:[(0,t.jsx)(u.Heart,{className:`h-4 w-4 ${i?"fill-red-500 text-red-500":"text-muted-foreground"}`}),(0,t.jsx)("span",{children:i?"Show All":"Favorites Only"})]})}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:"Sort by:"}),(0,t.jsxs)(c.ToggleGroup,{type:"single",value:r,onValueChange:e=>{e&&e!==r&&(p(r,e,"homepage-sort"),a(e))},className:"bg-background border rounded-md",children:[(0,t.jsxs)(c.ToggleGroupItem,{value:"name",className:"px-3 py-2 h-10 data-[state=on]:bg-accent cursor-pointer",children:[(0,t.jsx)(h.SortAsc,{className:"size-4 mr-2"}),(0,t.jsx)("span",{className:"text-sm",children:"Name"})]}),(0,t.jsxs)(c.ToggleGroupItem,{value:"latest",className:"px-3 py-2 h-10 data-[state=on]:bg-accent cursor-pointer",children:[(0,t.jsx)(d.Clock,{className:"size-4 mr-2"}),(0,t.jsx)("span",{className:"text-sm",children:"Latest"})]})]})]})]})]})}function f(e){let l=(0,a.useAnalyticsEvents)(),o=function(e){let{favorites:t}=(0,a.useFavorites)();return{favoriteWebsites:(0,r.useMemo)(()=>e.filter(e=>t.includes(e.slug)),[e,t]),hasFavorites:t.length>0,favoritesCount:t.length}}(e.initialWebsites);return(0,t.jsx)(n,{...e,analytics:l,favorites:o,slots:{EmptyState:s.EmptyState,LLMGrid:i.LLMGrid,WebsitesSearchControl
1s:g}})}e.s(["WebsitesListWithSearchRoute",()=>f],64302)},74130,e=>{"use strict";var t=e.i(43476),s=e.i(94498),r=e.i(99563);e.i(47167);let a={CREATOR_PROJECT_CLICK:"Creator Project Click"};var i=e.i(72520),l=e.i(22016);function o({children:e,title:s,description:r,viewAllHref:a,viewAllText:o="View all",titleId:n}){return(0,t.jsxs)("section",{className:"space-y-6","aria-labelledby":n??void 0,children:[(0,t.jsxs)("div",{className:"sticky top-16 z-30 bg-background/95 backdrop-blur-sm border-b border-border/50 flex items-center justify-between py-3 sm:py-4 -mx-6 px-6",children:[(0,t.jsxs)("div",{className:"space-y-0.5 sm:space-y-1 flex-1",children:[(0,t.jsxs)("h2",{id:n,className:"flex items-center gap-2 text-xl sm:text-2xl font-bold tracking-tight scroll-mt-20",children:[(0,t.jsx)("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-foreground","aria-hidden":"true"}),s]}),r&&(0,t.jsx)("p",{className:"text-xs sm:text-sm text-muted-foreground line-clamp-2 pl-3.5",children:r})]}),a&&(0,t.jsx)("div",{className:"flex items-center gap-2 ml-2",children:(0,t.jsxs)(l.default,{href:a,className:"group flex items-center text-sm sm:text-base font-medium whitespace-nowrap text-muted-foreground hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background rounded","aria-label":o,children:[(0,t.jsx)("span",{className:"hidden sm:inline",children:o}),(0,t.jsx)(i.ArrowRight,{className:"size-5 sm:size-4 sm:ml-2 transition-transform group-hover:translate-x-0.5"})]})})]}),e]})}var n=e.i(35478),c=e.i(78917),d=e.i(75254);let u=(0,d.default)("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]),m=(0,d.default)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]),h=[{name:"Front-End Checklist",description:"The perfect Front-End Checklist for modern websites and meticulous developers.",url:"https://frontendchecklist.io",githubUrl:"https://github.com/thedaviddias/Front-End-Checklist",stars:71954,tags:["Frontend","Checklist","Best Practices"]},{name:"UX Patterns for Developers",description:"Collection of UX patterns for everyone but specially towards developers who want to understand how to build effective UI components accessible and usable.",url:"https://github.com/thedaviddias/ux-patterns-for-developers",githubUrl:"https://github.com/thedaviddias/ux-patterns-for-developers",stars:155,tags:["UX","Design Patterns","Accessibility"]},{name:"Indie Dev Toolkit",description:"A curated list of tools and resources for indie hackers, solo founders, and bootstrapped startups.",url:"https://github.com/thedaviddias/indie-dev-toolkit",githubUrl:"https://github.com/thedaviddias/indie-dev-toolkit",stars:222,tags:["Toolkit","Indie Hacking","Resources"]}];function x({onProjectClick:e,slots:s}){let{Badge:r,Button:a,Card:i,CardContent:l,CardDescription:o,CardHeader:n,CardTitle:d,Section:x}=s;return(0,t.jsx)(x,{title:"More Projects by the Creator",description:"Explore other open-source projects and resources by David Dias",children:(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)("div",{className:"grid gap-4 sm:gap-6 md:grid-cols-2 lg:grid-cols-3",children:h.map(s=>(0,t.jsxs)(i,{className:"relative group flex flex-col transition-all duration-200 hover:shadow-lg",children:[(0,t.jsxs)(n,{className:"flex-1 pb-3",children:[(0,t.jsx)("div",{className:"flex items-start justify-between",children:(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(d,{className:"text-lg transition-colors group-hover:text-primary",children:s.name}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[s.stars?(0,t.jsxs)("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[(0,t.jsx)(m,{className:"h-3 w-3"}
1),(0,t.jsx)("span",{children:s.stars.toLocaleString()})]}):null,(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:s.tags.slice(0,2).map(e=>(0,t.jsx)(r,{variant:"secondary",className:"px-2 py-0.5 text-xs",children:e},e))})]})]})}),(0,t.jsx)(o,{className:"text-sm leading-relaxed",children:s.description})]}),(0,t.jsx)(l,{className:"mt-auto pt-0",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(a,{size:"sm",asChild:!0,children:(0,t.jsxs)("a",{href:s.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5",onClick:()=>{e?.(s.name,s.url,"visit-site")},children:[(0,t.jsx)(c.ExternalLink,{className:"h-3 w-3"}),"Visit Site"]})}),s.githubUrl?(0,t.jsx)(a,{size:"sm",variant:"outline",asChild:!0,children:(0,t.jsxs)("a",{href:s.githubUrl,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5",onClick:()=>{e?.(s.name,s.githubUrl,"github")},children:[(0,t.jsx)(u,{className:"h-3 w-3"}),"GitHub"]})}):null]})})]},s.name))}),(0,t.jsxs)("div",{className:"border-t border-border/50 pt-4 text-center",children:[(0,t.jsx)("p",{className:"mb-3 text-sm text-muted-foreground",children:"Like these projects? Check out David's GitHub for more open-source contributions."}),(0,t.jsx)(a,{variant:"outline",asChild:!0,children:(0,t.jsxs)("a",{href:"https://github.com/thedaviddias",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2",onClick:()=>{e?.("David Dias Profile","https://github.com/thedaviddias","github","follow-cta")},children:[(0,t.jsx)(u,{className:"h-4 w-4"}),"Follow on GitHub"]})})]})]})})}function g(){return(0,t.jsx)(x,{onProjectClick:(e,t,s,r)=>{var i,l,o,n;i=e,l=t,o=s,n=r,function(e,t){let s,r;s=window,r={event:e},t&&Object.entries(t).forEach(([e,t])=>{void 0!==t&&(r[e]=t)}),s.dataLayer=s.dataLayer||[],s.dataLayer.push(r)}(a.CREATOR_PROJECT_CLICK,{value:i,destination:l,category:o,source:n})},slots:{Badge:s.Badge,Button:r.Button,Card:n.Card,CardContent:n.CardContent,CardDescription:n.CardDescription,CardHeader:n.CardHeader,CardTitle:n.CardTitle,Section:o}})}e.s(["CreatorProjectsSectionRoute",()=>g],74130)}]);

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.