on_force_close "quit"
mouse_mode true

keybinds {
    shared_except "locked" {
        unbind "Ctrl q"
        bind "Alt q" { Quit; }
    }

    shared_except "tab" "locked" {
        unbind "Ctrl t"
        bind "Alt t" { SwitchToMode "Tab"; }
    }
}

layout {
    default_tab_template {
        pane size=1 borderless=true {
            plugin location="zellij:tab-bar"
        }
        children
    }
    tab name="WebUI" {
        pane command="pnpm" {
            args "run" "--filter=webui" "dev"
        }
    }
    tab name="Proxy" {
        pane command="pnpm" {
            args "run" "--filter=proxy" "dev"
        }
    }
    tab name="Recorder" {
        pane command="just" {
            args "dev-recorder"
        }
    }
    tab name="Deps" {
        pane command="docker" {
            args "compose" "-f" "devdeps.compose.yaml" "up"
        }
    }
    tab name="Codegen" {
        pane command="just" {
            args "dev-codegen-wait"
        }
    }
}