From da4678bb601e34ae2226ffa9da6baf1cb585e609 Mon Sep 17 00:00:00 2001 From: David Montero Crespo Date: Fri, 7 Aug 2026 22:11:43 +0200 Subject: [PATCH] ux(editor): smaller starter cards, bigger blue + on Blank, Arduino Mega card Cards drop to a 178px grid (dialog 840px) with tighter type so more starters fit per row; the Blank card's plus glyph goes accent-blue at 64px. Arduino Mega (mega-blink) joins the Arduino section next to the Uno. Recaptured xiao-rp2040-blink.webp now that the board art is silk-screened "XIAO-RP2040" (was "XIAO-ESP32-C3"). --- .../examples-thumbs/xiao-rp2040-blink.webp | Bin 13680 -> 13620 bytes .../components/editor/NewProjectDialog.css | 20 +++++++++--------- .../components/editor/NewProjectDialog.tsx | 4 +++- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/frontend/public/examples-thumbs/xiao-rp2040-blink.webp b/frontend/public/examples-thumbs/xiao-rp2040-blink.webp index 9c317fb34468c60ce000cd3f913d0e7e30a6c7ec..b215b872a1308cdf59c6a93a0c549386a330ed72 100644 GIT binary patch literal 13620 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 diff --git a/frontend/src/components/editor/NewProjectDialog.css b/frontend/src/components/editor/NewProjectDialog.css index 64af5927..92338411 100644 --- a/frontend/src/components/editor/NewProjectDialog.css +++ b/frontend/src/components/editor/NewProjectDialog.css @@ -25,7 +25,7 @@ background: #1e1e1e; border: 1px solid #444; border-radius: 10px; - width: min(920px, 94vw); + width: min(840px, 94vw); max-height: 86vh; display: flex; flex-direction: column; @@ -68,8 +68,8 @@ .new-project-grid { display: grid; - grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); - gap: 10px; + grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)); + gap: 8px; } .new-project-card { @@ -114,8 +114,8 @@ .new-project-card-info { display: flex; flex-direction: column; - gap: 3px; - padding: 9px 12px 11px; + gap: 2px; + padding: 7px 10px 9px; } .new-project-card-blank { @@ -128,21 +128,21 @@ display: flex; align-items: center; justify-content: center; - font-size: 42px; + font-size: 64px; font-weight: 300; - color: #4a4f58; + color: #4a9eff; background: transparent; } .new-project-card-name { font-weight: 600; - font-size: 13px; + font-size: 12px; /* Keep clear of the PRO pill in the corner. */ - padding-right: 44px; + padding-right: 40px; } .new-project-card-desc { - font-size: 11px; + font-size: 10.5px; color: #8f949c; line-height: 1.35; } diff --git a/frontend/src/components/editor/NewProjectDialog.tsx b/frontend/src/components/editor/NewProjectDialog.tsx index 55c0bc4e..f781b210 100644 --- a/frontend/src/components/editor/NewProjectDialog.tsx +++ b/frontend/src/components/editor/NewProjectDialog.tsx @@ -48,6 +48,7 @@ interface NewProjectDialogProps { /** Card blurbs (same voice as the component picker's board descriptions). */ const BOARD_BLURBS: Record = { 'arduino-uno': '8-bit AVR, 32KB flash, 14 digital I/O', + 'arduino-mega': '8-bit AVR, 256KB flash, 54 digital I/O', esp32: 'Xtensa LX6 dual-core, WiFi+BT, 38 GPIO (QEMU)', 'xiao-esp32-s3': 'Seeed XIAO tiny form, 8MB flash+PSRAM (QEMU)', 'xiao-esp32-c3': 'Seeed XIAO ESP32-C3 mini board (QEMU)', @@ -126,6 +127,7 @@ export function clearWorkspaceForStarter(): void { */ const PREFERRED_BLINK_EXAMPLE: Record = { 'arduino-uno': 'blink-led', + 'arduino-mega': 'mega-blink', esp32: 'esp32-blink-led', 'esp32-s3': 'esp32s3-blink-led', 'esp32-c3': 'c3-blink', @@ -225,7 +227,7 @@ export const NewProjectDialog: React.FC = ({ isOpen, onCl return d ? [{ kind: d.kind, blurb: d.description }] : []; }; return [ - { title: 'Arduino', entries: [oss('arduino-uno')] }, + { title: 'Arduino', entries: [oss('arduino-uno'), oss('arduino-mega')] }, // One card per ESP32 chip generation, XIAO variant preferred where // Seeed makes one: classic → DevKit V1, S3/C3 → XIAO, C6 → XIAO (overlay). {