Skip to content

Theme Format

Specy edited this page Mar 23, 2022 · 1 revision

The app has a feature that allows you to create and download custom themes, they use a specific format that includes the propriety name, text color and background color. The overall format is as follows:

type ThemeKeys = "background" | "primary" | "secondary" | "accent" | "composer_accent" | "icon_color" | "menu_background" | "note_background"
type ThemeProp = {
    name: ThemeKeys //the object key
    value: string   //background color
    css: string     //the css variable name of the propriety, will be ignored when parsing 
    text: string    //the text color
}

interface Theme {
    data: {
        background: ThemeProp
        primary: ThemeProp
        secondary: ThemeProp
        accent: ThemeProp
        composer_accent: ThemeProp
        icon_color: ThemeProp
        menu_background: ThemeProp
        note_background: ThemeProp
    }
    other: {
        id: string //id of the theme, will be randomly generated by the app once imported
        backgroundImageMain: string     //background image of the player
        backgroundImageComposer: string //background image of the composer
        name: string                    //name of the theme
    }
    editable: boolean 
}

You can see a an example theme here

Clone this wiki locally