feat(dashboard): real user in sidebar + sign-out; strip demo/mock hints

- Sidebar footer now shows the ACE identity (was static 'James Carter') with a
  Sign-out menu; topbar user gets a Sign-out dropdown too. Both call useAuth().logout.
- Remove all visible 'Demo:' hints from login + register and the 'Demo mode' subtitle.
This commit is contained in:
tanweer919
2026-07-13 02:57:51 +05:30
parent 27e7bdf8f5
commit 86af77c92b
5 changed files with 76 additions and 28 deletions
-8
View File
@@ -151,7 +151,6 @@ export function LoginFlow() {
<Spinner lg />
<div>
<h1 style={{ fontSize: 20 }}>{provider ? `Connecting to ${cap(provider)}` : "Looking up your account…"}</h1>
{provider && <p className="sub" style={{ marginTop: 6 }}>Demo mode no provider keys configured.</p>}
</div>
</div>
)}
@@ -302,7 +301,6 @@ function Identify({ email, setEmail, onSocial, onEmail, onPhone, toRegister }: {
<span><Icon name="shield" size={13} /> Licensed &amp; Insured</span>
<span><Icon name="check" size={13} /> Drone-Powered</span>
</div>
<p className="demo-hint">Demo: any email signs in; an email starting with new shows not found.</p>
</div>
);
}
@@ -337,7 +335,6 @@ function Passkey({ account, onBack, onPassword, onAnother, onSuccess, onFail }:
<button className="link" onClick={onPassword}>Use your password instead</button>
<button className="link" onClick={onAnother}>Try another way</button>
</div>
<p className="demo-hint">Demo: passkey always succeeds here.</p>
<button hidden onClick={onFail} />
</div>
);
@@ -390,7 +387,6 @@ function Password({ account, email, login, onAuthenticated, flash, onBack, onFor
<button className="link" onClick={onForgot}>Forgot password?</button>
<button className="link" onClick={onOtp}>Sign in with a one-time code</button>
</div>
{!isShellConfigured() && <p className="demo-hint">Demo: any password works; type wrong to see the lockout. Password always needs 2-step next.</p>}
</div>
);
}
@@ -471,7 +467,6 @@ function OtpVerify({ account, email, initialChannel = "email", remember, setReme
<span />
</div>
<RememberDevice checked={remember} onChange={setRemember} note="2-step is still required at each sign-in." />
{!shell && <p className="demo-hint">Demo: any 6 digits verify; 000000 shows an error.</p>}
</div>
);
}
@@ -526,7 +521,6 @@ function Totp({ remember, setRemember, onBack, onVerified }: { remember: boolean
{setupKey ? "Enter a 6-digit code instead" : "Enter setup key instead"}
</button>
<RememberDevice checked={remember} onChange={setRemember} />
<p className="demo-hint">Demo: any 6 digits verify; 000000 fails.</p>
</div>
);
}
@@ -545,7 +539,6 @@ function PushApprove({ onBack, onApproved, onCancel }: { onBack: () => void; onA
<p className="sub" style={{ textAlign: "center" }}>{approved ? "Your sign-in was approved." : "We sent a notification to your mobile app. Approve it to continue."}</p>
<div className="interstitial">{approved ? <Icon name="check" size={30} /> : <Spinner lg />}</div>
{!approved && <button className="btn" onClick={onCancel}>Cancel</button>}
<p className="demo-hint">Demo: auto-approves after ~3 seconds.</p>
</div>
);
}
@@ -629,7 +622,6 @@ function ForgotCode({ onBack, onOk }: { onBack: () => void; onOk: () => void })
<div style={{ marginTop: 18 }}><OtpBoxes onComplete={(c) => (c === "000000" ? setError(true) : onOk())} error={error} /></div>
{error && <div style={{ marginTop: 12 }}><FlashNote tone="error">Incorrect code.</FlashNote></div>}
<div style={{ marginTop: 14 }}><ResendLink seconds={30} /></div>
<p className="demo-hint">Demo: any 6 digits work; 000000 fails.</p>
</div>
);
}
-1
View File
@@ -404,7 +404,6 @@ function VerifyChannel({ kind, initial, country, cc, initialPhone, verified, onV
<div style={{ marginTop: 12 }}><ResendLink seconds={60} /></div>
</div>
)}
<p className="demo-hint">Demo: any 6 digits verify; 000000 fails. Email with full/bo shows send errors.</p>
</div>
);
}