File size: 5,036 Bytes
99a44ac
 
 
 
 
b60973d
 
 
45ebf29
99a44ac
45ebf29
99a44ac
 
 
 
07c5477
b60973d
99a44ac
 
 
 
 
 
 
 
 
b60973d
99a44ac
b60973d
 
99a44ac
 
53148eb
b60973d
99a44ac
 
 
53148eb
 
 
 
 
 
 
 
 
 
b60973d
 
0ac04b5
 
b60973d
 
 
 
 
 
 
 
 
 
 
 
99a44ac
e5e233a
 
 
 
 
 
 
 
 
4fcf51c
b60973d
99a44ac
9d479ea
6912fd3
b60973d
 
6912fd3
99a44ac
 
b60973d
 
 
 
ec3a520
 
 
 
 
 
 
 
 
6912fd3
ec3a520
 
 
 
 
 
 
 
99a44ac
b60973d
99a44ac
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<!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>