From be03424e26a1396a9deb289bd262714ffad7ef3d Mon Sep 17 00:00:00 2001
From: Don Strawsburg
Date: Fri, 5 Dec 2025 23:32:23 -0500
Subject: [PATCH] fixed the name change from gunbuilder to builder and added
the TM for trademark
---
.idea/workspace.xml | 93 ----------------------
README.md | 12 +--
app/builder/[categoryId]/[partId]/data.ts | 2 +-
app/builder/[categoryId]/[partId]/page.tsx | 14 ++--
app/builder/[categoryId]/page.tsx | 12 +--
app/builder/build/page.tsx | 14 ++--
app/builder/page.tsx | 10 +--
app/login/page.tsx | 2 +-
app/page.tsx | 4 +-
app/register/page.tsx | 2 +-
components/BuilderNav.tsx | 2 +-
components/CategoryColumn.tsx | 4 +-
components/TopNav.tsx | 2 +-
13 files changed, 40 insertions(+), 133 deletions(-)
delete mode 100644 .idea/workspace.xml
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
deleted file mode 100644
index fef3d6b..0000000
--- a/.idea/workspace.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {
- "associatedIndex": 1
-}
-
-
-
-
-
- {
- "keyToString": {
- "ModuleVcsDetector.initialDetectionPerformed": "true",
- "RunOnceActivity.ShowReadmeOnStart": "true",
- "RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
- "RunOnceActivity.git.unshallow": "true",
- "git-widget-placeholder": "main",
- "ignore.virus.scanning.warn.message": "true",
- "js.debugger.nextJs.config.created.client": "true",
- "js.debugger.nextJs.config.created.server": "true",
- "kotlin-language-version-configured": "true",
- "last_opened_file_path": "//wsl.localhost/Arch/home/don/code/shadow-gunbuilder-ai-proto",
- "node.js.detected.package.eslint": "true",
- "node.js.detected.package.tslint": "true",
- "node.js.selected.package.eslint": "(autodetect)",
- "node.js.selected.package.tslint": "(autodetect)",
- "nodejs_package_manager_path": "npm",
- "vue.rearranger.settings.migration": "true"
- }
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1764181733358
-
-
- 1764181733358
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/README.md b/README.md
index ed7b267..b56ba87 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@ This is an internal tool built for speed, clarity, and capability.
# 🚀 What This Admin UI Does
## Merchant Feeds
-Path: `/gunbuilder/admin/merchants`
+Path: `//admin/merchants`
A clean dashboard for all merchants feeding the system.
@@ -26,7 +26,7 @@ Purpose: keep the catalog alive, current, and trustworthy.
---
## Category Mapping
-Path: `/gunbuilder/admin/category-mapping`
+Path: `/builder/admin/category-mapping`
This is where raw merchant chaos gets cleaned up.
@@ -42,7 +42,7 @@ Once mapped, future imports classify parts automatically.
## Builder Integration
-The admin UI powers the consumer-facing Builder at `/gunbuilder`.
+The admin UI powers the consumer-facing Builder at `/builder`.
Today:
- Load compatible parts
@@ -80,13 +80,13 @@ pnpm install
Create `.env.local`:
NEXT_PUBLIC_API_BASE_URL=http://localhost:8080
-NEXT_PUBLIC_ADMIN_BASE_PATH=/gunbuilder/admin
+NEXT_PUBLIC_ADMIN_BASE_PATH=/builder/admin
## Start Dev Server
npm run dev
Then visit:
-http://localhost:3000/gunbuilder/admin
+http://localhost:3000/builder/admin
---
@@ -103,7 +103,7 @@ If CORS fails, the admin cannot communicate with the API.
# 🧭 Project Structure
app/
- gunbuilder/
+ builder/
admin/
merchants/
category-mapping/
diff --git a/app/builder/[categoryId]/[partId]/data.ts b/app/builder/[categoryId]/[partId]/data.ts
index cdd16ba..f1805ca 100644
--- a/app/builder/[categoryId]/[partId]/data.ts
+++ b/app/builder/[categoryId]/[partId]/data.ts
@@ -1,4 +1,4 @@
-// app/gunbuilder/[categoryId]/[partId]/data.ts
+// app/builder/[categoryId]/[partId]/data.ts
// Simulated data functions - Replace these with API calls when ready
// Example: export async function getPricingHistory(partId: string) { ... }
diff --git a/app/builder/[categoryId]/[partId]/page.tsx b/app/builder/[categoryId]/[partId]/page.tsx
index e00ea16..1684c48 100644
--- a/app/builder/[categoryId]/[partId]/page.tsx
+++ b/app/builder/[categoryId]/[partId]/page.tsx
@@ -131,10 +131,10 @@ export default function PartDetailPage() {
Category Not Found
- Return to Gunbuilder
+ Return to Builder
@@ -147,14 +147,14 @@ export default function PartDetailPage() {
{/* Breadcrumbs */}
- Gunbuilder
+ Builder
/
{category.name}
@@ -176,7 +176,7 @@ export default function PartDetailPage() {
{error ?? "We couldn’t find this product."}
Back to {category.name} parts
@@ -352,7 +352,7 @@ export default function PartDetailPage() {
Add to Build
diff --git a/app/builder/[categoryId]/page.tsx b/app/builder/[categoryId]/page.tsx
index aeea750..60b101e 100644
--- a/app/builder/[categoryId]/page.tsx
+++ b/app/builder/[categoryId]/page.tsx
@@ -163,7 +163,7 @@ export default function CategoryPage() {
...prev,
[categoryId]: partId,
}));
- router.push("/gunbuilder");
+ router.push("/builder");
}
};
@@ -309,10 +309,10 @@ export default function CategoryPage() {
Category Not Found
- Return to Gunbuilder
+ Return to Builder
@@ -326,7 +326,7 @@ export default function CategoryPage() {
{/* Header */}
← Back to The Armory
@@ -670,7 +670,7 @@ export default function CategoryPage() {
View Details
@@ -733,7 +733,7 @@ export default function CategoryPage() {
View Details
diff --git a/app/builder/build/page.tsx b/app/builder/build/page.tsx
index 9c8f37a..cfa835a 100644
--- a/app/builder/build/page.tsx
+++ b/app/builder/build/page.tsx
@@ -150,7 +150,7 @@ export default function BuildDetailsPage() {
useEffect(() => {
if (typeof window !== "undefined" && Object.keys(build).length > 0) {
const encoded = encodeBuildState(build);
- const url = `${window.location.origin}/gunbuilder/build?build=${encoded}`;
+ const url = `${window.location.origin}/builder/build?build=${encoded}`;
setShareUrl(url);
}
}, [build]);
@@ -212,10 +212,10 @@ export default function BuildDetailsPage() {
You need to select at least one part to view your build.
- Go to Gunbuilder
+ Go to Builder
@@ -229,7 +229,7 @@ export default function BuildDetailsPage() {
{/* Header */}
← Back to The Armory
@@ -368,7 +368,7 @@ export default function BuildDetailsPage() {
)}
View Details
@@ -398,7 +398,7 @@ export default function BuildDetailsPage() {
{/* Actions */}
Edit Build
@@ -408,7 +408,7 @@ export default function BuildDetailsPage() {
type="button"
onClick={() => {
localStorage.removeItem(STORAGE_KEY);
- router.push("/gunbuilder");
+ router.push("/builder");
}}
className="rounded-md border border-zinc-700 bg-zinc-900/50 px-6 py-3 text-sm font-medium text-zinc-300 hover:bg-zinc-800 hover:border-zinc-600 transition-colors"
>
diff --git a/app/builder/page.tsx b/app/builder/page.tsx
index f070fb9..94f0aa2 100644
--- a/app/builder/page.tsx
+++ b/app/builder/page.tsx
@@ -175,7 +175,7 @@ export default function GunbuilderPage() {
return updated;
});
- router.replace("/gunbuilder", { scroll: false });
+ router.replace("/builder", { scroll: false });
}
}
}, [searchParams, router]);
@@ -223,7 +223,7 @@ export default function GunbuilderPage() {
const payload = JSON.stringify(build);
const encoded = window.btoa(payload);
const origin = window.location?.origin ?? "";
- const url = `${origin}/gunbuilder/build?build=${encodeURIComponent(
+ const url = `${origin}/builder/build?build=${encodeURIComponent(
encoded,
)}`;
setShareUrl(url);
@@ -372,7 +372,7 @@ export default function GunbuilderPage() {
{/* Primary actions now live under the total */}
) : hasParts ? (
{
// If you want to pre-select something later, you can handle here.
diff --git a/app/login/page.tsx b/app/login/page.tsx
index 9070856..457052e 100644
--- a/app/login/page.tsx
+++ b/app/login/page.tsx
@@ -15,7 +15,7 @@ export default function LoginPage() {
const [password, setPassword] = useState("");
const [error, setError] = useState
(null);
- const next = searchParams.get("next") || "/gunbuilder";
+ const next = searchParams.get("next") || "/builder";
async function handleSubmit(e: FormEvent) {
e.preventDefault();
diff --git a/app/page.tsx b/app/page.tsx
index ac23def..7a10837 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -12,10 +12,10 @@ export default function HomePage() {
bg-gradient-to-r from-amber-400 via-amber-200 to-amber-400
text-transparent uppercase bg-clip-text drop-shadow-[0_2px_6px_rgba(255,193,7,0.25)]"
>
- Battl Builder
+ Battl Builder™
- Battl Builder is your command center for rifle builds. We surface live
+ Battl Builder™ is your command center for rifle builds. We surface live
parts and hard-use brands, giving you a mission-ready workbench to
design smarter, track cost, swap components, and save setups. No
fluff. Just clean, trustworthy data.
diff --git a/app/register/page.tsx b/app/register/page.tsx
index d70fabf..baf6310 100644
--- a/app/register/page.tsx
+++ b/app/register/page.tsx
@@ -16,7 +16,7 @@ export default function RegisterPage() {
const [password, setPassword] = useState("");
const [error, setError] = useState(null);
- const next = searchParams.get("next") || "/gunbuilder";
+ const next = searchParams.get("next") || "/builder";
async function handleSubmit(e: FormEvent) {
e.preventDefault();
diff --git a/components/BuilderNav.tsx b/components/BuilderNav.tsx
index 5aecdcf..cbc41ef 100644
--- a/components/BuilderNav.tsx
+++ b/components/BuilderNav.tsx
@@ -24,7 +24,7 @@ export function BuilderNav({ activeCategoryId }: BuilderNavProps) {
const currentCategory =
activeCategoryId ?? searchParams.get("category") ?? undefined;
- const baseHref = "/gunbuilder";
+ const baseHref = "/builder";
const renderDropdown = (label: string, items: Category[]) => {
if (!items.length) return null;
diff --git a/components/CategoryColumn.tsx b/components/CategoryColumn.tsx
index 02a11d2..f556472 100644
--- a/components/CategoryColumn.tsx
+++ b/components/CategoryColumn.tsx
@@ -37,7 +37,7 @@ export function CategoryColumn({
No part selected
{parts.length >= 1 && (
View All ({parts.length})
diff --git a/components/TopNav.tsx b/components/TopNav.tsx
index da1dab4..ccf6011 100644
--- a/components/TopNav.tsx
+++ b/components/TopNav.tsx
@@ -42,7 +42,7 @@ export function TopNav() {
{/* Center: main nav (Builder / Admin) */}
Builder