@cortexkit/opencode-anthropic-auth 2.0.2 → 2.1.0
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.
- package/README.md +35 -845
- package/dist/cli-failure.d.ts +38 -7
- package/dist/cli.js +50 -102
- package/dist/custody-mode.d.ts +1 -0
- package/dist/fable-fallback.d.ts +6 -2
- package/dist/index-0kxy8k2c.js +2 -0
- package/dist/index-1nwcnxp8.js +42 -0
- package/dist/index-53nnxq39.js +2 -0
- package/dist/{index-2arfb1y3.js → index-6chd6jnr.js} +1 -1
- package/dist/{index-1tbpt45x.js → index-ah5s0bew.js} +1 -1
- package/dist/index-b1dvkp15.js +2 -0
- package/dist/{index-mge0rw54.js → index-f2ne65w4.js} +1 -1
- package/dist/{index-rqync0pc.js → index-hazrk5c3.js} +1 -1
- package/dist/{index-1jkyhgyr.js → index-jexctf5w.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/quota-preflight.d.ts +1 -0
- package/dist/request-class.d.ts +10 -0
- package/dist/rpc/port-file.js +1 -1
- package/dist/rpc/protocol.js +1 -1
- package/dist/rpc/rpc-client.js +1 -1
- package/dist/rpc/rpc-dir.js +1 -1
- package/dist/setup/command.d.ts +5 -14
- package/dist/setup/native-activation.d.ts +21 -8
- package/dist/setup/native-enrollment.d.ts +21 -0
- package/dist/setup/native-local.d.ts +31 -1
- package/dist/setup/native-login.d.ts +12 -1
- package/dist/setup/process-fence.d.ts +0 -6
- package/dist/setup/types.d.ts +9 -0
- package/dist/sidebar-state.d.ts +20 -2
- package/dist/sidebar-state.js +1 -1
- package/dist/transform.d.ts +2 -8
- package/dist/tui-preferences.js +1 -1
- package/dist/tui.d.ts +0 -2
- package/dist/v2/activation.d.ts +2 -0
- package/dist/v2/adapter.d.ts +11 -1
- package/dist/v2/cachekeep.d.ts +19 -0
- package/dist/v2/menu.d.ts +2 -1
- package/dist/v2/server.js +4 -4
- package/dist/v2/setup.d.ts +2 -0
- package/dist/v2/source.d.ts +1 -0
- package/dist/v2/tui.js +1 -1
- package/package.json +10 -6
- package/src/sidebar-state.ts +105 -30
- package/src/tui-compiled/sidebar-state.ts +105 -30
- package/src/tui-compiled/tui.tsx +395 -241
- package/src/tui.tsx +199 -58
- package/dist/index-227rsmfv.js +0 -42
- package/dist/index-74r84r5f.js +0 -1
- package/dist/index-b3mxpp4w.js +0 -2
- package/dist/index-fn0zqnnw.js +0 -3
- package/dist/index-j0wsgy54.js +0 -449
- package/dist/index-jc8p0tkv.js +0 -2
- package/dist/setup/activation.d.ts +0 -7
- package/dist/setup/command.test.d.ts +0 -1
- package/dist/setup/detect.d.ts +0 -8
- package/dist/setup/host-executable.d.ts +0 -3
- package/dist/setup/jsonc.d.ts +0 -9
- package/dist/setup/opencode-config.d.ts +0 -18
- package/dist/setup/pi.d.ts +0 -18
package/src/tui-compiled/tui.tsx
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { memo as _$memo } from "opentui:runtime-module:%40opentui%2Fsolid";
|
|
2
|
-
import { createTextNode as _$createTextNode } from "opentui:runtime-module:%40opentui%2Fsolid";
|
|
3
2
|
import { createComponent as _$createComponent } from "opentui:runtime-module:%40opentui%2Fsolid";
|
|
3
|
+
import { createTextNode as _$createTextNode } from "opentui:runtime-module:%40opentui%2Fsolid";
|
|
4
|
+
import { use as _$use } from "opentui:runtime-module:%40opentui%2Fsolid";
|
|
4
5
|
import { effect as _$effect } from "opentui:runtime-module:%40opentui%2Fsolid";
|
|
5
6
|
import { insertNode as _$insertNode } from "opentui:runtime-module:%40opentui%2Fsolid";
|
|
6
7
|
import { insert as _$insert } from "opentui:runtime-module:%40opentui%2Fsolid";
|
|
@@ -11,11 +12,12 @@ import { createElement as _$createElement } from "opentui:runtime-module:%40open
|
|
|
11
12
|
import { readFileSync } from "node:fs";
|
|
12
13
|
import { dirname, join } from "node:path";
|
|
13
14
|
import { fileURLToPath } from "node:url";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
15
|
+
import { formatCreditAmounts, quotaDisplayProjection, quotaWindowParts } from "@cortexkit/anthropic-auth-core";
|
|
16
|
+
import { TextAttributes } from "opentui:runtime-module:%40opentui%2Fcore";
|
|
17
|
+
import { createEffect, createSignal, For, Index, onCleanup, Show } from "opentui:runtime-module:solid-js";
|
|
16
18
|
import { createRpcClient } from "./rpc/rpc-client.js";
|
|
17
19
|
import { getRpcDir } from "./rpc/rpc-dir.js";
|
|
18
|
-
import { computeQuotaPacing, DEFAULT_SIDEBAR_STATE, FIVE_HOUR_MS, formatPrimeAccountValue,
|
|
20
|
+
import { computeQuotaPacing, DEFAULT_SIDEBAR_STATE, FIVE_HOUR_MS, formatPrimeAccountValue, formatQuotaRowLabel, getCollapsedAccounts, getCollapsedQuotaSummary, getFableRecoverySummary, getSidebarState, resolveActiveAccount, SEVEN_DAY_MS } from "./sidebar-state.js";
|
|
19
21
|
import { openCommandDialog, openNativeMenuDialog } from "./tui/command-dialogs.js";
|
|
20
22
|
import { computeEffectiveOrder, DEFAULT_SLOT_ORDER, PLUGIN_KEY, queueTuiPreferenceUpdate, readTuiPreferencesFile, resolveAnthropicAuthPrefs, watchTuiPreferences } from "./tui-preferences.js";
|
|
21
23
|
const RPC_POLL_MS = 500;
|
|
@@ -198,14 +200,87 @@ function CollapsedRow(props) {
|
|
|
198
200
|
return _el$8;
|
|
199
201
|
})();
|
|
200
202
|
}
|
|
203
|
+
function CollapsedAccountRow(props) {
|
|
204
|
+
const [width, setWidth] = createSignal(40);
|
|
205
|
+
let row;
|
|
206
|
+
const summary = () => getCollapsedQuotaSummary(props.account.quota);
|
|
207
|
+
const value = () => summary().text ?? '—';
|
|
208
|
+
const labelWidth = () => Math.max(0, width() - Bun.stringWidth(value()) - 1);
|
|
209
|
+
const dim = () => !props.account.active || props.account.quotaDated || summary().stale;
|
|
210
|
+
const attributes = () => dim() ? TextAttributes.DIM : TextAttributes.BOLD;
|
|
211
|
+
const color = () => dim() ? props.theme.textMuted : toneColor(props.theme, props.tone);
|
|
212
|
+
return (() => {
|
|
213
|
+
var _el$0 = _$createElement("box"),
|
|
214
|
+
_el$12 = _$createElement("text");
|
|
215
|
+
_$insertNode(_el$0, _el$12);
|
|
216
|
+
_$use(element => {
|
|
217
|
+
row = element;
|
|
218
|
+
setWidth(element.width || 40);
|
|
219
|
+
}, _el$0);
|
|
220
|
+
_$setProp(_el$0, "width", '100%');
|
|
221
|
+
_$setProp(_el$0, "height", 1);
|
|
222
|
+
_$setProp(_el$0, "flexDirection", 'row');
|
|
223
|
+
_$setProp(_el$0, "onSizeChange", () => setWidth(row?.width || 40));
|
|
224
|
+
_$insert(_el$0, _$createComponent(Show, {
|
|
225
|
+
get when() {
|
|
226
|
+
return labelWidth() > 0;
|
|
227
|
+
},
|
|
228
|
+
get children() {
|
|
229
|
+
return [(() => {
|
|
230
|
+
var _el$1 = _$createElement("text");
|
|
231
|
+
_$setProp(_el$1, "flexShrink", 0);
|
|
232
|
+
_$setProp(_el$1, "wrapMode", 'none');
|
|
233
|
+
_$insert(_el$1, () => formatQuotaRowLabel(props.account.name, labelWidth()));
|
|
234
|
+
_$effect(_p$ => {
|
|
235
|
+
var _v$5 = labelWidth(),
|
|
236
|
+
_v$6 = color(),
|
|
237
|
+
_v$7 = attributes();
|
|
238
|
+
_v$5 !== _p$.e && (_p$.e = _$setProp(_el$1, "width", _v$5, _p$.e));
|
|
239
|
+
_v$6 !== _p$.t && (_p$.t = _$setProp(_el$1, "fg", _v$6, _p$.t));
|
|
240
|
+
_v$7 !== _p$.a && (_p$.a = _$setProp(_el$1, "attributes", _v$7, _p$.a));
|
|
241
|
+
return _p$;
|
|
242
|
+
}, {
|
|
243
|
+
e: undefined,
|
|
244
|
+
t: undefined,
|
|
245
|
+
a: undefined
|
|
246
|
+
});
|
|
247
|
+
return _el$1;
|
|
248
|
+
})(), (() => {
|
|
249
|
+
var _el$10 = _$createElement("text");
|
|
250
|
+
_$insertNode(_el$10, _$createTextNode(` `));
|
|
251
|
+
_$setProp(_el$10, "width", 1);
|
|
252
|
+
_$setProp(_el$10, "flexShrink", 0);
|
|
253
|
+
return _el$10;
|
|
254
|
+
})()];
|
|
255
|
+
}
|
|
256
|
+
}), _el$12);
|
|
257
|
+
_$setProp(_el$12, "flexShrink", 0);
|
|
258
|
+
_$setProp(_el$12, "wrapMode", 'none');
|
|
259
|
+
_$insert(_el$12, value);
|
|
260
|
+
_$effect(_p$ => {
|
|
261
|
+
var _v$8 = Bun.stringWidth(value()),
|
|
262
|
+
_v$9 = color(),
|
|
263
|
+
_v$0 = attributes();
|
|
264
|
+
_v$8 !== _p$.e && (_p$.e = _$setProp(_el$12, "width", _v$8, _p$.e));
|
|
265
|
+
_v$9 !== _p$.t && (_p$.t = _$setProp(_el$12, "fg", _v$9, _p$.t));
|
|
266
|
+
_v$0 !== _p$.a && (_p$.a = _$setProp(_el$12, "attributes", _v$0, _p$.a));
|
|
267
|
+
return _p$;
|
|
268
|
+
}, {
|
|
269
|
+
e: undefined,
|
|
270
|
+
t: undefined,
|
|
271
|
+
a: undefined
|
|
272
|
+
});
|
|
273
|
+
return _el$0;
|
|
274
|
+
})();
|
|
275
|
+
}
|
|
201
276
|
|
|
202
|
-
// Quota window row: muted label left, tone-colored bar +
|
|
277
|
+
// Quota window row: muted label left, tone-colored bar + shared figure right,
|
|
203
278
|
// with an optional muted reset suffix. When pacing data is present, the bar
|
|
204
279
|
// gains a pace segment and an off-pace window adds a muted subline with the
|
|
205
280
|
// reserve/deficit delta and the projected runout.
|
|
206
281
|
function QuotaRow(props) {
|
|
207
|
-
const used = () => props.
|
|
208
|
-
const reset = () =>
|
|
282
|
+
const used = () => props.usedPercent ?? 0;
|
|
283
|
+
const reset = () => props.part?.resetIn;
|
|
209
284
|
const paceLine = () => {
|
|
210
285
|
const pacing = props.pacing;
|
|
211
286
|
if (!pacing || pacing.state === 'on-pace') return null;
|
|
@@ -215,147 +290,179 @@ function QuotaRow(props) {
|
|
|
215
290
|
};
|
|
216
291
|
return _$createComponent(Show, {
|
|
217
292
|
get when() {
|
|
218
|
-
return props.
|
|
293
|
+
return props.part;
|
|
219
294
|
},
|
|
220
295
|
get fallback() {
|
|
221
296
|
return (() => {
|
|
222
|
-
var _el$
|
|
223
|
-
_el$
|
|
224
|
-
_el$
|
|
225
|
-
_$insertNode(_el$
|
|
226
|
-
_$insertNode(_el$
|
|
227
|
-
_$setProp(_el$
|
|
228
|
-
_$setProp(_el$
|
|
229
|
-
_$insert(_el$
|
|
230
|
-
_$insertNode(_el$
|
|
297
|
+
var _el$21 = _$createElement("box"),
|
|
298
|
+
_el$22 = _$createElement("text"),
|
|
299
|
+
_el$23 = _$createElement("text");
|
|
300
|
+
_$insertNode(_el$21, _el$22);
|
|
301
|
+
_$insertNode(_el$21, _el$23);
|
|
302
|
+
_$setProp(_el$21, "width", '100%');
|
|
303
|
+
_$setProp(_el$21, "flexDirection", 'row');
|
|
304
|
+
_$insert(_el$22, () => `${formatQuotaRowLabel(props.label)} `);
|
|
305
|
+
_$insertNode(_el$23, _$createTextNode(`—`));
|
|
231
306
|
_$effect(_p$ => {
|
|
232
|
-
var _v$
|
|
233
|
-
_v$
|
|
234
|
-
_v$
|
|
235
|
-
_v$
|
|
307
|
+
var _v$13 = props.theme.textMuted,
|
|
308
|
+
_v$14 = props.theme.textMuted;
|
|
309
|
+
_v$13 !== _p$.e && (_p$.e = _$setProp(_el$22, "fg", _v$13, _p$.e));
|
|
310
|
+
_v$14 !== _p$.t && (_p$.t = _$setProp(_el$23, "fg", _v$14, _p$.t));
|
|
236
311
|
return _p$;
|
|
237
312
|
}, {
|
|
238
313
|
e: undefined,
|
|
239
314
|
t: undefined
|
|
240
315
|
});
|
|
241
|
-
return _el$
|
|
316
|
+
return _el$21;
|
|
242
317
|
})();
|
|
243
318
|
},
|
|
244
319
|
get children() {
|
|
245
320
|
return [(() => {
|
|
246
|
-
var _el$
|
|
247
|
-
_el$
|
|
248
|
-
_el$
|
|
249
|
-
_el$
|
|
250
|
-
_$insertNode(_el$
|
|
251
|
-
_$setProp(_el$
|
|
252
|
-
_$setProp(_el$
|
|
253
|
-
_$setProp(_el$
|
|
254
|
-
_$insertNode(_el$
|
|
255
|
-
_$insertNode(_el$
|
|
256
|
-
_$setProp(_el$
|
|
257
|
-
_$insert(_el$
|
|
258
|
-
_$insert(_el$
|
|
321
|
+
var _el$13 = _$createElement("box"),
|
|
322
|
+
_el$14 = _$createElement("box"),
|
|
323
|
+
_el$15 = _$createElement("text"),
|
|
324
|
+
_el$16 = _$createElement("text");
|
|
325
|
+
_$insertNode(_el$13, _el$14);
|
|
326
|
+
_$setProp(_el$13, "width", '100%');
|
|
327
|
+
_$setProp(_el$13, "flexDirection", 'row');
|
|
328
|
+
_$setProp(_el$13, "justifyContent", 'space-between');
|
|
329
|
+
_$insertNode(_el$14, _el$15);
|
|
330
|
+
_$insertNode(_el$14, _el$16);
|
|
331
|
+
_$setProp(_el$14, "flexDirection", 'row');
|
|
332
|
+
_$insert(_el$15, () => `${formatQuotaRowLabel(props.label)} `);
|
|
333
|
+
_$insert(_el$14, _$createComponent(For, {
|
|
259
334
|
get each() {
|
|
260
335
|
return quotaBarSegments(used(), props.appearance, props.pacing);
|
|
261
336
|
},
|
|
262
337
|
children: segment => (() => {
|
|
263
|
-
var _el$
|
|
264
|
-
_$insert(_el$
|
|
265
|
-
_$effect(_$p => _$setProp(_el$
|
|
266
|
-
return _el$
|
|
338
|
+
var _el$25 = _$createElement("text");
|
|
339
|
+
_$insert(_el$25, () => segment.text);
|
|
340
|
+
_$effect(_$p => _$setProp(_el$25, "fg", toneColor(props.theme, segment.tone), _$p));
|
|
341
|
+
return _el$25;
|
|
267
342
|
})()
|
|
268
|
-
}), _el$
|
|
269
|
-
_$insert(_el$
|
|
270
|
-
_$insert(_el$
|
|
343
|
+
}), _el$16);
|
|
344
|
+
_$insert(_el$16, () => ` ${props.part?.figure}${props.binding ? ' •' : ''}`);
|
|
345
|
+
_$insert(_el$13, _$createComponent(Show, {
|
|
271
346
|
get when() {
|
|
272
347
|
return reset();
|
|
273
348
|
},
|
|
274
349
|
get children() {
|
|
275
|
-
var _el$
|
|
276
|
-
_$insert(_el$
|
|
277
|
-
_$effect(_$p => _$setProp(_el$
|
|
278
|
-
return _el$
|
|
350
|
+
var _el$17 = _$createElement("text");
|
|
351
|
+
_$insert(_el$17, reset);
|
|
352
|
+
_$effect(_$p => _$setProp(_el$17, "fg", props.theme.textMuted, _$p));
|
|
353
|
+
return _el$17;
|
|
279
354
|
}
|
|
280
355
|
}), null);
|
|
281
356
|
_$effect(_p$ => {
|
|
282
|
-
var _v$
|
|
283
|
-
_v$
|
|
284
|
-
_v$
|
|
285
|
-
_v$
|
|
357
|
+
var _v$1 = props.theme.textMuted,
|
|
358
|
+
_v$10 = toneColor(props.theme, usageTone(used(), props.appearance));
|
|
359
|
+
_v$1 !== _p$.e && (_p$.e = _$setProp(_el$15, "fg", _v$1, _p$.e));
|
|
360
|
+
_v$10 !== _p$.t && (_p$.t = _$setProp(_el$16, "fg", _v$10, _p$.t));
|
|
286
361
|
return _p$;
|
|
287
362
|
}, {
|
|
288
363
|
e: undefined,
|
|
289
364
|
t: undefined
|
|
290
365
|
});
|
|
291
|
-
return _el$
|
|
366
|
+
return _el$13;
|
|
292
367
|
})(), _$createComponent(Show, {
|
|
293
368
|
get when() {
|
|
294
369
|
return paceLine();
|
|
295
370
|
},
|
|
296
371
|
get children() {
|
|
297
|
-
var _el$
|
|
298
|
-
_el$
|
|
299
|
-
_el$
|
|
300
|
-
_$insertNode(_el$
|
|
301
|
-
_$insertNode(_el$
|
|
302
|
-
_$setProp(_el$
|
|
303
|
-
_$setProp(_el$
|
|
304
|
-
_$
|
|
305
|
-
_$insert(_el$
|
|
372
|
+
var _el$18 = _$createElement("box"),
|
|
373
|
+
_el$19 = _$createElement("text"),
|
|
374
|
+
_el$20 = _$createElement("text");
|
|
375
|
+
_$insertNode(_el$18, _el$19);
|
|
376
|
+
_$insertNode(_el$18, _el$20);
|
|
377
|
+
_$setProp(_el$18, "width", '100%');
|
|
378
|
+
_$setProp(_el$18, "flexDirection", 'row');
|
|
379
|
+
_$insert(_el$19, () => formatQuotaRowLabel('', 11));
|
|
380
|
+
_$insert(_el$20, paceLine);
|
|
306
381
|
_$effect(_p$ => {
|
|
307
|
-
var _v$
|
|
308
|
-
_v$
|
|
309
|
-
_v$
|
|
310
|
-
_v$
|
|
382
|
+
var _v$11 = props.theme.textMuted,
|
|
383
|
+
_v$12 = toneColor(props.theme, props.pacing?.state === 'deficit' ? 'warn' : 'muted');
|
|
384
|
+
_v$11 !== _p$.e && (_p$.e = _$setProp(_el$19, "fg", _v$11, _p$.e));
|
|
385
|
+
_v$12 !== _p$.t && (_p$.t = _$setProp(_el$20, "fg", _v$12, _p$.t));
|
|
311
386
|
return _p$;
|
|
312
387
|
}, {
|
|
313
388
|
e: undefined,
|
|
314
389
|
t: undefined
|
|
315
390
|
});
|
|
316
|
-
return _el$
|
|
391
|
+
return _el$18;
|
|
317
392
|
}
|
|
318
393
|
})];
|
|
319
394
|
}
|
|
320
395
|
});
|
|
321
396
|
}
|
|
322
397
|
|
|
398
|
+
// The shared credit figure followed by the spent and limit amounts:
|
|
399
|
+
// `credits 75% left · $25.00/$100.00`. When that line is wider than the
|
|
400
|
+
// measured width, the amounts drop their cents (`$1,250/$5,000`) instead of
|
|
401
|
+
// wrapping onto a second line.
|
|
402
|
+
function creditLine(figure, extraUsage, width) {
|
|
403
|
+
const amounts = formatCreditAmounts(extraUsage);
|
|
404
|
+
if (!amounts) return figure;
|
|
405
|
+
const line = `${figure} · ${amounts}`;
|
|
406
|
+
if (width === undefined || Bun.stringWidth(line) <= width) return line;
|
|
407
|
+
return `${figure} · ${formatCreditAmounts(extraUsage, {
|
|
408
|
+
wholeUnits: true
|
|
409
|
+
})}`;
|
|
410
|
+
}
|
|
411
|
+
|
|
323
412
|
// Account block: header row (name + status word) then per-window quota rows.
|
|
324
413
|
// Pacing is computed here — per window, against the wall clock at render time
|
|
325
414
|
// (re-evaluated on every state poll) — and disabled by passing false.
|
|
326
415
|
function AccountBlock(props) {
|
|
327
|
-
const statusWord = () => props.needsReauth ? 're-login' : props.vaultReauth ? 'vault
|
|
328
|
-
const statusTone = () => props.needsReauth || props.vaultReauth ? 'warn' : props.active ? 'ok' : 'muted';
|
|
329
|
-
const pacingFor = (window, windowMs) => props.pacingEnabled && window ? computeQuotaPacing(window, windowMs, Date.now()) : null;
|
|
416
|
+
const statusWord = () => props.quotaDated && props.quota ? 'dated' : props.needsReauth ? 're-login' : props.vaultReauth ? 'needs sign-in in the vault' : props.active ? 'active' : 'idle';
|
|
417
|
+
const statusTone = () => props.needsReauth || props.vaultReauth || props.stateLine ? 'warn' : props.active ? 'ok' : 'muted';
|
|
418
|
+
const pacingFor = (window, windowMs) => props.pacingEnabled && !props.quotaDated && window ? computeQuotaPacing(window, windowMs, Date.now()) : null;
|
|
419
|
+
const parts = () => {
|
|
420
|
+
const now = Date.now();
|
|
421
|
+
return quotaWindowParts(quotaDisplayProjection(props.quota, now), {
|
|
422
|
+
now
|
|
423
|
+
});
|
|
424
|
+
};
|
|
425
|
+
const partFor = name => parts().windows.find(part => part.name === name);
|
|
330
426
|
return (() => {
|
|
331
|
-
var _el$
|
|
332
|
-
_el$
|
|
333
|
-
_el$
|
|
334
|
-
_el$
|
|
335
|
-
_el$
|
|
336
|
-
_el$
|
|
337
|
-
_$insertNode(_el$22, _el$23);
|
|
338
|
-
_$setProp(_el$22, "width", '100%');
|
|
339
|
-
_$setProp(_el$22, "flexDirection", 'column');
|
|
340
|
-
_$insertNode(_el$23, _el$24);
|
|
341
|
-
_$insertNode(_el$23, _el$26);
|
|
342
|
-
_$setProp(_el$23, "width", '100%');
|
|
343
|
-
_$setProp(_el$23, "flexDirection", 'row');
|
|
344
|
-
_$setProp(_el$23, "justifyContent", 'space-between');
|
|
345
|
-
_$insertNode(_el$24, _el$25);
|
|
346
|
-
_$insert(_el$25, () => `${props.name}${props.tierLabel ? ` · ${props.tierLabel}` : ''}`);
|
|
427
|
+
var _el$26 = _$createElement("box"),
|
|
428
|
+
_el$27 = _$createElement("box"),
|
|
429
|
+
_el$28 = _$createElement("text"),
|
|
430
|
+
_el$29 = _$createElement("b"),
|
|
431
|
+
_el$30 = _$createElement("text"),
|
|
432
|
+
_el$31 = _$createElement("b");
|
|
347
433
|
_$insertNode(_el$26, _el$27);
|
|
348
|
-
_$
|
|
349
|
-
_$
|
|
434
|
+
_$setProp(_el$26, "width", '100%');
|
|
435
|
+
_$setProp(_el$26, "flexDirection", 'column');
|
|
436
|
+
_$insertNode(_el$27, _el$28);
|
|
437
|
+
_$insertNode(_el$27, _el$30);
|
|
438
|
+
_$setProp(_el$27, "width", '100%');
|
|
439
|
+
_$setProp(_el$27, "flexDirection", 'row');
|
|
440
|
+
_$setProp(_el$27, "justifyContent", 'space-between');
|
|
441
|
+
_$insertNode(_el$28, _el$29);
|
|
442
|
+
_$insert(_el$29, () => `${props.name}${props.tierLabel ? ` · ${props.tierLabel}` : ''}`);
|
|
443
|
+
_$insertNode(_el$30, _el$31);
|
|
444
|
+
_$insert(_el$31, statusWord);
|
|
445
|
+
_$insert(_el$26, _$createComponent(Show, {
|
|
446
|
+
get when() {
|
|
447
|
+
return props.stateLine;
|
|
448
|
+
},
|
|
449
|
+
get children() {
|
|
450
|
+
var _el$32 = _$createElement("text");
|
|
451
|
+
_$insert(_el$32, () => props.stateLine);
|
|
452
|
+
_$effect(_$p => _$setProp(_el$32, "fg", props.theme.textMuted, _$p));
|
|
453
|
+
return _el$32;
|
|
454
|
+
}
|
|
455
|
+
}), null);
|
|
456
|
+
_$insert(_el$26, _$createComponent(Show, {
|
|
350
457
|
get when() {
|
|
351
458
|
return props.quota;
|
|
352
459
|
},
|
|
353
460
|
get fallback() {
|
|
354
461
|
return (() => {
|
|
355
|
-
var _el$
|
|
356
|
-
_$insertNode(_el$
|
|
357
|
-
_$effect(_$p => _$setProp(_el$
|
|
358
|
-
return _el$
|
|
462
|
+
var _el$36 = _$createElement("text");
|
|
463
|
+
_$insertNode(_el$36, _$createTextNode(`checking…`));
|
|
464
|
+
_$effect(_$p => _$setProp(_el$36, "fg", props.theme.textMuted, _$p));
|
|
465
|
+
return _el$36;
|
|
359
466
|
})();
|
|
360
467
|
},
|
|
361
468
|
get children() {
|
|
@@ -367,8 +474,11 @@ function AccountBlock(props) {
|
|
|
367
474
|
return props.appearance;
|
|
368
475
|
},
|
|
369
476
|
label: "5h",
|
|
370
|
-
get
|
|
371
|
-
return
|
|
477
|
+
get part() {
|
|
478
|
+
return partFor('5h');
|
|
479
|
+
},
|
|
480
|
+
get usedPercent() {
|
|
481
|
+
return props.quota?.five_hour?.usedPercent;
|
|
372
482
|
},
|
|
373
483
|
get pacing() {
|
|
374
484
|
return pacingFor(props.quota?.five_hour, FIVE_HOUR_MS);
|
|
@@ -384,8 +494,11 @@ function AccountBlock(props) {
|
|
|
384
494
|
return props.appearance;
|
|
385
495
|
},
|
|
386
496
|
label: "7d",
|
|
387
|
-
get
|
|
388
|
-
return
|
|
497
|
+
get part() {
|
|
498
|
+
return partFor('7d');
|
|
499
|
+
},
|
|
500
|
+
get usedPercent() {
|
|
501
|
+
return props.quota?.seven_day?.usedPercent;
|
|
389
502
|
},
|
|
390
503
|
get pacing() {
|
|
391
504
|
return pacingFor(props.quota?.seven_day, SEVEN_DAY_MS);
|
|
@@ -405,9 +518,14 @@ function AccountBlock(props) {
|
|
|
405
518
|
return props.appearance;
|
|
406
519
|
},
|
|
407
520
|
get label() {
|
|
408
|
-
return
|
|
521
|
+
return partFor(window.title)?.name ?? window.title;
|
|
522
|
+
},
|
|
523
|
+
get part() {
|
|
524
|
+
return partFor(window.title);
|
|
525
|
+
},
|
|
526
|
+
get usedPercent() {
|
|
527
|
+
return window.usedPercent;
|
|
409
528
|
},
|
|
410
|
-
window: window,
|
|
411
529
|
get pacing() {
|
|
412
530
|
return pacingFor(window, SEVEN_DAY_MS);
|
|
413
531
|
},
|
|
@@ -417,44 +535,67 @@ function AccountBlock(props) {
|
|
|
417
535
|
})
|
|
418
536
|
}), _$createComponent(Show, {
|
|
419
537
|
get when() {
|
|
420
|
-
return
|
|
538
|
+
return partFor('credits');
|
|
421
539
|
},
|
|
422
|
-
children:
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
540
|
+
children: budget => {
|
|
541
|
+
// The line box's laid-out width, read when it mounts and on each
|
|
542
|
+
// resize. It is undefined (amounts keep their cents) until layout.
|
|
543
|
+
const [width, setWidth] = createSignal();
|
|
544
|
+
let line;
|
|
545
|
+
return (() => {
|
|
546
|
+
var _el$38 = _$createElement("box"),
|
|
547
|
+
_el$39 = _$createElement("text");
|
|
548
|
+
_$insertNode(_el$38, _el$39);
|
|
549
|
+
_$use(element => {
|
|
550
|
+
line = element;
|
|
551
|
+
setWidth(element.width || undefined);
|
|
552
|
+
}, _el$38);
|
|
553
|
+
_$setProp(_el$38, "width", '100%');
|
|
554
|
+
_$setProp(_el$38, "onSizeChange", () => setWidth(line?.width || undefined));
|
|
555
|
+
_$insert(_el$39, () => creditLine(budget().figure, props.quota?.extraUsage, width()));
|
|
556
|
+
_$effect(_$p => _$setProp(_el$39, "fg", toneColor(props.theme, props.quota?.extraUsage?.severity === 'critical' ? 'err' : props.quota?.extraUsage?.severity === 'warning' || props.quota?.extraUsage?.exhausted ? 'warn' : 'muted'), _$p));
|
|
557
|
+
return _el$38;
|
|
558
|
+
})();
|
|
559
|
+
}
|
|
560
|
+
}), _$createComponent(Show, {
|
|
561
|
+
get when() {
|
|
562
|
+
return parts().age;
|
|
563
|
+
},
|
|
564
|
+
get children() {
|
|
565
|
+
var _el$33 = _$createElement("text");
|
|
566
|
+
_$insert(_el$33, () => parts().age);
|
|
567
|
+
_$effect(_$p => _$setProp(_el$33, "fg", props.theme.textMuted, _$p));
|
|
568
|
+
return _el$33;
|
|
569
|
+
}
|
|
428
570
|
}), _$createComponent(Show, {
|
|
429
571
|
get when() {
|
|
430
572
|
return props.quota?.fallbackAdvised === true;
|
|
431
573
|
},
|
|
432
574
|
get children() {
|
|
433
|
-
var _el$
|
|
434
|
-
_$insertNode(_el$
|
|
435
|
-
_$effect(_$p => _$setProp(_el$
|
|
436
|
-
return _el$
|
|
575
|
+
var _el$34 = _$createElement("text");
|
|
576
|
+
_$insertNode(_el$34, _$createTextNode(`→ fallback advised`));
|
|
577
|
+
_$effect(_$p => _$setProp(_el$34, "fg", props.theme.textMuted, _$p));
|
|
578
|
+
return _el$34;
|
|
437
579
|
}
|
|
438
580
|
})];
|
|
439
581
|
}
|
|
440
582
|
}), null);
|
|
441
583
|
_$effect(_p$ => {
|
|
442
|
-
var _v$
|
|
443
|
-
_v$
|
|
444
|
-
_v$
|
|
445
|
-
_v$
|
|
446
|
-
_v$
|
|
447
|
-
_v$
|
|
584
|
+
var _v$15 = props.marginTop ?? 0,
|
|
585
|
+
_v$16 = props.theme.text,
|
|
586
|
+
_v$17 = toneColor(props.theme, statusTone());
|
|
587
|
+
_v$15 !== _p$.e && (_p$.e = _$setProp(_el$26, "marginTop", _v$15, _p$.e));
|
|
588
|
+
_v$16 !== _p$.t && (_p$.t = _$setProp(_el$28, "fg", _v$16, _p$.t));
|
|
589
|
+
_v$17 !== _p$.a && (_p$.a = _$setProp(_el$30, "fg", _v$17, _p$.a));
|
|
448
590
|
return _p$;
|
|
449
591
|
}, {
|
|
450
592
|
e: undefined,
|
|
451
593
|
t: undefined,
|
|
452
594
|
a: undefined
|
|
453
595
|
});
|
|
454
|
-
return _el$
|
|
596
|
+
return _el$26;
|
|
455
597
|
})();
|
|
456
598
|
}
|
|
457
|
-
export { formatQuotaMoney };
|
|
458
599
|
|
|
459
600
|
// --- Quota dialog content ---------------------------------------------------
|
|
460
601
|
|
|
@@ -477,28 +618,28 @@ function QuotaDialogContent(props) {
|
|
|
477
618
|
});
|
|
478
619
|
setTimeout(refresh, 0);
|
|
479
620
|
const theme = () => props.api.theme.current;
|
|
480
|
-
const enabledFallbacks = () => (state().fallbacks ?? []).filter(f => f.enabled);
|
|
621
|
+
const enabledFallbacks = () => (state().fallbacks ?? []).filter(f => f.enabled || f.custodyState && f.custodyState !== 'off');
|
|
481
622
|
return (() => {
|
|
482
|
-
var _el$
|
|
483
|
-
_el$
|
|
484
|
-
_el$
|
|
485
|
-
_el$
|
|
486
|
-
_el$
|
|
487
|
-
_$insertNode(_el$
|
|
488
|
-
_$setProp(_el$
|
|
489
|
-
_$setProp(_el$
|
|
490
|
-
_$setProp(_el$
|
|
491
|
-
_$setProp(_el$
|
|
492
|
-
_$insertNode(_el$
|
|
493
|
-
_$setProp(_el$
|
|
494
|
-
_$setProp(_el$
|
|
495
|
-
_$insertNode(_el$
|
|
496
|
-
_$setProp(_el$
|
|
497
|
-
_$setProp(_el$
|
|
498
|
-
_$setProp(_el$
|
|
499
|
-
_$insertNode(_el$
|
|
500
|
-
_$insertNode(_el$
|
|
501
|
-
_$insert(_el$
|
|
623
|
+
var _el$40 = _$createElement("box"),
|
|
624
|
+
_el$41 = _$createElement("box"),
|
|
625
|
+
_el$42 = _$createElement("box"),
|
|
626
|
+
_el$43 = _$createElement("text"),
|
|
627
|
+
_el$44 = _$createElement("b");
|
|
628
|
+
_$insertNode(_el$40, _el$41);
|
|
629
|
+
_$setProp(_el$40, "flexDirection", 'column');
|
|
630
|
+
_$setProp(_el$40, "padding", 2);
|
|
631
|
+
_$setProp(_el$40, "width", '100%');
|
|
632
|
+
_$setProp(_el$40, "alignItems", 'center');
|
|
633
|
+
_$insertNode(_el$41, _el$42);
|
|
634
|
+
_$setProp(_el$41, "flexDirection", 'column');
|
|
635
|
+
_$setProp(_el$41, "width", 58);
|
|
636
|
+
_$insertNode(_el$42, _el$43);
|
|
637
|
+
_$setProp(_el$42, "width", '100%');
|
|
638
|
+
_$setProp(_el$42, "justifyContent", 'center');
|
|
639
|
+
_$setProp(_el$42, "marginBottom", 1);
|
|
640
|
+
_$insertNode(_el$43, _el$44);
|
|
641
|
+
_$insertNode(_el$44, _$createTextNode(`Quota`));
|
|
642
|
+
_$insert(_el$41, _$createComponent(AccountBlock, {
|
|
502
643
|
get theme() {
|
|
503
644
|
return theme();
|
|
504
645
|
},
|
|
@@ -517,9 +658,15 @@ function QuotaDialogContent(props) {
|
|
|
517
658
|
},
|
|
518
659
|
get tierLabel() {
|
|
519
660
|
return state().main?.tierLabel;
|
|
661
|
+
},
|
|
662
|
+
get stateLine() {
|
|
663
|
+
return state().main?.stateLine;
|
|
664
|
+
},
|
|
665
|
+
get quotaDated() {
|
|
666
|
+
return state().main?.quotaDated;
|
|
520
667
|
}
|
|
521
668
|
}), null);
|
|
522
|
-
_$insert(_el$
|
|
669
|
+
_$insert(_el$41, _$createComponent(Show, {
|
|
523
670
|
get when() {
|
|
524
671
|
return prefs().sections.fallbackAccounts;
|
|
525
672
|
},
|
|
@@ -553,13 +700,22 @@ function QuotaDialogContent(props) {
|
|
|
553
700
|
get needsReauth() {
|
|
554
701
|
return fb.needsReauth;
|
|
555
702
|
},
|
|
703
|
+
get vaultReauth() {
|
|
704
|
+
return fb.vaultReauth;
|
|
705
|
+
},
|
|
706
|
+
get stateLine() {
|
|
707
|
+
return fb.stateLine;
|
|
708
|
+
},
|
|
709
|
+
get quotaDated() {
|
|
710
|
+
return fb.quotaDated;
|
|
711
|
+
},
|
|
556
712
|
marginTop: 1
|
|
557
713
|
})
|
|
558
714
|
});
|
|
559
715
|
}
|
|
560
716
|
}), null);
|
|
561
|
-
_$effect(_$p => _$setProp(_el$
|
|
562
|
-
return _el$
|
|
717
|
+
_$effect(_$p => _$setProp(_el$43, "fg", theme().text, _$p));
|
|
718
|
+
return _el$40;
|
|
563
719
|
})();
|
|
564
720
|
}
|
|
565
721
|
|
|
@@ -651,8 +807,8 @@ function QuotaSidebar(props) {
|
|
|
651
807
|
for (const u of unsubs) u();
|
|
652
808
|
});
|
|
653
809
|
const theme = () => props.api.theme.current;
|
|
654
|
-
const enabledFallbacks = () => (state().fallbacks ?? []).filter(f => f.enabled);
|
|
655
|
-
const hasData = () => state().main?.quota != null || enabledFallbacks().length > 0;
|
|
810
|
+
const enabledFallbacks = () => (state().fallbacks ?? []).filter(f => f.enabled || f.custodyState && f.custodyState !== 'off');
|
|
811
|
+
const hasData = () => state().main?.quota != null || state().main?.stateLine != null || enabledFallbacks().length > 0;
|
|
656
812
|
const headerLabel = () => {
|
|
657
813
|
const name = prefs().header.label;
|
|
658
814
|
return !hasData() ? name : collapsed() ? `\u25b6 ${name}` : `\u25bc ${name}`;
|
|
@@ -661,6 +817,7 @@ function QuotaSidebar(props) {
|
|
|
661
817
|
const activeQuotaSummary = () => getCollapsedQuotaSummary(activeAccount().quota);
|
|
662
818
|
const activePacingDeficit = () => {
|
|
663
819
|
if (!prefs().sections.pacing) return false;
|
|
820
|
+
if (activeAccount().quotaDated) return null;
|
|
664
821
|
const quota = activeAccount().quota;
|
|
665
822
|
if (!quota) return false;
|
|
666
823
|
const now = Date.now();
|
|
@@ -695,33 +852,33 @@ function QuotaSidebar(props) {
|
|
|
695
852
|
return `${r.transport} \u00b7 ${r.enabled ? 'on' : 'off'}`;
|
|
696
853
|
};
|
|
697
854
|
return (() => {
|
|
698
|
-
var _el$
|
|
699
|
-
_el$
|
|
700
|
-
_el$
|
|
701
|
-
_el$
|
|
702
|
-
_el$
|
|
703
|
-
_$insertNode(_el$
|
|
704
|
-
_$setProp(_el$
|
|
705
|
-
_$setProp(_el$
|
|
706
|
-
_$setProp(_el$
|
|
707
|
-
_$setProp(_el$
|
|
708
|
-
_$setProp(_el$
|
|
709
|
-
_$setProp(_el$
|
|
710
|
-
_$setProp(_el$
|
|
711
|
-
_$insertNode(_el$
|
|
712
|
-
_$setProp(_el$
|
|
713
|
-
_$setProp(_el$
|
|
714
|
-
_$setProp(_el$
|
|
715
|
-
_$setProp(_el$
|
|
716
|
-
_$setProp(_el$
|
|
855
|
+
var _el$46 = _$createElement("box"),
|
|
856
|
+
_el$47 = _$createElement("box"),
|
|
857
|
+
_el$48 = _$createElement("box"),
|
|
858
|
+
_el$49 = _$createElement("text"),
|
|
859
|
+
_el$50 = _$createElement("b");
|
|
860
|
+
_$insertNode(_el$46, _el$47);
|
|
861
|
+
_$setProp(_el$46, "width", '100%');
|
|
862
|
+
_$setProp(_el$46, "flexDirection", 'column');
|
|
863
|
+
_$setProp(_el$46, "border", SINGLE_BORDER);
|
|
864
|
+
_$setProp(_el$46, "paddingTop", 1);
|
|
865
|
+
_$setProp(_el$46, "paddingBottom", 1);
|
|
866
|
+
_$setProp(_el$46, "paddingLeft", 1);
|
|
867
|
+
_$setProp(_el$46, "paddingRight", 1);
|
|
868
|
+
_$insertNode(_el$47, _el$48);
|
|
869
|
+
_$setProp(_el$47, "width", '100%');
|
|
870
|
+
_$setProp(_el$47, "flexDirection", 'row');
|
|
871
|
+
_$setProp(_el$47, "justifyContent", 'space-between');
|
|
872
|
+
_$setProp(_el$47, "alignItems", 'center');
|
|
873
|
+
_$setProp(_el$47, "onMouseDown", () => {
|
|
717
874
|
if (hasData()) props.controller.toggleCollapsed();
|
|
718
875
|
});
|
|
719
|
-
_$insertNode(_el$
|
|
720
|
-
_$setProp(_el$
|
|
721
|
-
_$setProp(_el$
|
|
722
|
-
_$insertNode(_el$
|
|
723
|
-
_$insert(_el$
|
|
724
|
-
_$insert(_el$
|
|
876
|
+
_$insertNode(_el$48, _el$49);
|
|
877
|
+
_$setProp(_el$48, "paddingLeft", 1);
|
|
878
|
+
_$setProp(_el$48, "paddingRight", 1);
|
|
879
|
+
_$insertNode(_el$49, _el$50);
|
|
880
|
+
_$insert(_el$50, headerLabel);
|
|
881
|
+
_$insert(_el$47, _$createComponent(Show, {
|
|
725
882
|
get when() {
|
|
726
883
|
return degraded();
|
|
727
884
|
},
|
|
@@ -731,70 +888,55 @@ function QuotaSidebar(props) {
|
|
|
731
888
|
return prefs().header.showVersion && PLUGIN_VERSION !== '';
|
|
732
889
|
},
|
|
733
890
|
get children() {
|
|
734
|
-
var _el$
|
|
735
|
-
_$insert(_el$
|
|
736
|
-
_$effect(_$p => _$setProp(_el$
|
|
737
|
-
return _el$
|
|
891
|
+
var _el$58 = _$createElement("text");
|
|
892
|
+
_$insert(_el$58, `v${PLUGIN_VERSION}`);
|
|
893
|
+
_$effect(_$p => _$setProp(_el$58, "fg", theme().textMuted, _$p));
|
|
894
|
+
return _el$58;
|
|
738
895
|
}
|
|
739
896
|
});
|
|
740
897
|
},
|
|
741
898
|
get children() {
|
|
742
|
-
var _el$
|
|
743
|
-
_el$
|
|
744
|
-
_el$
|
|
745
|
-
_$insertNode(_el$
|
|
746
|
-
_$setProp(_el$
|
|
747
|
-
_$setProp(_el$
|
|
748
|
-
_$insertNode(_el$
|
|
749
|
-
_$insertNode(_el$
|
|
899
|
+
var _el$51 = _$createElement("box"),
|
|
900
|
+
_el$52 = _$createElement("text"),
|
|
901
|
+
_el$53 = _$createElement("b");
|
|
902
|
+
_$insertNode(_el$51, _el$52);
|
|
903
|
+
_$setProp(_el$51, "paddingLeft", 1);
|
|
904
|
+
_$setProp(_el$51, "paddingRight", 1);
|
|
905
|
+
_$insertNode(_el$52, _el$53);
|
|
906
|
+
_$insertNode(_el$53, _$createTextNode(`LIMITED`));
|
|
750
907
|
_$effect(_p$ => {
|
|
751
|
-
var _v$
|
|
752
|
-
_v$
|
|
753
|
-
_v$
|
|
754
|
-
_v$
|
|
908
|
+
var _v$18 = theme().warning,
|
|
909
|
+
_v$19 = theme().background;
|
|
910
|
+
_v$18 !== _p$.e && (_p$.e = _$setProp(_el$51, "backgroundColor", _v$18, _p$.e));
|
|
911
|
+
_v$19 !== _p$.t && (_p$.t = _$setProp(_el$52, "fg", _v$19, _p$.t));
|
|
755
912
|
return _p$;
|
|
756
913
|
}, {
|
|
757
914
|
e: undefined,
|
|
758
915
|
t: undefined
|
|
759
916
|
});
|
|
760
|
-
return _el$
|
|
917
|
+
return _el$51;
|
|
761
918
|
}
|
|
762
919
|
}), null);
|
|
763
|
-
_$insert(_el$
|
|
920
|
+
_$insert(_el$46, _$createComponent(Show, {
|
|
764
921
|
get when() {
|
|
765
922
|
return _$memo(() => !!collapsed())() && hasData();
|
|
766
923
|
},
|
|
767
924
|
get children() {
|
|
768
|
-
return [_$createComponent(
|
|
769
|
-
get
|
|
770
|
-
return
|
|
771
|
-
},
|
|
772
|
-
get label() {
|
|
773
|
-
return activeAccount().name;
|
|
925
|
+
return [_$createComponent(Index, {
|
|
926
|
+
get each() {
|
|
927
|
+
return getCollapsedAccounts(state(), prefs().sections.fallbackAccounts);
|
|
774
928
|
},
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
})();
|
|
787
|
-
},
|
|
788
|
-
get children() {
|
|
789
|
-
var _el$48 = _$createElement("text"),
|
|
790
|
-
_el$49 = _$createElement("b");
|
|
791
|
-
_$insertNode(_el$48, _el$49);
|
|
792
|
-
_$insert(_el$49, () => activeQuotaSummary().text);
|
|
793
|
-
_$effect(_$p => _$setProp(_el$48, "fg", toneColor(theme(), activeQuotaTone()), _$p));
|
|
794
|
-
return _el$48;
|
|
795
|
-
}
|
|
796
|
-
});
|
|
797
|
-
}
|
|
929
|
+
children: account => _$createComponent(CollapsedAccountRow, {
|
|
930
|
+
get theme() {
|
|
931
|
+
return theme();
|
|
932
|
+
},
|
|
933
|
+
get account() {
|
|
934
|
+
return account();
|
|
935
|
+
},
|
|
936
|
+
get tone() {
|
|
937
|
+
return activeQuotaTone();
|
|
938
|
+
}
|
|
939
|
+
})
|
|
798
940
|
}), _$createComponent(Show, {
|
|
799
941
|
get when() {
|
|
800
942
|
return state().fastMode;
|
|
@@ -806,12 +948,12 @@ function QuotaSidebar(props) {
|
|
|
806
948
|
},
|
|
807
949
|
label: "Mode",
|
|
808
950
|
get children() {
|
|
809
|
-
var _el$
|
|
810
|
-
_el$
|
|
811
|
-
_$insertNode(_el$
|
|
812
|
-
_$insertNode(_el$
|
|
813
|
-
_$effect(_$p => _$setProp(_el$
|
|
814
|
-
return _el$
|
|
951
|
+
var _el$55 = _$createElement("text"),
|
|
952
|
+
_el$56 = _$createElement("b");
|
|
953
|
+
_$insertNode(_el$55, _el$56);
|
|
954
|
+
_$insertNode(_el$56, _$createTextNode(`fast`));
|
|
955
|
+
_$effect(_$p => _$setProp(_el$55, "fg", toneColor(theme(), 'accent'), _$p));
|
|
956
|
+
return _el$55;
|
|
815
957
|
}
|
|
816
958
|
});
|
|
817
959
|
}
|
|
@@ -825,18 +967,18 @@ function QuotaSidebar(props) {
|
|
|
825
967
|
},
|
|
826
968
|
label: "Recovery",
|
|
827
969
|
get children() {
|
|
828
|
-
var _el$
|
|
829
|
-
_el$
|
|
830
|
-
_$insertNode(_el$
|
|
831
|
-
_$insert(_el$
|
|
832
|
-
_$effect(_$p => _$setProp(_el$
|
|
833
|
-
return _el$
|
|
970
|
+
var _el$59 = _$createElement("text"),
|
|
971
|
+
_el$60 = _$createElement("b");
|
|
972
|
+
_$insertNode(_el$59, _el$60);
|
|
973
|
+
_$insert(_el$60, summary);
|
|
974
|
+
_$effect(_$p => _$setProp(_el$59, "fg", toneColor(theme(), fableRecoveryTone()), _$p));
|
|
975
|
+
return _el$59;
|
|
834
976
|
}
|
|
835
977
|
})
|
|
836
978
|
})];
|
|
837
979
|
}
|
|
838
980
|
}), null);
|
|
839
|
-
_$insert(_el$
|
|
981
|
+
_$insert(_el$46, _$createComponent(Show, {
|
|
840
982
|
get when() {
|
|
841
983
|
return !collapsed() || !hasData();
|
|
842
984
|
},
|
|
@@ -847,14 +989,14 @@ function QuotaSidebar(props) {
|
|
|
847
989
|
},
|
|
848
990
|
get fallback() {
|
|
849
991
|
return (() => {
|
|
850
|
-
var _el$
|
|
851
|
-
_el$
|
|
852
|
-
_$insertNode(_el$
|
|
853
|
-
_$setProp(_el$
|
|
854
|
-
_$setProp(_el$
|
|
855
|
-
_$insertNode(_el$
|
|
856
|
-
_$effect(_$p => _$setProp(_el$
|
|
857
|
-
return _el$
|
|
992
|
+
var _el$61 = _$createElement("box"),
|
|
993
|
+
_el$62 = _$createElement("text");
|
|
994
|
+
_$insertNode(_el$61, _el$62);
|
|
995
|
+
_$setProp(_el$61, "marginTop", 1);
|
|
996
|
+
_$setProp(_el$61, "width", '100%');
|
|
997
|
+
_$insertNode(_el$62, _$createTextNode(`Waiting for quota…`));
|
|
998
|
+
_$effect(_$p => _$setProp(_el$62, "fg", theme().textMuted, _$p));
|
|
999
|
+
return _el$61;
|
|
858
1000
|
})();
|
|
859
1001
|
},
|
|
860
1002
|
get children() {
|
|
@@ -887,6 +1029,12 @@ function QuotaSidebar(props) {
|
|
|
887
1029
|
},
|
|
888
1030
|
get tierLabel() {
|
|
889
1031
|
return state().main?.tierLabel;
|
|
1032
|
+
},
|
|
1033
|
+
get stateLine() {
|
|
1034
|
+
return state().main?.stateLine;
|
|
1035
|
+
},
|
|
1036
|
+
get quotaDated() {
|
|
1037
|
+
return state().main?.quotaDated;
|
|
890
1038
|
}
|
|
891
1039
|
}), _$createComponent(Show, {
|
|
892
1040
|
get when() {
|
|
@@ -925,6 +1073,12 @@ function QuotaSidebar(props) {
|
|
|
925
1073
|
get vaultReauth() {
|
|
926
1074
|
return fb.vaultReauth;
|
|
927
1075
|
},
|
|
1076
|
+
get stateLine() {
|
|
1077
|
+
return fb.stateLine;
|
|
1078
|
+
},
|
|
1079
|
+
get quotaDated() {
|
|
1080
|
+
return fb.quotaDated;
|
|
1081
|
+
},
|
|
928
1082
|
marginTop: 1
|
|
929
1083
|
})
|
|
930
1084
|
});
|
|
@@ -1118,19 +1272,19 @@ function QuotaSidebar(props) {
|
|
|
1118
1272
|
}
|
|
1119
1273
|
}), null);
|
|
1120
1274
|
_$effect(_p$ => {
|
|
1121
|
-
var _v$
|
|
1122
|
-
_v$
|
|
1123
|
-
_v$
|
|
1124
|
-
_v$
|
|
1125
|
-
_v$
|
|
1126
|
-
_v$
|
|
1275
|
+
var _v$20 = theme().borderActive,
|
|
1276
|
+
_v$21 = theme().accent,
|
|
1277
|
+
_v$22 = theme().background;
|
|
1278
|
+
_v$20 !== _p$.e && (_p$.e = _$setProp(_el$46, "borderColor", _v$20, _p$.e));
|
|
1279
|
+
_v$21 !== _p$.t && (_p$.t = _$setProp(_el$48, "backgroundColor", _v$21, _p$.t));
|
|
1280
|
+
_v$22 !== _p$.a && (_p$.a = _$setProp(_el$49, "fg", _v$22, _p$.a));
|
|
1127
1281
|
return _p$;
|
|
1128
1282
|
}, {
|
|
1129
1283
|
e: undefined,
|
|
1130
1284
|
t: undefined,
|
|
1131
1285
|
a: undefined
|
|
1132
1286
|
});
|
|
1133
|
-
return _el$
|
|
1287
|
+
return _el$46;
|
|
1134
1288
|
})();
|
|
1135
1289
|
}
|
|
1136
1290
|
const tui = async api => {
|