From 3f1ce77900974092e78b2dd15a8ecd10e8603561 Mon Sep 17 00:00:00 2001 From: Moheeb Zara Date: Tue, 28 Jul 2026 23:37:46 -0700 Subject: [PATCH] Add the talk to the landing showcase; point Atlas at its subdomain - Landing 'From hackerspace.sh' showcase: add a 'Hacking Your Hackerspace' tile (07 projects) linking the deck on hack.build, with a new HackBuildIcon (the brand's pink open-end wrench). - Point the Atlas tile at https://atlas.hackerspace.sh (now live) instead of the old internal /atlas route. - Use the same hack.build wrench for the talk card on the Resources page. --- app/(resources)/resources/page.tsx | 4 ++-- components/landing/resource-showcase.tsx | 14 ++++++++------ components/resources/icons.tsx | 16 ++++++++++++++++ 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/app/(resources)/resources/page.tsx b/app/(resources)/resources/page.tsx index 27b37d9..72b370c 100644 --- a/app/(resources)/resources/page.tsx +++ b/app/(resources)/resources/page.tsx @@ -8,7 +8,7 @@ import { CubeIcon, KeyIcon, GridIcon, - PlayIcon, + HackBuildIcon, } from '@/components/resources/icons' import { AtlasLogo } from '@/components/resources/atlas-logo' @@ -124,7 +124,7 @@ export default function ResourcesLandingPage() { title="Hacking Your Hackerspace" description="A talk on the patterns, pitfalls, and governance lessons behind keeping a hackerspace alive — the research from these projects, condensed into one interactive session." type="Talk · Interactive" - visual={} + visual={} /> diff --git a/components/landing/resource-showcase.tsx b/components/landing/resource-showcase.tsx index 0e218dd..26b217e 100644 --- a/components/landing/resource-showcase.tsx +++ b/components/landing/resource-showcase.tsx @@ -1,17 +1,19 @@ import Link from 'next/link' import { AtlasLogo } from '@/components/resources/atlas-logo' -import { CubeIcon, TraceIcon, SpaceIcon, GridIcon, KeyIcon } from '@/components/resources/icons' +import { CubeIcon, TraceIcon, SpaceIcon, GridIcon, KeyIcon, HackBuildIcon } from '@/components/resources/icons' -// The six hackerspace.sh research/game projects, shown as a single row of -// square tiles at the foot of the landing page. Internal routes use next/link; -// the interactive learner is an external app. +// The hackerspace.sh research/game projects, shown as a single row of square +// tiles at the foot of the landing page. Internal routes use next/link; +// external apps (the Atlas subdomain, the interactive learner, the talk) open +// in a new tab. const RESOURCES = [ - { title: 'Atlas', href: '/atlas', external: false, visual: }, + { title: 'Atlas', href: 'https://atlas.hackerspace.sh', external: true, visual: }, { title: 'Space After Dark', href: '/space-after-dark', external: false, visual: }, { title: 'Proposal Duel', href: '/proposal-duel', external: false, visual: }, { title: 'The Hackerspace Game', href: '/zine', external: false, visual: }, { title: 'Interactive Learner', href: 'https://hackerspacegame.netlify.app/', external: true, visual: }, { title: 'Governance in a Box', href: '/governance', external: false, visual: }, + { title: 'Hacking Your Hackerspace', href: 'https://hack.build/hacking-your-hackerspace.html', external: true, visual: }, ] export function ResourceShowcase() { @@ -20,7 +22,7 @@ export function ResourceShowcase() {
From hackerspace.sh - 06 projects + 07 projects
{RESOURCES.map(r => diff --git a/components/resources/icons.tsx b/components/resources/icons.tsx index 27aae9c..5d22a22 100644 --- a/components/resources/icons.tsx +++ b/components/resources/icons.tsx @@ -123,3 +123,19 @@ export function PlayIcon(props: IconProps) { ) } + +// hack.build — the brand's hot-pink open-end wrench (an open "C" head at the +// top-right with a diagonal handle to the lower-left). +export function HackBuildIcon(props: IconProps) { + return ( + + + + + ) +}