This commit is contained in:
Brooke Christiansen 2025-02-03 20:40:13 -08:00
parent d20ac09a66
commit cc225bf757
6 changed files with 11579 additions and 172 deletions

11512
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,15 +1,11 @@
import { ModeToggle } from "@/components/ModeToggle"; import { buttonVariants } from "@/components/ui/button";
import { Button, buttonVariants } from "@/components/ui/button";
import { Separator } from "@/components/ui/separator"; import { Separator } from "@/components/ui/separator";
import { import {
Tooltip, Tooltip,
TooltipContent, TooltipContent,
TooltipProvider,
TooltipTrigger, TooltipTrigger,
} from "@/components/ui/tooltip"; } from "@/components/ui/tooltip";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { CirclePlus, Home } from "lucide-react";
import ModalSubmitNew from "./ModalSubmitNew";
function NavIcon({ function NavIcon({
icon, icon,
@ -51,85 +47,21 @@ function NavIcon({
export default function Navbar() { export default function Navbar() {
return ( return (
<TooltipProvider> <div className={cn("flex justify-end text-3xl")}>
<div <a href="/src/pages/GetInvolved.astro" className={cn("text-blue-500")}>
className={cn( Get Involved
"group pointer-events-none mb-4 flex h-full max-h-14", </a>
"fixed inset-x-0 bottom-4 z-20 mx-auto md:top-4", <Separator orientation="vertical" className="w-5" />
)} <a href="/src/pages/PointsOfUnity.astro" className={cn("text-green-500")}>
Points of Unity
</a>
<Separator orientation="vertical" className="w-5" />
<a
href="/src/pages/WhatWereWorkingOn.astro"
className={cn("text-red-500")}
> >
<div className="fixed inset-x-0 bottom-0 h-16 w-full bg-background to-transparent backdrop-blur-lg [-webkit-mask-image:linear-gradient(to_top,black,transparent)] dark:bg-background md:top-0 md:[-webkit-mask-image:linear-gradient(to_bottom,black,transparent)]"></div> What We're Working On
<div </a>
className={cn( </div>
"relative mx-auto flex h-full min-h-full items-center gap-2 rounded-full px-2",
"pointer-events-auto transition-all",
"bg-background [box-shadow:0_0_0_1px_rgba(0,0,0,.03),0_2px_4px_rgba(0,0,0,.05),0_12px_24px_rgba(0,0,0,.05)] dark:[border:1px_solid_rgba(255,255,255,.1)] dark:[box-shadow:0_-20px_80px_-20px_#ffffff1f_inset]",
)}
>
<NavIcon icon={<Home size={24} />} tooltip="Home" href="/" />
<NavIcon
icon={
<svg
role="img"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="currentColor"
>
<title>GitHub</title>
<path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" />
</svg>
}
tooltip="Source code of this website theme"
href="https://github.com/lukenguyen-me/magicui"
target="_blank"
/>
<NavIcon
icon={
<svg
role="img"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="currentColor"
>
<title>Astro</title>
<path d="M8.358 20.162c-1.186-1.07-1.532-3.316-1.038-4.944.856 1.026 2.043 1.352 3.272 1.535 1.897.283 3.76.177 5.522-.678.202-.098.388-.229.608-.36.166.473.209.95.151 1.437-.14 1.185-.738 2.1-1.688 2.794-.38.277-.782.525-1.175.787-1.205.804-1.531 1.747-1.078 3.119l.044.148a3.158 3.158 0 0 1-1.407-1.188 3.31 3.31 0 0 1-.544-1.815c-.004-.32-.004-.642-.048-.958-.106-.769-.472-1.113-1.161-1.133-.707-.02-1.267.411-1.415 1.09-.012.053-.028.104-.045.165h.002zm-5.961-4.445s3.24-1.575 6.49-1.575l2.451-7.565c.092-.366.36-.614.662-.614.302 0 .57.248.662.614l2.45 7.565c3.85 0 6.491 1.575 6.491 1.575L16.088.727C15.93.285 15.663 0 15.303 0H8.697c-.36 0-.615.285-.784.727l-5.516 14.99z" />
</svg>
}
tooltip="This template on Astro theme"
href="https://astro.build"
target="_blank"
/>
<Separator orientation="vertical" className="my-2 h-full" />
<ModalSubmitNew>
<NavIcon icon={<CirclePlus />} tooltip="Submit a new website" />
</ModalSubmitNew>
<NavIcon
icon={
<svg
role="img"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="currentColor"
>
<title>Buy Me A Coffee</title>
<path d="M20.216 6.415l-.132-.666c-.119-.598-.388-1.163-1.001-1.379-.197-.069-.42-.098-.57-.241-.152-.143-.196-.366-.231-.572-.065-.378-.125-.756-.192-1.133-.057-.325-.102-.69-.25-.987-.195-.4-.597-.634-.996-.788a5.723 5.723 0 00-.626-.194c-1-.263-2.05-.36-3.077-.416a25.834 25.834 0 00-3.7.062c-.915.083-1.88.184-2.75.5-.318.116-.646.256-.888.501-.297.302-.393.77-.177 1.146.154.267.415.456.692.58.36.162.737.284 1.123.366 1.075.238 2.189.331 3.287.37 1.218.05 2.437.01 3.65-.118.299-.033.598-.073.896-.119.352-.054.578-.513.474-.834-.124-.383-.457-.531-.834-.473-.466.074-.96.108-1.382.146-1.177.08-2.358.082-3.536.006a22.228 22.228 0 01-1.157-.107c-.086-.01-.18-.025-.258-.036-.243-.036-.484-.08-.724-.13-.111-.027-.111-.185 0-.212h.005c.277-.06.557-.108.838-.147h.002c.131-.009.263-.032.394-.048a25.076 25.076 0 013.426-.12c.674.019 1.347.067 2.017.144l.228.031c.267.04.533.088.798.145.392.085.895.113 1.07.542.055.137.08.288.111.431l.319 1.484a.237.237 0 01-.199.284h-.003c-.037.006-.075.01-.112.015a36.704 36.704 0 01-4.743.295 37.059 37.059 0 01-4.699-.304c-.14-.017-.293-.042-.417-.06-.326-.048-.649-.108-.973-.161-.393-.065-.768-.032-1.123.161-.29.16-.527.404-.675.701-.154.316-.199.66-.267 1-.069.34-.176.707-.135 1.056.087.753.613 1.365 1.37 1.502a39.69 39.69 0 0011.343.376.483.483 0 01.535.53l-.071.697-1.018 9.907c-.041.41-.047.832-.125 1.237-.122.637-.553 1.028-1.182 1.171-.577.131-1.165.2-1.756.205-.656.004-1.31-.025-1.966-.022-.699.004-1.556-.06-2.095-.58-.475-.458-.54-1.174-.605-1.793l-.731-7.013-.322-3.094c-.037-.351-.286-.695-.678-.678-.336.015-.718.3-.678.679l.228 2.185.949 9.112c.147 1.344 1.174 2.068 2.446 2.272.742.12 1.503.144 2.257.156.966.016 1.942.053 2.892-.122 1.408-.258 2.465-1.198 2.616-2.657.34-3.332.683-6.663 1.024-9.995l.215-2.087a.484.484 0 01.39-.426c.402-.078.787-.212 1.074-.518.455-.488.546-1.124.385-1.766zm-1.478.772c-.145.137-.363.201-.578.233-2.416.359-4.866.54-7.308.46-1.748-.06-3.477-.254-5.207-.498-.17-.024-.353-.055-.47-.18-.22-.236-.111-.71-.054-.995.052-.26.152-.609.463-.646.484-.057 1.046.148 1.526.22.577.088 1.156.159 1.737.212 2.48.226 5.002.19 7.472-.14.45-.06.899-.13 1.345-.21.399-.072.84-.206 1.08.206.166.281.188.657.162.974a.544.544 0 01-.169.364zm-6.159 3.9c-.862.37-1.84.788-3.109.788a5.884 5.884 0 01-1.569-.217l.877 9.004c.065.78.717 1.38 1.5 1.38 0 0 1.243.065 1.658.065.447 0 1.786-.065 1.786-.065.783 0 1.434-.6 1.499-1.38l.94-9.95a3.996 3.996 0 00-1.322-.238c-.826 0-1.491.284-2.26.613z" />
</svg>
}
tooltip="Buy me a coffee"
href="https://buymeacoffee.com/lukenguyen_me"
target="_blank"
/>
<Separator orientation="vertical" className="h-full py-2" />
<Tooltip>
<TooltipTrigger asChild>
<ModeToggle />
</TooltipTrigger>
<TooltipContent>
<p>Theme</p>
</TooltipContent>
</Tooltip>
</div>
</div>
</TooltipProvider>
); );
} }

View File

@ -0,0 +1,4 @@
<h1>Get Involved</h1>
<h2>Fill out this form</h2>
<input />
<button>submit</button>

View File

@ -0,0 +1,24 @@
<h1>Points of Unity</h1>
<p>
We situate ourselves in our context - as Seattle residents and as users and
creators of the technologies we aim to resist. We are seeing long-spanning
rise of fascism within all levels of governance, from Seattle city council to
national governments here and abroad. In parallel is the increasing power of
tech companies over our lives through surveillance and the provisioning of
everyday needs, from employment to how we get our internet utilities in the
first place. There are rising income disparities across the nation, but also
more specifically across everyone who can be considered a "tech worker": from
a CEO to a software engineer to a contractor to a child slave mining cobalt in
the Congo. Technology contributes to gentrification both through the
tech-enabled financialization of real estate as well as the gentrifying waves
of tech workers moving into cities. Increased technical sophisication of
militaries and carceral systems have created the first "AI genocide" in
Palestine; increased militarization of borders such as the US-Mexico and the
surveillance of migrants; increased police brutality worldwide, all
disparately impacting people of the global majority. All of these crises are
enabled and worsened by technology companies. As tech workers of various kinds
living in the imperial core, on stolen Coast Salish land covered by the broken
Treaty of Point Elliot of 1855, we understand how our labor is contributing -
directly or indirectly - to these oppressions, and seek to use our skills
towards more liberatory ends.
</p>

View File

@ -0,0 +1,2 @@
<h1>What We're Working On</h1>
<p>Pihole Workshop</p>

View File

@ -1,110 +1,43 @@
--- ---
import Search from "@/components/Search";
import Navbar from "@/components/Navbar"; import Navbar from "@/components/Navbar";
import Layout from "@/layouts/Layout.astro"; import Layout from "@/layouts/Layout.astro";
import { Button } from "@/components/ui/button";
import ListWebsites from "@/components/ListWebsites";
import ListTags from "@/components/ListTags";
import "@/styles/globals.css"; import "@/styles/globals.css";
import { cn } from "@/lib/utils";
import { Globe } from "lucide-react";
--- ---
<Layout> <Layout>
<main class="flex min-h-screen flex-col"> <main class="flex min-h-screen flex-col">
<Navbar client:load /> <Navbar client:load />
<section <section>
class="container z-10 mx-auto -mb-32 flex max-w-6xl flex-col px-4 py-16 md:px-8" <!-- <div class="flex flex-col items-end gap-8 md:flex-row md:gap-16"> -->
> <!-- <div class="col-span-2 flex flex-1 flex-col"> -->
<div class="flex flex-col items-end gap-8 md:flex-row md:gap-16"> <h1 class="mb-6 text-4xl leading-tight">
<div class="col-span-2 flex flex-1 flex-col"> <strong>Resist Tech Monopolies</strong><br />
<h1 class="mb-6 text-4xl leading-tight"> <!-- <span class="font-light">Online Slide Maker Compilation</span> -->
<strong>Up to date</strong><br /> </h1>
<span class="font-light">Online Slide Maker Compilation</span> <!-- <Search client:load className="w-full" /> -->
</h1> <!-- </div> -->
<Search client:load className="w-full" /> <!-- </div> -->
</div>
<div
class="flex aspect-video w-96 max-w-full items-center justify-center rounded border border-dashed bg-background shadow"
>
<span class="font-light text-muted-foreground"
>Featured banner goes here</span
>
</div>
</div>
</section> </section>
<section <section>
class="to-red h-32 bg-gradient-to-b from-white to-muted dark:from-black dark:to-muted" <p>
> Do you believe technology can and should be used for good? Do you think
</section> a democratic internet could liberate us? Join us!
<section class={cn("flex-1 bg-muted")}> </p>
<ListTags client:load />
</section> <p>We share this vision, and we want to work together to achieve it.</p>
<section class={cn("flex-1 bg-muted pb-4 md:pb-12")}>
<ListWebsites client:load />
</section> </section>
<footer class="pb-32 pt-4 md:pb-8 md:pt-8"> <footer class="pb-32 pt-4 md:pb-8 md:pt-8">
<div class="container mx-auto px-4 text-sm md:px-0"> <div class="container mx-auto px-4 text-sm md:px-0">
<div <div
class="flex flex-col-reverse items-center justify-between gap-2 md:flex-row" class="flex flex-col-reverse items-center justify-between gap-2 md:flex-row"
> >
<p class="text-muted-foreground"> <p class="text-muted-foreground">Copyleft 2025!</p>
Brought to you by <a <!-- <div class="flex items-center gap-1">
class="underline"
href="https://lukenguyen.me"
target="_blank">@lukenguyen.me</a
>
</p>
<div class="flex items-center gap-1">
<a href="https://lukenguyen.me" target="_blank"> <a href="https://lukenguyen.me" target="_blank">
<Button variant="ghost" size="icon"><Globe /></Button> <Button variant="ghost" size="icon"><Globe /></Button>
</a> </a>
<a href="https://github.com/lukenguyen-me" target="_blank"> </div> -->
<Button variant="ghost" size="icon">
<svg
role="img"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="currentColor"
>
<title>GitHub</title>
<path
d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"
></path>
</svg>
</Button>
</a>
<a href="https://x.com/lukenguyen_me" target="_blank">
<Button variant="ghost" size="icon">
<svg
role="img"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="currentColor"
>
<title>X</title>
<path
d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"
></path>
</svg>
</Button>
</a>
<a href="https://buymeacoffee.com/lukenguyen_me" target="_blank">
<Button variant="ghost" size="icon">
<svg
role="img"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="currentColor"
>
<title>Buy Me A Coffee</title>
<path
d="M20.216 6.415l-.132-.666c-.119-.598-.388-1.163-1.001-1.379-.197-.069-.42-.098-.57-.241-.152-.143-.196-.366-.231-.572-.065-.378-.125-.756-.192-1.133-.057-.325-.102-.69-.25-.987-.195-.4-.597-.634-.996-.788a5.723 5.723 0 00-.626-.194c-1-.263-2.05-.36-3.077-.416a25.834 25.834 0 00-3.7.062c-.915.083-1.88.184-2.75.5-.318.116-.646.256-.888.501-.297.302-.393.77-.177 1.146.154.267.415.456.692.58.36.162.737.284 1.123.366 1.075.238 2.189.331 3.287.37 1.218.05 2.437.01 3.65-.118.299-.033.598-.073.896-.119.352-.054.578-.513.474-.834-.124-.383-.457-.531-.834-.473-.466.074-.96.108-1.382.146-1.177.08-2.358.082-3.536.006a22.228 22.228 0 01-1.157-.107c-.086-.01-.18-.025-.258-.036-.243-.036-.484-.08-.724-.13-.111-.027-.111-.185 0-.212h.005c.277-.06.557-.108.838-.147h.002c.131-.009.263-.032.394-.048a25.076 25.076 0 013.426-.12c.674.019 1.347.067 2.017.144l.228.031c.267.04.533.088.798.145.392.085.895.113 1.07.542.055.137.08.288.111.431l.319 1.484a.237.237 0 01-.199.284h-.003c-.037.006-.075.01-.112.015a36.704 36.704 0 01-4.743.295 37.059 37.059 0 01-4.699-.304c-.14-.017-.293-.042-.417-.06-.326-.048-.649-.108-.973-.161-.393-.065-.768-.032-1.123.161-.29.16-.527.404-.675.701-.154.316-.199.66-.267 1-.069.34-.176.707-.135 1.056.087.753.613 1.365 1.37 1.502a39.69 39.69 0 0011.343.376.483.483 0 01.535.53l-.071.697-1.018 9.907c-.041.41-.047.832-.125 1.237-.122.637-.553 1.028-1.182 1.171-.577.131-1.165.2-1.756.205-.656.004-1.31-.025-1.966-.022-.699.004-1.556-.06-2.095-.58-.475-.458-.54-1.174-.605-1.793l-.731-7.013-.322-3.094c-.037-.351-.286-.695-.678-.678-.336.015-.718.3-.678.679l.228 2.185.949 9.112c.147 1.344 1.174 2.068 2.446 2.272.742.12 1.503.144 2.257.156.966.016 1.942.053 2.892-.122 1.408-.258 2.465-1.198 2.616-2.657.34-3.332.683-6.663 1.024-9.995l.215-2.087a.484.484 0 01.39-.426c.402-.078.787-.212 1.074-.518.455-.488.546-1.124.385-1.766zm-1.478.772c-.145.137-.363.201-.578.233-2.416.359-4.866.54-7.308.46-1.748-.06-3.477-.254-5.207-.498-.17-.024-.353-.055-.47-.18-.22-.236-.111-.71-.054-.995.052-.26.152-.609.463-.646.484-.057 1.046.148 1.526.22.577.088 1.156.159 1.737.212 2.48.226 5.002.19 7.472-.14.45-.06.899-.13 1.345-.21.399-.072.84-.206 1.08.206.166.281.188.657.162.974a.544.544 0 01-.169.364zm-6.159 3.9c-.862.37-1.84.788-3.109.788a5.884 5.884 0 01-1.569-.217l.877 9.004c.065.78.717 1.38 1.5 1.38 0 0 1.243.065 1.658.065.447 0 1.786-.065 1.786-.065.783 0 1.434-.6 1.499-1.38l.94-9.95a3.996 3.996 0 00-1.322-.238c-.826 0-1.491.284-2.26.613z"
></path>
</svg>
</Button>
</a>
</div>
</div> </div>
</div> </div>
</footer> </footer>