diff --git a/app/analysis/page.tsx b/app/analysis/page.tsx index ac6f9b8..ae9a5cf 100644 --- a/app/analysis/page.tsx +++ b/app/analysis/page.tsx @@ -16,6 +16,7 @@ import { import { BrainCircuit, ChartNoAxesCombined, + NotebookTabs, NotebookPen, RefreshCcw, Search, @@ -29,6 +30,7 @@ import { Input } from '@/components/ui/input'; import { Panel } from '@/components/ui/panel'; import { useAuthGuard } from '@/hooks/use-auth-guard'; import { useLinkPrefetch } from '@/hooks/use-link-prefetch'; +import { buildGraphingHref } from '@/lib/graphing/catalog'; import { createResearchJournalEntry, deleteResearchJournalEntry, @@ -407,6 +409,14 @@ function AnalysisPageContent() { > Open filing stream + prefetchResearchTicker(analysis.company.ticker)} + onFocus={() => prefetchResearchTicker(analysis.company.ticker)} + className="text-sm text-[color:var(--accent)] hover:text-[color:var(--accent-strong)]" + > + Open graphing + ) : null} @@ -756,113 +766,70 @@ function AnalysisPageContent() { )} -
+
prefetchResearchTicker(activeTicker)} + onFocus={() => prefetchResearchTicker(activeTicker)} + className="inline-flex items-center gap-2 rounded-lg border border-[color:var(--line-weak)] px-3 py-2 text-xs uppercase tracking-[0.12em] text-[color:var(--accent)] transition hover:border-[color:var(--line-strong)] hover:text-[color:var(--accent-strong)]" + > + + Open research + + )} > -
-
- - setJournalForm((prev) => ({ ...prev, title: event.target.value }))} - placeholder="Investment thesis checkpoint, risk note, follow-up..." - /> +
+
+

Workspace focus

+

+ Use the research surface to manage the typed library, attach evidence to memo sections, upload diligence files, and assemble the packet view for investor review. +

-
- - setJournalForm((prev) => ({ ...prev, accessionNumber: event.target.value }))} - placeholder="0000000000-26-000001" - /> +
+
+

Stored research entries

+

{journalEntries.length}

+
+
+

Latest update

+

{journalEntries[0] ? formatDateTime(journalEntries[0].updated_at) : 'No research activity yet'}

+
-
- -