stash icon indicating copy to clipboard operation
stash copied to clipboard

[Feature] Use text instead of studio image

Open AnonTester opened this issue 1 year ago • 2 comments

It would be great if stash would display srudio names as text instead of empty placeholder image when no studio image is available or set. Not only does the placeholder take up a lot of space without providing any details, but it's unhelpful as one cannot see what studio is set unless editing the scene.

Either pure text like 'Studio: blastudio' or a dynamic placeholder image with the name of the studio would help greatly. Not only in the scene view, but also in the studio view are the empty placeholders useless. In the studio overview they also don't help when a lot of studios don't have logos (like for 3D animation creators).

Screenshot_2024-07-14-01-23-32-69_40deb401b9ffe8e1df2f1cc5ba480b12

AnonTester avatar Jul 14 '24 00:07 AnonTester

It might be worth just adding a user configurable option to add the name under the image as well and or instead, as some studio images are not that helpful if you have a lot of studios with nonsense images.

Same issue with PMV studios, they're often just an avatar, or FansDB creators (though at least FansDB requires any images that actually exist to have the name in them). Still the same issue when there's no studio image which there often isn't.

BonerFide avatar Aug 23 '24 08:08 BonerFide

I came here to look for this exact feature -- this is something that would really help me. I have a stash instance running on docker that is specifically for art/hentai/rule34 stuff, and obviously most of the "studios" there are solo creators that don't have scrapable information.

Having .mp4s that don't have the "studio name" in them and no place on the Details page that spells out the Studio name in text is really annoying -- I have to click on the undifferentiated camera icon and see who made the piece I'm looking at, lol. If there was a toggle to replace that camera icon with just text of the Studio, that would make my life a lot easier!

selvaoscura avatar Jun 06 '25 20:06 selvaoscura

In the meantime, I wrote a short custom script (Interface > Custom CSS/JS) to replace the studio image with text if it's unset. Looks like:

Image

Code:

a[data-processed] {
    font-size: 1.5rem;
    color: inherit;
    text-decoration: none;
    display: inline-block;
}

a[data-processed]:hover {
    text-decoration: underline;
}
function processStudioLogos() {
    document.querySelectorAll('.studio-logo').forEach(img => {
        const link = img.closest('a');
        if (link && img.alt && !link.hasAttribute('data-processed') && img.src.includes('default=true')) {
            const cleanName = img.alt.replace(/\s+logo$/i, '');
            link.textContent = cleanName;
            link.setAttribute('data-processed', 'true');
        }
    });
}

const observer = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutation) {
        if (mutation.addedNodes.length) {
            processStudioLogos();
        }
    });
});

observer.observe(document.body, {
    childList: true,
    subtree: true
});

aye41 avatar Jun 24 '25 08:06 aye41