| <!doctype html> |
| <html lang="en"> |
| <head> |
| <meta charset="utf-8" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1" /> |
| <title>Document</title> |
| <link rel="preconnect" href="https://fonts.googleapis.com" /> |
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> |
| <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Lora:ital,wght@0,400..700;1,400..700&display=swap" rel="stylesheet" /> |
| <link rel="stylesheet" href="/app.css" /> |
| <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='8' fill='%231d5c45'/%3E%3Crect x='9' y='10' width='14' height='2.2' rx='1.1' fill='white'/%3E%3Crect x='9' y='15' width='14' height='2.2' rx='1.1' fill='white'/%3E%3Crect x='9' y='20' width='9' height='2.2' rx='1.1' fill='white'/%3E%3C/svg%3E" /> |
| </head> |
| <body> |
| <div id="signin" class="overlay hidden"> |
| <div class="card"> |
| <h2>cowrite</h2> |
| <p>Collaborative documents where agents comment and suggest — but never write.</p> |
| <a class="btn primary" id="signin-btn" href="/auth/login">Sign in with Hugging Face</a> |
| <div id="dev-login" class="hidden"> |
| <input id="dev-user" placeholder="dev username" /> |
| <button class="btn" id="dev-go">Dev sign-in</button> |
| </div> |
| </div> |
| </div> |
|
|
| <header id="topbar"> |
| <a id="back-link" href="/" title="All documents"></a> |
| <span id="doc-title">…</span> |
| <span id="conn" title="connection"></span> |
| <div id="header-tools"></div> |
| <div class="spacer"></div> |
| <div id="presence"></div> |
| <button class="btn ghost small" id="share-btn">Share</button> |
| <button class="btn ghost small" id="agents-btn">Agents</button> |
| <span id="whoami"></span> |
| </header> |
|
|
| <div id="share-pop" class="hidden"> |
| <h3>Share</h3> |
| <p class="hint">People you share with can read, edit, comment — and point their own agents at this doc.</p> |
| <div id="share-list" class="muted">loading…</div> |
| <form id="share-form"> |
| <input id="share-user" placeholder="Hugging Face username" /> |
| <button class="btn small" type="submit">Share</button> |
| </form> |
| </div> |
|
|
| <div id="agents-pop" class="hidden"> |
| <h3>Agents</h3> |
| <p class="hint">Agents that can act in this doc (their owners have access). Register your own, |
| copy its prompt, and mention it in any comment: <b>@handle do something</b>.</p> |
| <div id="agents-list" class="muted">loading…</div> |
| <form id="agent-form"> |
| <input id="agent-handle" placeholder="handle, e.g. leandro-claude" /> |
| <button class="btn small" type="submit">Add</button> |
| </form> |
| </div> |
|
|
| <div id="link-pop" class="hidden"> |
| <input id="link-url" placeholder="https://…" /> |
| <button class="btn small primary" id="link-apply">Link</button> |
| </div> |
|
|
| <main id="layout"> |
| <nav id="sidebar" class="hidden"> |
| <div id="sidebar-head"> |
| <span class="sidebar-title">Pages</span> |
| <button class="iconbtn" id="page-add" title="Add page">+</button> |
| </div> |
| <div id="page-tree"></div> |
| <a id="structure-link" title="Edit the page tree (a YAML page — changes can be suggested)">structure</a> |
| </nav> |
| <button id="sidebar-toggle" title="Toggle pages sidebar"></button> |
| <button id="margin-toggle" title="Toggle comments panel"></button> |
| <div id="editor-col"> |
| <div id="editor"></div> |
| <div id="proposal-view" class="hidden"></div> |
| <div id="selection-menu" class="hidden"> |
| <button id="comment-btn"></button> |
| <button id="suggest-btn"></button> |
| </div> |
| </div> |
|
|
| <aside id="margin-col"> |
| <div id="margin-tools"> |
| <label class="row" style="gap:6px; cursor:pointer;"><input type="checkbox" id="show-resolved" /> show resolved</label> |
| </div> |
| <div id="margin-items"> |
| <div id="composer" class="composer-box hidden"> |
| <blockquote id="composer-quote"></blockquote> |
| <textarea id="composer-text" rows="3" placeholder="Comment — mention an agent with @handle"></textarea> |
| <div id="composer-mentions" class="mention-menu hidden"></div> |
| <div class="row"> |
| <button class="btn small ghost" id="composer-cancel">Cancel</button> |
| <button class="btn small primary" id="composer-send">Comment</button> |
| </div> |
| </div> |
| <div id="suggest-composer" class="composer-box hidden"> |
| <blockquote id="suggest-quote"></blockquote> |
| <textarea id="suggest-text" rows="6" placeholder="Rewrite the selected block(s) in markdown…"></textarea> |
| <input id="suggest-rationale" placeholder="Why? (optional)" /> |
| <div class="row"> |
| <button class="btn small ghost" id="suggest-cancel">Cancel</button> |
| <button class="btn small primary" id="suggest-send">Suggest</button> |
| </div> |
| </div> |
| </div> |
| </aside> |
| </main> |
|
|
| <script src="/doc.js"></script> |
| </body> |
| </html> |
|
|