Rename Grow Coach bot to drjonesbot

This commit is contained in:
drjones
2026-06-13 21:01:39 -07:00
parent 1302aae31c
commit 031139c1aa
2 changed files with 28 additions and 30 deletions

View File

@@ -392,35 +392,33 @@ function BuilderApp() {
onDragOver={(e) => e.preventDefault()}
onDrop={onDrop}
>
<div className="relative flex-1">
<SceneCanvas remoteCursors={remoteCursors} />
{tool === 'measure' && (
<div className="absolute top-4 left-1/2 -translate-x-1/2 rounded-full border border-sky-500/30 bg-zinc-950/80 px-4 py-1.5 text-xs font-semibold text-sky-400 shadow-lg backdrop-blur">
📏 Measurement mode: Click two points in the 3D scene
<button
onClick={() => useBuilder.getState().setTool('select')}
className="ml-3 rounded bg-sky-900/50 px-2 py-0.5 text-sky-200 hover:bg-sky-800/50"
>
Done
</button>
<SceneCanvas remoteCursors={remoteCursors} />
{tool === 'measure' && (
<div className="absolute top-4 left-1/2 -translate-x-1/2 rounded-full border border-sky-500/30 bg-zinc-950/80 px-4 py-1.5 text-xs font-semibold text-sky-400 shadow-lg backdrop-blur">
📏 Measurement mode: Click two points in the 3D scene
<button
onClick={() => useBuilder.getState().setTool('select')}
className="ml-3 rounded bg-sky-900/50 px-2 py-0.5 text-sky-200 hover:bg-sky-800/50"
>
Done
</button>
</div>
)}
{/* Premium Upsell Bar */}
{!user || (user as any).purchased_slots === 0 ? (
<div className="absolute bottom-4 left-1/2 -translate-x-1/2 flex items-center justify-between gap-4 rounded-xl border border-amber-500/30 bg-gradient-to-r from-zinc-950/95 via-amber-950/40 to-zinc-950/95 px-6 py-3 shadow-2xl backdrop-blur">
<div>
<h4 className="text-sm font-bold text-amber-400 tracking-wide uppercase">Unlock Pro Premium</h4>
<p className="text-[11px] text-zinc-300 mt-0.5">One-time $5 special offer. Unlimited projects, PDF shopping lists, CAD exports, and drjonesbot.</p>
</div>
)}
{/* Premium Upsell Bar */}
{!user || (user as any).purchased_slots === 0 ? (
<div className="absolute bottom-4 left-1/2 -translate-x-1/2 flex items-center justify-between gap-4 rounded-xl border border-amber-500/30 bg-gradient-to-r from-zinc-950/95 via-amber-950/40 to-zinc-950/95 px-6 py-3 shadow-2xl backdrop-blur">
<div>
<h4 className="text-sm font-bold text-amber-400 tracking-wide uppercase">Unlock Pro Premium</h4>
<p className="text-[11px] text-zinc-300 mt-0.5">One-time $5 special offer. Unlimited projects, PDF shopping lists, CAD exports, and AI Grow Coach.</p>
</div>
<button
onClick={() => setShowPaywall(true)}
className="whitespace-nowrap rounded-lg bg-amber-500 px-4 py-2 text-xs font-bold text-amber-950 transition hover:bg-amber-400 hover:scale-105"
>
Join Now
</button>
</div>
) : null}
</div>
<button
onClick={() => setShowPaywall(true)}
className="whitespace-nowrap rounded-lg bg-amber-500 px-4 py-2 text-xs font-bold text-amber-950 transition hover:bg-amber-400 hover:scale-105"
>
Join Now
</button>
</div>
) : null}
{/* Contextual hint overlay */}
{(placingType || tool === 'measure' || tool === 'pipeRun') && (
<div className="pointer-events-none absolute top-3 left-1/2 -translate-x-1/2 rounded-full border border-sky-800 bg-sky-950/90 px-4 py-1.5 text-xs font-medium text-sky-200 shadow-lg">

View File

@@ -204,7 +204,7 @@ export function StatusPanel() {
onClick={requirePremiumCoach}
className="text-[9px] font-bold uppercase tracking-wider text-sky-400 hover:text-sky-300 bg-sky-950/50 hover:bg-sky-900/50 px-1.5 py-0.5 rounded border border-sky-900/50 transition-colors"
>
Grow Coach 🤖
drjonesbot 🤖
</button>
</div>
{roomMetrics.length === 0 ? (
@@ -346,7 +346,7 @@ function GrowCoachModal({ metrics, onClose }: { metrics: any[]; onClose: () => v
<div className="w-full max-w-md overflow-hidden rounded-xl border border-sky-900 bg-zinc-950 shadow-2xl">
<div className="border-b border-zinc-800 bg-zinc-900 px-6 py-4 flex justify-between items-center">
<h2 className="text-lg font-bold text-sky-400 flex items-center gap-2">
🤖 AI Grow Coach
🤖 drjonesbot
</h2>
<button onClick={onClose} className="text-zinc-500 hover:text-zinc-300"></button>
</div>