#![enable(implicit_some)]
#![enable(unwrap_newtypes)]
#![enable(unwrap_variant_newtypes)]
(
    show_song_table_header: false,
    draw_borders: true,
    browser_column_widths: [20, 38, 42],
    background_color: "#24273a",
    modal_backdrop: true,
    text_color: "#b7bdf8",
    header_background_color: "#24273a",
    modal_background_color: "#24273a",
    preview_label_style: (fg: "#cba6f7"),
    preview_metadata_group_style: (fg: "#8aadf4"),
    song_table_album_separator: None,
    tab_bar: (
        enabled: true,
        active_style: (fg: "#24273a", bg: "#8aadf4", modifiers: "Bold"),
        inactive_style: (fg: "#b7bdf8", bg: "#24273a"),
    ),
    highlighted_item_style: (fg: "#a6e3a1", modifiers: "Bold"),
    current_item_style: (fg: "#24273a", bg: "#8aadf4", modifiers: "Bold"),
    borders_style: (fg: "#8aadf4", modifiers: "Bold"),
    highlight_border_style: (fg: "#8aadf4"),
    symbols: (song: "󰝚 ", dir: " ", playlist: "󰲸 ", marker: "* ", ellipsis: "...",
        song_style: (fg: "#8aadf4"), dir_style: (fg: "#8aadf4")
    ),
    progress_bar: (
        symbols: ["", "█", "", "█", ""],
        track_style: (fg: "#24273a"),
        elapsed_style: (fg: "#8aadf4"),
        thumb_style: (fg: "#8aadf4", bg: "#24273a"),
    ),
    scrollbar: (
        symbols: ["│", "█", "▲", "▼"],
        track_style: (),
        ends_style: (),
        thumb_style: (fg: "#8aadf4"),
    ),
    song_table_format: [
        (
            prop: (kind: Property(Artist),
                default: (kind: Text("Unknown"))
            ),
            width: "26%",
        ),
        (
            prop: (kind: Property(Title),
                default: (kind: Text("Unknown"))
            ),
            width: "39%",
        ),
        (
            prop: (kind: Property(Album), style: (fg: "#b7bdf8"),
                default: (kind: Text("Unknown Album"), style: (fg: "#b7bdf8"))
            ),
            width: "33%",
        ),
        (
            prop: (kind: Property(Duration),
                default: (kind: Text("-"))
            ),
            width: "8%",
            alignment: Right,
        ),
    ],
    layout: Split(
        direction: Vertical, panes: [
            (size: "3", pane: Pane(Tabs)),
            (size: "4", borders: "ALL", pane: Component("custom-header")),
            (size: "100%", borders: "NONE", pane: Pane(TabContent)),
            (size: "3", borders: "TOP | BOTTOM", pane: Pane(ProgressBar)),
        ]),
    header: (rows: []),
    browser_song_format: [
        (kind: Group([
                    (kind: Property(Track)),
                    (kind: Text(" ")),
                ])),
        (kind: Group([
                    (kind: Property(Artist)),
                    (kind: Text(" - ")),
                    (kind: Property(Title)),
                ]), default: (kind: Property(Filename)))
    ],
    level_styles: (
        info:  (fg: "#a6e3a1", bg: "#24273a"),
        warn:  (fg: "#f9e2af", bg: "#24273a"),
        error: (fg: "#f38ba8", bg: "#24273a"),
        debug: (fg: "#fab387", bg: "#24273a"),
        trace: (fg: "#cba6f7", bg: "#24273a"),
    ),
    components: {
        "custom_song_table_header": Split(borders: "ALL", direction: Horizontal, panes: [
                (size: "27%", pane: Pane(Property(content: [
                                (kind: Text("  "), style: (fg: "#8aadf4")),
                                (kind: Text(" Artist "), style: (fg: "#b7bdf8"))
                            ], align: Left))
                ),
                (size: "36%", pane: Pane(Property(content: [
                                (kind: Text(" "), style: (fg: "#8aadf4")),
                                (kind: Text("Title "), style: (fg: "#b7bdf8"))
                            ], align: Left))
                ),
                (size: "33%", pane: Pane(Property(content: [
                                (kind: Text("󰀥 "), style: (fg: "#8aadf4")),
                                (kind: Text("Album "), style: (fg: "#b7bdf8"))
                            ], align: Left))
                ),
                (size: "9%", pane: Pane(Property(content: [
                                (kind: Text(" "), style: (fg: "#8aadf4")),
                                (kind: Text("Length "), style: (fg: "#b7bdf8"))
                            ], align: Right))
                ),
                (size: "1", pane: Pane(Property(content: [
                                (kind: Text(" "), style: (fg: "#8aadf4")),
                            ], align: Left))
                ),
            ]),
        "custom-header": Split(direction: Horizontal, panes: [
                (size: "33%", pane: Split(direction: Vertical, panes: [
                            (size: "100%", pane: Pane(Property(content: [
                                            (kind: Text(""), style: (fg: "#8aadf4", modifiers: "Bold")),
                                            (kind: Property(Status(StateV2(playing_label: "  ", paused_label: "  ", stopped_label: "  "))),style: (fg: "#b7bdf8")),
                                            (kind: Text(" "), style: (fg: "#8aadf4", modifiers: "Bold")),
                                            (kind: Property(Widget(ScanStatus)), style: (fg: "#b7bdf8", modifiers: "Bold"))
                                        ], align: Left))
                            ),
                            (size: "100%", pane: Pane(Property(content: [
                                            (kind: Text("[ "),style: (fg: "#8aadf4", modifiers: "Bold")),
                                            (kind: Property(Status(Elapsed)),style: (fg: "#b7bdf8")),
                                            (kind: Text(" / "),style: (fg: "#8aadf4", modifiers: "Bold")),
                                            (kind: Property(Status(Duration)),style: (fg: "#b7bdf8")),
                                            (kind: Text(" | "),style: (fg: "#8aadf4", modifiers: "Bold")),
                                            (kind: Property(Status(Bitrate)),default: (kind: Text("  ")),style: (fg: "#b7bdf8")),
                                            (kind: Text(" kbps"),style: (fg: "#8aadf4")),
                                            (kind: Text(" ]"),style: (fg: "#8aadf4", modifiers: "Bold"))
                                        ], align: Left))
                            ),
                        ])
                ),
                (size: "34%", pane: Split(direction: Vertical, panes: [
                            (size: "100%", pane: Pane(Property(content: [
                                            (kind: Property(Song(Title)), style: (fg: "#b7bdf8",modifiers: "Bold"),
                                                default: (kind: Property(Song(Filename)), style: (fg: "#b7bdf8",modifiers: "Bold")))
                                        ], align: Center))
                            ),
                            (size: "100%", pane: Pane(Property(content: [
                                            (kind: Property(Song(Artist)), style: (fg: "#7dc4e4"),
                                                default: (kind: Text("Unknown Artist"), style: (fg: "#89dceb"))),
                                            (kind: Text(" - "), style: (fg: "#b7bdf8")),
                                            (kind: Property(Song(Album)),style: (fg: "#8aadf4" ),
                                                default: (kind: Text("Unknown Album"), style: (fg: "#8aadf4")))
                                        ], align: Center))
                            ),
                        ])
                ),
                (size: "33%", pane: Split(direction: Vertical, panes: [
                            (size: "100%", pane: Pane(Property(content: [
                                            (kind: Text(" 󰕾 "), style: (fg: "#8aadf4", modifiers: "Bold")),
                                            (kind: Property(Status(Volume)), style: (fg: "#b7bdf8")),
                                            (kind: Text("%"), style: (fg: "#b7bdf8", modifiers: "Bold"))
                                        ], align: Right))
                            ),
                            (size: "100%", pane: Pane(Property(content: [
                                            (kind: Text("[ "),style: (fg: "#8aadf4", modifiers: "Bold")),
                                            (kind: Property(Status(QueueLength())),style: (fg: "#b7bdf8")),
                                            (kind: Text(" 󰴍 | "),style: (fg: "#8aadf4", modifiers: "Bold")),
                                            (kind: Property(Status(QueueTimeTotal(separator: " "))),style: (fg: "#b7bdf8")),
                                            (kind: Text(" 󱎫 | "),style: (fg: "#8aadf4", modifiers: "Bold")),
                                            (kind: Property(Status(RepeatV2(on_label: "", off_label: "",
                                                            on_style: (fg: "#b7bdf8", modifiers: "Bold"), off_style: (fg: "#45475a", modifiers: "Bold"))))),
                                            (kind: Text(" | "),style: (fg: "#8aadf4", modifiers: "Bold")),
                                            (kind: Property(Status(RandomV2(on_label: "", off_label: "",
                                                            on_style: (fg: "#b7bdf8", modifiers: "Bold"), off_style: (fg: "#45475a", modifiers: "Bold"))))),
                                            (kind: Text(" | "),style: (fg: "#8aadf4", modifiers: "Bold")),
                                            (kind: Property(Status(ConsumeV2(on_label: "󰮯", off_label: "󰮯", oneshot_label: "󰮯󰇊",
                                                            on_style: (fg: "#b7bdf8", modifiers: "Bold"), off_style: (fg: "#45475a", modifiers: "Bold"))))),
                                            (kind: Text(" | "),style: (fg: "#8aadf4", modifiers: "Bold")),
                                            (kind: Property(Status(SingleV2(on_label: "󰎤", off_label: "󰎦", oneshot_label: "󰇊", off_oneshot_label: "󱅊",
                                                            on_style: (fg: "#b7bdf8", modifiers: "Bold"), off_style: (fg: "#45475a", modifiers: "Bold"))))),
                                            (kind: Text(" ]"),style: (fg: "#8aadf4", modifiers: "Bold")),
                                        ], align: Right))
                            ),
                        ])
                ),
            ])
    },
    cava: (
        bar_symbols: ['▁', '▂', '▃', '▄', '▅', '▆', '▇', '█'],
        bar_width: 1, bar_spacing: 0,
        bg_color: "#24273a",
        bar_color: Gradient({
                0:   "#8aadf4",
                33:  "#89dceb",
                67:  "#8aadf4",
                100: "#91d7e3",
            })
    ),
)
