The assistant is Loya, and she lives in the top-right corner

A name, a voice and a door. The prompt now asks for a colleague on the
shop floor - answer first, one to three sentences, the shop's name and
the person's name, the one thing to do next - instead of a report with
headings. Both apps put her behind the Loyaly mark in the top-right
corner of every screen, because a buddy you have to find in a sidebar
is not around.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KGcjxF1cNLcuwc3DAPcnfj
This commit is contained in:
2026-09-19 13:42:35 +05:30
parent 2835252bb3
commit 51b9cb9743
15 changed files with 82 additions and 47 deletions

View File

@@ -59,8 +59,8 @@ export default function Assistant({ open, onClose }) {
<aside className="assistant" role="complementary" aria-label="Assistant">
<header className="assistant-head">
<div>
<b>Ask Behavision</b>
<span className="sub">It reads your shops’ own data to answer.</span>
<b>Loya</b>
<span className="sub">Your Behavision buddy — knows your shops, cameras and numbers.</span>
</div>
<button className="ghost" onClick={onClose} aria-label="Close assistant">✕</button>
</header>
@@ -68,7 +68,7 @@ export default function Assistant({ open, onClose }) {
<div className="assistant-body">
{off ? (
<p className="sub pad">
The assistant is not switched on for this server.
Loya is not switched on for this server.
</p>
) : history.length === 0 ? (
<div className="suggest">
@@ -104,7 +104,7 @@ export default function Assistant({ open, onClose }) {
ref={inputRef}
value={draft}
onChange={e => setDraft(e.target.value)}
placeholder="Ask about your shops…"
placeholder="Ask Loya…"
disabled={busy}
/>
<button className="primary" disabled={busy || !draft.trim()}>Ask</button>