title-bar(
  *ngIf='!hostApp.isFullScreen && config.store.appearance.frame == "full" && config.store.appearance.dock == "off"',
  [class.inset]='hostApp.platform == Platform.macOS'
)

.content(
    [class.tabs-on-top]='config.store.appearance.tabsLocation == "top"'
)
    .tab-bar(
        *ngIf='!hostApp.isFullScreen',
    )
        .inset.background(*ngIf='hostApp.platform == Platform.macOS && config.store.appearance.frame == "thin" && config.store.appearance.tabsLocation == "top"')
        .tabs(
            dnd-sortable-container,
            [sortableData]='app.tabs',
        )
            tab-header(
                *ngFor='let tab of app.tabs; let idx = index',
                dnd-sortable,
                [sortableIndex]='idx',
                (onDragStart)='onTabDragStart()',
                (onDragEnd)='onTabDragEnd()',

                [index]='idx',
                [tab]='tab',
                [active]='tab == app.activeTab',
                [hasActivity]='tab.activity$|async',
                @animateTab,
                (click)='app.selectTab(tab)',
                [class.fully-draggable]='hostApp.platform != Platform.macOS',
                [class.drag-region]='hostApp.platform == Platform.macOS && !tabsDragging',
            )

        .btn-group.background
            .d-flex(
                *ngFor='let button of leftToolbarButtons',
                ngbDropdown,
                (openChange)='generateButtonSubmenu(button)',
            )
                button.btn.btn-secondary.btn-tab-bar(
                    [title]='button.title',
                    (click)='button.click && button.click()',
                    [innerHTML]='sanitizeIcon(button.icon)',
                    ngbDropdownToggle,
                )
                div(*ngIf='button.submenu', ngbDropdownMenu)
                    button.dropdown-item.d-flex.align-items-center(
                        *ngFor='let item of button.submenuItems',
                        (click)='item.click()',
                        ngbDropdownItem,
                    )
                        .icon-wrapper([innerHTML]='sanitizeIcon(item.icon)')
                        .ml-3 {{item.title}}

        .drag-space.background([class.persistent]='config.store.appearance.frame == "thin" && hostApp.platform != Platform.macOS')

        .btn-group.background
            .d-flex(
                *ngFor='let button of rightToolbarButtons',
                ngbDropdown,
                (openChange)='generateButtonSubmenu(button)',
            )
                button.btn.btn-secondary.btn-tab-bar(
                    [title]='button.title',
                    (click)='button.click && button.click()',
                    [innerHTML]='sanitizeIcon(button.icon)',
                    ngbDropdownToggle,
                )
                div(*ngIf='button.submenu', ngbDropdownMenu)
                    button.dropdown-item.d-flex.align-items-center(
                        *ngFor='let item of button.submenuItems',
                        (click)='item.click()',
                        ngbDropdownItem,
                    )
                        .icon-wrapper([innerHTML]='sanitizeIcon(item.icon)')
                        .ml-3 {{item.title}}

            button.btn.btn-secondary.btn-tab-bar.btn-update(
                *ngIf='updatesAvailable',
                title='Update available - Click to install',
                (click)='updateApp()',
                [innerHTML]='sanitizeIcon(updateIcon)'
            )

        window-controls.background(
            *ngIf='config.store.appearance.frame == "thin" && (hostApp.platform == Platform.Windows || hostApp.platform == Platform.Linux)',
        )

    start-page(*ngIf='ready && app.tabs.length == 0')

    tab-body(
        *ngFor='let tab of unsortedTabs',
        [active]='tab == app.activeTab',
        [tab]='tab',
    )

ng-template(ngbModalContainer)