diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml
index 17aa019..bf329a1 100644
--- a/.github/workflows/cicd.yml
+++ b/.github/workflows/cicd.yml
@@ -1,6 +1,7 @@
name: cicd
env:
+ API_URL: ${{ secrets.API_URL }}
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: ${{ secrets.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY }}
CLERK_SECRET_KEY: ${{ secrets.CLERK_SECRET_KEY }}
diff --git a/.gitignore b/.gitignore
index 92565ec..94a0d3a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,9 +25,8 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*
-# local env files
-.env
-.env*.local
+# env files (can opt-in for commiting if needed)
+.env*
# vercel
.vercel
diff --git a/README.md b/README.md
index c0a38dc..2abf1cb 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,6 @@ A responsive disc golf disc search engine.

-
## See Also
- [DiscIt API](https://github.com/cdleveille/discit-api)
diff --git a/bun.lockb b/bun.lockb
index b807941..1451071 100644
Binary files a/bun.lockb and b/bun.lockb differ
diff --git a/next.config.mjs b/next.config.mjs
index 66b2a7e..d4803ef 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -1,20 +1,11 @@
-/** @type {import('next').NextConfig} */
// @ts-check
import withPWAInit from "@ducanh2912/next-pwa";
-const withPWA = withPWAInit({
- dest: "public",
- cacheOnFrontEndNav: true,
- aggressiveFrontEndNavCaching: true,
- reloadOnOnline: true,
- disable: process.env.NODE_ENV === "development",
- workboxOptions: {
- disableDevLogs: true
- }
-});
+const isDev = process.env.NODE_ENV === "development";
-export default withPWA({
+/** @type {import('next').NextConfig} */
+const nextConfig = {
images: {
remotePatterns: [
{
@@ -26,5 +17,23 @@ export default withPWA({
hostname: "img.clerk.com"
}
]
+ },
+ experimental: {
+ reactCompiler: true
+ }
+};
+
+const withPWA = withPWAInit({
+ dest: "public",
+ cacheOnFrontEndNav: true,
+ aggressiveFrontEndNavCaching: true,
+ reloadOnOnline: true,
+ disable: isDev,
+ workboxOptions: {
+ disableDevLogs: true
}
});
+
+const config = isDev ? nextConfig : withPWA(nextConfig);
+
+export default config;
diff --git a/package.json b/package.json
index 4e86597..5080fdc 100644
--- a/package.json
+++ b/package.json
@@ -1,9 +1,9 @@
{
"name": "discit",
- "version": "2.0.0",
+ "version": "2.1.0",
"private": true,
"scripts": {
- "dev": "next dev",
+ "dev": "next dev --turbo",
"build": "next build",
"start": "next start",
"lint": "next lint"
@@ -15,19 +15,24 @@
"@emotion/styled": "^11.11.5",
"@mui/icons-material": "^5.15.19",
"@mui/material": "^5.15.19",
- "next": "^14.2.3",
- "react": "^18.3.1",
- "react-dom": "^18.3.1",
+ "babel-plugin-react-compiler": "^0.0.0-experimental-938cd9a-20240601",
+ "next": "15.0.0-rc.0",
+ "react": "19.0.0-rc-f994737d14-20240522",
+ "react-dom": "19.0.0-rc-f994737d14-20240522",
"react-hot-toast": "^2.4.1",
"react-infinite-scroll-hook": "^4.1.1"
},
"devDependencies": {
- "@types/node": "20.14.2",
- "@types/react": "^18.3.3",
- "@types/react-dom": "^18.3.0",
+ "@types/node": "^20",
+ "@types/react": "npm:types-react@rc",
+ "@types/react-dom": "npm:types-react-dom@rc",
"eslint": "^8",
- "eslint-config-next": "14.2.3",
+ "eslint-config-next": "15.0.0-rc.0",
"prettier": "^3.3.1",
- "typescript": "^5.4.5"
+ "typescript": "^5"
+ },
+ "overrides": {
+ "@types/react": "npm:types-react@rc",
+ "@types/react-dom": "npm:types-react-dom@rc"
}
}
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 9afc93e..bf3cb1c 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -1,29 +1,57 @@
+import type { Metadata, Viewport } from "next";
import "./globals.css";
import { Inter } from "next/font/google";
import { Toaster } from "react-hot-toast";
-import { ClerkProvider } from "@clerk/nextjs";
-import { METADATA, VIEWPORT } from "@constants";
+import { APP_INFO } from "@constants";
const inter = Inter({ subsets: ["latin"] });
-export default async function RootLayout({
+export default function RootLayout({
children
}: Readonly<{
children: React.ReactNode;
}>) {
return (
-