Skip to main content

max / makenotwork

Remove dead frontend definitions found by the shape recon Five mechanical removals, no behaviour change: - templates/partials/tabs/user_ssh_keys.html: orphaned tab partial with no #[template] struct and no reference anywhere. The live SSH keys panel is user_ssh_keys_tab.html, which is untouched. - actions-pages.js: window.noop, window.onSetActiveTab and window.onOpenCollectionPicker were all redefined later in the same page load by actions-partials.js and actions-dashboards.js, which base.html loads unconditionally after it. The collection-picker pair disagreed in body; the live one reads dataset.itemId and serves every call site. - partial-item-text-editor.js: three dead window exports, one of which (window.escapeHtml) was a self-assignment since the file defines no local. - upload.js: em dash to comma in the speed/ETA string, matching the replacement its own TypeScript port already made. cargo check --all-targets and tsc --noEmit both clean.
Author: Max Johnson <me@maxj.phd> · 2026-08-18 23:11 UTC
Signed with PGP, not checked
Commit: f0036a495c4fed63f22d00aaf26cf545d0b3f033
Parent: 436ea7a
4 files changed, +1 insertion, -52 deletions
@@ -5,11 +5,6 @@
5 5 // bodies read args from the element (this.value, this.dataset, this itself)
6 6 // exactly as the original inline handlers did.
7 7
8 - // No-op verb: used where the original inline handler only stopped propagation
9 - // (the data-stop modifier does the actual work; this satisfies the dispatcher's
10 - // requirement for a data-action value).
11 - window.noop = function () {};
12 -
13 8 // cart.html: onclick="removeCartGroup(this)"
14 9 window.onRemoveCartGroup = function () {
15 10 removeCartGroup(this);
@@ -34,22 +29,12 @@
34 29 submitNotify({ preventDefault: function () {} });
35 30 };
36 31
37 - // item.html: onclick="openCollectionPicker('{{ item.id }}', this)"
38 - window.onOpenCollectionPicker = function () {
39 - openCollectionPicker(this.getAttribute('data-arg'), this);
40 - };
41 -
42 32 // item.html / library_downloads.html / project.html:
43 33 // onclick="switchSectionTab(this, 'section-{{ section.slug }}')"
44 34 window.onSwitchSectionTab = function () {
45 35 switchSectionTab(this, this.getAttribute('data-arg'));
46 36 };
47 37
48 - // library.html: onclick="setActiveTab(this)"
49 - window.onSetActiveTab = function () {
50 - setActiveTab(this);
51 - };
52 -
53 38 // purchase.html: oninput="updatePwywButton(this.value)"
54 39 window.onPwywInput = function () {
55 40 updatePwywButton(this.value);
@@ -107,8 +107,5 @@
107 107 });
108 108
109 109 window.switchEditorTab = switchEditorTab;
110 - window.renderMarkdownPreview = renderMarkdownPreview;
111 - window.escapeHtml = escapeHtml;
112 - window.updateWordCount = updateWordCount;
113 110 window.saveTextContent = saveTextContent;
114 111 })();
@@ -51,7 +51,7 @@
51 51 var etaStr = remaining < 60
52 52 ? Math.ceil(remaining) + 's'
53 53 : Math.ceil(remaining / 60) + 'm ' + Math.ceil(remaining % 60) + 's';
54 - self.speedEl.textContent = speedStr + ' \u2014 ' + etaStr + ' remaining';
54 + self.speedEl.textContent = speedStr + ', ' + etaStr + ' remaining';
55 55 }
56 56 }
57 57 }
@@ -1,33 +1,0 @@
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:{{ user.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-after="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>