Skip to content

feat(ui): add NexusStatusNotice widget with Text/Tooltip/Both modes#19

Merged
nxships merged 1 commit into
mainfrom
feat/nexus-status-notice
May 25, 2026
Merged

feat(ui): add NexusStatusNotice widget with Text/Tooltip/Both modes#19
nxships merged 1 commit into
mainfrom
feat/nexus-status-notice

Conversation

@nxships
Copy link
Copy Markdown
Contributor

@nxships nxships commented May 25, 2026

Summary

Adds a reusable status-notice widget to NexusKit.Ui.Widgets that collapses two parallel implementations downstream in PlayerNexusTracker into a single primitive.

The detail panel was carrying two visually different cues that share the same loc key, the same icon, and the same activation guard:

  • A grey wrapped banner inside each Lodestone-dependent tab body (LodestonePlaceholder.Draw).
  • An inline yellow hourglass with hover tooltip in the panel header (DrawLodestoneStatusBadge).

NexusStatusNotice provides three modes covering both — and a third (Both) that combines them with an optional separate tooltip text for cases where the body cue is short but the hover explainer is long.

Modes

Mode Render Default colour Typical use
Text icon + wrapped text (block) ImGuiColors.DalamudGrey top-of-tab status banner
Tooltip icon only + hover tooltip ImGuiColors.DalamudYellow inline header badge (SameLine)
Both icon + text + hover tooltip ImGuiColors.DalamudGrey banner with longer hover detail

Defaults track the existing palette so migrating call sites keep their visual contract.

What this is NOT

  • Not a replacement for NexusHint. NexusHint stays the right tool for one-off field-change / gender / FC-candidate hints. This widget is the higher-level "named status" cue.
  • No behavior changes inside NexusKit itself — the widget is purely additive; nothing in NexusKit consumes it yet.

Test plan

  • dotnet build clean (Debug | x64), 0 warnings.
  • Downstream PlayerNexusTracker PR (follow-up) consumes this widget and confirms the visual contracts hold across both presentations.

A reusable "something is going on in the background" cue that the
PlayerNexusTracker detail panel had been re-implementing twice — once
inline as a grey wrapped banner inside tab bodies, once as an inline
yellow hourglass with hover tooltip in the panel header. Same icon,
same loc key, same player-loaded guard; only the presentation differed.

The widget collapses both presentations into one call site by carrying
a mode enum:

- Text     icon + wrapped text laid out as a block element. Grey by
           default, matching the legacy LodestonePlaceholder wrap.
- Tooltip  icon only; hover shows the tooltip. Yellow by default and
           SameLine-friendly, matching the legacy NexusHint hourglass.
- Both     icon + wrapped text AND a hover tooltip on the icon, with
           optional separate tooltipText so a short banner can carry
           a longer hover explainer.

Caller decides text + (optional) separate tooltipText, icon, color
override, and sameLine. Defaults track the existing palette (yellow
for Tooltip, grey otherwise) so the migrating call sites keep their
visual contract.

NexusHint is intentionally left in place — it is still the right tool
for one-off field-change / gender / FC-candidate hints. This widget
is the higher-level "named status" cue.
@nxships nxships enabled auto-merge (squash) May 25, 2026 11:42
@nxships nxships merged commit c915f45 into main May 25, 2026
2 checks passed
@nxships nxships deleted the feat/nexus-status-notice branch May 25, 2026 11:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant