Skip to content

Bottom bar: context-reactive ad-hoc report sections (structural redesign) #13

Description

@0xlaga

Summary

Redesign the bottom threat bar into a context-reactive ad-hoc report bar with exactly 4 sections, one per context type. Only the section matching the active context is enabled and expanded; the other three are grayed out and non-interactive.


Current state

The bottom bar (.threat-bar) currently renders threat-slot elements with hardcoded content (fast relay suspects / threat indicators). It is not connected to the context driver system (getContextDriver()).


Target design

Replace the current 4 threat slots with 4 fixed context sections:

Section Label Icon Active when
General NETWORK OVERVIEW 🌐 getContextDriver().type === "general"
Message MESSAGE REPORT 📨 getContextDriver().type === "message"
Channel CHANNEL REPORT getContextDriver().type === "channel"
Node NODE REPORT 🔵 getContextDriver().type === "node"

Each section is always visible in the bar. When inactive:

  • Label and icon are dimmed (opacity: 0.25, pointer-events: none)
  • A subtle lock/dash indicator shows it is not available in this context
  • Clicking does nothing

When active:


Implementation

index.html

  • Replace .threat-slot HTML structure with 4 .report-slot divs, each with data-context="general|message|channel|node"
  • Add CSS for .report-slot.disabled (dimmed, no pointer events) and .report-slot.active (highlighted accent border-top matching context color)
  • Context accent colors: general=#ff6b35, message=#2a9d8f, channel=#e9c46a, node=#457b9d

app.js

  • Update updateContextBar() (or add updateReportBar() called from it) to:
    • Read getContextDriver().type
    • For each .report-slot: add/remove disabled class based on whether data-context matches active type
    • Wire click on active slot to open the corresponding report overlay (stubs OK until individual report issues are done)
  • Remove or archive the existing buildSuspectsHtml() / threat slot rendering logic (move suspects content into the General report, issue Ad-hoc report: General context — network overview with rankings, charts and anomaly insights #14)

Acceptance criteria

  • Bottom bar always shows exactly 4 sections regardless of context
  • Active section has full opacity and matches context accent color
  • Inactive sections are visually dimmed and non-interactive
  • updateContextBar() triggers the bar state update on every context change
  • Clicking an active section opens its report overlay (stub acceptable)
  • No regressions to existing context-driver logic or quadrant panels

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions