diff --git a/public/assets/mastodon.png b/public/assets/mastodon.png new file mode 100644 index 0000000..1d0b582 Binary files /dev/null and b/public/assets/mastodon.png differ diff --git a/public/assets/zines/de-monopoly-discotech-101-japanese/page-8.jpg b/public/assets/zines/de-monopoly-discotech-101-japanese/page-8.jpg index 5275a73..34855d5 100644 Binary files a/public/assets/zines/de-monopoly-discotech-101-japanese/page-8.jpg and b/public/assets/zines/de-monopoly-discotech-101-japanese/page-8.jpg differ diff --git a/public/assets/zines/de-monopoly-discotech-101-japanese/printable.pdf b/public/assets/zines/de-monopoly-discotech-101-japanese/printable.pdf index 0bd1017..8121e8c 100644 Binary files a/public/assets/zines/de-monopoly-discotech-101-japanese/printable.pdf and b/public/assets/zines/de-monopoly-discotech-101-japanese/printable.pdf differ diff --git a/public/assets/zines/de-monopoly-discotech-101/page-8.jpg b/public/assets/zines/de-monopoly-discotech-101/page-8.jpg index 3dcf8ba..5d0f2f5 100644 Binary files a/public/assets/zines/de-monopoly-discotech-101/page-8.jpg and b/public/assets/zines/de-monopoly-discotech-101/page-8.jpg differ diff --git a/public/assets/zines/de-monopoly-discotech-101/printable.pdf b/public/assets/zines/de-monopoly-discotech-101/printable.pdf index 9d66ff6..a624507 100644 Binary files a/public/assets/zines/de-monopoly-discotech-101/printable.pdf and b/public/assets/zines/de-monopoly-discotech-101/printable.pdf differ diff --git a/public/assets/zines/signal-101/printable.pdf b/public/assets/zines/signal-101/printable.pdf index e992477..f1f2193 100644 Binary files a/public/assets/zines/signal-101/printable.pdf and b/public/assets/zines/signal-101/printable.pdf differ diff --git a/src/components/BigTechAlternatives.astro b/src/components/BigTechAlternatives.astro new file mode 100644 index 0000000..642f964 --- /dev/null +++ b/src/components/BigTechAlternatives.astro @@ -0,0 +1,122 @@ +--- +import Card from "./Card.astro"; +--- + +
+

Big Tech Alternatives

+

+ Explore open-source and privacy-focused alternatives to popular big tech + software. +

+ +
+ + + + + + + + + + + + + + + +
+
diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index 5974ce2..800571e 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -4,10 +4,20 @@ export default function Footer() { return (
-

Copyleft {new Date().getFullYear()}

+ +

Resist Tech Monopolies - Copyleft {new Date().getFullYear()}

+ + + {"the
); } diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx index 54b889e..ca044ae 100644 --- a/src/components/Navbar.tsx +++ b/src/components/Navbar.tsx @@ -1,63 +1,91 @@ import { cn } from "@/lib/utils"; +import { useState } from "react"; interface NavbarProps { activePage?: string; } -export default function Navbar({ activePage = "" }: NavbarProps) { +const NAV_ITEMS = [ + { href: "/#aboutus", label: "About Us", activeKey: "AboutUs", text: "text-red-400", darkText: "dark:text-red-400" }, + { href: "/#whatwereupto", label: "What We're Up To", activeKey: "WhatWereUpTo", text: "text-orange-400", darkText: "dark:text-orange-400" }, + { href: "/#bigtechalternatives", label: "Big Tech Alternatives", activeKey: "BigTechAlternatives", text: "text-purple-400", darkText: "dark:text-purple-400" }, + // TODO once we have these sections done! + // { href: "", label: "Services", activeKey: "Services", text: "text-green-400", darkText: "dark:text-green-400" }, + // { href: "", label: "Calendar", activeKey: "Calendar", text: "text-blue-400", darkText: "dark:text-blue-400" }, +]; + +export default function Navbar(navbarProps: NavbarProps) { + const [activePage, setActivePage] = useState(navbarProps.activePage); + const [isShowingHamburgerFullMenu, setIsShowingHamburgerFullMenu] = useState(false); + return ( - <> -
-
- +
+
+ { setActivePage("Home") }}> +
+ {/* + TODO: uncomment once we have a logo! + {"the */} + +

Resist Tech Monopolies

+
+
+ +
- - - - Points of Unity - - - Our Projects - - -
- -
-
- {Array.from({ length: 12 }).map((_, index) => ( -
- {index -
+ > + {label} + ))}
+ +
{ setIsShowingHamburgerFullMenu(!isShowingHamburgerFullMenu) }}> + + + +
- + + {isShowingHamburgerFullMenu &&
+ {NAV_ITEMS.map(({ href, label, activeKey, text, darkText }) => ( + { + setActivePage(activeKey) + setIsShowingHamburgerFullMenu(false) + }} + className={cn( + "transition-colors text-xl md:text-2xl font-bold", + text, + darkText, + activePage == activeKey && "underline", + )} + > + {label} + + ))} +
} +
); } diff --git a/src/components/NewLookNavbar.tsx b/src/components/NewLookNavbar.tsx deleted file mode 100644 index de449a0..0000000 --- a/src/components/NewLookNavbar.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import { cn } from "@/lib/utils"; - -interface NavbarProps { - activePage?: string; -} - -const NAV_PILLS = [ - { href: "/newlook#projects", label: "Our Projects", activeKey: "OurProjects", text: "text-red-700", darkText: "dark:text-red-400", ring: "ring-red-500" }, - { href: "/newlook#points-of-unity", label: "Points of Unity", activeKey: "PointsOfUnity", text: "text-green-700", darkText: "dark:text-green-400", ring: "ring-green-500" }, - { href: "/newlook#get-involved", label: "Get Involved", activeKey: "GetInvolved", text: "text-blue-700", darkText: "dark:text-blue-400", ring: "ring-blue-500" }, -]; - -export default function NewLookNavbar({ activePage = "" }: NavbarProps) { - return ( - <> -
-
- - Resist Tech Monopolies - -
- - {NAV_PILLS.map(({ href, label, activeKey, text, darkText, ring }) => ( - - {label} - - ))} - -
- -
-
- {Array.from({ length: 12 }).map((_, index) => ( -
- {index -
- ))} -
-
- - ); -} - - diff --git a/src/components/OurProjects.astro b/src/components/WhatWereUpTo.astro similarity index 54% rename from src/components/OurProjects.astro rename to src/components/WhatWereUpTo.astro index 87b161a..57033a3 100644 --- a/src/components/OurProjects.astro +++ b/src/components/WhatWereUpTo.astro @@ -1,6 +1,6 @@ -

Our Projects

-
-
+

What We're Up To

+
+ -
+ - diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 1558644..b858978 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -4,7 +4,7 @@ import { cn } from "@/lib/utils"; const title = "Resist Tech Monopolies"; const description = - "Copyleft 2025"; + `Copyleft ${new Date().getFullYear()}`; const url = "https://placeholder.com"; const image = "/public/preview.webp"; --- @@ -40,7 +40,7 @@ const image = "/public/preview.webp"; "@type": "WebSite", "url": "https://placeholder.com", "name": "Resist Tech Monopolies", - "description": "Copyleft 2025" + "description": `Copyleft ${new Date().getFullYear()}` } diff --git a/src/pages/GetInvolved.astro b/src/pages/GetInvolved.astro deleted file mode 100644 index fa1cf46..0000000 --- a/src/pages/GetInvolved.astro +++ /dev/null @@ -1,20 +0,0 @@ ---- -import Navbar from "../components/Navbar"; -import Footer from "../components/Footer"; -import Layout from "../layouts/Layout.astro"; -import "../styles/globals.css"; ---- - - -
-
- -
-

Get Involved

- - -
-
-
-
-
diff --git a/src/pages/PointsOfUnity.astro b/src/pages/aboutus.astro similarity index 68% rename from src/pages/PointsOfUnity.astro rename to src/pages/aboutus.astro index cec3d0d..47d706a 100644 --- a/src/pages/PointsOfUnity.astro +++ b/src/pages/aboutus.astro @@ -7,9 +7,11 @@ import "../styles/globals.css"; --- -
+
- +
+ +
diff --git a/src/pages/index.astro b/src/pages/index.astro index b286e83..93f7205 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,16 +1,40 @@ --- import Navbar from "@/components/Navbar"; import Footer from "@/components/Footer"; +import BigTechAlternatives from "@/components/BigTechAlternatives.astro"; +import WhatWereUpTo from "@/components/WhatWereUpTo.astro"; import Layout from "@/layouts/Layout.astro"; import "@/styles/globals.css"; --- -
-
- +
+
+ +
+ +
+
+

About Us

+ +

+ We situate ourselves in our context - as Seattle residents and as + users and creators of the technologies we aim to resist. +

+ + +
+ +
+

Get Involved

-

Do you believe technology can and should be used for good? Do you think a democratic internet could liberate us? Join us! @@ -19,18 +43,34 @@ import "@/styles/globals.css";

We share this vision, and we want to work together to achieve it.

-
-
+ + + +
+ +
+ + + + + +
+ +
-
+
+ diff --git a/src/pages/newlook.astro b/src/pages/newlook.astro deleted file mode 100644 index ef5ee5f..0000000 --- a/src/pages/newlook.astro +++ /dev/null @@ -1,50 +0,0 @@ ---- -import NewLookNavbar from "@/components/NewLookNavbar"; -import Footer from "@/components/Footer"; -import PointsOfUnity from "@/components/PointsOfUnity.astro"; -import OurProjects from "@/components/OurProjects.astro"; -import Layout from "@/layouts/Layout.astro"; -import "@/styles/globals.css"; ---- - - -
-
- -
- -
- -
- -
- -
- -
-

Get Involved

- -
-

- Do you believe technology can and should be used for good? Do you - think a democratic internet could liberate us? Join us! -

- -

We share this vision, and we want to work together to achieve it.

- - -
-
- -
-
-
diff --git a/src/pages/projects.astro b/src/pages/projects.astro deleted file mode 100644 index fc6a310..0000000 --- a/src/pages/projects.astro +++ /dev/null @@ -1,19 +0,0 @@ ---- -import Navbar from "../components/Navbar"; -import Footer from "../components/Footer"; -import OurProjects from "../components/OurProjects.astro"; -import Layout from "../layouts/Layout.astro"; -import "../styles/globals.css"; ---- - - -
-
- -
- -
-
-
-
-
diff --git a/src/pages/projects/PetCalendar.astro b/src/pages/projects/PetCalendar.astro index a466ff8..3ee3e13 100644 --- a/src/pages/projects/PetCalendar.astro +++ b/src/pages/projects/PetCalendar.astro @@ -6,16 +6,25 @@ import "../../styles/globals.css"; --- -
+
- +
+ +
+
-

Pet Calendar

-
We created a pet calendar with 12 beautiful pictures of RTM's - animal friends. -

Each month, our pets will share with you with a different way you can - Resist Big Tech Monopolies!

-

If you'd like to request a calendar, email us at besties@resisttechmonopolies.online

+

Pet Calendar

+
+ We created a pet calendar with 12 beautiful pictures of RTM's animal + friends. +

+ Each month, our pets will share with you with a different way you + can Resist Big Tech Monopolies! +

+

+ If you'd like to request a calendar, email us at + besties@resisttechmonopolies.online +

-
-
+
- -
-

2026 Monthly RTM Tutorials

+

+ 2026 Monthly RTM Tutorials +

January

-
-

Try out Mastadon for algorithmless social media that won't sell your data!

- +

+ Try out Mastadon for algorithmless social media that won't sell + your data! +

+
Join Mastadon! - - -

Difficulty rating: 🌶️/5 -

-
- -
+ +

Difficulty rating: 🌶️/5

+
+

February

- - -

Learn about hosting your own instances of tech services to protect your data!

- + Learn about hosting your own instances of tech services to + protect your data! +

+
Beginner's Guide to Self-Hosting! - - -

Difficulty rating: 🌶️🌶️🌶️🌶️/5 -

- - -
- -
+ +

Difficulty rating: 🌶️🌶️🌶️🌶️/5

+
+

March

-

Try out Calibre to read Amazon-free e-books!

- Try out Calibre to read Amazon-free e-books!

+
Get Started with Calibre! - - -

Difficulty rating: 🌶️🌶️/5 -

- - - -
- -
+ +

Difficulty rating: 🌶️🌶️/5

+
+

April

-

Thinking of switching off Windows or MacOS? Try Linux - for a super customizable, privacy-first operating system! -

- + Thinking of switching off Windows or MacOS? Try Linux for a + super customizable, privacy-first operating system! +

+
30 Days of Linux for Beginners! - - -

Difficulty rating: 🌶️🌶️🌶️🌶️/5 -

+ - - - - - +

Difficulty rating: 🌶️🌶️🌶️🌶️/5

-
-

May

-

Try going outside and repping some protest fashion this Spring!

- + Try going outside and repping some protest fashion this Spring! +

+
Learn the history and meaning of the keffiyeh! - - -

Difficulty rating: 🌶️/5 -

- - - - -
- -
+ +

Difficulty rating: 🌶️/5

+
+

June

-

Try out Ente for a privacy-friendly, open-source photos hosting platform!

- + Try out Ente for a privacy-friendly, open-source photos hosting + platform! +

+
In-depth overeview of Ente Photos migration! - - -

Difficulty rating: 🌶️/5 -

+ +

Difficulty rating: 🌶️/5

-
-

July

-

Try installing your own Pi Hole on your home wifi network to block ad and malware servers!

- + Try installing your own Pi Hole on your home wifi network to + block ad and malware servers! +

+
Extensive PiHole Tutorial! - - -

Difficulty rating: 🌶️🌶️🌶️🌶️🌶️/5 -

- -
-
-

Alternative: Install an adblocker!

- Install Adblock Plus! - - -

Difficulty rating: 🌶️/5 -

-
+ +

Difficulty rating: 🌶️🌶️🌶️🌶️🌶️/5

+
+
+

Alternative: Install an adblocker!

+ Install Adblock Plus! + + +

Difficulty rating: 🌶️/5

+

August

-

Try out DuckDuckGo as a privacy-friendly alternative to Google search and Chrome!

- + Try out DuckDuckGo as a privacy-friendly alternative to Google + search and Chrome! +

+
Download Duck Duck Go! - - -

Difficulty rating: 🌶️/5 -

- - - - -
- -
+ +

Difficulty rating: 🌶️/5

+
+
-

September

+

+ September +

-

Instead of relying on surveillance for safety, try making friends with your neighbors!

- + Instead of relying on surveillance for safety, try making + friends with your neighbors! +

+
How to Build Radical Community! - - -

Difficulty rating: 🌶️🌶️🌶️/5 - + > + How to Build Radical Community! + + +

Difficulty rating: 🌶️🌶️🌶️/5

+ (hey making friends in Seattle is hard, okay?) +
+
+

+ Alternative: Neighbor Unions (buliding community power!)

- (hey making friends in Seattle is hard, okay?) + Learn about Neighbor Unions! + -
-
-

Alternative: Neighbor Unions (buliding community power!)

- Learn about Neighbor Unions! - - -

Difficulty rating: 🌶️🌶️🌶️/5 -

+

Difficulty rating: 🌶️🌶️🌶️/5

- - - - - - - -
-
-

October

-
-

Try out JellyFin to host your own media server - and share with friends. You can break up with Netflix, Hulu, Disney+, and more! -

- Quickstart for JellyFin! - - -

Difficulty rating: 🌶️🌶️🌶️🌶️/5 -

- - - - - -
- -
- -
-
-
-

November

-
-

Try out Meet.coop as an open-source, privacy-friendly, and renewable energy-powered alternative to Zoom and Hangouts!

- Make a Meet.coop account! - - -

Difficulty rating: 🌶️🌶️/5 -

-
-
- -

Free alternative: Jitsi

- Start a Meeting with Jitsi! - - -

Difficulty rating: 🌶️/5 -

-
- - - -
- - - - -
-
-

December

-
-

Try out Radicale as a privacy-friendly, open-source alternative to Google Calendar and Outlook!

- Setting up Radicale Tutorial! - - -

Difficulty rating: 🌶️🌶️🌶️🌶️🌶️/5 -

- -
- -
-

Alternative: Proton Calendar

- Switch to Proton Calendar! - - -

Difficulty rating: 🌶️/5 -

-
-
- - - - -