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.
This commit is contained in:
@@ -8,7 +8,7 @@ import {
|
|||||||
CubeIcon,
|
CubeIcon,
|
||||||
KeyIcon,
|
KeyIcon,
|
||||||
GridIcon,
|
GridIcon,
|
||||||
PlayIcon,
|
HackBuildIcon,
|
||||||
} from '@/components/resources/icons'
|
} from '@/components/resources/icons'
|
||||||
import { AtlasLogo } from '@/components/resources/atlas-logo'
|
import { AtlasLogo } from '@/components/resources/atlas-logo'
|
||||||
|
|
||||||
@@ -124,7 +124,7 @@ export default function ResourcesLandingPage() {
|
|||||||
title="Hacking Your Hackerspace"
|
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."
|
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"
|
type="Talk · Interactive"
|
||||||
visual={<PlayIcon />}
|
visual={<HackBuildIcon />}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -1,17 +1,19 @@
|
|||||||
import Link from 'next/link'
|
import Link from 'next/link'
|
||||||
import { AtlasLogo } from '@/components/resources/atlas-logo'
|
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
|
// The hackerspace.sh research/game projects, shown as a single row of square
|
||||||
// square tiles at the foot of the landing page. Internal routes use next/link;
|
// tiles at the foot of the landing page. Internal routes use next/link;
|
||||||
// the interactive learner is an external app.
|
// external apps (the Atlas subdomain, the interactive learner, the talk) open
|
||||||
|
// in a new tab.
|
||||||
const RESOURCES = [
|
const RESOURCES = [
|
||||||
{ title: 'Atlas', href: '/atlas', external: false, visual: <AtlasLogo /> },
|
{ title: 'Atlas', href: 'https://atlas.hackerspace.sh', external: true, visual: <AtlasLogo /> },
|
||||||
{ title: 'Space After Dark', href: '/space-after-dark', external: false, visual: <CubeIcon /> },
|
{ title: 'Space After Dark', href: '/space-after-dark', external: false, visual: <CubeIcon /> },
|
||||||
{ title: 'Proposal Duel', href: '/proposal-duel', external: false, visual: <TraceIcon /> },
|
{ title: 'Proposal Duel', href: '/proposal-duel', external: false, visual: <TraceIcon /> },
|
||||||
{ title: 'The Hackerspace Game', href: '/zine', external: false, visual: <SpaceIcon /> },
|
{ title: 'The Hackerspace Game', href: '/zine', external: false, visual: <SpaceIcon /> },
|
||||||
{ title: 'Interactive Learner', href: 'https://hackerspacegame.netlify.app/', external: true, visual: <GridIcon /> },
|
{ title: 'Interactive Learner', href: 'https://hackerspacegame.netlify.app/', external: true, visual: <GridIcon /> },
|
||||||
{ title: 'Governance in a Box', href: '/governance', external: false, visual: <KeyIcon /> },
|
{ title: 'Governance in a Box', href: '/governance', external: false, visual: <KeyIcon /> },
|
||||||
|
{ title: 'Hacking Your Hackerspace', href: 'https://hack.build/hacking-your-hackerspace.html', external: true, visual: <HackBuildIcon /> },
|
||||||
]
|
]
|
||||||
|
|
||||||
export function ResourceShowcase() {
|
export function ResourceShowcase() {
|
||||||
@@ -20,7 +22,7 @@ export function ResourceShowcase() {
|
|||||||
<div className="landing-container">
|
<div className="landing-container">
|
||||||
<div className="landing-section-head">
|
<div className="landing-section-head">
|
||||||
<span className="landing-section-label">From hackerspace.sh</span>
|
<span className="landing-section-label">From hackerspace.sh</span>
|
||||||
<span className="landing-section-note">06 projects</span>
|
<span className="landing-section-note">07 projects</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="landing-showcase">
|
<div className="landing-showcase">
|
||||||
{RESOURCES.map(r =>
|
{RESOURCES.map(r =>
|
||||||
|
|||||||
@@ -123,3 +123,19 @@ export function PlayIcon(props: IconProps) {
|
|||||||
</svg>
|
</svg>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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 (
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" {...props}>
|
||||||
|
<path
|
||||||
|
d="M32.6 8.1 A9 9 0 1 0 39.9 15.4"
|
||||||
|
stroke="#ff179a"
|
||||||
|
strokeWidth={6.5}
|
||||||
|
strokeLinecap="round"
|
||||||
|
/>
|
||||||
|
<path d="M25 23 L13.5 33.5" stroke="#ff179a" strokeWidth={7} strokeLinecap="round" />
|
||||||
|
</svg>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user