{if(bubbleMenu&&!e.target.closest("[data-bubble]"))setBubbleMenu(null)}}>
{/* Title */}
Today — Wednesday, March 18
Pinned · Auto-generated · {activeTasks.length} open tasks · Configurable sections
flash("Configure Today template…")} style={{border:`1px solid ${c.borderLight}`,borderRadius:3,backgroundColor:"transparent",cursor:"pointer",padding:"1px 6px",fontSize:9,color:c.textTer,fontFamily:font.sans,display:"flex",alignItems:"center",gap:2,marginLeft:4}}>Configure
{/* ═══ TO DO SECTION ═══ */}
To Do
{activeTasks.map(task=>
setExpandedTask(expandedTask===task.id?null:task.id)}>
toggleTask(task.id)} onClick={e=>e.stopPropagation()} style={{width:16,height:16,accentColor:c.accentBtn,marginTop:1,flexShrink:0}}/>
{task.text}
{priLabel(task.pri)}
{task.due&&{task.due} }
{task.link&&{e.stopPropagation();flash(`Opening "${task.link}"`)}}>{task.link} }
{task.sub&&task.sub.length>0&&{task.sub.filter(s=>s.done).length}/{task.sub.length} }
{/* Subtasks */}
{expandedTask===task.id&&task.sub&&task.sub.length>0&&
{task.sub.map(s=>
toggleSub(task.id,s.id)} style={{width:14,height:14,accentColor:c.accentBtn}}/>
{s.text}
)}
flash("@Elnor…")}>@Elnor
Subtask
flash(task.link?`Open "${task.link}"`:"Link note…")}>{task.link?"Open":"Link"}
}
{/* Inline thread attached to a task */}
{task.id==="t4"&&threads.filter(th=>th.contextQuote?.includes("opposing counsel")).map(th=>
)}
)}
{/* Add task */}
{if(e.target.textContent==="Add task…")e.target.textContent=""}} onBlur={e=>{if(!e.target.textContent.trim())e.target.textContent="Add task…"}}>Add task…
{/* Done */}
{doneTasks.length>0&&
Done ({doneTasks.length})
{doneTasks.map(t=>
toggleTask(t.id)} style={{width:15,height:15,accentColor:c.accentBtn}}/>
{t.text}
)}
}
{/* ═══ MORNING BRIEF ═══ */}
Morning Brief
Populated by Elnor · 6:00 AM
} title="Overnight Activity" items={[
{text:"Reviewed 3 Henderson deposition transcripts — flagged 2 citation issues in Chen depo",time:"5h ago"},
{text:"Updated Quark patent landscape — 4 new filings",time:"4h ago"},
{text:"Scanned SEC filings — no new Henderson-relevant 10-K amendments",time:"3h ago"},
]}/>
} title="Deadlines" items={[
{text:"Expert disclosure deadline — Folb v. City of LA",time:"47 days",accent:c.error},
{text:"Henderson MSJ response due",time:"12 days",accent:c.warn},
{text:"Danny Christensen engagement call",time:"Tomorrow 2pm"},
]}/>
} title="Emails to Respond" items={[
{text:"Sparacino — Narayanan agreement redline",time:"Yesterday"},
{text:"Opposing counsel — discovery extension request",time:"2d ago",accent:c.warn},
]}/>
} title="System" items={[
{text:"OneDrive sync paused — re-auth needed",time:"6h ago",accent:c.warn},
{text:"DOC15 red-team review completed — 3 findings flagged",time:"2h ago",accent:c.green},
]}/>
{/* ═══ WORKING NOTES (free-form) ═══ */}
Working Notes
Christensen engagement agreement needs the opinion scope narrowed — he can testify on damages methodology but not on liability. Check the retainer letter.
Call with Sparacino re: Narayanan — need to confirm NY vs CA choice of law for the restrictive covenant. NY probably governs but CA may void it entirely under Bus & Prof Code § 16600.
Type here… @Elnor to ask inline
{/* Bubble menu (from Q_NOTES_FULL) */}
{bubbleMenu&&
{flash("Comment…");dismissBubble()}} style={{padding:"5px 10px",borderRadius:R.sm,border:"none",cursor:"pointer",backgroundColor:c.accentBtn,color:"#fff",fontSize:11,fontWeight:600,fontFamily:font.sans,display:"flex",alignItems:"center",gap:4}}>Comment
{agent.name}
{flash(`Sent to ${agent.name}`);dismissBubble()}} style={{padding:"5px 8px",borderRadius:R.sm,border:"none",cursor:"pointer",backgroundColor:"transparent",color:c.textSec,fontSize:11,fontFamily:font.sans,display:"flex",alignItems:"center",gap:3}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.bgInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>Ask {agent.name}
{["Rewrite","Expand","Shorten"].map(a=>
{flash(`${agent.name}: ${a}…`);dismissBubble()}} style={{padding:"5px 8px",borderRadius:R.sm,border:"none",cursor:"pointer",backgroundColor:"transparent",color:c.textSec,fontSize:11,fontFamily:font.sans}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.bgInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>{a} )}
}
{/* ═══ COMMENTS / SEND PANEL — placeholder ═══ */}
{commentsOpen&&!fullScreen&&
setRightTab("comments")} style={{flex:1,padding:"7px 0",border:"none",cursor:"pointer",backgroundColor:rightTab==="comments"?c.bgPanelAlt:c.bgInput,color:rightTab==="comments"?c.accentBtn:c.textTer,fontSize:10.5,fontWeight:rightTab==="comments"?650:450,fontFamily:font.sans,borderBottom:rightTab==="comments"?`2px solid ${c.accentBtn}`:"2px solid transparent",display:"flex",alignItems:"center",justifyContent:"center",gap:3}}>Comments
setRightTab("send")} style={{flex:1,padding:"7px 0",border:"none",cursor:"pointer",backgroundColor:rightTab==="send"?c.bgPanel:c.bgInput,color:rightTab==="send"?c.accentBtn:c.textTer,fontSize:10.5,fontWeight:rightTab==="send"?650:450,fontFamily:font.sans,borderBottom:rightTab==="send"?`2px solid ${c.accentBtn}`:"2px solid transparent",display:"flex",alignItems:"center",justifyContent:"center",gap:3}}>Send to Agent
setCommentsOpen(false)} style={{width:26,border:"none",cursor:"pointer",backgroundColor:"transparent",display:"flex",alignItems:"center",justifyContent:"center",color:c.textTer}}>
Comments + Send to Agent from Q_NOTES_FULL.jsx plugs in here verbatim
Full comment cards + Send drawer @mention support in specs