Skip to main content

max / makenotwork

2.7 KB · 70 lines History Blame Raw
1 <div class="form-section">
2 <h2 class="subsection-title">SSH Keys</h2>
3 <p class="credentials-lead">
4 Manage SSH keys for git clone and push access. Clone URL: <code>git@makenot.work:{{ username }}/{repo}.git</code>
5 </p>
6
7 <div id="ssh-keys-list"
8 hx-get="/api/users/me/ssh-keys/list"
9 hx-trigger="load"
10 hx-swap="innerHTML">
11 <p class="credentials-loading">Loading...</p>
12 </div>
13
14 <form class="credentials-add-form"
15 hx-post="/api/users/me/ssh-keys"
16 hx-target="#ssh-keys-list"
17 hx-swap="innerHTML"
18 data-hx-reset>
19 <div class="form-group">
20 <label for="ssh-public-key">Public Key</label>
21 <textarea id="ssh-public-key" name="public_key" placeholder="ssh-ed25519 AAAA... or ssh-rsa AAAA..." required
22 rows="3"></textarea>
23 <div class="hint">Paste the contents of your ~/.ssh/id_ed25519.pub or similar public key file</div>
24 </div>
25 <div class="credentials-add-row">
26 <div class="form-group">
27 <label for="ssh-key-label">Label</label>
28 <input type="text" id="ssh-key-label" name="label" placeholder="e.g., laptop, work" maxlength="128">
29 </div>
30 <button class="btn-secondary" type="submit">Add SSH Key</button>
31 </div>
32 </form>
33 </div>
34
35 <div class="form-section">
36 <h2 class="subsection-title">Access Tokens (HTTPS)</h2>
37 <p class="credentials-lead">
38 Personal access tokens for git over HTTPS. Use a token as the password.
39 Clone URL: <code>https://&lt;token&gt;@makenot.work/{{ username }}/{repo}.git</code>
40 </p>
41
42 <div id="git-tokens-list"
43 hx-get="/api/users/me/git-tokens/list"
44 hx-trigger="load"
45 hx-swap="innerHTML">
46 <p class="credentials-loading">Loading...</p>
47 </div>
48
49 <form class="credentials-add-form"
50 hx-post="/api/users/me/git-tokens"
51 hx-target="#git-tokens-list"
52 hx-swap="innerHTML"
53 data-hx-reset>
54 <div class="credentials-add-row">
55 <div class="form-group">
56 <label for="git-token-name">Name</label>
57 <input type="text" id="git-token-name" name="name" placeholder="e.g., laptop" maxlength="128" required>
58 </div>
59 <div class="form-group">
60 <label for="git-token-expires">Expires (optional)</label>
61 <input type="date" id="git-token-expires" name="expires_on">
62 </div>
63 </div>
64 <div class="form-group">
65 <label class="checkbox-label"><input type="checkbox" name="can_push"> Allow push (write access)</label>
66 </div>
67 <button class="btn-secondary" type="submit">Create Token</button>
68 </form>
69 </div>
70