Skip to content

feat: Add built-in theme customization #172

Description

@JKGeovision

Hello,

I'd like to request a theme customization feature to allow users to easily switch and personalize themes without relying on third-party browser extensions.

Currently, users who want to customize the appearance of the app must rely on external tools like the Stylus Firefox extension to manually inject custom CSS into the document. A built-in theme system would provide a more seamless and accessible experience for all users, regardless of their browser or technical setup.

For example, I use this CSS code to mimic the appearance of Open WebUI:

html {
    color-scheme: dark !important;
    --app-bg: #0f0f0f !important;
    --app-fg: #f1f1f1 !important;
    --app-border: color-mix(in oklab, var(--app-fg) 1.5%, transparent) !important;
    --app-divider: color-mix(in oklab, var(--app-fg) 0.875%, transparent) !important;
}

aside > :nth-child(2) {
    & > a {
        margin: 1px 0px 0px 1px;
        gap: 0.75rem !important;
        font-weight: normal !important;
    }
    & > a > img {
        width: 20px;
        height: 20px;
        margin-left: -6px;
    }
}

main {
    --app-bg: #161616;
    --app-border: color-mix(in oklab, var(--app-fg) 5%, transparent);
    background-color: var(--app-bg);
}

#main-col > div {
    --app-bg: #262626;
    --app-border: color-mix(in oklab, var(--app-fg) 7.5%, transparent);
    background-color: var(--app-bg);
}

.app-surface {
    --app-bg: #1c1c1c;
    --app-border: transparent;
    background-color: var(--app-bg);

    &:focus-within, &:hover {
        --app-border: color-mix(in oklab, var(--app-fg) 7.5%, transparent);
    }
}

.resize-handle, .git-resize-handle {
    background: none !important;
}

.max-w-full {
    width: 80% !important;

    &.flex-col {
        zoom: 0.95;
    }

    & .chat-editor-mount {
        & ol {
            list-style: decimal;
        }
        & ul {
            list-style: disc;
        }
    }
}

button.max-w-32 {
    max-width: none !important;
}

div.svelte-1fbx6nu {
    width: auto;
} 

Thank you for considering this feature. It would greatly improve the user experience and accessibility of the app.

Thank you for your work and I wish you all a great day,
Joshua Krimmer

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions