{/* V7.4: Browser mode tabs — bigger, better active state */}
{[{k:"nav",l:"Nav"},{k:"browser",l:"Browser"},{k:"notes",l:"Notes"},{k:"bookmarks",l:"Web"}].map(m=>setBrowserMode(m.k)} style={{flex:1,padding:"8px 0 7px",border:"none",cursor:"pointer",backgroundColor:browserMode===m.k?c.bgPanel:c.bgPanelAlt,color:browserMode===m.k?c.accentBtn:c.textTer,fontSize:11.5,fontWeight:browserMode===m.k?700:450,fontFamily:font.sans,borderBottom:browserMode===m.k?`2.5px solid ${c.accentBtn}`:"2.5px solid transparent",borderTop:browserMode===m.k?`1px solid ${c.border}`:"1px solid transparent",borderLeft:browserMode===m.k?`1px solid ${c.borderLight}`:"1px solid transparent",borderRight:browserMode===m.k?`1px solid ${c.borderLight}`:"1px solid transparent",borderRadius:browserMode===m.k?"4px 4px 0 0":"0",margin:browserMode===m.k?"-1px 0 0":0}}>{m.l} )}
{/* ─── NAV MODE ─── */}
{browserMode==="nav"&&
{/* Conversations */}
Conversations
{recentConvos.filter(cv=>cv.starred).map(cv=>
openTab("chat",cv.name,"chat")} style={{display:"flex",alignItems:"center",gap:6,padding:"4px 10px",cursor:"pointer",fontSize:11.5,borderRadius:R.sm,margin:"0 4px"}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.bgInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>{cv.name} {cv.time}
)}
{recentConvos.filter(cv=>!cv.starred).slice(0,3).map(cv=>
openTab("chat",cv.name,"chat")} style={{display:"flex",alignItems:"center",gap:6,padding:"4px 10px",cursor:"pointer",fontSize:11.5,borderRadius:R.sm,margin:"0 4px"}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.bgInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>{cv.name} {cv.time}
)}
openTab("utility","Chats","chat")} style={{fontSize:10,color:c.accentBtn,cursor:"pointer",fontWeight:500}}>See all →
{/* Pages */}
Pages
{navPages.map(p=>
openTab("utility",p.label,p.icon)} style={{display:"flex",alignItems:"center",gap:7,padding:"5px 10px",cursor:"pointer",fontSize:12,borderRadius:R.sm,margin:"0 4px"}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.bgInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>{p.icon}{p.label}
)}
{/* V7.4: Tab Groups — collapsed by default */}
setNavTabGroupsOpen(!navTabGroupsOpen)} style={{display:"flex",alignItems:"center",gap:6,padding:"5px 10px",cursor:"pointer",fontSize:12,margin:"0 4px"}}>
{navTabGroupsOpen?:}
Tab Groups
{tabGroups.length}
{navTabGroupsOpen&&tabGroups.map(g=>
{setTabGroups(gs=>gs.map(x=>x.id===g.id?{...x,collapsed:false}:x));const first=tabs.find(t=>t.group===g.id);if(first)setActiveTabId(first.id)}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.bgInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>{g.label} {tabs.filter(t=>t.group===g.id).length} tabs
)}
{/* Open Tabs */}
Open Tabs
{tabs.map(t=>
setActiveTabId(t.id)} style={{display:"flex",alignItems:"center",gap:5,padding:"3px 10px",cursor:"pointer",fontSize:11,borderRadius:R.sm,margin:"0 4px",backgroundColor:t.id===activeTabId?c.accentBtn+"08":"transparent",fontWeight:t.id===activeTabId?600:400}} onMouseEnter={e=>{if(t.id!==activeTabId)e.currentTarget.style.backgroundColor=c.bgInput}} onMouseLeave={e=>{e.currentTarget.style.backgroundColor=t.id===activeTabId?c.accentBtn+"08":"transparent"}}>{t.title}
)}
}
{/* ─── BROWSER MODE ─── */}
{browserMode==="browser"&&<>
{/* Search */}
{/* Collections — 14px dots */}
flash("Create collection…")} style={{width:14,height:14,borderRadius:"50%",border:`1.5px dashed ${c.border}`,backgroundColor:"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0}}>
{collections.map(col=>{const sel=selectedCollections.has(col.name);return toggleCollection(col.name)} style={{width:14,height:14,borderRadius:"50%",backgroundColor:col.color,border:sel?`2px solid ${c.textPri}`:"2px solid transparent",cursor:"pointer",flexShrink:0,opacity:sel?1:.6,transform:sel?"scale(1.15)":"scale(1)",transition:"all .15s"}}/>})}
{selectedCollections.size>0&&setSelectedCollections(new Set())} style={{border:"none",backgroundColor:"transparent",cursor:"pointer",color:c.textTer,fontSize:9,fontFamily:font.sans}}>clear }
{/* Scope chips */}
{scopeFams.map(s=>selectScope(s)} style={{padding:"2px 8px",borderRadius:3,border:`1px solid ${activeScope===s?c.accentBtn+"60":c.borderLight}`,backgroundColor:activeScope===s?c.accentBtn+"10":"transparent",fontSize:10,fontWeight:activeScope===s?600:400,color:activeScope===s?c.accentBtn:c.textTer,cursor:"pointer",fontFamily:font.sans,height:20}}>{s} )}{if(activeScope==="Folders"){setActiveScope(null)}else{setActiveScope("Folders");setActiveFolder(null)}}} style={{padding:"2px 7px",borderRadius:3,border:`1.5px dashed ${activeScope==="Folders"?c.accentBtn:c.border}`,backgroundColor:activeScope==="Folders"?c.accentBtn+"12":c.bgInput+"80",fontSize:9.5,color:activeScope==="Folders"?c.accentBtn:c.textTer,cursor:"pointer",fontFamily:font.sans,height:20,display:"flex",alignItems:"center",gap:3,fontWeight:activeScope==="Folders"?600:400,marginLeft:4}}>Folders
{/* Scope detail */}
{activeScope===null&&
No scope — all items
}
{activeScope==="Project"&&
{projects.map((p,i)=>{setActiveProjIdx(i);setNoProject(false)}} style={{display:"flex",alignItems:"center",gap:6,width:"100%",padding:"4px 8px",borderRadius:R.sm,border:"none",cursor:"pointer",backgroundColor:!noProject&&activeProjIdx===i?c.accentBtn+"10":"transparent",fontFamily:font.sans,textAlign:"left"}}>{p.name} )}setNoProject(true)} style={{display:"flex",alignItems:"center",gap:6,width:"100%",padding:"4px 8px",border:"none",cursor:"pointer",backgroundColor:noProject?c.accentBtn+"10":"transparent",fontFamily:font.sans,borderRadius:R.sm}}>No Project
}
{activeScope==="Folders"&&
Folders {setNewFolderMode({parent:null});setNewFolderName("")}} style={{padding:"1px 6px",borderRadius:R.sm,border:`1px solid ${c.border}`,backgroundColor:"transparent",cursor:"pointer",fontSize:9,color:c.accentBtn,fontFamily:font.sans,display:"flex",alignItems:"center",gap:2}}>New
{newFolderMode?.parent===null&&
setNewFolderName(e.target.value)} placeholder="Folder name…" autoFocus onKeyDown={e=>{if(e.key==="Enter")createBrowserFolder(null);if(e.key==="Escape")setNewFolderMode(null)}} style={{flex:1,border:`1px solid ${c.accentBtn}40`,borderRadius:3,padding:"2px 6px",fontSize:11,fontFamily:font.sans,outline:"none",backgroundColor:c.bgCard}}/>
}{renderBFolders(null,0)}
}
{activeScope==="Places"&&
Places flash("Opening Finder…")} style={{padding:"1px 6px",borderRadius:R.sm,border:`1px solid ${c.border}`,backgroundColor:"transparent",cursor:"pointer",fontSize:9,color:c.accentBtn,fontFamily:font.sans,display:"flex",alignItems:"center",gap:2}}>Add
{places.map((p,i)=>
setHoverPlace(p.id)} onMouseLeave={()=>setHoverPlace(null)} onClick={()=>{setActivePlace(i);setPlacePath([])}} onContextMenu={e=>{e.preventDefault();flash("Open in Finder…")}} title={p.path} style={{display:"flex",alignItems:"center",gap:6,padding:"3px 8px",height:28,borderRadius:R.sm,cursor:"pointer",backgroundColor:activePlace===i?c.accentBtn+"10":"transparent",opacity:p.status==="missing"?.5:1}}>
{p.title}
{p.status==="missing"&&missing }
{hoverPlace===p.id&&removingPlace!==p.id&&{e.stopPropagation();setRemovingPlace(p.id)}} style={{cursor:"pointer",display:"flex",color:c.textTer,flexShrink:0}}> }
{removingPlace===p.id&&e.stopPropagation()}>Remove? removePlace(p.id)}>Yes setRemovingPlace(null)}>No }
)}
}
{activeScope==="Saved Views"&&
Saved Views
{savedViews.map(sv=>
setActiveSavedView(activeSavedView===sv.id?null:sv.id)} style={{display:"flex",alignItems:"center",gap:6,width:"100%",padding:"4px 8px",borderRadius:R.sm,border:"none",cursor:"pointer",backgroundColor:activeSavedView===sv.id?c.accentBtn+"10":"transparent",fontFamily:font.sans,textAlign:"left"}}>{sv.name} built-in )}
}
{/* Splitter */}
{const sY=e.clientY,sP=splitterPos;const m=ev=>setSplitterPos(Math.max(60,Math.min(400,sP+(ev.clientY-sY))));const u=()=>{document.removeEventListener("mousemove",m);document.removeEventListener("mouseup",u)};document.addEventListener("mousemove",m);document.addEventListener("mouseup",u)}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.accentBtn+"30"} onMouseLeave={e=>e.currentTarget.style.backgroundColor=c.borderLight}>
{/* Type chips */}
{typeChips.map(t=>toggleType(t)} style={{padding:"1px 6px",borderRadius:3,border:`1px solid ${activeTypes.has(t)?c.accentBtn+"50":c.borderLight}`,backgroundColor:activeTypes.has(t)?c.accentBtn+"10":"transparent",fontSize:9.5,fontWeight:activeTypes.has(t)?600:400,color:activeTypes.has(t)?c.accentBtn:c.textTer,cursor:"pointer",fontFamily:font.sans,height:18}}>{t} )}{activeTypes.size>0&&setActiveTypes(new Set())} style={{padding:"1px 6px",border:"none",cursor:"pointer",fontSize:9,color:c.textTer,fontFamily:font.sans,height:18}}>clear }
{/* Sort + save view */}
{activeScope==="Places"&&activePlace!==null?currentPlaceFiles().length:filtered.length} items {setSaveFromBar(true);setSaveViewName("")}} title="Save view" style={{padding:2,border:"none",cursor:"pointer",backgroundColor:"transparent",display:"flex",color:c.textTer}}> {e.stopPropagation();setSortDrop(!sortDrop)}}>{sortKey} ▾ {sortDrop&&
e.stopPropagation()} style={{position:"absolute",top:16,right:0,backgroundColor:c.bgCard,border:`1px solid ${c.border}`,borderRadius:R.sm,boxShadow:"0 4px 12px rgba(0,0,0,0.1)",zIndex:50,minWidth:120,padding:3}}>{sortOptions.map(s=>{setSortKey(s);setSortDrop(false)}} style={{display:"block",width:"100%",padding:"5px 10px",border:"none",cursor:"pointer",backgroundColor:s===sortKey?c.accentBtn+"08":"transparent",fontSize:11,color:s===sortKey?c.accentBtn:c.textPri,textAlign:"left",borderRadius:R.sm,fontFamily:font.sans,fontWeight:s===sortKey?600:400}}>{s}{s===sortKey&&" ✓"} )}
}
{saveFromBar&&
setSaveViewName(e.target.value)} placeholder="View name…" autoFocus onKeyDown={e=>{if(e.key==="Enter"&&saveViewName.trim()){setUserSavedViews(p=>[...p,{id:"usv"+p.length,name:saveViewName.trim()}]);flash(`"${saveViewName}" saved`);setSaveFromBar(false)}if(e.key==="Escape")setSaveFromBar(false)}} style={{flex:1,border:`1px solid ${c.accentBtn}40`,borderRadius:3,padding:"2px 6px",fontSize:11,fontFamily:font.sans,outline:"none",backgroundColor:c.bgCard}}/>setSaveFromBar(false)} style={{padding:"2px 6px",borderRadius:R.sm,border:`1px solid ${c.border}`,backgroundColor:"transparent",cursor:"pointer",fontSize:10,color:c.textTer,fontFamily:font.sans}}>Cancel
}
{/* Places file browser */}
{activeScope==="Places"&&activePlace!==null?
setPlacePath([])}>← {places[activePlace]?.title} {placePath.map((p,i)=>/ setPlacePath(placePath.slice(0,i+1))}>{p} )}
{currentPlaceFiles().filter(f=>f.isFolder).map((f,i)=>
setPlacePath([...placePath,f.name])} style={{display:"flex",alignItems:"center",gap:6,padding:"6px 8px",height:34,borderBottom:`1px solid ${c.borderLight}`,cursor:"pointer",backgroundColor:c.bgPanelAlt+"80"}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.accentBtn+"06"} onMouseLeave={e=>e.currentTarget.style.backgroundColor=c.bgPanelAlt+"80"}>{f.name}
)}
{currentPlaceFiles().filter(f=>!f.isFolder).map((f,i)=>
{f.name} {f.type} {f.size} {f.mod}
)}
:
{filtered.map((item,i)=>
setDragItem(item.title)} onDragEnd={()=>setDragItem(null)} onClick={()=>setSelectedIdx(i)} style={{display:"flex",alignItems:"center",gap:6,padding:"6px 8px",height:32,borderBottom:`1px solid ${c.borderLight}`,cursor:"pointer",backgroundColor:selectedIdx===i?c.accentBtn+"08":"transparent"}} onMouseEnter={e=>{if(selectedIdx!==i)e.currentTarget.style.backgroundColor=c.bgPanelAlt}} onMouseLeave={e=>{if(selectedIdx!==i)e.currentTarget.style.backgroundColor="transparent"}}>{item.pin&&}{item.title} {item.st&&{item.st} }{item.type} {item.time}
)}{filtered.length===0&&
No items match
}
}
{activeScope?{activeScope} :All }{sortKey}
>}
{/* ─── NOTES MODE ─── */}
{browserMode==="notes"&&<>
{/* V7.9.2: Scope toggles */}
{[{id:"notes",icon:"note",label:"Notes"},{id:"todo",icon:"todo",label:"To Do"},{id:"calendars",icon:"cal",label:"Cal"}].map(s=>{const on=noteBrowserScope.has(s.id);return {const ns=new Set(noteBrowserScope);ns.has(s.id)?ns.delete(s.id):ns.add(s.id);if(ns.size>0)setNoteBrowserScope(ns)}} style={{flex:1,padding:"3px 4px",borderRadius:R.sm,border:`1px solid ${on?c.accentBtn+"40":c.borderLight}`,backgroundColor:on?c.accentBtn+"08":"transparent",cursor:"pointer",fontSize:9.5,fontWeight:on?600:400,color:on?c.accentBtn:c.textTer,fontFamily:font.sans,display:"flex",alignItems:"center",justifyContent:"center",gap:2}}>{s.id==="notes"?:s.id==="todo"?:}{s.label} })}
setNoteSearch(e.target.value)} placeholder={`Search ${[...noteBrowserScope].map(s=>s==="todo"?"to do":s).join(", ")}…`} style={{flex:1,border:"none",backgroundColor:"transparent",fontSize:10.5,fontFamily:font.sans,color:c.textPri,outline:"none"}}/>{noteSearch&&setNoteSearch("")} style={{padding:0,border:"none",cursor:"pointer",backgroundColor:"transparent",display:"flex",color:c.textTer}}> }
{e.stopPropagation();setNoteSortDrop(!noteSortDrop)}} style={{padding:"2px 5px",borderRadius:3,border:`1px solid ${c.borderLight}`,backgroundColor:"transparent",cursor:"pointer",fontSize:9,color:c.textTer,fontFamily:font.sans}}>{noteSort} ▾ {noteSortDrop&&
e.stopPropagation()} style={{position:"absolute",top:22,right:0,backgroundColor:c.bgCard,border:`1px solid ${c.border}`,borderRadius:R.sm,boxShadow:"0 4px 12px rgba(0,0,0,0.1)",zIndex:50,minWidth:100,padding:3}}>{["Modified","Alphabetical","Created"].map(s=>{setNoteSort(s);setNoteSortDrop(false)}} style={{display:"block",width:"100%",padding:"4px 8px",border:"none",cursor:"pointer",backgroundColor:s===noteSort?c.accentBtn+"08":"transparent",fontSize:10.5,color:s===noteSort?c.accentBtn:c.textPri,textAlign:"left",borderRadius:R.sm,fontFamily:font.sans,fontWeight:s===noteSort?600:400}}>{s} )}
}
Notes
{setNoteNewFolderMode({parent:null});setNoteNewFolderName("")}} style={{padding:"2px 6px",borderRadius:R.sm,border:`1px solid ${c.border}`,backgroundColor:"transparent",cursor:"pointer",fontSize:9.5,color:c.textTer,fontFamily:font.sans,display:"flex",alignItems:"center",gap:2}} title="New folder">+
flash("New note…")} style={{padding:"2px 6px",borderRadius:R.sm,border:`1px solid ${c.border}`,backgroundColor:"transparent",cursor:"pointer",fontSize:9.5,color:c.accentBtn,fontFamily:font.sans,display:"flex",alignItems:"center",gap:2}} title="New note">+
{/* Folder tree section */}
{noteNewFolderMode?.parent===null&&
setNoteNewFolderName(e.target.value)} placeholder="Folder name…" autoFocus onKeyDown={e=>{if(e.key==="Enter")createNoteFolder(null);if(e.key==="Escape")setNoteNewFolderMode(null)}} style={{flex:1,border:`1px solid ${c.accentBtn}40`,borderRadius:3,padding:"2px 6px",fontSize:11,fontFamily:font.sans,outline:"none",backgroundColor:c.bgCard}}/>
}
{renderNoteFolders(null,0)}
{const sY=e.clientY,sP=noteSplitterPos;const m=ev=>setNoteSplitterPos(Math.max(60,Math.min(300,sP+(ev.clientY-sY))));const u=()=>{document.removeEventListener("mousemove",m);document.removeEventListener("mouseup",u)};document.addEventListener("mousemove",m);document.addEventListener("mouseup",u)}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.accentBtn+"30"} onMouseLeave={e=>e.currentTarget.style.backgroundColor=c.borderLight}>
{/* All items — flat sortable list with type badges */}
All Items · {filteredNotes.length+fpTodoLists.length} {e.stopPropagation();setAllNotesSortDrop(!allNotesSortDrop)}}>{allNotesSort} ▾ {allNotesSortDrop&&
e.stopPropagation()} style={{position:"absolute",top:16,right:0,backgroundColor:c.bgCard,border:`1px solid ${c.border}`,borderRadius:R.sm,boxShadow:"0 4px 12px rgba(0,0,0,0.1)",zIndex:50,minWidth:100,padding:3}}>{["Modified","Alphabetical","Created"].map(s=>{setAllNotesSort(s);setAllNotesSortDrop(false)}} style={{display:"block",width:"100%",padding:"4px 8px",border:"none",cursor:"pointer",backgroundColor:s===allNotesSort?c.accentBtn+"08":"transparent",fontSize:10.5,color:s===allNotesSort?c.accentBtn:c.textPri,textAlign:"left",borderRadius:R.sm,fontFamily:font.sans,fontWeight:s===allNotesSort?600:400}}>{s} )}
}
{/* Notes */}
{noteBrowserScope.has("notes")&&filteredNotes.map(n=>
{setSelectedNote(n.id);flash(`Open "${n.title}"`)}} onContextMenu={e=>{e.preventDefault();setNoteContextMenu({x:e.clientX,y:e.clientY,noteId:n.id})}} style={{display:"flex",alignItems:"center",gap:4,padding:"4px 10px",height:30,borderBottom:`1px solid ${c.borderLight}`,cursor:"pointer",backgroundColor:selectedNote===n.id?c.accentBtn+"06":"transparent",borderLeft:selectedNote===n.id?`2px solid ${c.accentBtn}`:"2px solid transparent"}}>{n.pinned&&}{n.title} {n.comments>0&& {n.comments} }{n.mod}
)}
{/* To Do lists */}
{noteBrowserScope.has("todo")&&fpTodoLists.map(l=>
{openTab("todo",l.name,"todo");flash(`Open "${l.name}"`)}} style={{display:"flex",alignItems:"center",gap:4,padding:"4px 10px",height:30,borderBottom:`1px solid ${c.borderLight}`,cursor:"pointer"}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.bgInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>{l.name} {l.tasks.filter(t=>!t.done).length} open
)}
{/* Calendars */}
{noteBrowserScope.has("calendars")&&calViews.filter(v=>v!=="All").map(v=>
flash(`Open calendar: ${v}`)} style={{display:"flex",alignItems:"center",gap:4,padding:"4px 10px",height:30,borderBottom:`1px solid ${c.borderLight}`,cursor:"pointer"}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.bgInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>{v}
)}
{filteredNotes.length===0&&fpTodoLists.length===0&&
No items match
}
{notes.length} notes · {fpTodoLists.length} lists · {noteSort}
>}
{/* ─── BOOKMARKS MODE ─── (preserved from V7.3, compact) */}
{browserMode==="bookmarks"&&<>
Bookmarks flash("New folder…")} style={{padding:"2px 6px",borderRadius:R.sm,border:`1px solid ${c.border}`,backgroundColor:"transparent",cursor:"pointer",fontSize:9.5,color:c.accentBtn,fontFamily:font.sans}}>+ Folder
{bmFolders.filter(f=>f.parent===null).map(bf=>{const isExp=bmExpanded.has(bf.id);const filteredItems=bmSearch?bf.items.filter(i=>i.title.toLowerCase().includes(bmSearch.toLowerCase())):bf.items;
return
{const s=new Set(bmExpanded);s.has(bf.id)?s.delete(bf.id):s.add(bf.id);setBmExpanded(s)}} style={{display:"flex",alignItems:"center",gap:4,padding:"4px 8px",cursor:"pointer",borderBottom:`1px solid ${c.borderLight}`,backgroundColor:c.bgPanelAlt}}>{isExp?:}{bf.title} {bf.items.length}
{isExp&&filteredItems.map(item=>
flash(`Open ${item.url}`)} style={{display:"flex",alignItems:"center",gap:6,padding:"3px 8px 3px 24px",borderBottom:`1px solid ${c.borderLight}`,cursor:"pointer",fontSize:11}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.bgInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>{item.url[0].toUpperCase()} {item.title}
)}
})}
{const sY=e.clientY,sP=bmSplitterPos;const m=ev=>setBmSplitterPos(Math.max(60,Math.min(300,sP+(ev.clientY-sY))));const u=()=>{document.removeEventListener("mousemove",m);document.removeEventListener("mouseup",u)};document.addEventListener("mousemove",m);document.addEventListener("mouseup",u)}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.accentBtn+"30"} onMouseLeave={e=>e.currentTarget.style.backgroundColor=c.borderLight}>
Recent Pages
{[{title:"Paramount MIL No. 3",url:"ecf.cacd.uscourts.gov",color:"#2c3e50",time:"2h"},{title:"SEC — Brooge Energy",url:"sec.gov",color:"#1B4F72",time:"1d"}].map((p,i)=>
e.currentTarget.style.backgroundColor=c.bgInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>{p.url[0].toUpperCase()} {p.title} {p.time}
)}
{bmFolders.reduce((a,f)=>a+f.items.length,0)} bookmarks
>}
{const sX=e.clientX,sW=browserWidth;const m=ev=>setBrowserWidth(Math.max(200,Math.min(450,sW+(ev.clientX-sX))));const u=()=>{document.removeEventListener("mousemove",m);document.removeEventListener("mouseup",u)};document.addEventListener("mousemove",m);document.addEventListener("mouseup",u)}}/>
}
{/* ═══ MAIN WORKSPACE — V7.6: proper split, zoom fix, toolbar fixes ═══ */}
{/* ── PANE: LEFT (or only pane when not split) ── */}
setSplitFocus("left")}>
{/* TAB BAR — V7.6: no browser toggle (it's on left rail), split button on right */}
{(()=>{const rendered=new Set();return tabs.map(tab=>{if(rendered.has(tab.id))return null;if(tab.group){const group=tabGroups.find(g=>g.id===tab.group);if(!group||rendered.has(tabs.filter(t=>t.group===tab.group)[0]?.id)&&tabs.filter(t=>t.group===tab.group)[0]?.id!==tab.id)return null;const gTabs=tabs.filter(t=>t.group===tab.group);gTabs.forEach(t=>rendered.add(t.id));
return
setTabGroups(g=>g.map(x=>x.id===group.id?{...x,collapsed:!x.collapsed}:x))} onContextMenu={e=>{e.preventDefault();e.stopPropagation();setGroupCtx({x:e.clientX,y:e.clientY,gid:group.id})}} style={{display:"flex",alignItems:"center",gap:4,padding:"0 6px",height:32,cursor:"pointer",borderRadius:"8px 8px 0 0",backgroundColor:group.color+"30"}}>{group.label} ▾
{!group.collapsed&&gTabs.map(gt=>{const isActive=gt.id===activeTabId;return
setDragTabId(gt.id)} onDragOver={e=>e.preventDefault()} onDrop={()=>handleTabDrop(gt.id)} onClick={e=>{if(e.metaKey||e.ctrlKey){const s=new Set(selectedTabs);s.has(gt.id)?s.delete(gt.id):s.add(gt.id);setSelectedTabs(s)}else setActiveTabId(gt.id)}} onContextMenu={e=>{e.preventDefault();setTabContextMenu({x:e.clientX,y:e.clientY,tabId:gt.id})}} style={{display:"flex",alignItems:"center",gap:5,padding:"0 10px",height:32,minWidth:80,maxWidth:200,borderRadius:"8px 8px 0 0",backgroundColor:isActive?c.bgPanel:"#f0f2f4",borderTop:isActive?`2.5px solid ${group.color}`:`2.5px solid transparent`,borderLeft:isActive?`2.5px solid ${group.color}`:"none",borderRight:isActive?`2.5px solid ${group.color}`:"none",borderBottom:isActive?"2.5px solid transparent":`2.5px solid ${group.color}90`,cursor:"pointer",overflow:"hidden",flexShrink:1}}>{gt.title} {e.stopPropagation();closeTab(gt.id)}} style={{cursor:"pointer",display:"flex",opacity:isActive?1:0,padding:2,borderRadius:3,flexShrink:0}}>
})}
}
rendered.add(tab.id);const isTransient=tab.type==="utility"&&!tab.pinned;
return
setDragTabId(tab.id)} onDragOver={e=>e.preventDefault()} onDrop={()=>handleTabDrop(tab.id)} onClick={e=>{if(e.metaKey||e.ctrlKey){const s=new Set(selectedTabs);s.has(tab.id)?s.delete(tab.id):s.add(tab.id);setSelectedTabs(s)}else setActiveTabId(tab.id)}} onContextMenu={e=>{e.preventDefault();setTabContextMenu({x:e.clientX,y:e.clientY,tabId:tab.id})}} style={{display:"flex",alignItems:"center",gap:5,padding:"0 10px",height:32,minWidth:isTransient?60:80,maxWidth:200,borderRadius:"8px 8px 0 0",backgroundColor:tab.incognito?(tab.id===activeTabId?"#4a4a4a":"#555"):(tab.id===activeTabId?c.bgPanel:(selectedTabs.has(tab.id)?"#d0d5db":"#f0f2f4")),borderBottom:isTransient?(tab.id===activeTabId?`2.5px solid ${c.accentBtn}`:`1px solid ${c.accentBtn}50`):(tab.id===activeTabId?`2.5px solid ${tab.color}`:`1px solid ${c.border}`),cursor:"pointer",overflow:"hidden",flexShrink:1}}>
{tab.incognito&& }{!tab.incognito&& }
{tab.title}
{e.stopPropagation();closeTab(tab.id)}} style={{cursor:"pointer",display:"flex",opacity:tab.id===activeTabId?1:0,padding:2,borderRadius:3,flexShrink:0}}>
})})()}
{/* [+] new tab */}
{e.stopPropagation();setNewTabDrop(!newTabDrop)}} style={{width:28,height:28,borderRadius:"6px 6px 0 0",border:"none",backgroundColor:"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",color:c.textTer,marginBottom:2}}> {newTabDrop&&
e.stopPropagation()} style={{position:"absolute",top:30,right:0,backgroundColor:c.bgCard,border:`1px solid ${c.border}`,borderRadius:R.sm,boxShadow:"0 4px 16px rgba(0,0,0,0.12)",zIndex:100,minWidth:200,padding:4}}>
Create
addTab("note")}> New Note
addTab("todo")}> New To Do
{openTab("chat","New Chat","chat");setNewTabDrop(false)}}> New Chat
addTab("web")}> New Web Tab
addTab("web",true)}> Incognito Tab
Open
{[{l:"Chats",i:"chat"},{l:"Tasks",i:"list"},{l:"Projects",i:"folder"},{l:"Knowledge",i:"brain"},{l:"Agents",i:"user"},{l:"Settings",i:"settings"}].map(p=>
{openTab("utility",p.l,p.i);setNewTabDrop(false)}}>{p.i} {p.l} )}
}
{/* Split toggle — V7.6: on right of tab bar */}
{if(!splitMode){setSplitMode(true);setSplitTabs([{id:"st1",type:"doc",icon:"doc",title:"Christensen_CV.pdf",color:tabColors.doc}]);setSplitActiveTabId("st1")}else{setSplitMode(false);setSplitTabs([])}}} title="Split view" style={{width:28,height:28,borderRadius:R.sm,border:`1px solid ${splitMode?c.accentBtn+"40":c.borderLight}`,backgroundColor:splitMode?c.accentBtn+"08":"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",color:splitMode?c.accentBtn:c.textTer,marginBottom:2,flexShrink:0}}>
{/* Tab context menu */}
{tabContextMenu&&
e.stopPropagation()} style={{position:"fixed",left:tabContextMenu.x,top:tabContextMenu.y,backgroundColor:c.bgCard,border:`1px solid ${c.border}`,borderRadius:R.sm,boxShadow:"0 4px 16px rgba(0,0,0,0.15)",zIndex:9999,minWidth:190,padding:4}}>
{closeTab(tabContextMenu.tabId);setTabContextMenu(null)}}>Close {setTabs(p=>p.filter(t=>t.id===tabContextMenu.tabId));setTabContextMenu(null)}}>Close Others {flash("Duplicated");setTabContextMenu(null)}}>Duplicate {flash("Pinned");setTabContextMenu(null)}}>Pin
{tabs.find(t=>t.id===tabContextMenu.tabId)?.type==="note"&&
{const n=prompt("New name:");if(n)setTabs(p=>p.map(t=>t.id===tabContextMenu.tabId?{...t,title:n}:t));setTabContextMenu(null)}}>Rename }
{selectedTabs.size>0?
{const gid="g"+Date.now();const nm=prompt("Group name:")||"Group";setTabGroups(p=>[...p,{id:gid,label:nm,color:groupColors[p.length%groupColors.length],collapsed:false}]);setTabs(p=>p.map(t=>selectedTabs.has(t.id)||t.id===tabContextMenu.tabId?{...t,group:gid}:t));setSelectedTabs(new Set());setTabContextMenu(null);flash("Grouped")}}>Group Selected Tabs…
:
{const gid="g"+Date.now();const nm=prompt("Group name:")||"Group";setTabGroups(p=>[...p,{id:gid,label:nm,color:groupColors[p.length%groupColors.length],collapsed:false}]);setTabs(p=>p.map(t=>t.id===tabContextMenu.tabId?{...t,group:gid}:t));setTabContextMenu(null);flash("Grouped")}}>Group Tab… }
{tabGroups.length>0&&tabGroups.map(g=>
{setTabs(p=>p.map(t=>t.id===tabContextMenu.tabId?{...t,group:g.id}:t));setTabContextMenu(null)}}> Add to {g.label} )}
{tabs.find(t=>t.id===tabContextMenu.tabId)?.group&&
{setTabs(p=>p.map(t=>t.id===tabContextMenu.tabId?{...t,group:undefined}:t));setTabContextMenu(null)}}>Remove from Group }
}
{groupCtx&&
e.stopPropagation()} style={{position:"fixed",left:groupCtx.x,top:groupCtx.y,backgroundColor:c.bgCard,border:`1px solid ${c.border}`,borderRadius:R.sm,boxShadow:"0 4px 16px rgba(0,0,0,0.15)",zIndex:9999,minWidth:160,padding:4}}>
{const n=prompt("Group name:");if(n)setTabGroups(p=>p.map(g=>g.id===groupCtx.gid?{...g,label:n}:g));setGroupCtx(null)}}>Rename
{setGroupCtx(null);flash("Color picker…")}}>Change Color
{setTabs(p=>p.map(t=>t.group===groupCtx.gid?{...t,group:undefined}:t));setTabGroups(p=>p.filter(g=>g.id!==groupCtx.gid));setGroupCtx(null);flash("Ungrouped")}}>Ungroup All
{setTabs(p=>p.filter(t=>t.group!==groupCtx.gid));setTabGroups(p=>p.filter(g=>g.id!==groupCtx.gid));setGroupCtx(null);flash("Group closed")}}>Close Group
}
{/* TOOLBAR + CONTENT + RIGHT PANEL wrapper */}
{/* NOTE TOOLBAR — restored from V7.3, "Ask Elnor" → "Ask" */}
{isNoteType&&
Paragraph H1 H2
B}/>I}/>U}/>
}/>}/>
} title="Copy" onClick={()=>flash("Copied")}/>
} label="Save As…" dropdown onClick={e=>{e.stopPropagation();setOpenDrop(openDrop==="save"?null:"save")}}/>{openDrop==="save"&&e.stopPropagation()} style={{position:"absolute",top:28,left:0,backgroundColor:c.bgCard,border:`1px solid ${c.border}`,borderRadius:R.sm,boxShadow:"0 8px 24px rgba(0,0,0,0.12)",zIndex:999,minWidth:180,padding:4}}>
{flash("Export MD");setOpenDrop(null)}}>Export as Markdown {flash("Export DOCX");setOpenDrop(null)}}>Export as DOCX {flash("Export PDF");setOpenDrop(null)}}>Export as PDF
{flash("Save as Prompt");setOpenDrop(null)}}>Save as Prompt }
} label="Ref" onClick={()=>flash("Ref copied")}/>
} dropdown active={pickerOpen} onClick={e=>{e.stopPropagation();setPickerOpen(!pickerOpen);setPickerStep("choose")}}/>
{pickerOpen&&e.stopPropagation()} style={{position:"absolute",top:30,left:0,backgroundColor:c.bgCard,border:`1px solid ${c.border}`,borderRadius:R.sm,boxShadow:"0 8px 28px rgba(0,0,0,0.15)",zIndex:999,width:pickerStep==="choose"?220:(pickerStep==="feed_custom"?380:340),padding:0,overflow:"hidden"}}>
{pickerStep==="choose"&&
Insert Module
insertBlock("note")}>Note Block
Movable note section
insertBlock("todo")}> flash("Link existing To Do list…")}>Link Existing To Do
Embed a shared list
{setPickerStep("feed_presets");setPickerTab("system")}}>Activity Feed
Live updates, agent summaries
insertBlock("thread")}>@{agent.name} Thread
Inline conversation
insertBlock("bar")}>Notice Bar
Alert, reminder, status
insertBlock("calendar")}>Calendar
Agent-managed calendar view
}
{pickerStep==="feed_presets"&&
setPickerStep("choose")} style={{border:"none",background:"none",cursor:"pointer",display:"flex",color:c.textTer}}> Choose Feed Preset
{[{id:"system",l:"System"},{id:"agent",l:"Agent"},{id:"custom",l:"My Presets"}].map(tab=>setPickerTab(tab.id)} style={{flex:1,padding:"8px 4px",border:"none",cursor:"pointer",fontFamily:font.sans,fontSize:10.5,fontWeight:pickerTab===tab.id?650:400,color:pickerTab===tab.id?c.accentBtn:c.textTer,backgroundColor:"transparent",borderBottom:pickerTab===tab.id?`2px solid ${c.accentBtn}`:"2px solid transparent"}}>{tab.l} )}
{feedPresets.filter(p=>pickerTab==="custom"?false:p.category===pickerTab).map(p=>
insertBlock("feed",p)} style={{display:"flex",alignItems:"center",gap:10,padding:"8px 10px",borderRadius:R.sm,cursor:"pointer",marginBottom:2}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.bgInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>
{feedIcons[p.icon]}
)}{pickerTab==="custom"&&
No custom presets yet
}
}
}
} active={findBar} onClick={()=>setFindBar(!findBar)}/>}/>
} label={`${openC.length}`} active={rightOpen&&rightTab==="comments"} onClick={()=>{if(rightOpen&&rightTab==="comments")setRightOpen(false);else{setRightOpen(true);setRightTab("comments")}}}/>
{pendingChanges.length>0&&<>} label={showMarkup?"Track":"Clean"} active={showMarkup} onClick={()=>setShowMarkup(!showMarkup)}/>} label={`${pendingChanges.length}`} dropdown active onClick={e=>{e.stopPropagation();setOpenDrop(openDrop==="review"?null:"review")}}/>{openDrop==="review"&&e.stopPropagation()} style={{position:"absolute",top:28,right:0,backgroundColor:c.bgCard,border:`1px solid ${c.border}`,borderRadius:R.sm,boxShadow:"0 8px 24px rgba(0,0,0,0.12)",zIndex:999,minWidth:160,padding:4}}>{setChanges(p=>p.map(x=>x.status==="pending"?{...x,status:"accepted"}:x));flash("All accepted");setOpenDrop(null)}}>✓ Accept All ({pendingChanges.length}) {setChanges(p=>p.map(x=>x.status==="pending"?{...x,status:"rejected"}:x));flash("All rejected");setOpenDrop(null)}}>✗ Reject All ({pendingChanges.length})
} >}
} title="Note settings" dropdown active={openDrop==="settings"} onClick={e=>{e.stopPropagation();setOpenDrop(openDrop==="settings"?null:"settings")}}/>{openDrop==="settings"&&e.stopPropagation()} style={{position:"absolute",top:28,right:0,backgroundColor:c.bgCard,border:`1px solid ${c.border}`,borderRadius:R.sm,boxShadow:"0 8px 24px rgba(0,0,0,0.12)",zIndex:999,minWidth:220,padding:6}}>
Note Settings
{[{label:"Auto-save",val:"On",toggle:true},{label:"Spell check",val:"On",toggle:true},{label:"Show word count",val:"Off",toggle:true}].map((s,i)=>
e.currentTarget.style.backgroundColor=c.bgInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>{s.label} flash(`${s.label} toggled`)}>{s.val}
)}
Default agent: {agent.name}
Template: flash("Configure template…")}>Today Note
{flash("All settings…");setOpenDrop(null)}}>All note settings…
}
{if(rightOpen&&rightTab==="send")setRightOpen(false);else{setRightOpen(true);setRightTab("send")}}} style={{padding:"3px 10px",borderRadius:R.sm,border:`1px solid ${(activeTab.type==="clips"?c.purple:c.accentBtn)}40`,backgroundColor:(rightOpen&&rightTab==="send")?(activeTab.type==="clips"?c.purple:c.accentBtn):(activeTab.type==="clips"?c.purple:c.accentBtn)+"08",cursor:"pointer",display:"flex",alignItems:"center",gap:4,color:(rightOpen&&rightTab==="send")?"#fff":(activeTab.type==="clips"?c.purple:c.accentBtn),fontFamily:font.sans,fontSize:10.5,fontWeight:600,height:26}}>Ask
}
{/* DOC TOOLBAR — V7.6: single line, no Markup on viewer, version dropdown */}
{activeTab.type==="doc"&&<>
flash("Opening in Preview.app…")} onContextMenu={e=>{e.preventDefault();e.stopPropagation();setDocTitleMenu({x:e.clientX,y:e.clientY})}} style={{fontSize:13,fontWeight:650,cursor:"pointer",maxWidth:200,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flexShrink:1}} title="Sanli Expert Report.pdf — ~/OneDrive-schallfirm/Paramount/Expert_Reports/">Sanli Expert Report
PDF
} title="Copy" onClick={()=>flash("Copied")}/>
} label="Save As" dropdown active={openDrop==="save"} onClick={e=>{e.stopPropagation();setOpenDrop(openDrop==="save"?null:"save")}}/>{openDrop==="save"&&e.stopPropagation()} style={{position:"absolute",top:28,left:0,backgroundColor:c.bgCard,border:`1px solid ${c.border}`,borderRadius:R.sm,boxShadow:"0 8px 24px rgba(0,0,0,0.12)",zIndex:999,minWidth:180,padding:4}}>
{flash("Save PDF");setOpenDrop(null)}}>Save As… (PDF) {flash("Export DOCX");setOpenDrop(null)}}>Export as DOCX {flash("Export MD");setOpenDrop(null)}}>Export as Markdown
{flash("Save as Prompt");setOpenDrop(null)}}>Save as Prompt }
} label="To Note" onClick={()=>flash("Converting…")}/>} label="Ref" onClick={()=>flash("Ref copied")}/>
} onClick={()=>setFindBar(!findBar)}/>} title="Open in default app" onClick={()=>flash("Opening in Preview.app…")}/>} onClick={()=>flash("Print…")}/>} active={pinned} onClick={()=>{setPinned(!pinned);flash(pinned?"Unpinned":"Pinned")}}/>
} label={openC.length+""} active={rightOpen&&rightTab==="comments"} onClick={()=>{if(rightOpen&&rightTab==="comments")setRightOpen(false);else{setRightOpen(true);setRightTab("comments")}}}/>
{e.stopPropagation();setOpenDrop(openDrop==="ver"?null:"ver")}}/>{openDrop==="ver"&&e.stopPropagation()} style={{position:"absolute",top:28,right:0,backgroundColor:c.bgCard,border:`1px solid ${c.border}`,borderRadius:R.sm,boxShadow:"0 8px 24px rgba(0,0,0,0.12)",zIndex:999,minWidth:120,padding:4}}>setOpenDrop(null)}>v2 (current) {flash("Loading v1…");setOpenDrop(null)}}>v1
}
{if(rightOpen&&rightTab==="send")setRightOpen(false);else{setRightOpen(true);setRightTab("send")}}} style={{padding:"3px 10px",borderRadius:R.sm,border:`1px solid ${c.accentBtn}40`,backgroundColor:(rightOpen&&rightTab==="send")?c.accentBtn:c.accentBtn+"08",cursor:"pointer",display:"flex",alignItems:"center",gap:4,color:(rightOpen&&rightTab==="send")?"#fff":c.accentBtn,fontFamily:font.sans,fontSize:10.5,fontWeight:600,height:26}}>Ask
{docTitleMenu&&e.stopPropagation()} style={{position:"fixed",left:docTitleMenu.x,top:docTitleMenu.y,backgroundColor:c.bgCard,border:`1px solid ${c.border}`,borderRadius:R.sm,boxShadow:"0 4px 16px rgba(0,0,0,0.15)",zIndex:9999,minWidth:200,padding:4}}>
{flash("Showing in Finder…");setDocTitleMenu(null)}}>Show in Finder
{flash("Opening in Preview.app…");setDocTitleMenu(null)}}>Open in Default App
{flash("Ref copied: doc:sanli_expert_report:v2");setDocTitleMenu(null)}}>Copy Ref
{flash("Path copied");setDocTitleMenu(null)}}>Copy Path
{flash("Name copied");setDocTitleMenu(null)}}>Copy File Name
}>}
{/* WEB TOOLBAR + BOOKMARKS BAR */}
{activeTab.type==="web"&&<>{activeTab.incognito?:}
{setBookmarked(!bookmarked);flash(bookmarked?"Removed":"Bookmarked")}} style={{width:28,height:28,borderRadius:R.sm,border:"none",cursor:"pointer",backgroundColor:"transparent",display:"flex",alignItems:"center",justifyContent:"center"}}> } active={readerMode} onClick={()=>{setReaderMode(!readerMode);flash(readerMode?"Page view":"Reader mode")}}/>} label="Save"/>} label="Clip" onClick={()=>{setClipsCount(n=>n+1);flash("Clipped")}}/>} label={openC.length+""}/>}/>{if(rightOpen&&rightTab==="send")setRightOpen(false);else{setRightOpen(true);setRightTab("send")}}} style={{padding:"3px 10px",borderRadius:R.sm,border:`1px solid ${c.accentBtn}40`,backgroundColor:(rightOpen&&rightTab==="send")?c.accentBtn:c.accentBtn+"08",cursor:"pointer",display:"flex",alignItems:"center",gap:4,color:(rightOpen&&rightTab==="send")?"#fff":c.accentBtn,fontFamily:font.sans,fontSize:10.5,fontWeight:600,height:26}}>Ask
{bmBarVisible&&bmBar&&{bmBar.items.map(bm=>flash(`Navigate to ${bm.url}`)} style={{display:"flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:R.sm,border:"none",backgroundColor:"transparent",cursor:"pointer",fontSize:10.5,color:c.textSec,fontFamily:font.sans,whiteSpace:"nowrap",flexShrink:0}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.bgInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>{bm.url[0].toUpperCase()} {bm.title} )}flash("Edit bookmarks bar…")}>⋯
}
>}
{findBar&&0/0 setFindBar(false)} style={{padding:2,border:"none",cursor:"pointer",backgroundColor:"transparent",display:"flex",color:c.textTer}}>
}
{/* ── CONTENT — V7.6: zoom only on content body, not toolbar ── */}
{/* NOTE */}
{activeTab.type==="note"&&
Paramount · Pinned
{noteSegs.map((seg)=>{if(seg.t==="h2")return
{seg.v} ;return
{renderText(seg)}
})}
{blocks.map((b)=>
)}
}
{/* DOC */}
{activeTab.type==="doc"&&
Expert Report of Dr. Mehmet Sanli I. Summary Plaintiff's claimed damages of $4.2M are speculative. Actual damages: ~$380,000.
Using a willing buyer-willing seller framework with 18% discount rate.
TABLE 1
Category Paramount Sanli Lost signage $2,840,000 $210,000 Permit value $980,000 $120,000 Total $4,200,000 $380,000
}
{/* WEB */}
{activeTab.type==="web"&&
United States District Court — CACD
PARAMOUNT CONTRACTORS v. CITY OF LOS ANGELES
Case No. BC587659 | Filed: March 15, 2026
MOTION IN LIMINE NO. 3 Dr. Sanli's methodology: (1) improper framework; (2) ignoring City valuations; (3) discount rate of 18% unsupported.
II. LEGAL STANDARD Under Sargon , trial court is "gatekeeper." 55 Cal.4th at 770.
}
{/* CLIPS */}
{activeTab.type==="clips"&&
Clips: 4.4-1
Session Active {[{src:"Sanli Report.pdf",text:"Actual damages approximately $380,000 using 18% discount rate.",time:"12:34 PM"},{src:"PACER — MIL No. 3",text:"Discount rate of 18% unsupported by comparable data.",time:"12:41 PM"}].map((clip,i)=>
{clip.src} {clip.time}
{clip.text}
)}
{blocks.map(b=>renderBlock(b))}
}
{/* CHAT */}
{activeTab.type==="chat"&&
{activeTab.title}
{[{author:"You",body:"Analyze Sanli's discount rate methodology.",time:"1h ago"},{author:agent.name,body:"Dr. Sanli uses an 18% discount rate but cites no comparables. Three signage transactions show 8-12%. Strong Sargon argument.",time:"55m ago"}].map((msg,i)=>
{msg.author} {msg.time}
{msg.body}
)}
Send
}
{/* UTILITY */}
{/* V7.9.1: To Do standalone tab — uses renderBlock for shared rendering */}
{activeTab.type==="todo"&&
To Do
{/* List selector — same pool as palette */}
setTabTodoListDrop(!tabTodoListDrop)} style={{display:"flex",alignItems:"center",gap:4,padding:"4px 10px",borderRadius:R.sm,border:`1px solid ${c.border}`,backgroundColor:c.bgCard,cursor:"pointer",fontSize:12,fontFamily:font.sans,fontWeight:500,color:c.textSec}}>
{(fpTodoLists.find(l=>l.id===tabTodoListId)||fpTodoLists[0]).name}
{tabTodoListDrop&&
{fpTodoLists.map(l=>
{setTabTodoListId(l.id);setTabTodoListDrop(false)}} style={{padding:"6px 10px",fontSize:12,cursor:"pointer",borderRadius:R.sm,fontWeight:tabTodoListId===l.id?600:400,color:tabTodoListId===l.id?c.accentBtn:c.textPri,backgroundColor:tabTodoListId===l.id?c.accentBtn+"08":"transparent",display:"flex",alignItems:"center",gap:6}} onMouseEnter={e=>{if(tabTodoListId!==l.id)e.currentTarget.style.backgroundColor=c.bgInput}} onMouseLeave={e=>{e.currentTarget.style.backgroundColor=tabTodoListId===l.id?c.accentBtn+"08":"transparent"}}>
{l.name}
{l.tasks.filter(t=>!t.done).length}
)}
{flash("Create new To Do list…");setTabTodoListDrop(false)}} style={{display:"flex",alignItems:"center",gap:4,padding:"4px 6px",cursor:"pointer",fontSize:11,color:c.accentBtn,fontWeight:500}}>New list
{setBrowserMode("notes");setBrowserOpen(true);setNoteBrowserScope(new Set(["todo"]));setTabTodoListDrop(false);flash("Select a list from browser")}} style={{display:"flex",alignItems:"center",gap:4,padding:"4px 6px",cursor:"pointer",fontSize:11,color:c.textSec,fontWeight:500}}>Browse all…
}
flash("Pop out to palette")} style={{display:"flex",alignItems:"center",gap:4,padding:"4px 10px",borderRadius:R.sm,border:`1px solid ${c.border}`,backgroundColor:"transparent",cursor:"pointer",fontSize:11,color:c.textSec,fontFamily:font.sans}}>Pop Out
flash("Ask about this list")} style={{display:"flex",alignItems:"center",gap:4,padding:"4px 10px",borderRadius:R.sm,border:`1px solid ${c.accentBtn}40`,backgroundColor:c.accentBtn+"08",cursor:"pointer",fontSize:11,color:c.accentBtn,fontFamily:font.sans,fontWeight:500}}>Ask
{/* Render using renderBlock with synthetic block from shared pool */}
{(()=>{const list=fpTodoLists.find(l=>l.id===tabTodoListId)||fpTodoLists[0];return renderBlock({id:"tab-todo",type:"todo",title:list.name,collapsed:false,tasks:list.tasks,linkedListId:list.id})})()}
}
{activeTab.type==="utility"&&
{({bell:
,settings:,keyboard:,tasks:,projects:,knowledge:,forums:,agents:,skills:,overlays:,buckets:})[activeTab.icon]||}{activeTab.title}
{activeTab.title==="Chats"?
{recentConvos.map(cv=>
openTab("chat",cv.name,"chat")} style={{display:"flex",alignItems:"center",gap:10,padding:"10px 12px",borderRadius:R.sm,border:`1px solid ${c.borderLight}`,marginBottom:6,cursor:"pointer"}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.bgInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>
{cv.time} )}
:
{activeTab.title} page content. Transient — auto-closes on tab switch.
}
}
{/* Bubble menu */}
{bubbleMenu&&
{setNewCm({text:bubbleMenu.text});setBubbleMenu(null);setRightOpen(true);setRightTab("comments")}} 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}}>Ask {activeTab.type==="web"&&<>
{flash("Summarize…");dismissBubble()}} style={{padding:"5px 8px",borderRadius:R.sm,border:"none",cursor:"pointer",backgroundColor:"transparent",color:c.textSec,fontSize:11,fontFamily:font.sans}}>Summarize {setClipsCount(n=>n+1);flash("Clipped");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}}>Clip >}{isNoteType&&["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}}>{a} )}
}
{/* RIGHT PANEL (Ask/Comments) — attached to left pane */}
{rightOpen&&
{const sX=e.clientX,sW=rightWidth;const m=ev=>setRightWidth(Math.max(240,Math.min(450,sW-(ev.clientX-sX))));const u=()=>{document.removeEventListener("mousemove",m);document.removeEventListener("mouseup",u)};document.addEventListener("mousemove",m);document.addEventListener("mouseup",u)}}/>
{activeTab.type!=="utility"&&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 ({openC.length}) }
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}}>Ask
setRightOpen(false)} style={{width:26,border:"none",cursor:"pointer",backgroundColor:"transparent",display:"flex",alignItems:"center",justifyContent:"center",color:c.textTer}}>
{rightTab==="comments"&&
{openC.map(cm=>
)}{resolvedC.map(cm=>)}setNewCm({text:""})} style={{display:"flex",alignItems:"center",gap:5,padding:"7px 9px",borderRadius:R.sm,border:`1px solid ${c.border}`,backgroundColor:c.bgCard,cursor:"text"}}>Add comment…
}
{rightTab==="send"&&<>
{!askConfigCollapsed&&<>
{activeTab.title}
{e.stopPropagation();setAgentDrop(!agentDrop)}} style={{display:"flex",alignItems:"center",gap:4,padding:"5px 8px",borderRadius:R.sm,border:`1px solid ${c.border}`,backgroundColor:c.bgCard,cursor:"pointer",fontSize:11}}>{agent.letter} {agent.name}
{agentDrop&&
{agents.map((a,i)=>{setAgentIdx(i);setAgentDrop(false)}}>{a.letter} {a.name} )}
}
{e.stopPropagation();setAskChatDrop(!askChatDrop)}} style={{display:"flex",alignItems:"center",gap:4,padding:"5px 8px",borderRadius:R.sm,border:`1px solid ${c.border}`,backgroundColor:c.bgCard,cursor:"pointer",fontSize:11}}>● {askSendIn==="inline"?"Inline":askSendIn==="new"?"New chat":recentConvos[askChatIdx]?.name||"Chat"}
{askChatDrop&&
{setAskSendIn("inline");setAskChatDrop(false)}}>● Inline
{setAskSendIn("new");setAskChatDrop(false)}}>+ New chat
Recent
{recentConvos.slice(0,6).map((cv,i)=>
{setAskSendIn("existing");setAskChatIdx(i);setAskChatDrop(false)}}>{cv.name} )}
}
Send with
setAskScope("doc_only")}/>setAskScope("all_comments")}/>setAskScope("select")}/>
setAskIncludeClips(!askIncludeClips)} style={{accentColor:c.accentBtn,width:11,height:11}}/>Include session clips
setAskConfigCollapsed(true)} style={{fontSize:9,color:c.textTer,border:"none",backgroundColor:"transparent",cursor:"pointer",padding:0}}>▲ Collapse
>}
{askConfigCollapsed&&
setAskConfigCollapsed(false)} style={{padding:"4px 8px",borderRadius:R.sm,backgroundColor:c.bgInput,fontSize:10,color:c.textTer,marginBottom:8,cursor:"pointer"}}> {activeTab.title} → {agent.name} ▼
}
{/* Separator */}
{/* Instruction + attach */}
flash("Attach file…")} style={{display:"flex",alignItems:"center",gap:4,padding:"4px 8px",borderRadius:R.sm,border:`1px solid ${c.border}`,backgroundColor:"transparent",cursor:"pointer",fontSize:10.5,color:c.textSec,fontFamily:font.sans}}>Attach Drag files or click
{/* Inline response + follow-up chat */}
{agentResponse&&
{/* Follow-up input — stays open for continued conversation */}
setAskInstruction(e.target.value)} placeholder="Follow up…" style={{flex:1,padding:"6px 8px",borderRadius:R.sm,border:`1px solid ${c.border}`,fontSize:11.5,fontFamily:font.sans,outline:"none"}}/>{flash(`${agent.name}: responding…`);setAskInstruction("")}} style={{padding:"4px 8px",borderRadius:R.sm,border:"none",backgroundColor:c.accentBtn,color:"#fff",cursor:"pointer",fontSize:11,fontFamily:font.sans}}>
{openTab("chat",`${activeTab.title} follow-up`,"chat");setAgentResponse(null)}} style={{fontSize:10,color:c.accentBtn,cursor:"pointer",fontWeight:500}}>Continue in full chat →
}
{askSendIn==="inline"?`Ask ${agent.name}`:"Open in Chat"}setRightOpen(false)}>Cancel
>}
}
{/* V7.6: STATUS BAR for left pane — zoom only, no toolbar zoom */}
{Math.floor(sessionMinutes/60)}h {sessionMinutes%60}m
· {clipsCount} clips
· {tabs.length} tabs
{isNoteType&&<>
· Saved 2m ago >}
flash("New session")}>New Session
·
setZoomLevel(z=>Math.max(50,z-10))} style={{border:"none",backgroundColor:"transparent",cursor:"pointer",color:c.textTer,padding:0,display:"flex"}}>
setZoomLevel(Number(e.target.value))} style={{width:70,height:3,accentColor:c.accentBtn,cursor:"pointer"}}/>
setZoomLevel(z=>Math.min(200,z+10))} style={{border:"none",backgroundColor:"transparent",cursor:"pointer",color:c.textTer,padding:0,display:"flex"}}>
setZoomLevel(100)}>{zoomLevel}%
{/* ── PANE: RIGHT (only when split) ── */}
{splitMode&&<>
{e.preventDefault();const startX=e.clientX;const startW=splitWidth;const container=e.currentTarget.parentElement;const totalW=container?.clientWidth||1000;const m=ev=>{const delta=ev.clientX-startX;const pct=Math.max(20,Math.min(80,startW-delta/totalW*100));setSplitWidth(pct)};const u=()=>{document.removeEventListener("mousemove",m);document.removeEventListener("mouseup",u)};document.addEventListener("mousemove",m);document.addEventListener("mouseup",u)}} title="Drag to resize">
setSplitFocus("right")}>
{/* Right pane tab bar — same level as left */}
{splitTabs.map(st=>
setSplitActiveTabId(st.id)} style={{display:"flex",alignItems:"center",gap:5,padding:"0 10px",height:32,minWidth:80,maxWidth:200,borderRadius:"8px 8px 0 0",backgroundColor:st.id===splitActiveTabId?c.bgPanel:"#f0f2f4",borderBottom:st.id===splitActiveTabId?`2.5px solid ${st.color}`:`1px solid ${c.border}`,cursor:"pointer",overflow:"hidden",flexShrink:1}}>{st.title} {e.stopPropagation();setSplitTabs(p=>p.filter(t=>t.id!==st.id));if(splitTabs.length<=1){setSplitMode(false)}}} style={{cursor:"pointer",display:"flex",opacity:st.id===splitActiveTabId?1:0,padding:2}}>
)}
{e.stopPropagation();setSplitNewTabDrop(!splitNewTabDrop)}} style={{width:28,height:28,borderRadius:"6px 6px 0 0",border:"none",backgroundColor:"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",color:c.textTer,marginBottom:2}}> {splitNewTabDrop&&
e.stopPropagation()} style={{position:"absolute",top:30,left:0,backgroundColor:c.bgCard,border:`1px solid ${c.border}`,borderRadius:R.sm,boxShadow:"0 4px 16px rgba(0,0,0,0.12)",zIndex:100,minWidth:200,padding:4}}>
Create
{const id="st"+Date.now();setSplitTabs(p=>[...p,{id,type:"note",icon:"note",title:"Untitled Note",color:tabColors.note}]);setSplitActiveTabId(id);setSplitNewTabDrop(false)}}> New Note
{const id="st"+Date.now();setSplitTabs(p=>[...p,{id,type:"todo",icon:"todo",title:"New To Do",color:tabColors.todo}]);setSplitActiveTabId(id);setSplitNewTabDrop(false)}}> New To Do
{const id="st"+Date.now();setSplitTabs(p=>[...p,{id,type:"chat",icon:"chat",title:"New Chat",color:tabColors.chat}]);setSplitActiveTabId(id);setSplitNewTabDrop(false)}}> New Chat
{const id="st"+Date.now();setSplitTabs(p=>[...p,{id,type:"web",icon:"web",title:"New Tab",color:tabColors.web}]);setSplitActiveTabId(id);setSplitNewTabDrop(false)}}> New Web Tab
{const id="st"+Date.now();setSplitTabs(p=>[...p,{id,type:"doc",icon:"doc",title:"Open Document…",color:tabColors.doc}]);setSplitActiveTabId(id);setSplitNewTabDrop(false)}}> Open Document
}
{setTabs(p=>[...p,...splitTabs]);setSplitMode(false);setSplitTabs([]);flash("Split closed — tabs merged")}} title="Close split" style={{width:24,height:24,borderRadius:R.sm,border:"none",backgroundColor:"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",color:c.textTer,marginBottom:4}}>
{/* Right pane toolbar — full doc toolbar */}
Christensen_CV.pdf
PDF
} title="Copy" onClick={()=>flash("Copied")}/>
} label="Save As" dropdown onClick={()=>flash("Save As…")}/>
} label="To Note" onClick={()=>flash("To Note")}/>
} label="Ref" onClick={()=>flash("Ref copied")}/>
}/>
} onClick={()=>flash("Open external")}/>
} onClick={()=>flash("Print")}/>
}/>
} label="0" active={splitRightOpen&&splitRightTab==="comments"} onClick={()=>{if(splitRightOpen&&splitRightTab==="comments")setSplitRightOpen(false);else{setSplitRightOpen(true);setSplitRightTab("comments")}}}/>
} label="v1" dropdown onClick={()=>flash("Version history")}/>
{if(splitRightOpen&&splitRightTab==="send")setSplitRightOpen(false);else{setSplitRightOpen(true);setSplitRightTab("send")}}} style={{padding:"3px 10px",borderRadius:R.sm,border:`1px solid ${c.accentBtn}40`,backgroundColor:(splitRightOpen&&splitRightTab==="send")?c.accentBtn:c.accentBtn+"08",cursor:"pointer",display:"flex",alignItems:"center",gap:4,color:(splitRightOpen&&splitRightTab==="send")?"#fff":c.accentBtn,fontFamily:font.sans,fontSize:10.5,fontWeight:600,height:26}}>Ask
{/* Right pane content + panel wrapper */}
Danny Christensen, P.E.
Qualifications
Licensed Professional Engineer, California #C-84521.
25 years of experience in signage valuation and permit economics.
Methodology
Income approach using comparable signage-rights transactions with discount rates of 8-12%.
Opinion
Fair market value of Paramount's signage rights: $3,640,000.
{/* Right pane's own Ask/Comments panel */}
{splitRightOpen&&
setSplitRightTab("comments")} style={{flex:1,padding:"7px 0",border:"none",cursor:"pointer",backgroundColor:splitRightTab==="comments"?c.bgPanelAlt:c.bgInput,color:splitRightTab==="comments"?c.accentBtn:c.textTer,fontSize:10.5,fontWeight:splitRightTab==="comments"?650:450,fontFamily:font.sans,borderBottom:splitRightTab==="comments"?`2px solid ${c.accentBtn}`:"2px solid transparent",display:"flex",alignItems:"center",justifyContent:"center",gap:3}}>Comments
setSplitRightTab("send")} style={{flex:1,padding:"7px 0",border:"none",cursor:"pointer",backgroundColor:splitRightTab==="send"?c.bgPanel:c.bgInput,color:splitRightTab==="send"?c.accentBtn:c.textTer,fontSize:10.5,fontWeight:splitRightTab==="send"?650:450,fontFamily:font.sans,borderBottom:splitRightTab==="send"?`2px solid ${c.accentBtn}`:"2px solid transparent",display:"flex",alignItems:"center",justifyContent:"center",gap:3}}>Ask
setSplitRightOpen(false)} style={{width:26,border:"none",cursor:"pointer",backgroundColor:"transparent",display:"flex",alignItems:"center",justifyContent:"center",color:c.textTer}}>
{splitRightTab==="comments"&&
No comments on this document yet.
flash("Add comment")} style={{display:"flex",alignItems:"center",gap:5,padding:"7px 9px",borderRadius:R.sm,border:`1px solid ${c.border}`,backgroundColor:c.bgCard,cursor:"text"}}>Add comment…
}
{splitRightTab==="send"&&
Christensen_CV.pdf
flash("Sent to "+agent.name)} style={{width:"100%",justifyContent:"center"}}> Ask
}
}
{/* Right pane status bar with independent zoom */}
>}
{/* ═══ RIGHT CHAT COLUMN (placeholder — will be replaced with Will's separate mockup) ═══ */}
{chatColumnOpen&&
Chat
setChatColumnOpen(false)} style={{border:"none",background:"none",cursor:"pointer",display:"flex",color:c.textTer}}>
Paramount damages
{[{from:"You",text:"What's the strongest argument against Sanli's 18% rate?",time:"2m"},{from:agent.name,text:"The lack of comparable transaction support. Three signage-rights deals averaged 8-12%. His rate is an unsupported outlier.",time:"1m"}].map((m,i)=>
)}
}
{/* ═══ FLOATING COMMAND PALETTE — V7.6.7: all item 14 fixes ═══ */}
{fpOpen&&
{/* 14.2: Dark scrollbar scoped to palette */}
{/* Top bar — 14.13: no icons on Chat/Note tabs, keep ⌘ on Command. 14.4: settings icon */}
{["chat","note","todo","command"].map(m=>
setFpMode(m)} style={{padding:"4px 12px",borderRadius:R.full,border:"none",backgroundColor:fpMode===m?c.fpAccent+"25":"transparent",color:fpMode===m?c.fpAccent:c.fpTextDim,fontSize:11,fontWeight:fpMode===m?600:400,cursor:"pointer",fontFamily:font.sans}}>{m==="command"?"⌘ Command":m==="chat"?"Chat":m==="note"?"Note":m==="todo"?"To Do":m} )}
{/* 14.4: Settings — model/think level */}
flash("Model: Gemini 2.5 Pro · Think: Standard")} title="Chat settings" style={{width:24,height:24,borderRadius:R.sm,border:`1px solid ${c.fpBorder}`,backgroundColor:"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center"}}>
setFpOpen(false)} style={{width:24,height:24,borderRadius:R.sm,border:"none",backgroundColor:"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center"}}>
{/* V7.9.4: Chat mode — chat selector + messages */}
{fpMode==="chat"&&<>
{/* Chat selector */}
{fpChatRenaming?
setFpChatRenameText(e.target.value)} autoFocus onKeyDown={e=>{if(e.key==="Enter"&&fpChatRenameText.trim()){flash("Chat renamed: "+fpChatRenameText);setFpChatRenaming(false)}if(e.key==="Escape")setFpChatRenaming(false)}} onBlur={()=>{if(fpChatRenameText.trim())flash("Chat renamed");setFpChatRenaming(false)}} style={{width:"100%",padding:"4px 8px",borderRadius:R.sm,border:`1px solid ${c.fpAccent}50`,backgroundColor:c.fpInput,fontSize:12.5,fontWeight:600,fontFamily:font.sans,outline:"none",color:c.fpText}}/>
:
setFpChatListDrop(!fpChatListDrop)} onDoubleClick={e=>{e.stopPropagation();const ch=fpChatList.find(x=>x.id===fpSelectedChatId)||fpChatList[0];setFpChatRenaming(true);setFpChatRenameText(ch.name);setFpChatListDrop(false)}} style={{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",borderRadius:R.sm,border:`1px solid ${c.fpBorder}`,backgroundColor:"transparent",cursor:"pointer",width:"100%",fontFamily:font.sans}}>
{(fpChatList.find(ch=>ch.id===fpSelectedChatId)||fpChatList[0]).name}
{fpSelectedChatId==="quick"&& }
}
{fpChatListDrop&&
{fpChatList.map(ch=>
{setFpSelectedChatId(ch.id);setFpChatListDrop(false);if(ch.id!=="quick")flash(`Switched to "${ch.name}"`)}} style={{display:"flex",alignItems:"center",gap:6,padding:"7px 10px",cursor:"pointer",backgroundColor:ch.id===fpSelectedChatId?c.fpAccent+"15":"transparent",fontSize:11.5,color:ch.id===fpSelectedChatId?c.fpAccent:c.fpText}} onMouseEnter={e=>{if(ch.id!==fpSelectedChatId)e.currentTarget.style.backgroundColor=c.fpInput}} onMouseLeave={e=>{e.currentTarget.style.backgroundColor=ch.id===fpSelectedChatId?c.fpAccent+"15":"transparent"}}>
{ch.pinned? :}
{ch.name}
{ch.time}
)}
{setFpMessages([]);setFpSelectedChatId("new-"+Date.now());setFpChatListDrop(false);flash("New chat started")}} style={{display:"flex",alignItems:"center",gap:5,cursor:"pointer",fontSize:11,color:c.fpAccent,marginBottom:4}}>New chat
{setBrowserMode("nav");setBrowserOpen(true);setFpChatListDrop(false);flash("Select from conversations")}} style={{display:"flex",alignItems:"center",gap:5,cursor:"pointer",fontSize:11,color:c.fpTextDim}}>Browse all…
}
setFpScreenCapture(!fpScreenCapture)} title="Screen capture" style={{width:22,height:22,borderRadius:3,border:`1px solid ${fpScreenCapture?c.error+"60":c.fpBorder}`,backgroundColor:"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center"}}>
{const ch=fpChatList.find(x=>x.id===fpSelectedChatId)||fpChatList[0];openTab("chat",ch.name,"chat");flash("Opened in Q")}} title="Open in Q" style={{width:22,height:22,borderRadius:3,border:`1px solid ${c.fpBorder}`,backgroundColor:"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center"}}>
{fpMessages.map(m=>
{m.from}
{m.time}
{m.text}
)}
flash("Attach file…")} style={{width:28,height:28,borderRadius:R.sm,border:"none",backgroundColor:"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0}}>
{fpScreenCapture?Screen capture on :""}
New Thread
>}
{/* V7.9.3: Note mode — note selector + toolbar */}
{fpMode==="note"&&<>
{/* Note selector + toolbar */}
setFpNoteListDrop(!fpNoteListDrop)} style={{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",borderRadius:R.sm,border:`1px solid ${c.fpBorder}`,backgroundColor:"transparent",cursor:"pointer",width:"100%",fontFamily:font.sans}}>
{(notes.find(n=>n.id===fpSelectedNoteId)||notes[0]).title}
{fpNoteListDrop&&
{notes.slice(0,10).map(n=>
{setFpSelectedNoteId(n.id);setFpNoteListDrop(false)}} style={{display:"flex",alignItems:"center",gap:6,padding:"7px 10px",cursor:"pointer",backgroundColor:n.id===fpSelectedNoteId?c.fpAccent+"15":"transparent",fontSize:11.5,color:n.id===fpSelectedNoteId?c.fpAccent:c.fpText}} onMouseEnter={e=>{if(n.id!==fpSelectedNoteId)e.currentTarget.style.backgroundColor=c.fpInput}} onMouseLeave={e=>{e.currentTarget.style.backgroundColor=n.id===fpSelectedNoteId?c.fpAccent+"15":"transparent"}}>
{n.title}
{n.mod}
)}
{fpNoteNewMode?
setFpNoteNewName(e.target.value)} placeholder="Note name…" autoFocus onKeyDown={e=>{if(e.key==="Enter"&&fpNoteNewName.trim()){flash("Note created: "+fpNoteNewName);setFpNoteNewMode(false);setFpNoteNewName("");setFpNoteListDrop(false)}if(e.key==="Escape"){setFpNoteNewMode(false);setFpNoteNewName("")}}} style={{flex:1,padding:"4px 8px",borderRadius:3,border:`1px solid ${c.fpBorder}`,backgroundColor:c.fpInput,fontSize:11,fontFamily:font.sans,outline:"none",color:c.fpText}}/>{if(fpNoteNewName.trim()){flash("Note created");setFpNoteNewMode(false);setFpNoteNewName("");setFpNoteListDrop(false)}}} style={{padding:"4px 8px",borderRadius:3,border:"none",backgroundColor:c.fpAccent,color:"#fff",fontSize:10,cursor:"pointer",fontFamily:font.sans}}>Add
:
setFpNoteNewMode(true)} style={{display:"flex",alignItems:"center",gap:5,cursor:"pointer",fontSize:11,color:c.fpAccent,marginBottom:4}}>New note
{setBrowserMode("notes");setBrowserOpen(true);setNoteBrowserScope(new Set(["notes"]));setFpNoteListDrop(false);flash("Select from browser")}} style={{display:"flex",alignItems:"center",gap:5,cursor:"pointer",fontSize:11,color:c.fpTextDim}}>Browse all…
}
}
B
I
flash("Copied")} style={{width:22,height:22,borderRadius:3,border:"none",backgroundColor:"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center"}}>
flash("Export options: Markdown, PDF, Send to Note")} style={{width:22,height:22,borderRadius:3,border:"none",backgroundColor:"transparent",cursor:"pointer",color:c.fpTextDim,fontSize:11}}>⋯
{const n=notes.find(x=>x.id===fpSelectedNoteId)||notes[0];openTab("note",n.title,"note");flash("Opened in Q")}} title="Open in Q" style={{width:22,height:22,borderRadius:3,border:`1px solid ${c.fpBorder}`,backgroundColor:"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center"}}>
{setFpMode("chat");setFpInput(`About my note — `)}} style={{cursor:"pointer",color:c.fpAccent,display:"flex",alignItems:"center",gap:4,fontWeight:500}}>Ask
Auto-saved
>}
{/* V7.7: Todo mode — editable name, add subtasks, ask agent */}
{fpMode==="todo"&&<>
{/* List switcher with editable name */}
{fpTodoRenaming?
setFpTodoRenameText(e.target.value)} autoFocus onKeyDown={e=>{if(e.key==="Enter")fpRenameTodoList();if(e.key==="Escape")setFpTodoRenaming(false)}} onBlur={fpRenameTodoList} style={{flex:1,padding:"4px 8px",borderRadius:R.sm,border:`1px solid ${c.fpAccent}50`,backgroundColor:c.fpInput,fontSize:12.5,fontWeight:600,fontFamily:font.sans,outline:"none",color:c.fpText}}/>
:
setFpTodoListDrop(!fpTodoListDrop)} onDoubleClick={(e)=>{e.stopPropagation();setFpTodoRenaming(true);setFpTodoRenameText(fpTodoList.name);setFpTodoListDrop(false)}} style={{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",borderRadius:R.sm,border:`1px solid ${c.fpBorder}`,backgroundColor:"transparent",cursor:"pointer",width:"100%",fontFamily:font.sans}}>
{fpTodoList.name}
}
{fpTodoListDrop&&
{fpTodoLists.map(l=>
{setFpActiveTodoList(l.id);setFpTodoListDrop(false)}} style={{display:"flex",alignItems:"center",gap:6,padding:"7px 10px",cursor:"pointer",backgroundColor:l.id===fpActiveTodoList?c.fpAccent+"15":"transparent",fontSize:11.5,color:l.id===fpActiveTodoList?c.fpAccent:c.fpText}} onMouseEnter={e=>{if(l.id!==fpActiveTodoList)e.currentTarget.style.backgroundColor=c.fpInput}} onMouseLeave={e=>{e.currentTarget.style.backgroundColor=l.id===fpActiveTodoList?c.fpAccent+"15":"transparent"}}>
{l.name}
{l.tasks.filter(t=>!t.done).length}
)}
{fpTodoNewListMode?
setFpTodoNewListName(e.target.value)} placeholder="List name…" autoFocus onKeyDown={e=>{if(e.key==="Enter")fpCreateTodoList();if(e.key==="Escape"){setFpTodoNewListMode(false);setFpTodoNewListName("")}}} style={{flex:1,padding:"4px 8px",borderRadius:3,border:`1px solid ${c.fpBorder}`,backgroundColor:c.fpInput,fontSize:11,fontFamily:font.sans,outline:"none",color:c.fpText}}/>Add
:
setFpTodoNewListMode(true)} style={{display:"flex",alignItems:"center",gap:5,cursor:"pointer",fontSize:11,color:c.fpAccent,marginBottom:4}}>New list
{setBrowserMode("notes");setBrowserOpen(true);setNoteBrowserScope(new Set(["todo"]));setFpTodoListDrop(false);flash("Select from browser")}} style={{display:"flex",alignItems:"center",gap:5,cursor:"pointer",fontSize:11,color:c.fpTextDim}}>Browse all…
}
}
setFpTodoDefaultsOpen(!fpTodoDefaultsOpen)} title="Calendar & reminders" style={{width:22,height:22,borderRadius:3,border:`1px solid ${fpTodoDefaultsOpen?c.fpAccent+"60":c.fpBorder}`,backgroundColor:fpTodoDefaultsOpen?c.fpAccent+"15":"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center"}}>
{openTab("todo",fpTodoList.name,"todo");flash("Opened in Q")}} title="Open in Q" style={{width:22,height:22,borderRadius:3,border:`1px solid ${c.fpBorder}`,backgroundColor:"transparent",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center"}}>
{/* List-level defaults panel */}
{fpTodoDefaultsOpen&&
}
{/* Task list — single-click edit, delete X on hover, ask, 📅 */}
{fpTodoActive.map(task=>{const isExp=fpTodoExpanded.has(task.id);const isEditing=fpTodoEditingId===task.id;return
{e.currentTarget.style.backgroundColor=c.fpInput;e.currentTarget.querySelectorAll('.fp-hover').forEach(el=>el.style.opacity=1)}} onMouseLeave={e=>{e.currentTarget.style.backgroundColor="transparent";e.currentTarget.querySelectorAll('.fp-hover').forEach(el=>el.style.opacity=0)}}>
fpToggleTodoExp(task.id)} style={{width:16,height:16,cursor:"pointer",flexShrink:0,marginTop:1,display:"flex",alignItems:"center",justifyContent:"center",color:c.fpTextDim}}>{isExp?:}
fpToggleTodo(task.id)} style={{width:15,height:15,borderRadius:3,border:`1.5px solid ${c.fpTextDim}`,cursor:"pointer",flexShrink:0,marginTop:1}}/>
{isEditing? setFpTodoEditText(e.target.value)} onKeyDown={e=>{if(e.key==="Enter")fpSaveTodoEdit(task.id);if(e.key==="Escape")setFpTodoEditingId(null)}} onBlur={()=>fpSaveTodoEdit(task.id)} autoFocus style={{flex:1,border:"none",backgroundColor:"transparent",fontSize:12.5,fontFamily:font.sans,outline:"none",color:c.fpText,padding:0,lineHeight:1.4}}/>
:{setFpTodoEditingId(task.id);setFpTodoEditText(task.text)}} style={{fontSize:12.5,color:c.fpText,lineHeight:1.4,flex:1,cursor:"text"}}>{task.text} }
flash("Set date & reminders")} title="Date & reminders" style={{opacity:0,cursor:"pointer",flexShrink:0,display:"flex",alignItems:"center",transition:"opacity 0.15s"}}>
fpAskAboutTask(task.text)} title="Ask" style={{opacity:0,cursor:"pointer",flexShrink:0,display:"flex",alignItems:"center",transition:"opacity 0.15s"}}>
fpDeleteTodo(task.id)} title="Delete" style={{opacity:0,cursor:"pointer",flexShrink:0,display:"flex",alignItems:"center",transition:"opacity 0.15s"}}>
{isExp&&
{task.sub.map(s=>
{e.currentTarget.style.backgroundColor=c.fpInput;const x=e.currentTarget.querySelector('.fp-sdel');if(x)x.style.opacity=1}} onMouseLeave={e=>{e.currentTarget.style.backgroundColor="transparent";const x=e.currentTarget.querySelector('.fp-sdel');if(x)x.style.opacity=0}}>
fpToggleTodoSub(task.id,s.id)} style={{width:13,height:13,borderRadius:2,border:`1.5px solid ${s.done?c.fpAccent:c.fpTextDim}`,backgroundColor:s.done?c.fpAccent:"transparent",cursor:"pointer",flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center"}}>{s.done&& }
{s.text}
flash("Set subtask date")} title="Date & reminders" style={{opacity:0,cursor:"pointer",flexShrink:0,display:"flex",alignItems:"center",transition:"opacity 0.15s"}}>
fpDeleteTodoSub(task.id,s.id)} title="Delete" style={{opacity:0,cursor:"pointer",flexShrink:0,display:"flex",alignItems:"center",transition:"opacity 0.15s"}}>
)}
setFpTodoNewSub(p=>({...p,[task.id]:e.target.value}))} onKeyDown={e=>{if(e.key==="Enter")fpAddTodoSub(task.id)}} placeholder="Add subtask…" style={{flex:1,border:"none",backgroundColor:"transparent",fontSize:12,fontFamily:font.sans,outline:"none",color:c.fpText}}/>
}
})}
{/* Add item */}
setFpTodoNewItem(e.target.value)} onKeyDown={e=>{if(e.key==="Enter")fpAddTodo()}} placeholder="Add item…" style={{flex:1,border:"none",backgroundColor:"transparent",fontSize:12,fontFamily:font.sans,outline:"none",color:c.fpText}}/>
{/* Done section */}
{fpTodoDone.length>0&&<>
setFpTodoDoneOpen(!fpTodoDoneOpen)} style={{display:"flex",alignItems:"center",gap:5,padding:"6px 6px 4px",marginTop:6,cursor:"pointer",fontSize:10,fontWeight:600,color:c.fpTextDim,textTransform:"uppercase",letterSpacing:".05em"}}>
{fpTodoDoneOpen?:}Done ({fpTodoDone.length})
{fpTodoDoneOpen&&fpTodoDone.map(task=>
{e.currentTarget.style.backgroundColor=c.fpInput;const x=e.currentTarget.querySelector('.fp-ddel');if(x)x.style.opacity=1}} onMouseLeave={e=>{e.currentTarget.style.backgroundColor="transparent";const x=e.currentTarget.querySelector('.fp-ddel');if(x)x.style.opacity=0}}>
fpToggleTodo(task.id)} style={{width:15,height:15,borderRadius:3,border:`1.5px solid ${c.fpAccent}`,backgroundColor:c.fpAccent,cursor:"pointer",flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center"}}>
{task.text}
fpDeleteTodo(task.id)} title="Delete" style={{opacity:0,cursor:"pointer",flexShrink:0,display:"flex",alignItems:"center",transition:"opacity 0.15s"}}>
)}
>}
Ask
flash(`Synced with note: ${fpTodoList.name}`)}>Synced to note
>}
{/* Command mode — V7.6.9: added shortcut key capture */}
{fpMode==="command"&&<>
Quick Actions
{[{icon:
,label:"Watch my actions",desc:"Start demonstration mode (DOC3)",accent:true},{icon:,label:"Toggle Quick Command",desc:"Open/close this window",toggle:true},{icon:,label:"New note",desc:"Create and open a new note"},{icon:,label:"Search knowledge graph",desc:"Query entity graph"},{icon:,label:"Run standing procedure…",desc:"Execute a saved automation"},{icon:,label:"Set palette shortcut",desc:`Current: ${fpCapturedKey}`,keycap:true},{icon:,label:"Open Settings",desc:"Q Dashboard settings"},{icon:,label:"Key Commands",desc:"View & edit all shortcuts"}].map((cmd,i)=>{if(cmd.keycap){setFpKeyCapture(true)}else if(cmd.label==="Key Commands"){openTab("utility","Key Commands","keyboard");setFpOpen(false);flash("Key Commands")}else if(cmd.toggle){setFpOpen(false)}else{flash(cmd.label);setFpOpen(false)}}} style={{display:"flex",alignItems:"center",gap:8,padding:"7px 10px",borderRadius:R.sm,cursor:"pointer",margin:"1px 2px"}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.fpInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>
{cmd.icon}
{cmd.accent&&
⌥W }
{cmd.toggle&&
{fpCapturedKey} }
{cmd.keycap&&
{fpCapturedKey} }
)}
{/* V7.6.9: Key capture overlay */}
{fpKeyCapture&&Press your shortcut combo
e.g. ⌥Space, ⌘⇧K, ⌃`
setFpKeyCapture(false)} style={{position:"absolute",opacity:0,width:0,height:0}}/>
setFpKeyCapture(false)} style={{fontSize:10,color:c.fpTextDim,cursor:"pointer"}}>Cancel
}
Recent
{["Paramount damages strategy","Sanli Expert Report.pdf","Trial Prep Checklist"].map((item,i)=>{flash(`Open ${item}`);setFpOpen(false)}} style={{display:"flex",alignItems:"center",gap:8,padding:"5px 10px",borderRadius:R.sm,cursor:"pointer",margin:"1px 2px",fontSize:11.5,color:c.fpText}} onMouseEnter={e=>e.currentTarget.style.backgroundColor=c.fpInput} onMouseLeave={e=>e.currentTarget.style.backgroundColor="transparent"}>{item}
)}
{fpCapturedKey} to toggle · Esc to close · ↑↓ to navigate · ↵ to select
>}
}
{/* 14.6: In real Electron build, this window is alwaysOnTop:true, frame:false */}
{fpOpen&&
setFpOpen(false)} style={{position:"fixed",inset:0,backgroundColor:"rgba(0,0,0,0.3)",zIndex:9999}}/>}
);
}