gabriel / musehub public
collaborators_settings.html html
65 lines 2.7 KB
Raw
sha256:0032d6cfa33bc3c8367436ad768e7dd0e339b4332153160247da8266cb5fa352 Merge branch 'task/version-tags-phase3-server' into dev Human 18 days ago
1 {% extends "musehub/base.html" %}
2
3 {% block title %}Collaborators · {{ owner }}/{{ repo_slug }}{% endblock %}
4
5 {% block breadcrumb %}
6 <a href="/{{ owner }}">{{ owner }}</a> /
7 <a href="{{ base_url }}">{{ repo_slug }}</a> /
8 <a href="{{ base_url }}/settings">Settings</a> /
9 Collaborators
10 {% endblock %}
11
12 {% block repo_nav %}{% include "musehub/partials/repo_nav.html" %}{% endblock %}
13
14 {% block page_json %}{"page": "collaborators", "repoId": {{ repo_id | tojson }}, "baseUrl": {{ base_url | tojson }}}{% endblock %}
15
16 {% block content %}
17 <nav class="settings-tabs">
18 <a class="settings-tab" href="{{ base_url }}/settings">General</a>
19 <a class="settings-tab active" href="{{ base_url }}/settings/collaborators">Collaborators</a>
20 </nav>
21
22 <h2 style="margin-bottom: var(--space-4)">🤝 Collaborators &amp; Teams</h2>
23
24 {# Invite form — hx-post to the collaborators API; response replaces #collaborator-rows #}
25 <div class="card" style="margin-bottom: var(--space-4)">
26 <h3 style="margin-bottom: var(--space-3)">Invite a collaborator</h3>
27 <form hx-post="/api/repos/{{ repo_id }}/collaborators"
28 hx-target="#collaborator-rows"
29 hx-swap="innerHTML"
30 hx-include="[name='user_id'],[name='permission']"
31 class="invite-grid">
32 <input name="user_id"
33 type="text"
34 class="form-input"
35 placeholder="User ID or handle"
36 required
37 autocomplete="off" />
38 <select name="permission" class="filter-select" style="padding: 6px 10px;">
39 <option value="read">Read</option>
40 <option value="write" selected>Write</option>
41 <option value="admin">Admin</option>
42 </select>
43 <button type="submit" class="btn btn-primary" style="white-space: nowrap">+ Invite</button>
44 </form>
45 </div>
46
47 {# Collaborator list — server-rendered, HTMX swaps this div after mutations #}
48 <div class="card" style="padding: 0; overflow: hidden;">
49 <div style="padding: 12px 16px; border-bottom: 1px solid var(--border-subtle, #21262d);
50 display: flex; align-items: center; justify-content: space-between;">
51 <span style="font-weight: 600; font-size: 14px;">
52 {{ collaborators | length }} collaborator{{ 's' if collaborators | length != 1 else '' }}
53 </span>
54 <span style="font-size: 12px; color: var(--text-muted, #8b949e);">
55 <span class="perm-badge badge-perm-read">read</span>
56 <span class="perm-badge badge-perm-write">write</span>
57 <span class="perm-badge badge-perm-admin">admin</span>
58 <span class="perm-badge badge-perm-owner">owner 👑</span>
59 </span>
60 </div>
61 <div id="collaborator-rows" class="collab-list">
62 {% include "musehub/fragments/collaborator_rows.html" %}
63 </div>
64 </div>
65 {% endblock %}
File History 10 commits
sha256:0032d6cfa33bc3c8367436ad768e7dd0e339b4332153160247da8266cb5fa352 Merge branch 'task/version-tags-phase3-server' into dev Human 18 days ago
sha256:4669620efda9ff41c55bdefd1f7bfe1c239d468428744c84ead9957e5a003a53 merge: rescue snapshot-recovery hardening (c00aa21d) into d… Opus 4.8 minor 31 days ago
sha256:a59da49c4611b970fc4b6ae48678ce4943261c213a07ddbd73ce9201df869b4a fix: remove false-positive proposal_comments index drop fro… Sonnet 4.6 patch 35 days ago
sha256:0a240d6dbff234f07d98a28a4a9a68db702f3f9ff9260196f24219bdb1c0b6f3 feat: render markdown mists as HTML with heading anchor links Sonnet 4.6 patch 36 days ago
sha256:24a7d47486ebc4ebd1832830580e177ec6f877b48dced8c000e198cdec4ce9d6 Merge 'task/bump-version-rc12' into 'dev' — proposal: Bump … Human 37 days ago
sha256:b9ff931d147e0114a1f17060f415b89ed551c170a91ff226c70437aa5c85f9ee Merge 'task/bump-version-rc12' into 'dev' — proposal: Bump … Human 37 days ago
sha256:d1122d21e73471879b460037b22c0b50fded7c423444a176f248428f75dac39c Merge 'task/fix-issue-pagination-cursor' into 'dev' — propo… Human 37 days ago
sha256:01e18975e73d2b3cd5b6db7929c895bef9aa6e0d4391dc5b2adfc548b41318dd Merge 'feat/adding-debug-logs-to-staging' into 'dev' — prop… Human 37 days ago
sha256:6b1949fc2797ca4c1936a637a4cbfec828ef56cf52398a2e74ca3c4f494e728f fix: use wire_bytes not mpack_bytes_raw in compute_object_b… Sonnet 4.6 patch 49 days ago
sha256:b99f2455dc346966d040133f5203297e6e3ef5803a93728a2c30568d0a0f7583 rename: delta_add → delta_upsert across wire format, models… Sonnet 4.6 patch 51 days ago