diff --git a/app/(app)/(builder)/builder/page.tsx b/app/(app)/(builder)/builder/page.tsx
index bb75aa5..6139b72 100644
--- a/app/(app)/(builder)/builder/page.tsx
+++ b/app/(app)/(builder)/builder/page.tsx
@@ -1,6 +1,8 @@
// app/(builder)/builder/page.tsx
"use client";
+import { Suspense } from "react";
+
/**
* Battl Builder - Main builder page
*
@@ -329,7 +331,7 @@ function buildAssemblyRows(params: {
return rows;
}
-export default function GunbuilderPage() {
+function GunbuilderPageContent() {
const searchParams = useSearchParams();
const router = useRouter();
@@ -1704,3 +1706,19 @@ export default function GunbuilderPage() {
);
}
+
+export default function GunbuilderPage() {
+ return (
+
+
+
+ }>
+
+
+ );
+}
diff --git a/app/(app)/layout.tsx b/app/(app)/layout.tsx
index dfd1b12..19ecbe5 100644
--- a/app/(app)/layout.tsx
+++ b/app/(app)/layout.tsx
@@ -1,16 +1,18 @@
// app/(builder)/layout.tsx
import type { ReactNode } from "react";
+import { Suspense } from "react";
import { BuilderNav } from "@/components/BuilderNav";
import { TopNav } from "@/components/TopNav";
-import { Import } from "lucide-react";
import { Footer } from "@/components/Footer";
export default function BuilderLayout({ children }: { children: ReactNode }) {
return (
-
+ }>
+
+
{children}
diff --git a/app/beta/confirm/page.tsx b/app/beta/confirm/page.tsx
index 4335ee8..b1c2e59 100644
--- a/app/beta/confirm/page.tsx
+++ b/app/beta/confirm/page.tsx
@@ -1,14 +1,14 @@
// app/beta/confirm/page.tsx
"use client";
-import { useEffect, useRef, useState } from "react";
+import { useEffect, useRef, useState, Suspense } from "react";
import { useRouter, useSearchParams } from "next/navigation";
import { useAuth } from "@/context/AuthContext";
const API_BASE_URL =
process.env.NEXT_PUBLIC_API_BASE_URL ?? "http://localhost:8080";
-export default function BetaConfirmPage() {
+function BetaConfirmPageContent() {
const params = useSearchParams();
const token = params.get("token");
const router = useRouter();
@@ -88,4 +88,19 @@ export default function BetaConfirmPage() {
);
+}
+
+export default function BetaConfirmPage() {
+ return (
+
+
+
Battl Builders
+
Loading…
+
+
+ }>
+
+
+ );
}
\ No newline at end of file
diff --git a/app/beta/magic/page.tsx b/app/beta/magic/page.tsx
index 84182db..21501c3 100644
--- a/app/beta/magic/page.tsx
+++ b/app/beta/magic/page.tsx
@@ -1,10 +1,10 @@
"use client";
-import { useEffect, useRef, useState } from "react";
+import { useEffect, useRef, useState, Suspense } from "react";
import { useRouter, useSearchParams } from "next/navigation";
import { useAuth } from "@/context/AuthContext";
-export default function BetaMagicPage() {
+function BetaMagicPageContent() {
const params = useSearchParams();
const token = params.get("token");
const router = useRouter();
@@ -75,4 +75,19 @@ export default function BetaMagicPage() {
);
+}
+
+export default function BetaMagicPage() {
+ return (
+
+
+
Battl Builders
+
Loading…
+
+
+ }>
+
+
+ );
}
\ No newline at end of file
diff --git a/app/builds/layout.tsx b/app/builds/layout.tsx
index f0fd9f0..24108d4 100644
--- a/app/builds/layout.tsx
+++ b/app/builds/layout.tsx
@@ -1,5 +1,6 @@
// app/(builder)/layout.tsx
import type { ReactNode } from "react";
+import { Suspense } from "react";
import { AuthProvider } from "@/context/AuthContext";
import { BuilderNav } from "@/components/BuilderNav";
@@ -10,7 +11,9 @@ export default function BuilderLayout({ children }: { children: ReactNode }) {
diff --git a/app/login/page.tsx b/app/login/page.tsx
index 3ed3ba0..fd2e139 100644
--- a/app/login/page.tsx
+++ b/app/login/page.tsx
@@ -1,7 +1,7 @@
// app/login/page.tsx
"use client";
-import { FormEvent, useMemo, useState } from "react";
+import { FormEvent, useMemo, useState, Suspense } from "react";
import { useRouter, useSearchParams } from "next/navigation";
import Link from "next/link";
import { useAuth } from "@/context/AuthContext";
@@ -10,7 +10,7 @@ import { Button, Field, Input } from "@/components/ui/form";
const API_BASE_URL =
process.env.NEXT_PUBLIC_API_BASE_URL ?? "http://localhost:8080";
-export default function LoginPage() {
+function LoginPageContent() {
const router = useRouter();
const searchParams = useSearchParams();
const { login, loading } = useAuth();
@@ -186,3 +186,17 @@ export default function LoginPage() {
);
}
+
+export default function LoginPage() {
+ return (
+
+
+
+ }>
+
+
+ );
+}
diff --git a/app/register/page.tsx b/app/register/page.tsx
index d77a424..649001a 100644
--- a/app/register/page.tsx
+++ b/app/register/page.tsx
@@ -1,7 +1,7 @@
// app/register/page.tsx
"use client";
-import { FormEvent, useState } from "react";
+import { FormEvent, useState, Suspense } from "react";
import { useRouter, useSearchParams } from "next/navigation";
import Link from "next/link";
import { useAuth } from "@/context/AuthContext";
@@ -9,7 +9,7 @@ import { Button, Field, Input } from "@/components/ui/form";
const TOS_VERSION = "2025-12-27";
-export default function RegisterPage() {
+function RegisterPageContent() {
const router = useRouter();
const searchParams = useSearchParams();
const { register, loading } = useAuth();
@@ -125,7 +125,7 @@ export default function RegisterPage() {
>
Privacy Policy
- . I understand Battl Builders is informational only and I’m
+ . I understand Battl Builders is informational only and I'm
solely responsible for legality, compatibility, and safe
assembly/use of any firearm or components.
@@ -147,4 +147,18 @@ export default function RegisterPage() {
);
+}
+
+export default function RegisterPage() {
+ return (
+
+
+
+ }>
+
+
+ );
}
\ No newline at end of file