rename: Slot Picture -> Signal Confluence + fix symbol disappearing
- Tab label, panel title, ariaLabel, and explanatory text all updated - Add visible symbol badge below autocomplete input so user always sees what symbol they're viewing after picking from search results
This commit is contained in:
@@ -5,7 +5,7 @@ import { ConfluencePanel } from '@/components/ConfluencePanel';
|
|||||||
import { CorridorPanel } from '@/components/CorridorPanel';
|
import { CorridorPanel } from '@/components/CorridorPanel';
|
||||||
|
|
||||||
const TABS = [
|
const TABS = [
|
||||||
{ id: 'confluence', label: 'Slot Picture' },
|
{ id: 'confluence', label: 'Signal Confluence' },
|
||||||
{ id: 'corridor', label: 'Price Corridor' },
|
{ id: 'corridor', label: 'Price Corridor' },
|
||||||
] as const;
|
] as const;
|
||||||
|
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ export function ConfluencePanel() {
|
|||||||
<div className="space-y-6">
|
<div className="space-y-6">
|
||||||
{/* Explanatory text */}
|
{/* Explanatory text */}
|
||||||
<div className="text-xs text-fg-muted leading-relaxed">
|
<div className="text-xs text-fg-muted leading-relaxed">
|
||||||
Slot Picture combines technical, seasonal, and valuation signals into a single
|
Signal Confluence combines technical, seasonal, and valuation signals into a single
|
||||||
directional read. Each slot fires (green dot) when its condition is met, or stays
|
directional read. Each slot fires (green dot) when its condition is met, or stays
|
||||||
dormant. The overall quality grade reflects how many slots fired and in which direction.
|
dormant. The overall quality grade reflects how many slots fired and in which direction.
|
||||||
Use the rack selector to switch between different signal subsets.
|
Use the rack selector to switch between different signal subsets.
|
||||||
@@ -125,10 +125,15 @@ export function ConfluencePanel() {
|
|||||||
onPick={pickSymbol}
|
onPick={pickSymbol}
|
||||||
onSubmitRaw={(raw) => pickSymbol(raw.toUpperCase())}
|
onSubmitRaw={(raw) => pickSymbol(raw.toUpperCase())}
|
||||||
placeholder="Search symbol…"
|
placeholder="Search symbol…"
|
||||||
ariaLabel="Select symbol for slot picture"
|
ariaLabel="Select symbol for signal confluence"
|
||||||
inputClassName="w-full bg-surface-sunken border border-line rounded-lg px-3 py-1.5 text-xs text-fg placeholder:text-fg-muted focus:outline-none focus:border-accent focus:ring-1 focus:ring-accent"
|
inputClassName="w-full bg-surface-sunken border border-line rounded-lg px-3 py-1.5 text-xs text-fg placeholder:text-fg-muted focus:outline-none focus:border-accent focus:ring-1 focus:ring-accent"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
{symbol && (
|
||||||
|
<span className="mt-1 inline-flex items-center rounded bg-accent/10 border border-accent/30 px-2 py-0.5 text-xs font-medium text-accent">
|
||||||
|
{symbol}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label className="block text-xs text-fg-muted mb-1">Rack</label>
|
<label className="block text-xs text-fg-muted mb-1">Rack</label>
|
||||||
@@ -147,7 +152,7 @@ export function ConfluencePanel() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Picture quality + evidence summary */}
|
{/* Quality + evidence summary */}
|
||||||
{quality ? (
|
{quality ? (
|
||||||
<div className="flex flex-wrap items-center gap-4">
|
<div className="flex flex-wrap items-center gap-4">
|
||||||
<div className={`inline-flex items-center gap-2 rounded border px-3 py-1.5 text-sm font-medium ${QUALITY_COLOR[quality]}`}>
|
<div className={`inline-flex items-center gap-2 rounded border px-3 py-1.5 text-sm font-medium ${QUALITY_COLOR[quality]}`}>
|
||||||
|
|||||||
Reference in New Issue
Block a user