.uploader {
    display: flex;
    flex-direction: column;

    &.icon {
        .image {
            border-radius: var(--border-radius-half);
        }
    }

    &.banner {
        .image {
            border-radius: var(--border-radius);
        }

        .modify {
            gap: 4px;
            flex-direction: row;
        }
    }

    .image {
        cursor: pointer;
        overflow: hidden;
        background-size: cover;
        background-position: center;
        background-color: var(--secondary-background);

        .uploading {
            width: 100%;
            height: 100%;
            display: grid;
            place-items: center;
            background: rgba(0, 0, 0, 0.5);
        }

        &:hover .edit {
            opacity: 1;
        }

        &:active .edit {
            filter: brightness(0.8);
        }

        &.desaturate {
            filter: brightness(0.7) sepia(50%) grayscale(90%);
        }

        .edit {
            opacity: 0;
            width: 100%;
            height: 100%;
            display: grid;
            color: white;
            place-items: center;
            background: rgba(95, 95, 95, 0.5);
            transition: 0.2s ease-in-out opacity;
        }
    }

    .modify {
        display: flex;
        margin-top: 5px;
        font-size: 12px;
        align-items: center;
        flex-direction: column;
        justify-content: center;

        :first-child {
            cursor: pointer;
        }

        .small {
            display: flex;
            font-size: 10px;
            flex-direction: column;
            color: var(--tertiary-foreground);
        }
    }

    &[data-uploading="true"] {
        .image,
        .modify:first-child {
            cursor: not-allowed !important;
        }
    }
}
