From e780a7d13a12adc902c5e6caed8b8ba6f02bf9fa Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 12 Oct 2026 08:03:08 +0000 Subject: [PATCH 1/2] Discontinue the project finder and replace it with a static notice Hacktoberfest no longer counts pull requests, so searching for eligible repositories is no longer needed. The whole site is now a single static page explaining why and pointing visitors to hacktoberfest.com. - Replace every page with a prerendered notice page (no server functions, API routes, middleware, database or GitHub API calls). - Redirect all old routes (/repos, /contributors, /reports, /api/*) to the notice at the routing layer; keep the /github redirect. - Disable image optimization so no image transformations are billed. - Comment out the Umami and Databuddy analytics. - Drop the env validation so the build needs no secrets. - Move the retired feature code to archive/ (excluded from the build, type-checking and Prettier). - Add a discontinuation notice to the README. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01RUmCecArL3A392pphy2xZN --- .env.example | 18 +-- .prettierignore | 2 +- README.md | 5 +- .../docker-compose.yml | 0 .../drizzle.config.ts | 0 .../reports/_components/report-card.tsx | 0 .../src}/app/(private)/reports/page.tsx | 0 .../src}/app/(public)/_components/button.tsx | 0 .../src}/app/(public)/_components/header.tsx | 0 .../src}/app/(public)/_components/hero.tsx | 0 .../src}/app/(public)/_components/icons.tsx | 0 .../(public)/_components/language-button.tsx | 0 .../_components/marque-text-animation.tsx | 0 .../app/(public)/_components/mobile-menu.tsx | 0 .../app/(public)/_components/search-form.tsx | 0 .../_components/contributor-card.tsx | 0 .../src}/app/(public)/contributors/page.tsx | 0 {src => archive/src}/app/(public)/page.tsx | 0 .../app/(public)/repos/[language]/loading.tsx | 0 .../app/(public)/repos/[language]/page.tsx | 0 .../(public)/repos/_components/pagination.tsx | 0 .../(public)/repos/_components/repo-card.tsx | 0 .../repos/_components/report-button.tsx | 0 .../repos/_components/scroll-to-top.tsx | 0 .../app/(public)/repos/_components/sorter.tsx | 0 .../repos/_components/stars-filter.tsx | 0 .../src}/app/(public)/repos/loading.tsx | 0 .../src}/app/(public)/repos/page.tsx | 0 {src => archive/src}/app/actions.ts | 0 .../src}/app/api/auth/[...nextauth]/route.ts | 0 .../src}/app/api/check-repo/route.ts | 0 archive/src/app/not-found.tsx | 53 ++++++++ {src => archive/src}/app/validation.ts | 0 {src => archive/src}/assets/languages.json | 0 {src => archive/src}/auth.ts | 0 {src => archive/src}/components/Icons.tsx | 0 {src => archive/src}/components/footer.tsx | 0 .../src}/components/report-modal.tsx | 0 {src => archive/src}/env.mjs | 0 {src => archive/src}/hooks/use-get-repo.ts | 0 {src => archive/src}/lib/db/connection.ts | 0 .../migrations/0000_watery_bill_hollister.sql | 0 .../migrations/0001_magical_doctor_doom.sql | 0 .../migrations/0002_concerned_violations.sql | 0 .../lib/db/migrations/0003_rich_gargoyle.sql | 0 .../db/migrations/0004_organic_slapstick.sql | 0 .../lib/db/migrations/0005_kind_saracen.sql | 0 .../lib/db/migrations/meta/0000_snapshot.json | 0 .../lib/db/migrations/meta/0001_snapshot.json | 0 .../lib/db/migrations/meta/0002_snapshot.json | 0 .../lib/db/migrations/meta/0003_snapshot.json | 0 .../lib/db/migrations/meta/0004_snapshot.json | 0 .../lib/db/migrations/meta/0005_snapshot.json | 0 .../src}/lib/db/migrations/meta/_journal.json | 0 .../src}/lib/db/migrations/schema.ts | 0 {src => archive/src}/state/repoAtom.ts | 0 {src => archive/src}/types.ts | 0 next.config.mjs | 25 +++- src/app/layout.tsx | 117 ++++++++---------- src/app/not-found.tsx | 56 +-------- src/app/page.tsx | 105 ++++++++++++++++ tsconfig.json | 3 +- 62 files changed, 240 insertions(+), 144 deletions(-) rename docker-compose.yml => archive/docker-compose.yml (100%) rename drizzle.config.ts => archive/drizzle.config.ts (100%) rename {src => archive/src}/app/(private)/reports/_components/report-card.tsx (100%) rename {src => archive/src}/app/(private)/reports/page.tsx (100%) rename {src => archive/src}/app/(public)/_components/button.tsx (100%) rename {src => archive/src}/app/(public)/_components/header.tsx (100%) rename {src => archive/src}/app/(public)/_components/hero.tsx (100%) rename {src => archive/src}/app/(public)/_components/icons.tsx (100%) rename {src => archive/src}/app/(public)/_components/language-button.tsx (100%) rename {src => archive/src}/app/(public)/_components/marque-text-animation.tsx (100%) rename {src => archive/src}/app/(public)/_components/mobile-menu.tsx (100%) rename {src => archive/src}/app/(public)/_components/search-form.tsx (100%) rename {src => archive/src}/app/(public)/contributors/_components/contributor-card.tsx (100%) rename {src => archive/src}/app/(public)/contributors/page.tsx (100%) rename {src => archive/src}/app/(public)/page.tsx (100%) rename {src => archive/src}/app/(public)/repos/[language]/loading.tsx (100%) rename {src => archive/src}/app/(public)/repos/[language]/page.tsx (100%) rename {src => archive/src}/app/(public)/repos/_components/pagination.tsx (100%) rename {src => archive/src}/app/(public)/repos/_components/repo-card.tsx (100%) rename {src => archive/src}/app/(public)/repos/_components/report-button.tsx (100%) rename {src => archive/src}/app/(public)/repos/_components/scroll-to-top.tsx (100%) rename {src => archive/src}/app/(public)/repos/_components/sorter.tsx (100%) rename {src => archive/src}/app/(public)/repos/_components/stars-filter.tsx (100%) rename {src => archive/src}/app/(public)/repos/loading.tsx (100%) rename {src => archive/src}/app/(public)/repos/page.tsx (100%) rename {src => archive/src}/app/actions.ts (100%) rename {src => archive/src}/app/api/auth/[...nextauth]/route.ts (100%) rename {src => archive/src}/app/api/check-repo/route.ts (100%) create mode 100644 archive/src/app/not-found.tsx rename {src => archive/src}/app/validation.ts (100%) rename {src => archive/src}/assets/languages.json (100%) rename {src => archive/src}/auth.ts (100%) rename {src => archive/src}/components/Icons.tsx (100%) rename {src => archive/src}/components/footer.tsx (100%) rename {src => archive/src}/components/report-modal.tsx (100%) rename {src => archive/src}/env.mjs (100%) rename {src => archive/src}/hooks/use-get-repo.ts (100%) rename {src => archive/src}/lib/db/connection.ts (100%) rename {src => archive/src}/lib/db/migrations/0000_watery_bill_hollister.sql (100%) rename {src => archive/src}/lib/db/migrations/0001_magical_doctor_doom.sql (100%) rename {src => archive/src}/lib/db/migrations/0002_concerned_violations.sql (100%) rename {src => archive/src}/lib/db/migrations/0003_rich_gargoyle.sql (100%) rename {src => archive/src}/lib/db/migrations/0004_organic_slapstick.sql (100%) rename {src => archive/src}/lib/db/migrations/0005_kind_saracen.sql (100%) rename {src => archive/src}/lib/db/migrations/meta/0000_snapshot.json (100%) rename {src => archive/src}/lib/db/migrations/meta/0001_snapshot.json (100%) rename {src => archive/src}/lib/db/migrations/meta/0002_snapshot.json (100%) rename {src => archive/src}/lib/db/migrations/meta/0003_snapshot.json (100%) rename {src => archive/src}/lib/db/migrations/meta/0004_snapshot.json (100%) rename {src => archive/src}/lib/db/migrations/meta/0005_snapshot.json (100%) rename {src => archive/src}/lib/db/migrations/meta/_journal.json (100%) rename {src => archive/src}/lib/db/migrations/schema.ts (100%) rename {src => archive/src}/state/repoAtom.ts (100%) rename {src => archive/src}/types.ts (100%) create mode 100644 src/app/page.tsx diff --git a/.env.example b/.env.example index 48ceb78..5ec5eba 100644 --- a/.env.example +++ b/.env.example @@ -1,15 +1,3 @@ -# Database -DATABASE_URL="" # PostgreSQL connection string -# For Docker Compose: postgresql://hacktoberfest:hacktoberfest123@localhost:5432/hacktoberfest -# For cloud providers: copy the connection string from your provider - -# Authentication -AUTH_SECRET="" # A random string -AUTH_URL="" # Should be http://localhost:3000 for local development -AUTH_GITHUB_ID="" -AUTH_GITHUB_SECRET="" -AUTH_DRIZZLE_URL="$DATABASE_URL" # Should be the same as DATABASE_URL - -# Optional -NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME="" # Optional -NEXT_PUBLIC_ANALYTICS_WEBSITE_ID="" # Optional +# No environment variables are needed: the site is now a static +# discontinuation notice. The old variables (database, GitHub OAuth, +# analytics) are documented in archive/src/env.mjs. diff --git a/.prettierignore b/.prettierignore index 3e82242..34347a3 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,4 +4,4 @@ .github node_modules .all-contributorsrc -.xatarc \ No newline at end of file +.xatarcarchive diff --git a/README.md b/README.md index a89e2ff..24e1748 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ # Hacktoberfest Projects ๐ŸŽ‰ -A Web app that lets you find eligible repositories for Hacktoberfest! +> [!IMPORTANT] +> **This project has been discontinued.** Hacktoberfest no longer counts pull requests, so there is no need to search for eligible repositories anymore. https://finder.usmans.me now shows a static notice that points visitors to [hacktoberfest.com](https://hacktoberfest.com). All search, sign-in, reporting, database and analytics features are switched off, and the old source code is kept in [`archive/`](archive) for reference. New contributions are no longer being accepted. -Use it here - https://finder.usmans.me +A Web app that lets you find eligible repositories for Hacktoberfest! [![All Contributors](https://img.shields.io/badge/all_contributors-51-orange.svg?style=flat-square)](#contributors-) diff --git a/docker-compose.yml b/archive/docker-compose.yml similarity index 100% rename from docker-compose.yml rename to archive/docker-compose.yml diff --git a/drizzle.config.ts b/archive/drizzle.config.ts similarity index 100% rename from drizzle.config.ts rename to archive/drizzle.config.ts diff --git a/src/app/(private)/reports/_components/report-card.tsx b/archive/src/app/(private)/reports/_components/report-card.tsx similarity index 100% rename from src/app/(private)/reports/_components/report-card.tsx rename to archive/src/app/(private)/reports/_components/report-card.tsx diff --git a/src/app/(private)/reports/page.tsx b/archive/src/app/(private)/reports/page.tsx similarity index 100% rename from src/app/(private)/reports/page.tsx rename to archive/src/app/(private)/reports/page.tsx diff --git a/src/app/(public)/_components/button.tsx b/archive/src/app/(public)/_components/button.tsx similarity index 100% rename from src/app/(public)/_components/button.tsx rename to archive/src/app/(public)/_components/button.tsx diff --git a/src/app/(public)/_components/header.tsx b/archive/src/app/(public)/_components/header.tsx similarity index 100% rename from src/app/(public)/_components/header.tsx rename to archive/src/app/(public)/_components/header.tsx diff --git a/src/app/(public)/_components/hero.tsx b/archive/src/app/(public)/_components/hero.tsx similarity index 100% rename from src/app/(public)/_components/hero.tsx rename to archive/src/app/(public)/_components/hero.tsx diff --git a/src/app/(public)/_components/icons.tsx b/archive/src/app/(public)/_components/icons.tsx similarity index 100% rename from src/app/(public)/_components/icons.tsx rename to archive/src/app/(public)/_components/icons.tsx diff --git a/src/app/(public)/_components/language-button.tsx b/archive/src/app/(public)/_components/language-button.tsx similarity index 100% rename from src/app/(public)/_components/language-button.tsx rename to archive/src/app/(public)/_components/language-button.tsx diff --git a/src/app/(public)/_components/marque-text-animation.tsx b/archive/src/app/(public)/_components/marque-text-animation.tsx similarity index 100% rename from src/app/(public)/_components/marque-text-animation.tsx rename to archive/src/app/(public)/_components/marque-text-animation.tsx diff --git a/src/app/(public)/_components/mobile-menu.tsx b/archive/src/app/(public)/_components/mobile-menu.tsx similarity index 100% rename from src/app/(public)/_components/mobile-menu.tsx rename to archive/src/app/(public)/_components/mobile-menu.tsx diff --git a/src/app/(public)/_components/search-form.tsx b/archive/src/app/(public)/_components/search-form.tsx similarity index 100% rename from src/app/(public)/_components/search-form.tsx rename to archive/src/app/(public)/_components/search-form.tsx diff --git a/src/app/(public)/contributors/_components/contributor-card.tsx b/archive/src/app/(public)/contributors/_components/contributor-card.tsx similarity index 100% rename from src/app/(public)/contributors/_components/contributor-card.tsx rename to archive/src/app/(public)/contributors/_components/contributor-card.tsx diff --git a/src/app/(public)/contributors/page.tsx b/archive/src/app/(public)/contributors/page.tsx similarity index 100% rename from src/app/(public)/contributors/page.tsx rename to archive/src/app/(public)/contributors/page.tsx diff --git a/src/app/(public)/page.tsx b/archive/src/app/(public)/page.tsx similarity index 100% rename from src/app/(public)/page.tsx rename to archive/src/app/(public)/page.tsx diff --git a/src/app/(public)/repos/[language]/loading.tsx b/archive/src/app/(public)/repos/[language]/loading.tsx similarity index 100% rename from src/app/(public)/repos/[language]/loading.tsx rename to archive/src/app/(public)/repos/[language]/loading.tsx diff --git a/src/app/(public)/repos/[language]/page.tsx b/archive/src/app/(public)/repos/[language]/page.tsx similarity index 100% rename from src/app/(public)/repos/[language]/page.tsx rename to archive/src/app/(public)/repos/[language]/page.tsx diff --git a/src/app/(public)/repos/_components/pagination.tsx b/archive/src/app/(public)/repos/_components/pagination.tsx similarity index 100% rename from src/app/(public)/repos/_components/pagination.tsx rename to archive/src/app/(public)/repos/_components/pagination.tsx diff --git a/src/app/(public)/repos/_components/repo-card.tsx b/archive/src/app/(public)/repos/_components/repo-card.tsx similarity index 100% rename from src/app/(public)/repos/_components/repo-card.tsx rename to archive/src/app/(public)/repos/_components/repo-card.tsx diff --git a/src/app/(public)/repos/_components/report-button.tsx b/archive/src/app/(public)/repos/_components/report-button.tsx similarity index 100% rename from src/app/(public)/repos/_components/report-button.tsx rename to archive/src/app/(public)/repos/_components/report-button.tsx diff --git a/src/app/(public)/repos/_components/scroll-to-top.tsx b/archive/src/app/(public)/repos/_components/scroll-to-top.tsx similarity index 100% rename from src/app/(public)/repos/_components/scroll-to-top.tsx rename to archive/src/app/(public)/repos/_components/scroll-to-top.tsx diff --git a/src/app/(public)/repos/_components/sorter.tsx b/archive/src/app/(public)/repos/_components/sorter.tsx similarity index 100% rename from src/app/(public)/repos/_components/sorter.tsx rename to archive/src/app/(public)/repos/_components/sorter.tsx diff --git a/src/app/(public)/repos/_components/stars-filter.tsx b/archive/src/app/(public)/repos/_components/stars-filter.tsx similarity index 100% rename from src/app/(public)/repos/_components/stars-filter.tsx rename to archive/src/app/(public)/repos/_components/stars-filter.tsx diff --git a/src/app/(public)/repos/loading.tsx b/archive/src/app/(public)/repos/loading.tsx similarity index 100% rename from src/app/(public)/repos/loading.tsx rename to archive/src/app/(public)/repos/loading.tsx diff --git a/src/app/(public)/repos/page.tsx b/archive/src/app/(public)/repos/page.tsx similarity index 100% rename from src/app/(public)/repos/page.tsx rename to archive/src/app/(public)/repos/page.tsx diff --git a/src/app/actions.ts b/archive/src/app/actions.ts similarity index 100% rename from src/app/actions.ts rename to archive/src/app/actions.ts diff --git a/src/app/api/auth/[...nextauth]/route.ts b/archive/src/app/api/auth/[...nextauth]/route.ts similarity index 100% rename from src/app/api/auth/[...nextauth]/route.ts rename to archive/src/app/api/auth/[...nextauth]/route.ts diff --git a/src/app/api/check-repo/route.ts b/archive/src/app/api/check-repo/route.ts similarity index 100% rename from src/app/api/check-repo/route.ts rename to archive/src/app/api/check-repo/route.ts diff --git a/archive/src/app/not-found.tsx b/archive/src/app/not-found.tsx new file mode 100644 index 0000000..24be490 --- /dev/null +++ b/archive/src/app/not-found.tsx @@ -0,0 +1,53 @@ +import Link from 'next/link'; +import { Header } from './(public)/_components/header'; +import { Button } from './(public)/_components/button'; + +export default function NotFoundPage() { + return ( + <> +
+
+
+ {/* 404 Number with Animation */} +
+

+ 404 +

+
+
+ + {/* Error Message */} +
+

+ Oops! Page Not Found +

+

+ The page you're looking for seems to have wandered off into the + digital void. Don't worry, it happens to the best of us! +

+
+ + {/* Action Buttons */} +
+ + + +
+ + {/* Decorative Elements */} +
+
+
+
+
+
+
+ + ); +} diff --git a/src/app/validation.ts b/archive/src/app/validation.ts similarity index 100% rename from src/app/validation.ts rename to archive/src/app/validation.ts diff --git a/src/assets/languages.json b/archive/src/assets/languages.json similarity index 100% rename from src/assets/languages.json rename to archive/src/assets/languages.json diff --git a/src/auth.ts b/archive/src/auth.ts similarity index 100% rename from src/auth.ts rename to archive/src/auth.ts diff --git a/src/components/Icons.tsx b/archive/src/components/Icons.tsx similarity index 100% rename from src/components/Icons.tsx rename to archive/src/components/Icons.tsx diff --git a/src/components/footer.tsx b/archive/src/components/footer.tsx similarity index 100% rename from src/components/footer.tsx rename to archive/src/components/footer.tsx diff --git a/src/components/report-modal.tsx b/archive/src/components/report-modal.tsx similarity index 100% rename from src/components/report-modal.tsx rename to archive/src/components/report-modal.tsx diff --git a/src/env.mjs b/archive/src/env.mjs similarity index 100% rename from src/env.mjs rename to archive/src/env.mjs diff --git a/src/hooks/use-get-repo.ts b/archive/src/hooks/use-get-repo.ts similarity index 100% rename from src/hooks/use-get-repo.ts rename to archive/src/hooks/use-get-repo.ts diff --git a/src/lib/db/connection.ts b/archive/src/lib/db/connection.ts similarity index 100% rename from src/lib/db/connection.ts rename to archive/src/lib/db/connection.ts diff --git a/src/lib/db/migrations/0000_watery_bill_hollister.sql b/archive/src/lib/db/migrations/0000_watery_bill_hollister.sql similarity index 100% rename from src/lib/db/migrations/0000_watery_bill_hollister.sql rename to archive/src/lib/db/migrations/0000_watery_bill_hollister.sql diff --git a/src/lib/db/migrations/0001_magical_doctor_doom.sql b/archive/src/lib/db/migrations/0001_magical_doctor_doom.sql similarity index 100% rename from src/lib/db/migrations/0001_magical_doctor_doom.sql rename to archive/src/lib/db/migrations/0001_magical_doctor_doom.sql diff --git a/src/lib/db/migrations/0002_concerned_violations.sql b/archive/src/lib/db/migrations/0002_concerned_violations.sql similarity index 100% rename from src/lib/db/migrations/0002_concerned_violations.sql rename to archive/src/lib/db/migrations/0002_concerned_violations.sql diff --git a/src/lib/db/migrations/0003_rich_gargoyle.sql b/archive/src/lib/db/migrations/0003_rich_gargoyle.sql similarity index 100% rename from src/lib/db/migrations/0003_rich_gargoyle.sql rename to archive/src/lib/db/migrations/0003_rich_gargoyle.sql diff --git a/src/lib/db/migrations/0004_organic_slapstick.sql b/archive/src/lib/db/migrations/0004_organic_slapstick.sql similarity index 100% rename from src/lib/db/migrations/0004_organic_slapstick.sql rename to archive/src/lib/db/migrations/0004_organic_slapstick.sql diff --git a/src/lib/db/migrations/0005_kind_saracen.sql b/archive/src/lib/db/migrations/0005_kind_saracen.sql similarity index 100% rename from src/lib/db/migrations/0005_kind_saracen.sql rename to archive/src/lib/db/migrations/0005_kind_saracen.sql diff --git a/src/lib/db/migrations/meta/0000_snapshot.json b/archive/src/lib/db/migrations/meta/0000_snapshot.json similarity index 100% rename from src/lib/db/migrations/meta/0000_snapshot.json rename to archive/src/lib/db/migrations/meta/0000_snapshot.json diff --git a/src/lib/db/migrations/meta/0001_snapshot.json b/archive/src/lib/db/migrations/meta/0001_snapshot.json similarity index 100% rename from src/lib/db/migrations/meta/0001_snapshot.json rename to archive/src/lib/db/migrations/meta/0001_snapshot.json diff --git a/src/lib/db/migrations/meta/0002_snapshot.json b/archive/src/lib/db/migrations/meta/0002_snapshot.json similarity index 100% rename from src/lib/db/migrations/meta/0002_snapshot.json rename to archive/src/lib/db/migrations/meta/0002_snapshot.json diff --git a/src/lib/db/migrations/meta/0003_snapshot.json b/archive/src/lib/db/migrations/meta/0003_snapshot.json similarity index 100% rename from src/lib/db/migrations/meta/0003_snapshot.json rename to archive/src/lib/db/migrations/meta/0003_snapshot.json diff --git a/src/lib/db/migrations/meta/0004_snapshot.json b/archive/src/lib/db/migrations/meta/0004_snapshot.json similarity index 100% rename from src/lib/db/migrations/meta/0004_snapshot.json rename to archive/src/lib/db/migrations/meta/0004_snapshot.json diff --git a/src/lib/db/migrations/meta/0005_snapshot.json b/archive/src/lib/db/migrations/meta/0005_snapshot.json similarity index 100% rename from src/lib/db/migrations/meta/0005_snapshot.json rename to archive/src/lib/db/migrations/meta/0005_snapshot.json diff --git a/src/lib/db/migrations/meta/_journal.json b/archive/src/lib/db/migrations/meta/_journal.json similarity index 100% rename from src/lib/db/migrations/meta/_journal.json rename to archive/src/lib/db/migrations/meta/_journal.json diff --git a/src/lib/db/migrations/schema.ts b/archive/src/lib/db/migrations/schema.ts similarity index 100% rename from src/lib/db/migrations/schema.ts rename to archive/src/lib/db/migrations/schema.ts diff --git a/src/state/repoAtom.ts b/archive/src/state/repoAtom.ts similarity index 100% rename from src/state/repoAtom.ts rename to archive/src/state/repoAtom.ts diff --git a/src/types.ts b/archive/src/types.ts similarity index 100% rename from src/types.ts rename to archive/src/types.ts diff --git a/next.config.mjs b/next.config.mjs index d43ab70..2fea024 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -1,16 +1,26 @@ import path from 'path'; import { fileURLToPath } from 'url'; -import './src/env.mjs'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); +/** + * The project finder has been discontinued (Hacktoberfest no longer counts + * pull requests). The site is now a single static notice page, and this + * config keeps hosting usage close to zero: + * - every old route (/repos, /contributors, /reports, /api/*, ...) is + * redirected to the notice page by the routing layer, so no server + * function, database or GitHub API call is ever invoked; + * - image optimization is turned off so no image transformations are billed. + * + * The retired feature code lives in /archive for reference. + */ + /**@type {import('next').NextConfig}*/ const config = { reactStrictMode: true, - typedRoutes: true, - experimental: { - viewTransition: true + images: { + unoptimized: true }, webpack(config) { config.resolve.alias['@'] = path.resolve(__dirname, 'src'); @@ -23,6 +33,13 @@ const config = { destination: 'https://github.com/max-programming/hacktoberfest-projects', permanent: true + }, + { + // Any path without a file extension (i.e. any old page or API route) + // goes to the notice page. Static assets and /_next are left alone. + source: '/:path((?!_next/)[^.]+)', + destination: '/', + permanent: false } ]; } diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 8f7ee23..fa753bb 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,14 +1,13 @@ import '@/styles/globals.css'; -import Script from 'next/script'; import type { Metadata, Viewport } from 'next'; -import { unstable_ViewTransition as ViewTransition } from 'react'; -import { Toaster } from 'react-hot-toast'; -import { SessionProvider } from 'next-auth/react'; -import { Footer } from '@/components/footer'; -import { ReportModal } from '@/components/report-modal'; -import { env } from '@/env.mjs'; import localFont from 'next/font/local'; -import { Databuddy } from '@databuddy/sdk/react'; + +// Analytics are disabled now that the project finder is discontinued. +// Uncomment these (and the matching blocks below) to bring them back. +// The env schema lives in archive/src/env.mjs. +// import Script from 'next/script'; +// import { Databuddy } from '@databuddy/sdk/react'; +// import { env } from '@/env.mjs'; const atkinsonHyperlegibleMono = localFont({ variable: '--font-atkinson-hyperlegible-mono', @@ -28,75 +27,59 @@ const atkinsonHyperlegibleMono = localFont({ export default function RootLayout({ children }: React.PropsWithChildren) { return ( - + - - {children} -