Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New addon: show more costumes in assets list, more than one column #7312

Open
WorldLanguages opened this issue Mar 29, 2024 · 13 comments
Open
Labels
new addon Related to new addons to this extension. `scope: addons` should still be added. scope: addon Related to one or multiple addons source: feedback From the feedback page (https://scratchaddons.com/feedback) or the Discord server type: enhancement New feature for the project

Comments

@WorldLanguages
Copy link
Member

WorldLanguages commented Mar 29, 2024

Why this would be helpful

Feedback from 2024;

Could an addon be added for where I can view multiple rows when scrolling through my costumes? It'd be like viewing multiple rows in the backpack, but for the costume editor instead

Feedback from 2021:

I just hope I could hide the paint editor panel, and show only the costume contents, so I could organize them easily

I guess this is useful for animations

How this addon works

Idea 1: show two columns instead of one, and use horizontal scrolling instead of vertical.

image

Idea 2: a button to hide the costume editor completely and only show the list of costumes as a grid.

image

Possible alternatives

No response

Additional context

No response

@WorldLanguages WorldLanguages added type: enhancement New feature for the project new addon Related to new addons to this extension. `scope: addons` should still be added. source: feedback From the feedback page (https://scratchaddons.com/feedback) or the Discord server scope: addon Related to one or multiple addons labels Mar 29, 2024
@Waakul
Copy link
Contributor

Waakul commented Mar 29, 2024

I'm thinking of making the left of the costume editor draggable, The more you drag away the more space is there and columns can be added accordingly. (Similar to how you can drag the inspect panel in browsers)

@CST1229
Copy link
Member

CST1229 commented Mar 29, 2024

I'm thinking of making the left of the costume editor draggable, The more you drag away the more space is there and columns can be added accordingly. (Similar to how you can drag the inspect panel in browsers)

I actually made a userstyle for that a while ago:

:root {
    --default-columns: 1;
}

[class*="selector_wrapper"] {
    width: auto;
    justify-content: center;
}
[class*="selector_list-area"] {
    width: calc(96px * var(--default-columns) + 2em);
    resize: horizontal;
    min-width: calc(96px + 2em);
    
    display: grid;
    align-content: start;
    grid-template-columns: repeat(auto-fit, minmax(5rem, 1fr));
    
    padding: 0 1em;
    padding-bottom: 140px;
    
    gap: 1em;
    
    overflow-x: visible;
    overflow-y: scroll;
    
}
[class*="selector_list-area"] > div {
    margin-bottom: calc(-0.5em - 1em);
    min-width: 5rem;
    flex-grow: 1;
}
[class*="asset-panel_wrapper"] {
    position: relative;
}

[class*="selector_list-area"]::after {
    content: unset;
}

[class*="selector_list-item"][class*="sprite-selector-item_sprite-selector-item"] {
    width: auto;
}
[class*="selector_new-buttons"] {
    width: calc(100% - 16px);
}
oBqQOvVsCl.mp4

@Waakul
Copy link
Contributor

Waakul commented Mar 29, 2024

I'm thinking of making the left of the costume editor draggable, The more you drag away the more space is there and columns can be added accordingly. (Similar to how you can drag the inspect panel in browsers)

I actually made a userstyle for that a while ago:

:root {
    --default-columns: 1;
}

[class*="selector_wrapper"] {
    width: auto;
    justify-content: center;
}
[class*="selector_list-area"] {
    width: calc(96px * var(--default-columns) + 2em);
    resize: horizontal;
    min-width: calc(96px + 2em);
    
    display: grid;
    align-content: start;
    grid-template-columns: repeat(auto-fit, minmax(5rem, 1fr));
    
    padding: 0 1em;
    padding-bottom: 140px;
    
    gap: 1em;
    
    overflow-x: visible;
    overflow-y: scroll;
    
}
[class*="selector_list-area"] > div {
    margin-bottom: calc(-0.5em - 1em);
    min-width: 5rem;
    flex-grow: 1;
}
[class*="asset-panel_wrapper"] {
    position: relative;
}

[class*="selector_list-area"]::after {
    content: unset;
}

[class*="selector_list-item"][class*="sprite-selector-item_sprite-selector-item"] {
    width: auto;
}
[class*="selector_new-buttons"] {
    width: calc(100% - 16px);
}

oBqQOvVsCl.mp4

It moves the costume editor and other stuff away. We need to be able to clip it instead.

@mybearworld
Copy link
Contributor

That userstyle doesn't work well with editor-stage-left.

@mybearworld
Copy link
Contributor

It moves the costume editor and other stuff away. We need to be able to clip it instead.

A way to do this is to add position: absolute to the [class*="selector_wrapper"], and to add a <div style="width: calc(96px + 2em);"></div> before it. Maybe there's a way do it with pure CSS, though.

@mybearworld
Copy link
Contributor

mybearworld commented Mar 29, 2024

Found something, you can add the width to [class*="asset-panel_detail-area"]::before.

This also resolves it being incompatible with editor-stage-left.

Modified CSS:
:root {
    --default-columns: 1;
}

[class*="asset-panel_detail-area"]::before {
    content: "";
    width: calc(96px + 3em);
}
[class*="selector_wrapper"] {
    width: auto;
    justify-content: center;
    position: absolute;
    height: 100%;
    z-index: 2;
}
[class*="selector_list-area"] {
    width: calc(96px * var(--default-columns) + 2em);
    resize: horizontal;
    min-width: calc(96px + 2em);
    
    display: grid;
    align-content: start;
    grid-template-columns: repeat(auto-fit, minmax(5rem, 1fr));
    
    padding: 0 1em;
    padding-bottom: 140px;
    
    gap: 1em;
    
    overflow-x: visible;
    overflow-y: scroll;
    
}
[class*="selector_list-area"] > div {
    margin-bottom: calc(-0.5em - 1em);
    min-width: 5rem;
    flex-grow: 1;
}
[class*="asset-panel_wrapper"] {
    position: relative;
}

[class*="selector_list-area"]::after {
    content: unset;
}

[class*="selector_list-item"][class*="sprite-selector-item_sprite-selector-item"] {
    width: auto;
}
[class*="selector_new-buttons"] {
    width: calc(100% - 16px);
}

@mybearworld
Copy link
Contributor

You can move it outside of the visible area, which makes it impossible to zoom back in my modified stylesheet:

image

@Secret-chest
Copy link
Contributor

Why make it horizontal and not a grid?

@mybearworld
Copy link
Contributor

It is a grid, just not when it's that big and there's not enough costumes.
See CST's video above for the behavior

@Waakul
Copy link
Contributor

Waakul commented Mar 30, 2024

Found something, you can add the width to [class*="asset-panel_detail-area"]::before.

This also resolves it being incompatible with editor-stage-left.

Modified CSS:

:root {
    --default-columns: 1;
}

[class*="asset-panel_detail-area"]::before {
    content: "";
    width: calc(96px + 3em);
}
[class*="selector_wrapper"] {
    width: auto;
    justify-content: center;
    position: absolute;
    height: 100%;
    z-index: 2;
}
[class*="selector_list-area"] {
    width: calc(96px * var(--default-columns) + 2em);
    resize: horizontal;
    min-width: calc(96px + 2em);
    
    display: grid;
    align-content: start;
    grid-template-columns: repeat(auto-fit, minmax(5rem, 1fr));
    
    padding: 0 1em;
    padding-bottom: 140px;
    
    gap: 1em;
    
    overflow-x: visible;
    overflow-y: scroll;
    
}
[class*="selector_list-area"] > div {
    margin-bottom: calc(-0.5em - 1em);
    min-width: 5rem;
    flex-grow: 1;
}
[class*="asset-panel_wrapper"] {
    position: relative;
}

[class*="selector_list-area"]::after {
    content: unset;
}

[class*="selector_list-item"][class*="sprite-selector-item_sprite-selector-item"] {
    width: auto;
}
[class*="selector_new-buttons"] {
    width: calc(100% - 16px);
}

The min-width doesn't seem responsive....

@mybearworld
Copy link
Contributor

The min-width doesn't seem responsive....

What do you mean?

@Waakul
Copy link
Contributor

Waakul commented Mar 30, 2024

The min-width doesn't seem responsive....

What do you mean?

The min-width is supposed to be different on screens with different dimensions else there will be an overlay that can't be dragged to remove.

@mybearworld
Copy link
Contributor

I don't think the size of the costume bar changes based on screen size...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new addon Related to new addons to this extension. `scope: addons` should still be added. scope: addon Related to one or multiple addons source: feedback From the feedback page (https://scratchaddons.com/feedback) or the Discord server type: enhancement New feature for the project
Projects
None yet
Development

No branches or pull requests

5 participants