boo-flash 0.1.4 → 0.1.5
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/dist/app.js +329 -321
- package/package.json +1 -1
package/dist/app.js
CHANGED
|
@@ -3434,13 +3434,15 @@ var moduleDirectory = dirname3(fileURLToPath2(import.meta.url));
|
|
|
3434
3434
|
function bytes(n) {
|
|
3435
3435
|
return n >= 1024 ** 3 ? `${(n / 1024 ** 3).toFixed(1)} GiB` : `${(n / 1024 ** 2).toFixed(1)} MiB`;
|
|
3436
3436
|
}
|
|
3437
|
-
function
|
|
3437
|
+
function imageTime(value, now = Date.now(), locales) {
|
|
3438
3438
|
const date = new Date(value);
|
|
3439
3439
|
if (!Number.isFinite(date.getTime())) throw new Error("Invalid image timestamp.");
|
|
3440
|
-
const
|
|
3441
|
-
|
|
3442
|
-
|
|
3443
|
-
|
|
3440
|
+
const age = now - date.getTime();
|
|
3441
|
+
if (age >= -60 * 1e3 && age <= 60 * 60 * 1e3) {
|
|
3442
|
+
const minutes = Math.max(0, Math.round(age / (60 * 1e3)));
|
|
3443
|
+
return new Intl.RelativeTimeFormat(locales, { numeric: "always" }).format(-minutes, "minute");
|
|
3444
|
+
}
|
|
3445
|
+
return new Intl.DateTimeFormat(locales, { dateStyle: "medium", timeStyle: "short" }).format(date);
|
|
3444
3446
|
}
|
|
3445
3447
|
function releaseTimestamp(headers) {
|
|
3446
3448
|
const values = headers.split(/\r?\n/).flatMap((line) => {
|
|
@@ -3550,7 +3552,7 @@ async function discoverCandidates(signal) {
|
|
|
3550
3552
|
bytes: a.size_in_bytes,
|
|
3551
3553
|
digest: a.digest.slice(7)
|
|
3552
3554
|
}],
|
|
3553
|
-
candidate: { number: run.run_number
|
|
3555
|
+
candidate: { number: run.run_number }
|
|
3554
3556
|
});
|
|
3555
3557
|
if (candidates.length === 10) return candidates;
|
|
3556
3558
|
}
|
|
@@ -3608,7 +3610,7 @@ var FlashBackend = class {
|
|
|
3608
3610
|
async catalog(signal) {
|
|
3609
3611
|
if (!this.demo) return discoverImages(signal);
|
|
3610
3612
|
await delay(350, void 0, { signal });
|
|
3611
|
-
return { run: 149, version: "0.1.0+149", revision: "9b7574859120add5a1a478bc7923aeb1629be4ba", timestamp:
|
|
3613
|
+
return { run: 149, version: "0.1.0+149", revision: "9b7574859120add5a1a478bc7923aeb1629be4ba", timestamp: new Date(Date.now() - 10 * 60 * 1e3).toISOString(), images: profiles.map((profile, index) => ({
|
|
3612
3614
|
profile,
|
|
3613
3615
|
id: index,
|
|
3614
3616
|
name: `demo-${profile}`,
|
|
@@ -3621,9 +3623,9 @@ var FlashBackend = class {
|
|
|
3621
3623
|
const catalog = await this.catalog(signal);
|
|
3622
3624
|
return this.demo === "empty" ? [] : [{
|
|
3623
3625
|
...catalog,
|
|
3624
|
-
timestamp:
|
|
3626
|
+
timestamp: new Date(Date.now() - 5 * 60 * 1e3).toISOString(),
|
|
3625
3627
|
images: [catalog.images[0]],
|
|
3626
|
-
candidate: { number: 1
|
|
3628
|
+
candidate: { number: 1 }
|
|
3627
3629
|
}];
|
|
3628
3630
|
}
|
|
3629
3631
|
async disks(signal, staging = tmpdir4(), unmounted) {
|
|
@@ -3860,6 +3862,7 @@ function App(props) {
|
|
|
3860
3862
|
detail: ""
|
|
3861
3863
|
});
|
|
3862
3864
|
const [frame, setFrame] = createSignal(0);
|
|
3865
|
+
const [now, setNow] = createSignal(Date.now());
|
|
3863
3866
|
let controller = new AbortController();
|
|
3864
3867
|
let pending = Promise.resolve();
|
|
3865
3868
|
let closing = false;
|
|
@@ -3961,7 +3964,11 @@ function App(props) {
|
|
|
3961
3964
|
await pending;
|
|
3962
3965
|
};
|
|
3963
3966
|
props.registerStop(stop);
|
|
3964
|
-
onMount(
|
|
3967
|
+
onMount(() => {
|
|
3968
|
+
refresh();
|
|
3969
|
+
const timer = setInterval(() => setNow(Date.now()), 60 * 1e3);
|
|
3970
|
+
onCleanup(() => clearInterval(timer));
|
|
3971
|
+
});
|
|
3965
3972
|
const activate = () => {
|
|
3966
3973
|
if (busy() || !visible()) return;
|
|
3967
3974
|
if (screen() === "setup") {
|
|
@@ -4104,10 +4111,9 @@ function App(props) {
|
|
|
4104
4111
|
return detail && (!tight() || detailWhenTight);
|
|
4105
4112
|
},
|
|
4106
4113
|
get children() {
|
|
4107
|
-
var _el$3 = createElement("text")
|
|
4108
|
-
insertNode(_el$3, _el$4);
|
|
4114
|
+
var _el$3 = createElement("text");
|
|
4109
4115
|
setProp(_el$3, "wrapMode", "none");
|
|
4110
|
-
insert(_el$3, detail
|
|
4116
|
+
insert(_el$3, ` ${detail}`);
|
|
4111
4117
|
effect((_$p) => setProp(_el$3, "fg", palette.muted, _$p));
|
|
4112
4118
|
return _el$3;
|
|
4113
4119
|
}
|
|
@@ -4128,43 +4134,43 @@ function App(props) {
|
|
|
4128
4134
|
return _el$;
|
|
4129
4135
|
})();
|
|
4130
4136
|
return (() => {
|
|
4131
|
-
var _el$
|
|
4137
|
+
var _el$4 = createElement("box"), _el$5 = createElement("box"), _el$6 = createElement("box"), _el$7 = createElement("text"), _el$9 = createElement("text"), _el$0 = createElement("box"), _el$1 = createElement("box"), _el$87 = createElement("text");
|
|
4138
|
+
insertNode(_el$4, _el$5);
|
|
4139
|
+
setProp(_el$4, "width", "100%");
|
|
4140
|
+
setProp(_el$4, "height", "100%");
|
|
4141
|
+
setProp(_el$4, "justifyContent", "center");
|
|
4142
|
+
setProp(_el$4, "alignItems", "center");
|
|
4132
4143
|
insertNode(_el$5, _el$6);
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
setProp(_el$5, "
|
|
4144
|
+
insertNode(_el$5, _el$0);
|
|
4145
|
+
insertNode(_el$5, _el$1);
|
|
4146
|
+
insertNode(_el$5, _el$87);
|
|
4147
|
+
setProp(_el$5, "border", true);
|
|
4148
|
+
setProp(_el$5, "borderStyle", "single");
|
|
4149
|
+
setProp(_el$5, "flexDirection", "column");
|
|
4150
|
+
setProp(_el$5, "paddingX", 1);
|
|
4137
4151
|
insertNode(_el$6, _el$7);
|
|
4138
|
-
insertNode(_el$6, _el$
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
setProp(_el$6, "
|
|
4142
|
-
setProp(_el$6, "
|
|
4143
|
-
|
|
4144
|
-
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
setProp(_el$
|
|
4148
|
-
setProp(_el$
|
|
4149
|
-
setProp(_el$
|
|
4150
|
-
|
|
4151
|
-
insertNode(_el$8, createTextNode(`BOO FLASH`));
|
|
4152
|
-
insert(_el$0, () => props.backend.platformLabel);
|
|
4153
|
-
setProp(_el$1, "height", 1);
|
|
4154
|
-
setProp(_el$1, "flexShrink", 0);
|
|
4155
|
-
setProp(_el$10, "flexGrow", 1);
|
|
4156
|
-
setProp(_el$10, "minHeight", 0);
|
|
4157
|
-
setProp(_el$10, "overflow", "hidden");
|
|
4158
|
-
insert(_el$10, createComponent2(Show, {
|
|
4152
|
+
insertNode(_el$6, _el$9);
|
|
4153
|
+
setProp(_el$6, "height", 1);
|
|
4154
|
+
setProp(_el$6, "flexDirection", "row");
|
|
4155
|
+
setProp(_el$6, "justifyContent", "space-between");
|
|
4156
|
+
setProp(_el$6, "flexShrink", 0);
|
|
4157
|
+
insertNode(_el$7, createTextNode(`BOO FLASH`));
|
|
4158
|
+
insert(_el$9, () => props.backend.platformLabel);
|
|
4159
|
+
setProp(_el$0, "height", 1);
|
|
4160
|
+
setProp(_el$0, "flexShrink", 0);
|
|
4161
|
+
setProp(_el$1, "flexGrow", 1);
|
|
4162
|
+
setProp(_el$1, "minHeight", 0);
|
|
4163
|
+
setProp(_el$1, "overflow", "hidden");
|
|
4164
|
+
insert(_el$1, createComponent2(Show, {
|
|
4159
4165
|
get when() {
|
|
4160
4166
|
return visible();
|
|
4161
4167
|
},
|
|
4162
4168
|
get fallback() {
|
|
4163
4169
|
return (() => {
|
|
4164
|
-
var _el$
|
|
4165
|
-
insertNode(_el$
|
|
4166
|
-
effect((_$p) => setProp(_el$
|
|
4167
|
-
return _el$
|
|
4170
|
+
var _el$88 = createElement("text");
|
|
4171
|
+
insertNode(_el$88, createTextNode(`Enlarge the terminal to show the full choices and erase warning. Q quits.`));
|
|
4172
|
+
effect((_$p) => setProp(_el$88, "fg", palette.warning, _$p));
|
|
4173
|
+
return _el$88;
|
|
4168
4174
|
})();
|
|
4169
4175
|
},
|
|
4170
4176
|
get children() {
|
|
@@ -4174,41 +4180,43 @@ function App(props) {
|
|
|
4174
4180
|
},
|
|
4175
4181
|
get children() {
|
|
4176
4182
|
return [(() => {
|
|
4177
|
-
var _el$
|
|
4178
|
-
insertNode(_el$
|
|
4183
|
+
var _el$10 = createElement("text");
|
|
4184
|
+
insertNode(_el$10, createTextNode(`Choose the target computer's GPU`));
|
|
4179
4185
|
effect((_p$) => {
|
|
4180
4186
|
var _v$5 = palette.foreground, _v$6 = TextAttributes2.BOLD;
|
|
4181
|
-
_v$5 !== _p$.e && (_p$.e = setProp(_el$
|
|
4182
|
-
_v$6 !== _p$.t && (_p$.t = setProp(_el$
|
|
4187
|
+
_v$5 !== _p$.e && (_p$.e = setProp(_el$10, "fg", _v$5, _p$.e));
|
|
4188
|
+
_v$6 !== _p$.t && (_p$.t = setProp(_el$10, "attributes", _v$6, _p$.t));
|
|
4183
4189
|
return _p$;
|
|
4184
4190
|
}, {
|
|
4185
4191
|
e: void 0,
|
|
4186
4192
|
t: void 0
|
|
4187
4193
|
});
|
|
4188
|
-
return _el$
|
|
4194
|
+
return _el$10;
|
|
4189
4195
|
})(), (() => {
|
|
4190
|
-
var _el$
|
|
4191
|
-
insert(_el$
|
|
4196
|
+
var _el$12 = createElement("text");
|
|
4197
|
+
insert(_el$12, (() => {
|
|
4192
4198
|
var _c$ = memo2(() => !!loading());
|
|
4193
|
-
return () => _c$() ? `${spinner()} Finding latest Boo release...` : memo2(() => !!catalog())() ? `Boo ${catalog().version} / ${catalog().revision.slice(0, 7)} / ${
|
|
4199
|
+
return () => _c$() ? `${spinner()} Finding latest Boo release...` : memo2(() => !!catalog())() ? `Boo ${catalog().version} / ${catalog().revision.slice(0, 7)} / ${imageTime(catalog().timestamp, now())}` : "Dependencies needed. Enter to set up.";
|
|
4194
4200
|
})());
|
|
4195
|
-
effect((_$p) => setProp(_el$
|
|
4196
|
-
return _el$
|
|
4201
|
+
effect((_$p) => setProp(_el$12, "fg", palette.muted, _$p));
|
|
4202
|
+
return _el$12;
|
|
4197
4203
|
})(), (() => {
|
|
4198
|
-
var _el$
|
|
4199
|
-
setProp(_el$
|
|
4200
|
-
|
|
4204
|
+
var _el$13 = createElement("box");
|
|
4205
|
+
setProp(_el$13, "gap", 0);
|
|
4206
|
+
setProp(_el$13, "marginBottom", 1);
|
|
4207
|
+
setProp(_el$13, "flexShrink", 0);
|
|
4208
|
+
insert(_el$13, createComponent2(For, {
|
|
4201
4209
|
each: profiles,
|
|
4202
4210
|
children: (profile, index) => row(profile.toUpperCase(), profile === "nvidia" ? "NVIDIA graphics" : `${profile === "intel" ? "Intel" : "AMD Radeon"} graphics`, index())
|
|
4203
4211
|
}), null);
|
|
4204
|
-
insert(_el$
|
|
4205
|
-
insert(_el$
|
|
4206
|
-
return _el$
|
|
4212
|
+
insert(_el$13, () => row("Candidates", "", 3), null);
|
|
4213
|
+
insert(_el$13, () => row("Clear cached images", "", 4), null);
|
|
4214
|
+
return _el$13;
|
|
4207
4215
|
})(), (() => {
|
|
4208
|
-
var _el$
|
|
4209
|
-
insertNode(_el$
|
|
4210
|
-
effect((_$p) => setProp(_el$
|
|
4211
|
-
return _el$
|
|
4216
|
+
var _el$14 = createElement("text");
|
|
4217
|
+
insertNode(_el$14, createTextNode(`All images support Intel and AMD x86_64 CPUs.`));
|
|
4218
|
+
effect((_$p) => setProp(_el$14, "fg", palette.muted, _$p));
|
|
4219
|
+
return _el$14;
|
|
4212
4220
|
})()];
|
|
4213
4221
|
}
|
|
4214
4222
|
}), createComponent2(Show, {
|
|
@@ -4217,34 +4225,34 @@ function App(props) {
|
|
|
4217
4225
|
},
|
|
4218
4226
|
get children() {
|
|
4219
4227
|
return [(() => {
|
|
4220
|
-
var _el$
|
|
4221
|
-
insertNode(_el$
|
|
4228
|
+
var _el$16 = createElement("text");
|
|
4229
|
+
insertNode(_el$16, createTextNode(`Clear cached images?`));
|
|
4222
4230
|
effect((_p$) => {
|
|
4223
4231
|
var _v$7 = palette.warning, _v$8 = TextAttributes2.BOLD;
|
|
4224
|
-
_v$7 !== _p$.e && (_p$.e = setProp(_el$
|
|
4225
|
-
_v$8 !== _p$.t && (_p$.t = setProp(_el$
|
|
4232
|
+
_v$7 !== _p$.e && (_p$.e = setProp(_el$16, "fg", _v$7, _p$.e));
|
|
4233
|
+
_v$8 !== _p$.t && (_p$.t = setProp(_el$16, "attributes", _v$8, _p$.t));
|
|
4226
4234
|
return _p$;
|
|
4227
4235
|
}, {
|
|
4228
4236
|
e: void 0,
|
|
4229
4237
|
t: void 0
|
|
4230
4238
|
});
|
|
4231
|
-
return _el$
|
|
4239
|
+
return _el$16;
|
|
4232
4240
|
})(), (() => {
|
|
4233
|
-
var _el$
|
|
4234
|
-
insertNode(_el$
|
|
4235
|
-
effect((_$p) => setProp(_el$
|
|
4236
|
-
return _el$
|
|
4241
|
+
var _el$18 = createElement("text");
|
|
4242
|
+
insertNode(_el$18, createTextNode(`Removes downloaded archives only, NOT USB contents. Active flashes are unaffected.`));
|
|
4243
|
+
effect((_$p) => setProp(_el$18, "fg", palette.foreground, _$p));
|
|
4244
|
+
return _el$18;
|
|
4237
4245
|
})(), (() => {
|
|
4238
|
-
var _el$
|
|
4239
|
-
insertNode(_el$
|
|
4240
|
-
effect((_$p) => setProp(_el$
|
|
4241
|
-
return _el$
|
|
4246
|
+
var _el$20 = createElement("text");
|
|
4247
|
+
insertNode(_el$20, createTextNode(`Images will download again when needed. Pending downloads may still finish and be cached.`));
|
|
4248
|
+
effect((_$p) => setProp(_el$20, "fg", palette.muted, _$p));
|
|
4249
|
+
return _el$20;
|
|
4242
4250
|
})(), (() => {
|
|
4243
|
-
var _el$
|
|
4244
|
-
insert(_el$
|
|
4245
|
-
insert(_el$
|
|
4246
|
-
effect((_$p) => setProp(_el$
|
|
4247
|
-
return _el$
|
|
4251
|
+
var _el$22 = createElement("box");
|
|
4252
|
+
insert(_el$22, () => row("Go back", "", 0), null);
|
|
4253
|
+
insert(_el$22, () => row(loading() ? "Clearing..." : "Clear cached images", "", 1, true), null);
|
|
4254
|
+
effect((_$p) => setProp(_el$22, "gap", tight() ? 0 : 1, _$p));
|
|
4255
|
+
return _el$22;
|
|
4248
4256
|
})()];
|
|
4249
4257
|
}
|
|
4250
4258
|
}), createComponent2(Show, {
|
|
@@ -4253,23 +4261,23 @@ function App(props) {
|
|
|
4253
4261
|
},
|
|
4254
4262
|
get children() {
|
|
4255
4263
|
return [(() => {
|
|
4256
|
-
var _el$
|
|
4257
|
-
insertNode(_el$
|
|
4264
|
+
var _el$23 = createElement("text");
|
|
4265
|
+
insertNode(_el$23, createTextNode(`Cache cleared`));
|
|
4258
4266
|
effect((_p$) => {
|
|
4259
4267
|
var _v$9 = palette.success, _v$0 = TextAttributes2.BOLD;
|
|
4260
|
-
_v$9 !== _p$.e && (_p$.e = setProp(_el$
|
|
4261
|
-
_v$0 !== _p$.t && (_p$.t = setProp(_el$
|
|
4268
|
+
_v$9 !== _p$.e && (_p$.e = setProp(_el$23, "fg", _v$9, _p$.e));
|
|
4269
|
+
_v$0 !== _p$.t && (_p$.t = setProp(_el$23, "attributes", _v$0, _p$.t));
|
|
4262
4270
|
return _p$;
|
|
4263
4271
|
}, {
|
|
4264
4272
|
e: void 0,
|
|
4265
4273
|
t: void 0
|
|
4266
4274
|
});
|
|
4267
|
-
return _el$
|
|
4275
|
+
return _el$23;
|
|
4268
4276
|
})(), (() => {
|
|
4269
|
-
var _el$
|
|
4270
|
-
insert(_el$
|
|
4271
|
-
effect((_$p) => setProp(_el$
|
|
4272
|
-
return _el$
|
|
4277
|
+
var _el$25 = createElement("text");
|
|
4278
|
+
insert(_el$25, notice);
|
|
4279
|
+
effect((_$p) => setProp(_el$25, "fg", palette.foreground, _$p));
|
|
4280
|
+
return _el$25;
|
|
4273
4281
|
})(), memo2(() => row("Go back", "", 0))];
|
|
4274
4282
|
}
|
|
4275
4283
|
}), createComponent2(Show, {
|
|
@@ -4278,34 +4286,34 @@ function App(props) {
|
|
|
4278
4286
|
},
|
|
4279
4287
|
get children() {
|
|
4280
4288
|
return [(() => {
|
|
4281
|
-
var _el$
|
|
4282
|
-
insertNode(_el$
|
|
4289
|
+
var _el$26 = createElement("text");
|
|
4290
|
+
insertNode(_el$26, createTextNode(`Candidates`));
|
|
4283
4291
|
effect((_p$) => {
|
|
4284
4292
|
var _v$1 = palette.foreground, _v$10 = TextAttributes2.BOLD;
|
|
4285
|
-
_v$1 !== _p$.e && (_p$.e = setProp(_el$
|
|
4286
|
-
_v$10 !== _p$.t && (_p$.t = setProp(_el$
|
|
4293
|
+
_v$1 !== _p$.e && (_p$.e = setProp(_el$26, "fg", _v$1, _p$.e));
|
|
4294
|
+
_v$10 !== _p$.t && (_p$.t = setProp(_el$26, "attributes", _v$10, _p$.t));
|
|
4287
4295
|
return _p$;
|
|
4288
4296
|
}, {
|
|
4289
4297
|
e: void 0,
|
|
4290
4298
|
t: void 0
|
|
4291
4299
|
});
|
|
4292
|
-
return _el$
|
|
4300
|
+
return _el$26;
|
|
4293
4301
|
})(), (() => {
|
|
4294
|
-
var _el$
|
|
4295
|
-
insertNode(_el$
|
|
4296
|
-
effect((_$p) => setProp(_el$
|
|
4297
|
-
return _el$
|
|
4302
|
+
var _el$28 = createElement("text");
|
|
4303
|
+
insertNode(_el$28, createTextNode(`Build-only; not boot/install/hardware qualified.`));
|
|
4304
|
+
effect((_$p) => setProp(_el$28, "fg", palette.warning, _$p));
|
|
4305
|
+
return _el$28;
|
|
4298
4306
|
})(), createComponent2(Show, {
|
|
4299
4307
|
get when() {
|
|
4300
4308
|
return !loading();
|
|
4301
4309
|
},
|
|
4302
4310
|
get fallback() {
|
|
4303
4311
|
return (() => {
|
|
4304
|
-
var _el$
|
|
4305
|
-
insertNode(_el$
|
|
4306
|
-
insert(_el$
|
|
4307
|
-
effect((_$p) => setProp(_el$
|
|
4308
|
-
return _el$
|
|
4312
|
+
var _el$90 = createElement("text"), _el$91 = createTextNode(` Finding completed candidates...`);
|
|
4313
|
+
insertNode(_el$90, _el$91);
|
|
4314
|
+
insert(_el$90, spinner, _el$91);
|
|
4315
|
+
effect((_$p) => setProp(_el$90, "fg", palette.muted, _$p));
|
|
4316
|
+
return _el$90;
|
|
4309
4317
|
})();
|
|
4310
4318
|
},
|
|
4311
4319
|
get children() {
|
|
@@ -4315,31 +4323,31 @@ function App(props) {
|
|
|
4315
4323
|
},
|
|
4316
4324
|
get fallback() {
|
|
4317
4325
|
return [(() => {
|
|
4318
|
-
var _el$
|
|
4319
|
-
insertNode(_el$
|
|
4320
|
-
effect((_$p) => setProp(_el$
|
|
4321
|
-
return _el$
|
|
4326
|
+
var _el$92 = createElement("text");
|
|
4327
|
+
insertNode(_el$92, createTextNode(`No completed candidates available`));
|
|
4328
|
+
effect((_$p) => setProp(_el$92, "fg", palette.muted, _$p));
|
|
4329
|
+
return _el$92;
|
|
4322
4330
|
})(), memo2(() => row("Go back", "", 0))];
|
|
4323
4331
|
},
|
|
4324
4332
|
get children() {
|
|
4325
4333
|
return [(() => {
|
|
4326
|
-
var _el$
|
|
4327
|
-
setProp(_el$
|
|
4328
|
-
insert(_el$
|
|
4334
|
+
var _el$30 = createElement("box");
|
|
4335
|
+
setProp(_el$30, "gap", 0);
|
|
4336
|
+
insert(_el$30, createComponent2(For, {
|
|
4329
4337
|
get each() {
|
|
4330
4338
|
return candidates().slice(Math.max(0, cursor() - 2), Math.max(3, cursor() + 1));
|
|
4331
4339
|
},
|
|
4332
|
-
children: (c, index) => row(`${c.images[0].profile.toUpperCase()} ${c.revision.slice(0, 7)} #${c.candidate.number}`,
|
|
4340
|
+
children: (c, index) => row(`${c.images[0].profile.toUpperCase()} ${c.revision.slice(0, 7)} #${c.candidate.number}`, imageTime(c.timestamp, now()), index() + Math.max(0, cursor() - 2), false, true)
|
|
4333
4341
|
}));
|
|
4334
|
-
return _el$
|
|
4342
|
+
return _el$30;
|
|
4335
4343
|
})(), (() => {
|
|
4336
|
-
var _el$
|
|
4337
|
-
insertNode(_el$
|
|
4338
|
-
insertNode(_el$
|
|
4339
|
-
insert(_el$
|
|
4340
|
-
insert(_el$
|
|
4341
|
-
effect((_$p) => setProp(_el$
|
|
4342
|
-
return _el$
|
|
4344
|
+
var _el$31 = createElement("text"), _el$32 = createTextNode(` of `), _el$33 = createTextNode(` candidates / Enter to choose`);
|
|
4345
|
+
insertNode(_el$31, _el$32);
|
|
4346
|
+
insertNode(_el$31, _el$33);
|
|
4347
|
+
insert(_el$31, () => cursor() + 1, _el$32);
|
|
4348
|
+
insert(_el$31, () => candidates().length, _el$33);
|
|
4349
|
+
effect((_$p) => setProp(_el$31, "fg", palette.muted, _$p));
|
|
4350
|
+
return _el$31;
|
|
4343
4351
|
})()];
|
|
4344
4352
|
}
|
|
4345
4353
|
});
|
|
@@ -4352,71 +4360,71 @@ function App(props) {
|
|
|
4352
4360
|
},
|
|
4353
4361
|
get children() {
|
|
4354
4362
|
return [(() => {
|
|
4355
|
-
var _el$
|
|
4356
|
-
insertNode(_el$
|
|
4363
|
+
var _el$34 = createElement("text");
|
|
4364
|
+
insertNode(_el$34, createTextNode(`Set up required tools`));
|
|
4357
4365
|
effect((_p$) => {
|
|
4358
4366
|
var _v$11 = palette.accent, _v$12 = TextAttributes2.BOLD;
|
|
4359
|
-
_v$11 !== _p$.e && (_p$.e = setProp(_el$
|
|
4360
|
-
_v$12 !== _p$.t && (_p$.t = setProp(_el$
|
|
4367
|
+
_v$11 !== _p$.e && (_p$.e = setProp(_el$34, "fg", _v$11, _p$.e));
|
|
4368
|
+
_v$12 !== _p$.t && (_p$.t = setProp(_el$34, "attributes", _v$12, _p$.t));
|
|
4361
4369
|
return _p$;
|
|
4362
4370
|
}, {
|
|
4363
4371
|
e: void 0,
|
|
4364
4372
|
t: void 0
|
|
4365
4373
|
});
|
|
4366
|
-
return _el$
|
|
4374
|
+
return _el$34;
|
|
4367
4375
|
})(), (() => {
|
|
4368
|
-
var _el$
|
|
4369
|
-
insertNode(_el$
|
|
4370
|
-
insert(_el$
|
|
4371
|
-
effect((_$p) => setProp(_el$
|
|
4372
|
-
return _el$
|
|
4376
|
+
var _el$36 = createElement("text"), _el$37 = createTextNode(`Missing: `);
|
|
4377
|
+
insertNode(_el$36, _el$37);
|
|
4378
|
+
insert(_el$36, () => dependencies3().missing.join(", "), null);
|
|
4379
|
+
effect((_$p) => setProp(_el$36, "fg", palette.foreground, _$p));
|
|
4380
|
+
return _el$36;
|
|
4373
4381
|
})(), createComponent2(Show, {
|
|
4374
4382
|
get when() {
|
|
4375
4383
|
return !error();
|
|
4376
4384
|
},
|
|
4377
4385
|
get fallback() {
|
|
4378
4386
|
return (() => {
|
|
4379
|
-
var _el$
|
|
4380
|
-
insert(_el$
|
|
4381
|
-
effect((_$p) => setProp(_el$
|
|
4382
|
-
return _el$
|
|
4387
|
+
var _el$94 = createElement("text");
|
|
4388
|
+
insert(_el$94, error);
|
|
4389
|
+
effect((_$p) => setProp(_el$94, "fg", palette.warning, _$p));
|
|
4390
|
+
return _el$94;
|
|
4383
4391
|
})();
|
|
4384
4392
|
},
|
|
4385
4393
|
get children() {
|
|
4386
|
-
var _el$
|
|
4387
|
-
insert(_el$
|
|
4394
|
+
var _el$38 = createElement("text");
|
|
4395
|
+
insert(_el$38, (() => {
|
|
4388
4396
|
var _c$2 = memo2(() => !!dependencies3().installer);
|
|
4389
4397
|
return () => _c$2() ? `${dependencies3().installer} will install ${dependencies3().missing.join(" and ")} and required dependencies, then continue.` : dependencies3().guidance;
|
|
4390
4398
|
})());
|
|
4391
|
-
effect((_$p) => setProp(_el$
|
|
4392
|
-
return _el$
|
|
4399
|
+
effect((_$p) => setProp(_el$38, "fg", palette.muted, _$p));
|
|
4400
|
+
return _el$38;
|
|
4393
4401
|
}
|
|
4394
4402
|
}), createComponent2(Show, {
|
|
4395
4403
|
get when() {
|
|
4396
4404
|
return !tight();
|
|
4397
4405
|
},
|
|
4398
4406
|
get children() {
|
|
4399
|
-
var _el$
|
|
4400
|
-
insert(_el$
|
|
4401
|
-
effect((_$p) => setProp(_el$
|
|
4402
|
-
return _el$
|
|
4407
|
+
var _el$39 = createElement("text");
|
|
4408
|
+
insert(_el$39, () => dependencies3().installer ? "Uses the ordinary terminal. Ctrl-C cancels and quits." : "Boo Flash will not change system packages on this platform.");
|
|
4409
|
+
effect((_$p) => setProp(_el$39, "fg", palette.muted, _$p));
|
|
4410
|
+
return _el$39;
|
|
4403
4411
|
}
|
|
4404
4412
|
}), createComponent2(Show, {
|
|
4405
4413
|
get when() {
|
|
4406
4414
|
return props.backend.demo;
|
|
4407
4415
|
},
|
|
4408
4416
|
get children() {
|
|
4409
|
-
var _el$
|
|
4410
|
-
insertNode(_el$
|
|
4411
|
-
effect((_$p) => setProp(_el$
|
|
4412
|
-
return _el$
|
|
4417
|
+
var _el$40 = createElement("text");
|
|
4418
|
+
insertNode(_el$40, createTextNode(`Setup simulation; no software installed.`));
|
|
4419
|
+
effect((_$p) => setProp(_el$40, "fg", palette.warning, _$p));
|
|
4420
|
+
return _el$40;
|
|
4413
4421
|
}
|
|
4414
4422
|
}), (() => {
|
|
4415
|
-
var _el$
|
|
4416
|
-
insert(_el$
|
|
4417
|
-
insert(_el$
|
|
4418
|
-
effect((_$p) => setProp(_el$
|
|
4419
|
-
return _el$
|
|
4423
|
+
var _el$42 = createElement("box");
|
|
4424
|
+
insert(_el$42, () => row("Go back", "", 0), null);
|
|
4425
|
+
insert(_el$42, () => row(dependencies3().installer ? `Install ${dependencies3().missing.join(" + ")}` : "Refresh", "", 1), null);
|
|
4426
|
+
effect((_$p) => setProp(_el$42, "gap", tight() ? 0 : 1, _$p));
|
|
4427
|
+
return _el$42;
|
|
4420
4428
|
})()];
|
|
4421
4429
|
}
|
|
4422
4430
|
}), createComponent2(Show, {
|
|
@@ -4425,42 +4433,42 @@ function App(props) {
|
|
|
4425
4433
|
},
|
|
4426
4434
|
get children() {
|
|
4427
4435
|
return [(() => {
|
|
4428
|
-
var _el$
|
|
4429
|
-
insertNode(_el$
|
|
4430
|
-
insert(_el$
|
|
4431
|
-
insert(_el$
|
|
4436
|
+
var _el$43 = createElement("text"), _el$44 = createTextNode(` `);
|
|
4437
|
+
insertNode(_el$43, _el$44);
|
|
4438
|
+
insert(_el$43, spinner, _el$44);
|
|
4439
|
+
insert(_el$43, () => stopping() ? "Waiting for setup to stop..." : "Installing required tools", null);
|
|
4432
4440
|
effect((_p$) => {
|
|
4433
4441
|
var _v$13 = palette.accent, _v$14 = TextAttributes2.BOLD;
|
|
4434
|
-
_v$13 !== _p$.e && (_p$.e = setProp(_el$
|
|
4435
|
-
_v$14 !== _p$.t && (_p$.t = setProp(_el$
|
|
4442
|
+
_v$13 !== _p$.e && (_p$.e = setProp(_el$43, "fg", _v$13, _p$.e));
|
|
4443
|
+
_v$14 !== _p$.t && (_p$.t = setProp(_el$43, "attributes", _v$14, _p$.t));
|
|
4436
4444
|
return _p$;
|
|
4437
4445
|
}, {
|
|
4438
4446
|
e: void 0,
|
|
4439
4447
|
t: void 0
|
|
4440
4448
|
});
|
|
4441
|
-
return _el$
|
|
4449
|
+
return _el$43;
|
|
4442
4450
|
})(), (() => {
|
|
4443
|
-
var _el$
|
|
4444
|
-
insertNode(_el$
|
|
4445
|
-
insert(_el$
|
|
4446
|
-
insert(_el$
|
|
4447
|
-
effect((_$p) => setProp(_el$
|
|
4448
|
-
return _el$
|
|
4451
|
+
var _el$45 = createElement("text"), _el$46 = createTextNode(` via `);
|
|
4452
|
+
insertNode(_el$45, _el$46);
|
|
4453
|
+
insert(_el$45, () => dependencies3().missing.join(" + "), _el$46);
|
|
4454
|
+
insert(_el$45, () => dependencies3().installer, null);
|
|
4455
|
+
effect((_$p) => setProp(_el$45, "fg", palette.foreground, _$p));
|
|
4456
|
+
return _el$45;
|
|
4449
4457
|
})(), (() => {
|
|
4450
|
-
var _el$
|
|
4451
|
-
insertNode(_el$
|
|
4452
|
-
insert(_el$
|
|
4453
|
-
effect((_$p) => setProp(_el$
|
|
4454
|
-
return _el$
|
|
4458
|
+
var _el$47 = createElement("text"), _el$48 = createTextNode(` uses the ordinary terminal. Ctrl-C cancels and quits; wait for cleanup.`);
|
|
4459
|
+
insertNode(_el$47, _el$48);
|
|
4460
|
+
insert(_el$47, () => dependencies3().installer, _el$48);
|
|
4461
|
+
effect((_$p) => setProp(_el$47, "fg", palette.muted, _$p));
|
|
4462
|
+
return _el$47;
|
|
4455
4463
|
})(), createComponent2(Show, {
|
|
4456
4464
|
get when() {
|
|
4457
4465
|
return props.backend.demo;
|
|
4458
4466
|
},
|
|
4459
4467
|
get children() {
|
|
4460
|
-
var _el$
|
|
4461
|
-
insertNode(_el$
|
|
4462
|
-
effect((_$p) => setProp(_el$
|
|
4463
|
-
return _el$
|
|
4468
|
+
var _el$49 = createElement("text");
|
|
4469
|
+
insertNode(_el$49, createTextNode(`Setup simulation; no software installed.`));
|
|
4470
|
+
effect((_$p) => setProp(_el$49, "fg", palette.warning, _$p));
|
|
4471
|
+
return _el$49;
|
|
4464
4472
|
}
|
|
4465
4473
|
})];
|
|
4466
4474
|
}
|
|
@@ -4470,26 +4478,26 @@ function App(props) {
|
|
|
4470
4478
|
},
|
|
4471
4479
|
get children() {
|
|
4472
4480
|
return [(() => {
|
|
4473
|
-
var _el$
|
|
4474
|
-
insertNode(_el$
|
|
4481
|
+
var _el$51 = createElement("text");
|
|
4482
|
+
insertNode(_el$51, createTextNode(`Choose a USB drive`));
|
|
4475
4483
|
effect((_p$) => {
|
|
4476
4484
|
var _v$15 = palette.foreground, _v$16 = TextAttributes2.BOLD;
|
|
4477
|
-
_v$15 !== _p$.e && (_p$.e = setProp(_el$
|
|
4478
|
-
_v$16 !== _p$.t && (_p$.t = setProp(_el$
|
|
4485
|
+
_v$15 !== _p$.e && (_p$.e = setProp(_el$51, "fg", _v$15, _p$.e));
|
|
4486
|
+
_v$16 !== _p$.t && (_p$.t = setProp(_el$51, "attributes", _v$16, _p$.t));
|
|
4479
4487
|
return _p$;
|
|
4480
4488
|
}, {
|
|
4481
4489
|
e: void 0,
|
|
4482
4490
|
t: void 0
|
|
4483
4491
|
});
|
|
4484
|
-
return _el$
|
|
4492
|
+
return _el$51;
|
|
4485
4493
|
})(), (() => {
|
|
4486
|
-
var _el$
|
|
4487
|
-
insert(_el$
|
|
4494
|
+
var _el$53 = createElement("text");
|
|
4495
|
+
insert(_el$53, (() => {
|
|
4488
4496
|
var _c$3 = memo2(() => !!loading());
|
|
4489
4497
|
return () => _c$3() ? `${spinner()} Checking disks and protected storage...` : "System, home and app storage are excluded.";
|
|
4490
4498
|
})());
|
|
4491
|
-
effect((_$p) => setProp(_el$
|
|
4492
|
-
return _el$
|
|
4499
|
+
effect((_$p) => setProp(_el$53, "fg", palette.muted, _$p));
|
|
4500
|
+
return _el$53;
|
|
4493
4501
|
})(), createComponent2(Show, {
|
|
4494
4502
|
get when() {
|
|
4495
4503
|
return !loading();
|
|
@@ -4501,31 +4509,31 @@ function App(props) {
|
|
|
4501
4509
|
},
|
|
4502
4510
|
get fallback() {
|
|
4503
4511
|
return (() => {
|
|
4504
|
-
var _el$
|
|
4505
|
-
insertNode(_el$
|
|
4506
|
-
effect((_$p) => setProp(_el$
|
|
4507
|
-
return _el$
|
|
4512
|
+
var _el$95 = createElement("text");
|
|
4513
|
+
insertNode(_el$95, createTextNode(`No eligible USB drives. Connect a writable external USB drive, then press R to refresh.`));
|
|
4514
|
+
effect((_$p) => setProp(_el$95, "fg", palette.warning, _$p));
|
|
4515
|
+
return _el$95;
|
|
4508
4516
|
})();
|
|
4509
4517
|
},
|
|
4510
4518
|
get children() {
|
|
4511
4519
|
return [(() => {
|
|
4512
|
-
var _el$
|
|
4513
|
-
setProp(_el$
|
|
4514
|
-
insert(_el$
|
|
4520
|
+
var _el$54 = createElement("box");
|
|
4521
|
+
setProp(_el$54, "gap", 0);
|
|
4522
|
+
insert(_el$54, createComponent2(For, {
|
|
4515
4523
|
get each() {
|
|
4516
4524
|
return disks3().slice(Math.max(0, cursor() - 2), Math.max(3, cursor() + 1));
|
|
4517
4525
|
},
|
|
4518
4526
|
children: (d, index) => row(d.name, `${path(d)} / ${bytes(d.bytes)} / USB`, index() + Math.max(0, cursor() - 2))
|
|
4519
4527
|
}));
|
|
4520
|
-
return _el$
|
|
4528
|
+
return _el$54;
|
|
4521
4529
|
})(), (() => {
|
|
4522
|
-
var _el$
|
|
4523
|
-
insert(_el$
|
|
4530
|
+
var _el$55 = createElement("text");
|
|
4531
|
+
insert(_el$55, (() => {
|
|
4524
4532
|
var _c$4 = memo2(() => cursor() < 0);
|
|
4525
4533
|
return () => _c$4() ? "Use arrows to select a drive. Nothing is selected yet." : `${cursor() + 1} of ${disks3().length} drives / Enter to review`;
|
|
4526
4534
|
})());
|
|
4527
|
-
effect((_$p) => setProp(_el$
|
|
4528
|
-
return _el$
|
|
4535
|
+
effect((_$p) => setProp(_el$55, "fg", palette.muted, _$p));
|
|
4536
|
+
return _el$55;
|
|
4529
4537
|
})()];
|
|
4530
4538
|
}
|
|
4531
4539
|
});
|
|
@@ -4538,44 +4546,44 @@ function App(props) {
|
|
|
4538
4546
|
},
|
|
4539
4547
|
get children() {
|
|
4540
4548
|
return [(() => {
|
|
4541
|
-
var _el$
|
|
4542
|
-
insertNode(_el$
|
|
4549
|
+
var _el$56 = createElement("text");
|
|
4550
|
+
insertNode(_el$56, createTextNode(`Erase this entire USB drive?`));
|
|
4543
4551
|
effect((_p$) => {
|
|
4544
4552
|
var _v$17 = palette.warning, _v$18 = TextAttributes2.BOLD;
|
|
4545
|
-
_v$17 !== _p$.e && (_p$.e = setProp(_el$
|
|
4546
|
-
_v$18 !== _p$.t && (_p$.t = setProp(_el$
|
|
4553
|
+
_v$17 !== _p$.e && (_p$.e = setProp(_el$56, "fg", _v$17, _p$.e));
|
|
4554
|
+
_v$18 !== _p$.t && (_p$.t = setProp(_el$56, "attributes", _v$18, _p$.t));
|
|
4547
4555
|
return _p$;
|
|
4548
4556
|
}, {
|
|
4549
4557
|
e: void 0,
|
|
4550
4558
|
t: void 0
|
|
4551
4559
|
});
|
|
4552
|
-
return _el$
|
|
4560
|
+
return _el$56;
|
|
4553
4561
|
})(), (() => {
|
|
4554
|
-
var _el$
|
|
4555
|
-
insertNode(_el$
|
|
4556
|
-
insertNode(_el$
|
|
4557
|
-
insertNode(_el$
|
|
4558
|
-
setProp(_el$
|
|
4559
|
-
setProp(_el$
|
|
4560
|
-
setProp(_el$
|
|
4561
|
-
insert(_el$
|
|
4562
|
-
insert(_el$
|
|
4562
|
+
var _el$58 = createElement("box"), _el$59 = createElement("text"), _el$60 = createElement("text"), _el$61 = createElement("text"), _el$62 = createTextNode(` / `);
|
|
4563
|
+
insertNode(_el$58, _el$59);
|
|
4564
|
+
insertNode(_el$58, _el$60);
|
|
4565
|
+
insertNode(_el$58, _el$61);
|
|
4566
|
+
setProp(_el$58, "paddingX", 1);
|
|
4567
|
+
setProp(_el$59, "height", 1);
|
|
4568
|
+
setProp(_el$59, "wrapMode", "none");
|
|
4569
|
+
insert(_el$59, () => disk()?.name);
|
|
4570
|
+
insert(_el$60, (() => {
|
|
4563
4571
|
var _c$5 = memo2(() => !!disk());
|
|
4564
4572
|
return () => _c$5() ? `${path(disk())} / ${bytes(disk().bytes)}` : "";
|
|
4565
4573
|
})());
|
|
4566
|
-
insertNode(_el$
|
|
4567
|
-
insert(_el$
|
|
4568
|
-
insert(_el$
|
|
4574
|
+
insertNode(_el$61, _el$62);
|
|
4575
|
+
insert(_el$61, () => image()?.profile.toUpperCase(), _el$62);
|
|
4576
|
+
insert(_el$61, (() => {
|
|
4569
4577
|
var _c$6 = memo2(() => !!catalog()?.candidate);
|
|
4570
4578
|
return () => _c$6() ? `candidate (build-only) ${catalog()?.revision.slice(0, 7)}` : `Boo ${catalog()?.version}`;
|
|
4571
4579
|
})(), null);
|
|
4572
4580
|
effect((_p$) => {
|
|
4573
4581
|
var _v$19 = palette.panelAlt, _v$20 = palette.foreground, _v$21 = TextAttributes2.BOLD, _v$22 = palette.accent, _v$23 = catalog()?.candidate ? palette.warning : palette.muted;
|
|
4574
|
-
_v$19 !== _p$.e && (_p$.e = setProp(_el$
|
|
4575
|
-
_v$20 !== _p$.t && (_p$.t = setProp(_el$
|
|
4576
|
-
_v$21 !== _p$.a && (_p$.a = setProp(_el$
|
|
4577
|
-
_v$22 !== _p$.o && (_p$.o = setProp(_el$
|
|
4578
|
-
_v$23 !== _p$.i && (_p$.i = setProp(_el$
|
|
4582
|
+
_v$19 !== _p$.e && (_p$.e = setProp(_el$58, "backgroundColor", _v$19, _p$.e));
|
|
4583
|
+
_v$20 !== _p$.t && (_p$.t = setProp(_el$59, "fg", _v$20, _p$.t));
|
|
4584
|
+
_v$21 !== _p$.a && (_p$.a = setProp(_el$59, "attributes", _v$21, _p$.a));
|
|
4585
|
+
_v$22 !== _p$.o && (_p$.o = setProp(_el$60, "fg", _v$22, _p$.o));
|
|
4586
|
+
_v$23 !== _p$.i && (_p$.i = setProp(_el$61, "fg", _v$23, _p$.i));
|
|
4579
4587
|
return _p$;
|
|
4580
4588
|
}, {
|
|
4581
4589
|
e: void 0,
|
|
@@ -4584,18 +4592,18 @@ function App(props) {
|
|
|
4584
4592
|
o: void 0,
|
|
4585
4593
|
i: void 0
|
|
4586
4594
|
});
|
|
4587
|
-
return _el$
|
|
4595
|
+
return _el$58;
|
|
4588
4596
|
})(), (() => {
|
|
4589
|
-
var _el$
|
|
4590
|
-
insertNode(_el$
|
|
4591
|
-
effect((_$p) => setProp(_el$
|
|
4592
|
-
return _el$
|
|
4597
|
+
var _el$63 = createElement("text");
|
|
4598
|
+
insertNode(_el$63, createTextNode(`ALL data and partitions on this drive will be lost. Back up anything you need before continuing.`));
|
|
4599
|
+
effect((_$p) => setProp(_el$63, "fg", palette.warning, _$p));
|
|
4600
|
+
return _el$63;
|
|
4593
4601
|
})(), (() => {
|
|
4594
|
-
var _el$
|
|
4595
|
-
insert(_el$
|
|
4596
|
-
insert(_el$
|
|
4597
|
-
effect((_$p) => setProp(_el$
|
|
4598
|
-
return _el$
|
|
4602
|
+
var _el$65 = createElement("box");
|
|
4603
|
+
insert(_el$65, () => row("Go back", "", 0), null);
|
|
4604
|
+
insert(_el$65, () => row("Erase & flash", "", 1, true), null);
|
|
4605
|
+
effect((_$p) => setProp(_el$65, "gap", tight() ? 0 : 1, _$p));
|
|
4606
|
+
return _el$65;
|
|
4599
4607
|
})()];
|
|
4600
4608
|
}
|
|
4601
4609
|
}), createComponent2(Show, {
|
|
@@ -4604,108 +4612,108 @@ function App(props) {
|
|
|
4604
4612
|
},
|
|
4605
4613
|
get children() {
|
|
4606
4614
|
return [(() => {
|
|
4607
|
-
var _el$
|
|
4608
|
-
insertNode(_el$
|
|
4609
|
-
insert(_el$
|
|
4610
|
-
insert(_el$
|
|
4615
|
+
var _el$66 = createElement("text"), _el$67 = createTextNode(` `);
|
|
4616
|
+
insertNode(_el$66, _el$67);
|
|
4617
|
+
insert(_el$66, spinner, _el$67);
|
|
4618
|
+
insert(_el$66, (() => {
|
|
4611
4619
|
var _c$7 = memo2(() => !!stopping());
|
|
4612
4620
|
return () => _c$7() ? "Stopping safely..." : progress().stage;
|
|
4613
4621
|
})(), null);
|
|
4614
4622
|
effect((_p$) => {
|
|
4615
4623
|
var _v$24 = palette.accent, _v$25 = TextAttributes2.BOLD;
|
|
4616
|
-
_v$24 !== _p$.e && (_p$.e = setProp(_el$
|
|
4617
|
-
_v$25 !== _p$.t && (_p$.t = setProp(_el$
|
|
4624
|
+
_v$24 !== _p$.e && (_p$.e = setProp(_el$66, "fg", _v$24, _p$.e));
|
|
4625
|
+
_v$25 !== _p$.t && (_p$.t = setProp(_el$66, "attributes", _v$25, _p$.t));
|
|
4618
4626
|
return _p$;
|
|
4619
4627
|
}, {
|
|
4620
4628
|
e: void 0,
|
|
4621
4629
|
t: void 0
|
|
4622
4630
|
});
|
|
4623
|
-
return _el$
|
|
4631
|
+
return _el$66;
|
|
4624
4632
|
})(), (() => {
|
|
4625
|
-
var _el$
|
|
4626
|
-
insertNode(_el$
|
|
4627
|
-
insert(_el$
|
|
4628
|
-
insert(_el$
|
|
4629
|
-
effect((_$p) => setProp(_el$
|
|
4630
|
-
return _el$
|
|
4633
|
+
var _el$68 = createElement("text"), _el$69 = createTextNode(` / `);
|
|
4634
|
+
insertNode(_el$68, _el$69);
|
|
4635
|
+
insert(_el$68, () => disk()?.name, _el$69);
|
|
4636
|
+
insert(_el$68, () => image()?.profile.toUpperCase(), null);
|
|
4637
|
+
effect((_$p) => setProp(_el$68, "fg", palette.foreground, _$p));
|
|
4638
|
+
return _el$68;
|
|
4631
4639
|
})(), (() => {
|
|
4632
|
-
var _el$
|
|
4633
|
-
insert(_el$
|
|
4640
|
+
var _el$70 = createElement("text");
|
|
4641
|
+
insert(_el$70, (() => {
|
|
4634
4642
|
var _c$8 = memo2(() => !!stopping());
|
|
4635
4643
|
return () => _c$8() ? "Waiting for all child processes to stop. Keep the USB connected." : progress().detail;
|
|
4636
4644
|
})());
|
|
4637
|
-
effect((_$p) => setProp(_el$
|
|
4638
|
-
return _el$
|
|
4645
|
+
effect((_$p) => setProp(_el$70, "fg", palette.muted, _$p));
|
|
4646
|
+
return _el$70;
|
|
4639
4647
|
})(), createComponent2(Show, {
|
|
4640
4648
|
get when() {
|
|
4641
4649
|
return percent() !== void 0;
|
|
4642
4650
|
},
|
|
4643
4651
|
get children() {
|
|
4644
4652
|
return [(() => {
|
|
4645
|
-
var _el$
|
|
4646
|
-
setProp(_el$
|
|
4647
|
-
setProp(_el$
|
|
4648
|
-
insert(_el$
|
|
4653
|
+
var _el$71 = createElement("box");
|
|
4654
|
+
setProp(_el$71, "border", true);
|
|
4655
|
+
setProp(_el$71, "height", 3);
|
|
4656
|
+
insert(_el$71, createComponent2(Show, {
|
|
4649
4657
|
get when() {
|
|
4650
4658
|
return percent() > 0;
|
|
4651
4659
|
},
|
|
4652
4660
|
get children() {
|
|
4653
|
-
var _el$
|
|
4654
|
-
setProp(_el$
|
|
4661
|
+
var _el$72 = createElement("box");
|
|
4662
|
+
setProp(_el$72, "height", 1);
|
|
4655
4663
|
effect((_p$) => {
|
|
4656
4664
|
var _v$26 = `${percent() ?? 0}%`, _v$27 = palette.accent;
|
|
4657
|
-
_v$26 !== _p$.e && (_p$.e = setProp(_el$
|
|
4658
|
-
_v$27 !== _p$.t && (_p$.t = setProp(_el$
|
|
4665
|
+
_v$26 !== _p$.e && (_p$.e = setProp(_el$72, "width", _v$26, _p$.e));
|
|
4666
|
+
_v$27 !== _p$.t && (_p$.t = setProp(_el$72, "backgroundColor", _v$27, _p$.t));
|
|
4659
4667
|
return _p$;
|
|
4660
4668
|
}, {
|
|
4661
4669
|
e: void 0,
|
|
4662
4670
|
t: void 0
|
|
4663
4671
|
});
|
|
4664
|
-
return _el$
|
|
4672
|
+
return _el$72;
|
|
4665
4673
|
}
|
|
4666
4674
|
}));
|
|
4667
4675
|
effect((_p$) => {
|
|
4668
4676
|
var _v$28 = palette.accent, _v$29 = palette.panelAlt;
|
|
4669
|
-
_v$28 !== _p$.e && (_p$.e = setProp(_el$
|
|
4670
|
-
_v$29 !== _p$.t && (_p$.t = setProp(_el$
|
|
4677
|
+
_v$28 !== _p$.e && (_p$.e = setProp(_el$71, "borderColor", _v$28, _p$.e));
|
|
4678
|
+
_v$29 !== _p$.t && (_p$.t = setProp(_el$71, "backgroundColor", _v$29, _p$.t));
|
|
4671
4679
|
return _p$;
|
|
4672
4680
|
}, {
|
|
4673
4681
|
e: void 0,
|
|
4674
4682
|
t: void 0
|
|
4675
4683
|
});
|
|
4676
|
-
return _el$
|
|
4684
|
+
return _el$71;
|
|
4677
4685
|
})(), (() => {
|
|
4678
|
-
var _el$
|
|
4679
|
-
insertNode(_el$
|
|
4680
|
-
insertNode(_el$
|
|
4681
|
-
insert(_el$
|
|
4682
|
-
insert(_el$
|
|
4683
|
-
insert(_el$
|
|
4686
|
+
var _el$73 = createElement("text"), _el$74 = createTextNode(`% `), _el$75 = createTextNode(` / `);
|
|
4687
|
+
insertNode(_el$73, _el$74);
|
|
4688
|
+
insertNode(_el$73, _el$75);
|
|
4689
|
+
insert(_el$73, percent, _el$74);
|
|
4690
|
+
insert(_el$73, () => bytes(progress().bytes ?? 0), _el$75);
|
|
4691
|
+
insert(_el$73, () => bytes(progress().total ?? 0), null);
|
|
4684
4692
|
effect((_p$) => {
|
|
4685
4693
|
var _v$30 = palette.foreground, _v$31 = TextAttributes2.BOLD;
|
|
4686
|
-
_v$30 !== _p$.e && (_p$.e = setProp(_el$
|
|
4687
|
-
_v$31 !== _p$.t && (_p$.t = setProp(_el$
|
|
4694
|
+
_v$30 !== _p$.e && (_p$.e = setProp(_el$73, "fg", _v$30, _p$.e));
|
|
4695
|
+
_v$31 !== _p$.t && (_p$.t = setProp(_el$73, "attributes", _v$31, _p$.t));
|
|
4688
4696
|
return _p$;
|
|
4689
4697
|
}, {
|
|
4690
4698
|
e: void 0,
|
|
4691
4699
|
t: void 0
|
|
4692
4700
|
});
|
|
4693
|
-
return _el$
|
|
4701
|
+
return _el$73;
|
|
4694
4702
|
})(), (() => {
|
|
4695
|
-
var _el$
|
|
4696
|
-
insert(_el$
|
|
4703
|
+
var _el$76 = createElement("text");
|
|
4704
|
+
insert(_el$76, (() => {
|
|
4697
4705
|
var _c$9 = memo2(() => !!progress().speed);
|
|
4698
4706
|
return () => _c$9() ? `${bytes(progress().speed)} / s` : "";
|
|
4699
4707
|
})());
|
|
4700
|
-
effect((_$p) => setProp(_el$
|
|
4701
|
-
return _el$
|
|
4708
|
+
effect((_$p) => setProp(_el$76, "fg", palette.muted, _$p));
|
|
4709
|
+
return _el$76;
|
|
4702
4710
|
})()];
|
|
4703
4711
|
}
|
|
4704
4712
|
}), (() => {
|
|
4705
|
-
var _el$
|
|
4706
|
-
insertNode(_el$
|
|
4707
|
-
effect((_$p) => setProp(_el$
|
|
4708
|
-
return _el$
|
|
4713
|
+
var _el$77 = createElement("text");
|
|
4714
|
+
insertNode(_el$77, createTextNode(`Keep the USB connected until safe removal succeeds.`));
|
|
4715
|
+
effect((_$p) => setProp(_el$77, "fg", palette.warning, _$p));
|
|
4716
|
+
return _el$77;
|
|
4709
4717
|
})()];
|
|
4710
4718
|
}
|
|
4711
4719
|
}), createComponent2(Show, {
|
|
@@ -4714,37 +4722,37 @@ function App(props) {
|
|
|
4714
4722
|
},
|
|
4715
4723
|
get children() {
|
|
4716
4724
|
return [(() => {
|
|
4717
|
-
var _el$
|
|
4718
|
-
insert(_el$
|
|
4725
|
+
var _el$79 = createElement("text");
|
|
4726
|
+
insert(_el$79, () => props.backend.successTitle);
|
|
4719
4727
|
effect((_p$) => {
|
|
4720
4728
|
var _v$32 = palette.success, _v$33 = TextAttributes2.BOLD;
|
|
4721
|
-
_v$32 !== _p$.e && (_p$.e = setProp(_el$
|
|
4722
|
-
_v$33 !== _p$.t && (_p$.t = setProp(_el$
|
|
4729
|
+
_v$32 !== _p$.e && (_p$.e = setProp(_el$79, "fg", _v$32, _p$.e));
|
|
4730
|
+
_v$33 !== _p$.t && (_p$.t = setProp(_el$79, "attributes", _v$33, _p$.t));
|
|
4723
4731
|
return _p$;
|
|
4724
4732
|
}, {
|
|
4725
4733
|
e: void 0,
|
|
4726
4734
|
t: void 0
|
|
4727
4735
|
});
|
|
4736
|
+
return _el$79;
|
|
4737
|
+
})(), (() => {
|
|
4738
|
+
var _el$80 = createElement("text");
|
|
4739
|
+
insert(_el$80, () => props.backend.successDetail);
|
|
4740
|
+
effect((_$p) => setProp(_el$80, "fg", palette.foreground, _$p));
|
|
4728
4741
|
return _el$80;
|
|
4729
4742
|
})(), (() => {
|
|
4730
4743
|
var _el$81 = createElement("text");
|
|
4731
|
-
insert(_el$81, () =>
|
|
4732
|
-
effect((_$p) => setProp(_el$81, "fg", palette.foreground, _$p));
|
|
4733
|
-
return _el$81;
|
|
4734
|
-
})(), (() => {
|
|
4735
|
-
var _el$82 = createElement("text");
|
|
4736
|
-
insert(_el$82, (() => {
|
|
4744
|
+
insert(_el$81, (() => {
|
|
4737
4745
|
var _c$0 = memo2(() => !!props.backend.demo);
|
|
4738
4746
|
return () => _c$0() ? "The real flow checks the write, flush and safe removal." : catalog()?.candidate ? "GitHub ZIP, compressed image and raw stream verified. Not a device read-back." : "Compressed image and raw stream verified. Not a device read-back.";
|
|
4739
4747
|
})());
|
|
4740
|
-
effect((_$p) => setProp(_el$
|
|
4741
|
-
return _el$
|
|
4748
|
+
effect((_$p) => setProp(_el$81, "fg", palette.muted, _$p));
|
|
4749
|
+
return _el$81;
|
|
4742
4750
|
})(), (() => {
|
|
4743
|
-
var _el$
|
|
4744
|
-
setProp(_el$
|
|
4745
|
-
insert(_el$
|
|
4746
|
-
insert(_el$
|
|
4747
|
-
return _el$
|
|
4751
|
+
var _el$82 = createElement("box");
|
|
4752
|
+
setProp(_el$82, "gap", 1);
|
|
4753
|
+
insert(_el$82, () => row("Choose another image", "", 0), null);
|
|
4754
|
+
insert(_el$82, () => row("Quit", "", 1), null);
|
|
4755
|
+
return _el$82;
|
|
4748
4756
|
})()];
|
|
4749
4757
|
}
|
|
4750
4758
|
}), createComponent2(Show, {
|
|
@@ -4753,56 +4761,56 @@ function App(props) {
|
|
|
4753
4761
|
},
|
|
4754
4762
|
get children() {
|
|
4755
4763
|
return [(() => {
|
|
4756
|
-
var _el$
|
|
4757
|
-
insertNode(_el$
|
|
4764
|
+
var _el$83 = createElement("text");
|
|
4765
|
+
insertNode(_el$83, createTextNode(`Flash not completed`));
|
|
4758
4766
|
effect((_p$) => {
|
|
4759
4767
|
var _v$34 = palette.danger, _v$35 = TextAttributes2.BOLD;
|
|
4760
|
-
_v$34 !== _p$.e && (_p$.e = setProp(_el$
|
|
4761
|
-
_v$35 !== _p$.t && (_p$.t = setProp(_el$
|
|
4768
|
+
_v$34 !== _p$.e && (_p$.e = setProp(_el$83, "fg", _v$34, _p$.e));
|
|
4769
|
+
_v$35 !== _p$.t && (_p$.t = setProp(_el$83, "attributes", _v$35, _p$.t));
|
|
4762
4770
|
return _p$;
|
|
4763
4771
|
}, {
|
|
4764
4772
|
e: void 0,
|
|
4765
4773
|
t: void 0
|
|
4766
4774
|
});
|
|
4767
|
-
return _el$
|
|
4775
|
+
return _el$83;
|
|
4768
4776
|
})(), (() => {
|
|
4769
|
-
var _el$
|
|
4770
|
-
insert(_el$
|
|
4771
|
-
effect((_$p) => setProp(_el$
|
|
4772
|
-
return _el$
|
|
4777
|
+
var _el$85 = createElement("text");
|
|
4778
|
+
insert(_el$85, error);
|
|
4779
|
+
effect((_$p) => setProp(_el$85, "fg", palette.foreground, _$p));
|
|
4780
|
+
return _el$85;
|
|
4773
4781
|
})(), (() => {
|
|
4774
|
-
var _el$
|
|
4775
|
-
setProp(_el$
|
|
4776
|
-
insert(_el$
|
|
4777
|
-
insert(_el$
|
|
4778
|
-
return _el$
|
|
4782
|
+
var _el$86 = createElement("box");
|
|
4783
|
+
setProp(_el$86, "gap", 1);
|
|
4784
|
+
insert(_el$86, () => row("Refresh & try again", "", 0), null);
|
|
4785
|
+
insert(_el$86, () => row("Quit", "", 1), null);
|
|
4786
|
+
return _el$86;
|
|
4779
4787
|
})()];
|
|
4780
4788
|
}
|
|
4781
4789
|
})];
|
|
4782
4790
|
}
|
|
4783
4791
|
}));
|
|
4784
|
-
setProp(_el$
|
|
4785
|
-
setProp(_el$
|
|
4786
|
-
setProp(_el$
|
|
4787
|
-
insert(_el$
|
|
4792
|
+
setProp(_el$87, "height", 1);
|
|
4793
|
+
setProp(_el$87, "flexShrink", 0);
|
|
4794
|
+
setProp(_el$87, "wrapMode", "none");
|
|
4795
|
+
insert(_el$87, (() => {
|
|
4788
4796
|
var _c$1 = memo2(() => !!busy());
|
|
4789
4797
|
return () => _c$1() ? "Esc cancel / Q stop & quit" : dimensions().width < 56 ? "Arrows / Enter / Esc / R / Q quit" : "Arrows / Enter / Esc back / R refresh / Q quit";
|
|
4790
4798
|
})());
|
|
4791
4799
|
effect((_p$) => {
|
|
4792
4800
|
var _v$36 = palette.background, _v$37 = dimensions().width <= 80 ? "100%" : 80, _v$38 = dimensions().height <= 24 ? "100%" : 24, _v$39 = palette.border, _v$40 = palette.card, _v$41 = palette.accent, _v$42 = TextAttributes2.BOLD, _v$43 = props.backend.demo ? palette.warning : palette.muted, _v$44 = palette.danger, _v$45 = tight() ? 0 : 1, _v$46 = tight() ? 0 : 1, _v$47 = tight() || (compact() || dimensions().width < 56) && screen() === "setup" ? 0 : 1, _v$48 = palette.muted;
|
|
4793
|
-
_v$36 !== _p$.e && (_p$.e = setProp(_el$
|
|
4794
|
-
_v$37 !== _p$.t && (_p$.t = setProp(_el$
|
|
4795
|
-
_v$38 !== _p$.a && (_p$.a = setProp(_el$
|
|
4796
|
-
_v$39 !== _p$.o && (_p$.o = setProp(_el$
|
|
4797
|
-
_v$40 !== _p$.i && (_p$.i = setProp(_el$
|
|
4798
|
-
_v$41 !== _p$.n && (_p$.n = setProp(_el$
|
|
4799
|
-
_v$42 !== _p$.s && (_p$.s = setProp(_el$
|
|
4800
|
-
_v$43 !== _p$.h && (_p$.h = setProp(_el$
|
|
4801
|
-
_v$44 !== _p$.r && (_p$.r = setProp(_el$
|
|
4802
|
-
_v$45 !== _p$.d && (_p$.d = setProp(_el$
|
|
4803
|
-
_v$46 !== _p$.l && (_p$.l = setProp(_el$
|
|
4804
|
-
_v$47 !== _p$.u && (_p$.u = setProp(_el$
|
|
4805
|
-
_v$48 !== _p$.c && (_p$.c = setProp(_el$
|
|
4801
|
+
_v$36 !== _p$.e && (_p$.e = setProp(_el$4, "backgroundColor", _v$36, _p$.e));
|
|
4802
|
+
_v$37 !== _p$.t && (_p$.t = setProp(_el$5, "width", _v$37, _p$.t));
|
|
4803
|
+
_v$38 !== _p$.a && (_p$.a = setProp(_el$5, "height", _v$38, _p$.a));
|
|
4804
|
+
_v$39 !== _p$.o && (_p$.o = setProp(_el$5, "borderColor", _v$39, _p$.o));
|
|
4805
|
+
_v$40 !== _p$.i && (_p$.i = setProp(_el$5, "backgroundColor", _v$40, _p$.i));
|
|
4806
|
+
_v$41 !== _p$.n && (_p$.n = setProp(_el$7, "fg", _v$41, _p$.n));
|
|
4807
|
+
_v$42 !== _p$.s && (_p$.s = setProp(_el$7, "attributes", _v$42, _p$.s));
|
|
4808
|
+
_v$43 !== _p$.h && (_p$.h = setProp(_el$9, "fg", _v$43, _p$.h));
|
|
4809
|
+
_v$44 !== _p$.r && (_p$.r = setProp(_el$0, "backgroundColor", _v$44, _p$.r));
|
|
4810
|
+
_v$45 !== _p$.d && (_p$.d = setProp(_el$0, "marginTop", _v$45, _p$.d));
|
|
4811
|
+
_v$46 !== _p$.l && (_p$.l = setProp(_el$1, "paddingTop", _v$46, _p$.l));
|
|
4812
|
+
_v$47 !== _p$.u && (_p$.u = setProp(_el$1, "gap", _v$47, _p$.u));
|
|
4813
|
+
_v$48 !== _p$.c && (_p$.c = setProp(_el$87, "fg", _v$48, _p$.c));
|
|
4806
4814
|
return _p$;
|
|
4807
4815
|
}, {
|
|
4808
4816
|
e: void 0,
|
|
@@ -4819,7 +4827,7 @@ function App(props) {
|
|
|
4819
4827
|
u: void 0,
|
|
4820
4828
|
c: void 0
|
|
4821
4829
|
});
|
|
4822
|
-
return _el$
|
|
4830
|
+
return _el$4;
|
|
4823
4831
|
})();
|
|
4824
4832
|
}
|
|
4825
4833
|
|