fix: backfill symbol_demand for sidebar-added symbols + analyst ratings schema fix
- Add await ctx.cache.subscribe() to addSymbol mutation so symbols added via the sidebar get registered in symbol_demand and yfinance jobs are queued immediately - Backfill PEP, WYNN, STZ, CELH into symbol_demand + adapter_queue - Upgrade yahoo-finance2 3.15.3 -> 3.15.4 and pass validateResult:false to quoteSummary() to handle Yahoo schema drift - Add error detail logging for analyst ratings schema failures - Update .gitignore with common ignores
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
'use client';
|
||||
import { useMarketOutlookSections, type SectionId } from '@/stores/market-outlook-sections-store';
|
||||
|
||||
interface SectionCollapseProps {
|
||||
id: SectionId;
|
||||
title: string;
|
||||
children: React.ReactNode;
|
||||
info?: React.ReactNode;
|
||||
}
|
||||
|
||||
export function SectionCollapse({ id, title, children, info }: SectionCollapseProps) {
|
||||
const open = useMarketOutlookSections((s) => s.open[id]);
|
||||
const toggle = useMarketOutlookSections((s) => s.toggle);
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div
|
||||
role="button"
|
||||
tabIndex={0}
|
||||
onClick={() => toggle(id)}
|
||||
onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); toggle(id); } }}
|
||||
className="flex items-center gap-2 w-full text-left group cursor-pointer"
|
||||
>
|
||||
<span className={`text-xs text-fg-muted transition-transform duration-200 ${open ? 'rotate-90' : ''}`}>
|
||||
▸
|
||||
</span>
|
||||
<h3 className="text-base font-semibold text-fg group-hover:text-accent transition-colors">
|
||||
{title}
|
||||
</h3>
|
||||
{info && (
|
||||
<span onClick={(e) => e.stopPropagation()} className="inline-flex">
|
||||
{info}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
{open && <div className="animate-in fade-in duration-200 mt-4">{children}</div>}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user