From e77e6e4e6dabeeef43478f9f3b38ecdd5923d70f Mon Sep 17 00:00:00 2001 From: Sean Date: Mon, 30 Mar 2026 19:29:12 -0400 Subject: [PATCH] feat: add /feedback page, FeedbackModal to TopNav, and footer link Co-Authored-By: Claude Sonnet 4.6 --- app/(app)/feedback/page.tsx | 27 +++++++++++++++++++++++++++ app/page.tsx | 3 +++ components/TopNav.tsx | 13 +++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 app/(app)/feedback/page.tsx diff --git a/app/(app)/feedback/page.tsx b/app/(app)/feedback/page.tsx new file mode 100644 index 0000000..2f300e4 --- /dev/null +++ b/app/(app)/feedback/page.tsx @@ -0,0 +1,27 @@ +import type { Metadata } from 'next' +import { FeedbackForm } from '@/components/FeedbackForm' + +export const metadata: Metadata = { + title: 'Send Feedback — Battl Builders', + description: + 'Report a bug, suggest a feature, or share a thought with the Battl Builders team.', +} + +export default function FeedbackPage() { + return ( +
+
+

+ Battl Builders +

+

+ Send Feedback +

+

+ Bug, feature idea, or general thought — we read everything. +

+
+ +
+ ) +} diff --git a/app/page.tsx b/app/page.tsx index cb3180a..bd0ef9d 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -373,6 +373,9 @@ export default function HomePage() {
© {new Date().getFullYear()} BATTL BUILDERS™
+ + Send Feedback + Privacy diff --git a/components/TopNav.tsx b/components/TopNav.tsx index 7165279..ab46241 100644 --- a/components/TopNav.tsx +++ b/components/TopNav.tsx @@ -3,9 +3,11 @@ import Link from "next/link"; import Image from "next/image"; +import { useState } from "react"; import { usePathname } from "next/navigation"; import { useAuth } from "@/context/AuthContext"; +import { FeedbackModal } from "@/components/FeedbackModal"; function NavLink({ href, @@ -38,8 +40,10 @@ function NavLink({ export function TopNav() { const { user, logout, loading } = useAuth(); const isAuthenticated = !!user; + const [feedbackOpen, setFeedbackOpen] = useState(false); return ( + <>
{/* Left: Brand / Home */} @@ -65,6 +69,13 @@ export function TopNav() { {/* Right side actions */}
+ {loading ? ( Checking session… ) : isAuthenticated ? ( @@ -103,6 +114,8 @@ export function TopNav() {
+ setFeedbackOpen(false)} /> + ); } export default TopNav;