Add HelpTip coverage for War Room, Mission Deck, and Forge gaps (UH-03–05).
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import type { ForgeFieldMeta } from '../../help/forgeRules';
|
||||
import { forgeBadgeLabel } from '../../help/forgeRules';
|
||||
import { HelpTip } from '../HelpTip';
|
||||
|
||||
interface ForgeLockedHintProps {
|
||||
meta?: ForgeFieldMeta;
|
||||
@@ -31,13 +32,17 @@ interface ForgeSectionHeaderProps {
|
||||
title: string;
|
||||
description: string;
|
||||
badge: 'baked' | 'server-only';
|
||||
helpField?: string;
|
||||
}
|
||||
|
||||
export function ForgeSectionHeader({ title, description, badge }: ForgeSectionHeaderProps) {
|
||||
export function ForgeSectionHeader({ title, description, badge, helpField }: ForgeSectionHeaderProps) {
|
||||
return (
|
||||
<div className="forge-section-header">
|
||||
<div className="forge-section-title-row">
|
||||
<h3>{title}</h3>
|
||||
<h3>
|
||||
{title}
|
||||
{helpField ? <> <HelpTip field={helpField} /></> : null}
|
||||
</h3>
|
||||
<span className={`forge-field-badge forge-badge-${badge}`}>{forgeBadgeLabel(badge)}</span>
|
||||
</div>
|
||||
<p className="form-hint forge-section-desc">{description}</p>
|
||||
|
||||
@@ -6,6 +6,7 @@ import {
|
||||
tickForceLayout,
|
||||
type ConstellationNode,
|
||||
} from '../../help/campaignConstellations';
|
||||
import { HelpTip } from '../HelpTip';
|
||||
|
||||
interface CampaignConstellationsProps {
|
||||
campaigns: WarRoomCampaign[];
|
||||
@@ -169,7 +170,8 @@ export default function CampaignConstellations({ campaigns, onSelectCampaign }:
|
||||
|
||||
<p className="war-room-constellation-legend form-hint">
|
||||
Node size = hits · brightness = online · color = conversion · edges = shared pin/build.
|
||||
Click a star to jump to its funnel card.
|
||||
Click a star to jump to its funnel card.{' '}
|
||||
<HelpTip field="ew_war_room_constellations" />
|
||||
</p>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -11,6 +11,7 @@ import {
|
||||
} from '../../help/warRoom';
|
||||
import { hashHeatIntensity, lotlTierLabel } from '../../help/warRoomTelemetry';
|
||||
import JoinLaneBadge from '../Fleet/JoinLaneBadge';
|
||||
import { HelpTip } from '../HelpTip';
|
||||
import WarRoomOdometer from './WarRoomOdometer';
|
||||
|
||||
interface WarRoomFunnelBoardProps {
|
||||
@@ -44,6 +45,9 @@ export default function WarRoomFunnelBoard({
|
||||
className={`war-room-funnel-board${alive ? ' war-room-funnel-board--alive' : ''}`}
|
||||
role="list"
|
||||
>
|
||||
<p className="war-room-funnel-board-key form-hint">
|
||||
Funnel board <HelpTip field="ew_war_room_funnel_board" />
|
||||
</p>
|
||||
{campaigns.map((c, cardIndex) => {
|
||||
const stages = funnelStages(c);
|
||||
const leaks = detectFunnelLeaks(c);
|
||||
@@ -201,11 +205,13 @@ export default function WarRoomFunnelBoard({
|
||||
<p className="war-room-leak-msg">{primaryLeak.message}</p>
|
||||
<p className="war-room-leak-action">{primaryLeak.action}</p>
|
||||
</div>
|
||||
<HelpTip field="ew_war_room_leak" />
|
||||
</div>
|
||||
) : (
|
||||
<div className="war-room-leak war-room-leak--clear" role="status">
|
||||
<span className="war-room-leak-badge">FLOW</span>
|
||||
<p className="war-room-leak-msg">Funnel flowing — no major leaks detected.</p>
|
||||
<HelpTip field="ew_war_room_leak" />
|
||||
</div>
|
||||
)}
|
||||
</article>
|
||||
|
||||
Reference in New Issue
Block a user