9c16d337a2
* feat(web): add app status bar * feat(web): add app status bar visibility toggle * feat(web): persist status bar item order * fix(web): refine app status bar behavior * fix(web): polish app status bar presentation * test(web): split plugin slot coverage groups * fix(web): address status surface review feedback * fix(web): stabilize status bar overlay tests
22 lines
731 B
TypeScript
22 lines
731 B
TypeScript
"use client";
|
|
|
|
import { PluginSlotRegistrationView } from "@/components/plugins/plugin-slot";
|
|
import type { PluginSlotRegistration } from "@/lib/plugins/registry";
|
|
import type { AppStatusBarSlotProps } from "@/lib/plugins/types";
|
|
|
|
/** Renders one opaque plugin-owned status item with host-owned context. */
|
|
export function AppStatusBarPluginContribution({
|
|
registration,
|
|
...slotProps
|
|
}: AppStatusBarSlotProps & { registration: PluginSlotRegistration }) {
|
|
const name = slotProps.placement === "left" ? "app-status-bar-left" : "app-status-bar-right";
|
|
return (
|
|
<PluginSlotRegistrationView
|
|
key={registration.registrationId}
|
|
registration={registration}
|
|
name={name}
|
|
slotProps={slotProps}
|
|
/>
|
|
);
|
|
}
|