clavarium 0.2.0-next.6 → 0.2.0-next.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "clavarium",
3
- "version": "0.2.0-next.6",
3
+ "version": "0.2.0-next.7",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "clavarium",
9
- "version": "0.2.0-next.6",
9
+ "version": "0.2.0-next.7",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@xterm/addon-fit": "^0.11.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clavarium",
3
- "version": "0.2.0-next.6",
3
+ "version": "0.2.0-next.7",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "description": "A conversation is a VM with a terminal in it. Everything else is a folder.",
package/web/app.js CHANGED
@@ -2561,14 +2561,14 @@
2561
2561
 
2562
2562
  /* A repository, on the right: its branch, what would go, the diagram. */
2563
2563
  async function gitDetail(holder, name, { place = false } = {}) {
2564
- const facts = el('div', 'as-facts'); facts.append(el('p', 'hint', 'Looking at its branches...'));
2564
+ const facts = el('div', 'as-facts'); facts.append(el('p', 'hint busy', 'Looking at its branches...'));
2565
2565
  const acts = el('div', 'as-acts');
2566
2566
  const review = el('button', '', 'Open the review'); review.type = 'button'; review.dataset.act = 'review';
2567
2567
  const send = el('button', 'primary', 'Send...'); send.type = 'button'; send.dataset.act = 'send'; send.hidden = true;
2568
2568
  acts.append(review, send);
2569
2569
  /* In a conversation, its files too, below. */
2570
2570
  if (!place) { const files = el('button', '', 'Files'); files.type = 'button'; files.dataset.act = 'files'; files.addEventListener('click', () => { embedFiles(holder, name); files.disabled = true; }); acts.prepend(files); }
2571
- const diagram = el('div', 'as-graph'); diagram.append(el('p', 'hint', 'Drawing the branches...'));
2571
+ const diagram = el('div', 'as-graph'); diagram.append(el('p', 'hint busy', 'Drawing the branches...'));
2572
2572
  holder.append(facts, chapter('Branches', acts), diagram);
2573
2573
  const back = place ? { label: name, go: () => { void paintAssets(); } } : { label: name, go: () => { void paintRoomAssets(); } };
2574
2574
  review.addEventListener('click', () => { void openGit(name, { back }); });
@@ -3693,6 +3693,7 @@
3693
3693
  $('gitview-error').hidden = true; $('gitview-push').hidden = true; $('gitview-check').hidden = true; $('gitview-checks').hidden = true;
3694
3694
  $('gitview-offer-row').hidden = true; $('gitview-guards').hidden = true; $('gitview-dropped').hidden = true; $('gitview-remote-go').hidden = true;
3695
3695
  $('gitview-state').textContent = commit ? 'Looking at this commit...' : 'Looking at what was committed...';
3696
+ $('gitview-state').classList.add('busy');
3696
3697
  $('gitview-numbers').replaceChildren();
3697
3698
  $('gitview-commits').replaceChildren(); $('gitview-stat').textContent = ''; $('gitview-diff').replaceChildren(); $('gitview-tree').replaceChildren();
3698
3699
  $('gitview-n-files').textContent = ''; $('gitview-n-commits').textContent = ''; $('gitview-n-checks').textContent = '';
@@ -3711,7 +3712,9 @@
3711
3712
  const r = await fetch(`${API}/git/${name}/${commit ? 'commit' : 'outgoing'}${query.size ? `?${query}` : ''}`);
3712
3713
  out = await r.json();
3713
3714
  if (!r.ok) throw Object.assign(new Error(out.error || 'The repository could not be read.'), { offer: out.offer });
3715
+ $('gitview-state').classList.remove('busy');
3714
3716
  } catch (error) {
3717
+ $('gitview-state').classList.remove('busy');
3715
3718
  if (gitShown !== name || gitCommit !== commit) return;
3716
3719
  $('gitview-state').textContent = ''; $('gitview-error').textContent = error.message; $('gitview-error').hidden = false;
3717
3720
  /* An fsck refusal the owner may waive (old histories only): offered, never done for them. */
package/web/style.css CHANGED
@@ -1256,3 +1256,7 @@ select.pill { appearance: auto; }
1256
1256
  .group-head .caret { font-size: 1.1rem; line-height: 1; text-align: center; }
1257
1257
  #machine-size[data-waiting] select { color: var(--ink2); border-style: dashed; }
1258
1258
  #machine-size-wait { color: var(--brass); font-weight: 600; }
1259
+
1260
+ /* Something is being fetched: a small turning ring before the words (a still ring without motion). */
1261
+ .busy::before { content: ""; display: inline-block; width: .95em; height: .95em; margin-right: .5em; vertical-align: -.17em; border-radius: 50%; border: 2px solid color-mix(in srgb, currentColor 25%, transparent); border-top-color: var(--brass); }
1262
+ @media (prefers-reduced-motion: no-preference) { .busy::before { animation: busy-turn .8s linear infinite; } @keyframes busy-turn { to { transform: rotate(360deg); } } }