Skip to content

Commit e25bf76

Browse files
authored
Merge pull request #853 from Masaabu/stage-in-spritepane
Add Feature "stage-in-spritepane"
2 parents bf88f75 + 37f4cd0 commit e25bf76

4 files changed

Lines changed: 112 additions & 0 deletions

File tree

features/features.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
[
2+
{
3+
"version": 2,
4+
"id": "stage-in-spritepane",
5+
"versionAdded": "v3.9.0"
6+
},
27
{
38
"version": 2,
49
"id": "better-cloud-history",
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"title": "Stage In Sprite Pane",
3+
"description": "Move the stage button to the sprite pane to widen the sprite field.",
4+
"credits": [
5+
{ "username": "Masaabu-YT", "url": "https://scratch.mit.edu/users/Masaabu-YT/" }
6+
],
7+
"type": ["Editor"],
8+
"tags": ["New", "Featured"],
9+
"scripts": [{ "file": "script.js", "runOn": "/projects/*" }],
10+
"styles": [{ "file": "style.css", "runOn": "/projects/*" }],
11+
"dynamic": true
12+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
export default async function ({ feature, console }) {
2+
let activeStage;
3+
ScratchTools.waitForElements(
4+
"div[class*='target-pane_stage-selector-wrapper_']",
5+
function (stage) {
6+
activeStage = stage;
7+
8+
if (!feature.self.enabled) return;
9+
10+
stage.classList.add("ste-stage_in_spritepane");
11+
document
12+
.querySelector("div[class^='sprite-info_sprite-info_']")
13+
.appendChild(stage);
14+
}
15+
);
16+
17+
feature.addEventListener("disabled", function () {
18+
if (activeStage) {
19+
activeStage.classList.remove("ste-stage_in_spritepane");
20+
document
21+
.querySelector("div[class^='target-pane_target-pane_']")
22+
.appendChild(activeStage);
23+
}
24+
});
25+
26+
feature.addEventListener("enabled", function () {
27+
if (activeStage) {
28+
activeStage.classList.add("ste-stage_in_spritepane");
29+
document
30+
.querySelector("div[class^='sprite-info_sprite-info_']")
31+
.appendChild(activeStage);
32+
}
33+
});
34+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
[class*='sprite-info_sprite-info_'] {
2+
height: auto;
3+
}
4+
5+
.ste-stage_in_spritepane [class*='stage-selector_stage-selector_'] {
6+
margin-top: 8px;
7+
display: flex;
8+
flex-direction: initial;
9+
border: 1.333px solid #00000026;
10+
border-radius: 0.5rem;
11+
}
12+
13+
.ste-stage_in_spritepane [class*='stage-selector_header_'] {
14+
border: none;
15+
background: none;
16+
width: auto;
17+
margin-right: 8px;
18+
}
19+
20+
[class*='stage-selector_stage-selector_'][class*='stage-selector_is-selected_'] [class*='stage-selector_header_'] {
21+
background: none;
22+
}
23+
24+
.ste-stage_in_spritepane [class*='stage-selector_header_'] span {
25+
color: #575e75;
26+
}
27+
28+
.ste-stage_in_spritepane [class*='stage-selector_costume-canvas_'] {
29+
margin: 2px;
30+
}
31+
32+
.ste-stage_in_spritepane [class*='stage-selector_label_'] {
33+
margin: 0;
34+
}
35+
36+
.ste-stage_in_spritepane [class*='action-menu_menu-container_'] {
37+
right: 0;
38+
bottom: 7%;
39+
}
40+
41+
div[class^='stage-selector_stage-selector_'] > div[class^='action-menu_menu-container_'] {
42+
transform: scale(.8) rotate(-90deg);
43+
margin-right: .3rem;
44+
}
45+
46+
div[class^='stage-selector_stage-selector_'] > div[class^='action-menu_menu-container_'] img {
47+
transform: rotate(90deg);
48+
}
49+
50+
div[class^='stage-selector_stage-selector_'] > div[class^='action-menu_menu-container_'] div[class^='__react_component_tooltip'] {
51+
display: none;
52+
}
53+
54+
div[class^='stage-selector_header-title_'] {
55+
display: none;
56+
}
57+
58+
body div[class^='target-pane_stage-selector-wrapper_'] {
59+
margin-left: 0px !important;
60+
margin-right: 0px !important;
61+
}

0 commit comments

Comments
 (0)