diff --git a/apps/web/app/globals.css b/apps/web/app/globals.css index 2fe45df..654e8c9 100644 --- a/apps/web/app/globals.css +++ b/apps/web/app/globals.css @@ -458,6 +458,27 @@ h3 { position: relative; } +.contract-filter-button { + display: inline-flex; + align-items: center; + justify-content: center; + min-height: 32px; + min-width: 0; + max-width: min(440px, 42vw); +} + +.contract-filter-button-label { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.contract-filter-button.is-active { + border-color: rgba(245, 166, 35, 0.55); + background: linear-gradient(180deg, rgba(245, 166, 35, 0.18), rgba(245, 166, 35, 0.07)); + color: #ffe2aa; +} + .flow-filter-popover { position: relative; } diff --git a/apps/web/app/terminal.tsx b/apps/web/app/terminal.tsx index c3a9f08..cf5d79b 100644 --- a/apps/web/app/terminal.tsx +++ b/apps/web/app/terminal.tsx @@ -5372,6 +5372,30 @@ const FlowFilterControls = () => { return ; }; +const ContractFilterControl = () => { + const state = useTerminal(); + const selected = state.selectedInstrument; + const isContractFilterActive = selected?.kind === "option-contract"; + + return ( + + ); +}; + type PaneProps = { title: string; status?: ReactNode; @@ -6278,7 +6302,7 @@ export function TerminalAppShell({ children }: { children: ReactNode }) {
- {state.selectedInstrumentLabel ? ( + {state.selectedInstrumentLabel && state.selectedInstrument?.kind !== "option-contract" ? ( {state.selectedInstrumentLabel}