@@ -10,6 +10,7 @@ import { getCollection } from 'astro:content'
1010
1111// Fetch all hacks from the content collection
1212const allHacks = await getCollection (' hacks' )
13+ const totalHacks = allHacks .length
1314
1415// Filter and sort featured hacks
1516const hacksWithFeature = allHacks .filter (hack =>
@@ -37,7 +38,8 @@ const featuredHacks = hacksWithFeature
3738
3839// Fetch all apps from the content collection
3940const allApps = await getCollection (' apps' )
40- const featuredApps = allApps // Show all apps
41+ const totalApps = allApps .length
42+ const preloadedApps = allApps .filter ((app ) => app .data .preloaded )
4143---
4244
4345<Layout title =" Badger - 2350 Hacks & Projects" >
@@ -54,33 +56,20 @@ const featuredApps = allApps // Show all apps
5456 Hack. Tinker. Repeat.
5557 </h1 >
5658 <p class =" font-mono text-base text-muted-foreground max-w-prose leading-relaxed" >
57- A stripped-down catalog of experiments for the Badger 2350. No marketing fluff. Just code, hardware pins, and ways to bend them .
59+ A catalog of apps and hacks for the Tufty Badger 2350. Experiment, learn, build and have fun .
5860 </p >
5961 </div >
6062
61- <div class =" flex flex-col sm:flex-row gap-4" >
62- <Button asChild size =" lg" client:load >
63- <a href =" #preloaded-apps" class =" inline-flex items-center gap-2.5 px-5 py-3 font-mono text-base uppercase tracking-[0.12em]" >
64- <Grid3x3 className =" h-5 w-5" />
65- <span >Apps</span >
66- </a >
67- </Button >
68- <Button asChild variant =" outline" size =" lg" client:load >
69- <a href =" /about-badge" class =" inline-flex items-center gap-2.5 px-5 py-3 font-mono text-base uppercase tracking-[0.12em]" >
70- <Zap className =" h-5 w-5" />
71- <span >Hardware Map</span >
72- </a >
73- </Button >
74- </div >
63+
7564
7665 <!-- Stats -->
7766 <div class =" grid grid-cols-3 gap-8 pt-8 border-t border-border/30" >
7867 <div class =" text-center" >
79- <div class =" font-mono text-4xl font-semibold text-primary mb-2" >{ featuredApps . length } </div >
68+ <div class =" font-mono text-4xl font-semibold text-primary mb-2" >{ totalApps } </div >
8069 <div class =" font-mono text-xs uppercase tracking-wider text-muted-foreground" >apps</div >
8170 </div >
8271 <div class =" text-center" >
83- <div class =" font-mono text-4xl font-semibold text-primary mb-2" >{ featuredHacks . length } + </div >
72+ <div class =" font-mono text-4xl font-semibold text-primary mb-2" >{ totalHacks } </div >
8473 <div class =" font-mono text-xs uppercase tracking-wider text-muted-foreground" >hacks</div >
8574 </div >
8675 <div class =" text-center" >
@@ -121,9 +110,8 @@ const featuredApps = allApps // Show all apps
121110
122111 <div class =" max-w-6xl mx-auto" >
123112 <div class =" grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4" >
124- { featuredApps .map ((app ) => (
113+ { preloadedApps .map ((app ) => (
125114 <AppCard
126- key = { app .slug }
127115 title = { app .data .title }
128116 description = { app .data .description }
129117 icon = { app .data .icon }
0 commit comments