diff --git a/package.json b/package.json
index 59601f4d..65ac4278 100644
--- a/package.json
+++ b/package.json
@@ -35,7 +35,7 @@
"@fortawesome/fontawesome-free": "^6.1.1",
"@leaphy-robotics/avrdude-webassembly": "^1.3.0",
"@leaphy-robotics/dfu-util-wasm": "1.0.2",
- "@leaphy-robotics/leaphy-blocks": "2.0.0",
+ "@leaphy-robotics/leaphy-blocks": "2.0.2",
"@leaphy-robotics/picotool-wasm": "1.0.2",
"@ngx-translate/core": "^14.0.0",
"@ngx-translate/http-loader": "^7.0.0",
diff --git a/src/app/effects/blockly-editor.effects.ts b/src/app/effects/blockly-editor.effects.ts
index 38946fb3..1e104df7 100644
--- a/src/app/effects/blockly-editor.effects.ts
+++ b/src/app/effects/blockly-editor.effects.ts
@@ -42,6 +42,13 @@ export class BlocklyEditorEffects {
Blockly.Extensions.register('appendStatementInputStack', EXTENSIONS.APPEND_STATEMENT_INPUT_STACK)
Blockly.Extensions.register('list_select_extension', EXTENSIONS.LIST_SELECT_EXTENSION);
+ Blockly.Extensions.registerMutator(
+ 'l_controls_if_mutator',
+ EXTENSIONS.CONTROLS_IF_MUTATOR_MIXIN,
+ null as unknown as undefined, // TODO(#6920)
+ ['controls_if_elseif', 'controls_if_else'],
+ );
+
// When the current language is set: Find and set the blockly translations
this.appState.currentLanguage$
.pipe(filter(language => !!language))
diff --git a/src/assets/backgrounds/flitz_nano.svg b/src/assets/backgrounds/flitz_nano.svg
index b5912791..7bbcb109 100644
--- a/src/assets/backgrounds/flitz_nano.svg
+++ b/src/assets/backgrounds/flitz_nano.svg
@@ -21,9 +21,9 @@
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
- inkscape:zoom="7.6915888"
- inkscape:cx="35.94836"
- inkscape:cy="53.5"
+ inkscape:zoom="3.8457944"
+ inkscape:cx="38.223572"
+ inkscape:cy="71.246658"
inkscape:window-width="1920"
inkscape:window-height="1008"
inkscape:window-x="0"
@@ -44,14 +44,14 @@
stroke="#178ace"
stroke-width="2"
id="path1"
- style="stroke:#000000;stroke-opacity:0.2" />
+ style="stroke:#000000;stroke-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:none;fill-opacity:0.5;stroke:#000000;stroke-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="white-space:pre;shape-inside:url(#rect18);fill:#000000;fill-opacity:0.2;stroke-opacity:0.5;opacity:0.35">
diff --git a/src/assets/backgrounds/flitz_uno.svg b/src/assets/backgrounds/flitz_uno.svg
index ba925f0e..fa6f5ed5 100644
--- a/src/assets/backgrounds/flitz_uno.svg
+++ b/src/assets/backgrounds/flitz_uno.svg
@@ -21,9 +21,9 @@
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
- inkscape:zoom="7.6915888"
- inkscape:cx="35.94836"
- inkscape:cy="53.5"
+ inkscape:zoom="3.8457944"
+ inkscape:cx="34.063183"
+ inkscape:cy="58.505468"
inkscape:window-width="1920"
inkscape:window-height="1008"
inkscape:window-x="0"
@@ -44,14 +44,14 @@
stroke="#178ace"
stroke-width="2"
id="path1"
- style="stroke:#000000;stroke-opacity:0.2" />
+ style="stroke:#000000;stroke-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:none;fill-opacity:0.5;stroke:#000000;stroke-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="fill:#000000;fill-opacity:0.2;opacity:0.35" />
+ style="white-space:pre;shape-inside:url(#rect18);fill:#000000;fill-opacity:0.2;stroke-opacity:0.5;opacity:0.35">
diff --git a/src/assets/backgrounds/orig_nano.svg b/src/assets/backgrounds/orig_nano.svg
index f188710c..cba66871 100644
--- a/src/assets/backgrounds/orig_nano.svg
+++ b/src/assets/backgrounds/orig_nano.svg
@@ -35,9 +35,9 @@
inkscape:deskcolor="#d1d1d1"
inkscape:pageshadow="2"
showgrid="false"
- inkscape:zoom="10.036585"
- inkscape:cx="64.513973"
- inkscape:cy="41"
+ inkscape:zoom="3.5484687"
+ inkscape:cx="38.608203"
+ inkscape:cy="62.280387"
inkscape:window-width="1920"
inkscape:window-height="1008"
inkscape:window-x="0"
@@ -46,7 +46,8 @@
inkscape:current-layer="svg29" />
+ transform="matrix(0.81790719,0,0,0.81790719,0,14.828472)"
+ style="opacity:0.35">
+ style="white-space:pre;shape-inside:url(#rect66);fill:#000000;fill-opacity:0.2;stroke-width:1.4;stroke-linejoin:round;stroke-opacity:0.2;opacity:0.35">
diff --git a/src/assets/backgrounds/orig_nano_esp32.svg b/src/assets/backgrounds/orig_nano_esp32.svg
index ce831152..ba53fe15 100644
--- a/src/assets/backgrounds/orig_nano_esp32.svg
+++ b/src/assets/backgrounds/orig_nano_esp32.svg
@@ -35,9 +35,9 @@
inkscape:deskcolor="#d1d1d1"
inkscape:pageshadow="2"
showgrid="false"
- inkscape:zoom="10.036585"
- inkscape:cx="64.513973"
- inkscape:cy="41"
+ inkscape:zoom="5.0182925"
+ inkscape:cx="48.622116"
+ inkscape:cy="69.744838"
inkscape:window-width="1920"
inkscape:window-height="1008"
inkscape:window-x="0"
@@ -46,7 +46,8 @@
inkscape:current-layer="svg29" />
+ transform="matrix(0.81790719,0,0,0.81790719,0,14.828472)"
+ style="opacity:0.35">
+ style="white-space:pre;shape-inside:url(#rect66);fill:#000000;fill-opacity:0.2;stroke-width:1.4;stroke-linejoin:round;stroke-opacity:0.2;opacity:0.35">
diff --git a/src/assets/backgrounds/orig_nano_rp2040.svg b/src/assets/backgrounds/orig_nano_rp2040.svg
index 3fa5c669..c762686e 100644
--- a/src/assets/backgrounds/orig_nano_rp2040.svg
+++ b/src/assets/backgrounds/orig_nano_rp2040.svg
@@ -35,9 +35,9 @@
inkscape:deskcolor="#d1d1d1"
inkscape:pageshadow="2"
showgrid="false"
- inkscape:zoom="10.036585"
- inkscape:cx="64.513973"
- inkscape:cy="41"
+ inkscape:zoom="5.0182925"
+ inkscape:cx="61.574729"
+ inkscape:cy="74.1288"
inkscape:window-width="1920"
inkscape:window-height="1008"
inkscape:window-x="0"
@@ -46,7 +46,8 @@
inkscape:current-layer="svg29" />
+ transform="matrix(0.81790719,0,0,0.81790719,0,14.828472)"
+ style="opacity:0.35">
+ style="text-align:center;white-space:pre;shape-inside:url(#rect66);fill:#000000;fill-opacity:0.2;stroke-width:1.4;stroke-linejoin:round;stroke-opacity:0.2;opacity:0.35">
diff --git a/src/assets/backgrounds/orig_uno.svg b/src/assets/backgrounds/orig_uno.svg
index b7dde40c..13a835fb 100644
--- a/src/assets/backgrounds/orig_uno.svg
+++ b/src/assets/backgrounds/orig_uno.svg
@@ -35,9 +35,9 @@
inkscape:deskcolor="#d1d1d1"
inkscape:pageshadow="2"
showgrid="false"
- inkscape:zoom="10.036585"
- inkscape:cx="64.513973"
- inkscape:cy="41"
+ inkscape:zoom="5.0182925"
+ inkscape:cx="92.461729"
+ inkscape:cy="58.585664"
inkscape:window-width="1920"
inkscape:window-height="1008"
inkscape:window-x="0"
@@ -46,7 +46,8 @@
inkscape:current-layer="svg29" />
+ transform="matrix(0.81790719,0,0,0.81790719,0,14.828472)"
+ style="opacity:0.35">
+ style="white-space:pre;shape-inside:url(#rect66);fill:#000000;fill-opacity:0.2;stroke-width:1.4;stroke-linejoin:round;stroke-opacity:0.2;opacity:0.35">
diff --git a/yarn.lock b/yarn.lock
index 8f5c770d..a1949df5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1862,10 +1862,10 @@
resolved "https://registry.yarnpkg.com/@leaphy-robotics/dfu-util-wasm/-/dfu-util-wasm-1.0.2.tgz#29afcc01266655e1c7b5da0eeceb0ead48c86fd7"
integrity sha512-lvS+tJFO049b4ERYKX0HcoUtnQv76A1z9sZrAvbs7s3bvdMW0BObKmktZeJ7emcp3lU/+OJWsD2h0EY5rnkiNg==
-"@leaphy-robotics/leaphy-blocks@2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@leaphy-robotics/leaphy-blocks/-/leaphy-blocks-2.0.0.tgz#132caa20410db5ddb201404115eb1e04ecd7085f"
- integrity sha512-iQcKm08JTUHD+P/Gq6VMS+nHr9JXkkBYlfpAh53wy9VYC6u0LF3KXtq2+GiCIoPWsNb7b5DlBvQ2VWpinue2TQ==
+"@leaphy-robotics/leaphy-blocks@2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@leaphy-robotics/leaphy-blocks/-/leaphy-blocks-2.0.2.tgz#691529b77a0d37110f145ad146d11f50bde440cb"
+ integrity sha512-qn0pyHpL5fFOd+frcK+gWlRFa3N44XNOGV3KOUH4/tSujTQGNPkG8DVzLS+F3daL4QaKE+AKz3LvR+IJbqk6Ug==
dependencies:
blockly "^10.1.3"
@@ -5278,9 +5278,9 @@ exponential-backoff@^3.1.1:
integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==
express@^4.17.3:
- version "4.19.1"
- resolved "https://registry.yarnpkg.com/express/-/express-4.19.1.tgz#4700635795e911600a45596138cf5b0320e78256"
- integrity sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==
+ version "4.19.2"
+ resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465"
+ integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==
dependencies:
accepts "~1.3.8"
array-flatten "1.1.1"