Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: os.mjs — static labels with toggle-only value buttons

Labels (boot, build, internet) are now static text. Only the values
(notepat, C, ON/OFF) are clickable buttons. Shorter, no wrapping.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+17 -8
+17 -8
system/public/aesthetic.computer/disks/os.mjs
··· 308 308 } 309 309 310 310 function updateVariantBtn(ui) { 311 - variantBtn = new ui.TextButton("build: " + VARIANTS[variantIdx].label, { x: 6, y: 0 }); 311 + variantBtn = new ui.TextButton(VARIANTS[variantIdx].label, { x: 6, y: 0 }); 312 312 } 313 313 314 314 function updateDownloadBtn(ui) { ··· 325 325 326 326 function updateBootBtn(ui) { 327 327 const piece = BOOT_PIECES[bootPieceIdx]; 328 - bootBtn = new ui.TextButton("boot: " + piece, { x: 6, y: 0 }); 328 + bootBtn = new ui.TextButton(piece, { x: 6, y: 0 }); 329 329 } 330 330 331 331 function updateWifiBtn(ui) { 332 - wifiBtn = new ui.TextButton("internet: " + (wifiEnabled ? "ON" : "OFF"), { x: 6, y: 0 }); 332 + wifiBtn = new ui.TextButton(wifiEnabled ? "ON" : "OFF", { x: 6, y: 0 }); 333 333 } 334 334 335 335 function timeAgo(ts) { ··· 518 518 } 519 519 } 520 520 521 - // Boot-to selector 521 + // Boot-to selector: label + value button 522 522 if (bootBtn) { 523 - bootBtn.reposition({ x: btnX(bootBtn), y }); 523 + const labelW = "boot ".length * charW; 524 + ink(...C.bootLabel); 525 + $.write("boot", { x: pad, y: y + 4 }); 526 + bootBtn.reposition({ x: pad + labelW, y }); 524 527 bootBtn.paint( 525 528 $, 526 529 [C.bootBtnBg, C.bootBtnBorder, ...C.bootPiece, 200], ··· 533 536 534 537 // Build variant selector (only show when CL is available) 535 538 if (variantBtn && clAvailable) { 536 - variantBtn.reposition({ x: btnX(variantBtn), y }); 539 + const labelW = "build ".length * charW; 540 + ink(...C.bootLabel); 541 + $.write("build", { x: pad, y: y + 4 }); 542 + variantBtn.reposition({ x: pad + labelW, y }); 537 543 variantBtn.paint( 538 544 $, 539 545 [C.bootBtnBg, C.bootBtnBorder, ...C.bootPiece, 200], ··· 544 550 y += variantBtn.height + btnGap; 545 551 } 546 552 547 - // WiFi toggle 553 + // WiFi toggle: label + value button 548 554 if (wifiBtn) { 549 - wifiBtn.reposition({ x: btnX(wifiBtn), y }); 555 + const labelW = "internet ".length * charW; 556 + ink(...C.bootLabel); 557 + $.write("internet", { x: pad, y: y + 4 }); 550 558 const wOn = wifiEnabled; 559 + wifiBtn.reposition({ x: pad + labelW, y }); 551 560 wifiBtn.paint( 552 561 $, 553 562 [C.bootBtnBg, C.bootBtnBorder, ...(wOn ? C.current : [180, 80, 80]), 200],