1
1
mirror of https://github.com/Eugeny/tabby.git synced 2024-12-23 18:44:20 +03:00

bumped bootstrap

This commit is contained in:
Eugene Pankov 2018-08-26 21:03:49 +02:00
parent 046ef239db
commit a98f2ce12d
13 changed files with 90 additions and 58 deletions

View File

@ -22,7 +22,7 @@
"@types/webpack-env": "^1.13.0", "@types/webpack-env": "^1.13.0",
"@types/winston": "^2.3.6", "@types/winston": "^2.3.6",
"axios": "0.16.2", "axios": "0.16.2",
"bootstrap": "4.0.0-alpha.6", "bootstrap": "^4.1.3",
"core-js": "^2.4.1", "core-js": "^2.4.1",
"electron-updater": "^2.8.9", "electron-updater": "^2.8.9",
"ng2-dnd": "^5.0.2", "ng2-dnd": "^5.0.2",

View File

@ -10,6 +10,7 @@ export { ConfigService } from '../services/config.service'
export { DockingService } from '../services/docking.service' export { DockingService } from '../services/docking.service'
export { ElectronService } from '../services/electron.service' export { ElectronService } from '../services/electron.service'
export { Logger, LogService } from '../services/log.service' export { Logger, LogService } from '../services/log.service'
export { HomeBaseService } from '../services/homeBase.service'
export { HotkeysService } from '../services/hotkeys.service' export { HotkeysService } from '../services/hotkeys.service'
export { HostAppService, Platform } from '../services/hostApp.service' export { HostAppService, Platform } from '../services/hostApp.service'
export { ThemesService } from '../services/themes.service' export { ThemesService } from '../services/themes.service'

View File

@ -4,21 +4,20 @@ div
sup α sup α
.list-group .list-group
a.list-group-item.list-group-item-action( a.list-group-item.list-group-item-action.d-flex(
*ngFor='let button of getButtons()', *ngFor='let button of getButtons()',
(click)='button.click()', (click)='button.click()',
) )
.d-flex.align-self-center([innerHTML]='button.icon') .d-flex.align-self-center([innerHTML]='button.icon')
span {{button.title}} span {{button.title}}
footer footer.d-flex.align-items-center
.pull-right .btn-group.mr-auto
.form-control-static Version: {{version}} button.btn.btn-secondary((click)='homeBase.openGitHub()')
.btn-group
button.btn.btn-secondary((click)='openGitHub()')
i.fa.fa-github i.fa.fa-github
span GitHub span GitHub
button.btn.btn-secondary((click)='reportBug()') button.btn.btn-secondary((click)='homeBase.reportBug()')
i.fa.fa-bug i.fa.fa-bug
span Report a problem span Report a problem
.form-control-static Version: {{homeBase.appVersion}}

View File

@ -3,6 +3,7 @@
flex-direction: column; flex-direction: column;
flex: auto; flex: auto;
-webkit-app-region: drag; -webkit-app-region: drag;
overflow-y: auto;
} }
:host > div { :host > div {

View File

@ -1,7 +1,6 @@
import * as os from 'os'
import { Component, Inject } from '@angular/core' import { Component, Inject } from '@angular/core'
import { ElectronService } from '../services/electron.service'
import { ConfigService } from '../services/config.service' import { ConfigService } from '../services/config.service'
import { HomeBaseService } from '../services/homeBase.service'
import { IToolbarButton, ToolbarButtonProvider } from '../api' import { IToolbarButton, ToolbarButtonProvider } from '../api'
@Component({ @Component({
@ -13,11 +12,10 @@ export class StartPageComponent {
version: string version: string
constructor ( constructor (
private electron: ElectronService,
private config: ConfigService, private config: ConfigService,
private homeBase: HomeBaseService,
@Inject(ToolbarButtonProvider) private toolbarButtonProviders: ToolbarButtonProvider[], @Inject(ToolbarButtonProvider) private toolbarButtonProviders: ToolbarButtonProvider[],
) { ) {
this.version = electron.app.getVersion()
} }
getButtons (): IToolbarButton[] { getButtons (): IToolbarButton[] {
@ -26,19 +24,4 @@ export class StartPageComponent {
.reduce((a, b) => a.concat(b)) .reduce((a, b) => a.concat(b))
.sort((a: IToolbarButton, b: IToolbarButton) => (a.weight || 0) - (b.weight || 0)) .sort((a: IToolbarButton, b: IToolbarButton) => (a.weight || 0) - (b.weight || 0))
} }
openGitHub () {
this.electron.shell.openExternal('https://github.com/eugeny/terminus')
}
reportBug () {
let body = `Version: ${this.version}\n`
body += `Platform: ${os.platform()} ${os.release()}\n\n`
let label = {
darwin: 'macOS',
windows: 'Windows',
linux: 'Linux',
}[os.platform()]
this.electron.shell.openExternal(`https://github.com/eugeny/terminus/issues/new?body=${encodeURIComponent(body)}&labels=${label}`)
}
} }

View File

@ -11,6 +11,7 @@ import { ConfigService } from './services/config.service'
import { ElectronService } from './services/electron.service' import { ElectronService } from './services/electron.service'
import { HostAppService } from './services/hostApp.service' import { HostAppService } from './services/hostApp.service'
import { LogService } from './services/log.service' import { LogService } from './services/log.service'
import { HomeBaseService } from './services/homeBase.service'
import { HotkeysService, AppHotkeyProvider } from './services/hotkeys.service' import { HotkeysService, AppHotkeyProvider } from './services/hotkeys.service'
import { DockingService } from './services/docking.service' import { DockingService } from './services/docking.service'
import { TabRecoveryService } from './services/tabRecovery.service' import { TabRecoveryService } from './services/tabRecovery.service'
@ -44,6 +45,7 @@ const PROVIDERS = [
ConfigService, ConfigService,
DockingService, DockingService,
ElectronService, ElectronService,
HomeBaseService,
HostAppService, HostAppService,
HotkeysService, HotkeysService,
LogService, LogService,

View File

@ -0,0 +1,29 @@
import * as os from 'os'
import { Inject, Injectable } from '@angular/core'
import { ElectronService } from './electron.service'
@Injectable()
export class HomeBaseService {
appVersion: string
constructor (
private electron: ElectronService,
) {
this.appVersion = electron.app.getVersion()
}
openGitHub () {
this.electron.shell.openExternal('https://github.com/eugeny/terminus')
}
reportBug () {
let body = `Version: ${this.appVersion}\n`
body += `Platform: ${os.platform()} ${os.release()}\n\n`
let label = {
darwin: 'macOS',
windows: 'Windows',
linux: 'Linux',
}[os.platform()]
this.electron.shell.openExternal(`https://github.com/eugeny/terminus/issues/new?body=${encodeURIComponent(body)}&labels=${label}`)
}
}

View File

@ -14,13 +14,17 @@ $teal: #5bc0de !default;
$pink: #ff5b77 !default; $pink: #ff5b77 !default;
$purple: #613d7c !default; $purple: #613d7c !default;
$theme-colors: (
"primary": $blue,
"secondary": #394b5d
);
$content-bg: rgba(39, 49, 60, 0.65); //#1D272D; $content-bg: rgba(39, 49, 60, 0.65); //#1D272D;
$content-bg-solid: #1D272D; $content-bg-solid: #1D272D;
$body-bg: #131d27; $body-bg: #131d27;
$body-bg2: #20333e; $body-bg2: #20333e;
$body-color: #aaa; $body-color: #ccc;
$font-family-sans-serif: "Source Sans Pro"; $font-family-sans-serif: "Source Sans Pro";
$font-size-base: 14rem / 16; $font-size-base: 14rem / 16;
@ -39,6 +43,7 @@ $nav-tabs-link-hover-border-color: $body-bg;
$nav-tabs-active-link-hover-color: $white; $nav-tabs-active-link-hover-color: $white;
$nav-tabs-active-link-hover-bg: $blue; $nav-tabs-active-link-hover-bg: $blue;
$nav-tabs-active-link-hover-border-color: darken($blue, 30%); $nav-tabs-active-link-hover-border-color: darken($blue, 30%);
$nav-pills-border-radius: 0;
$input-bg: #111; $input-bg: #111;
$input-bg-disabled: #333; $input-bg-disabled: #333;

View File

@ -47,12 +47,9 @@ bluebird@^3.5.0:
version "3.5.0" version "3.5.0"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c"
bootstrap@4.0.0-alpha.6: bootstrap@^4.1.3:
version "4.0.0-alpha.6" version "4.1.3"
resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.0.0-alpha.6.tgz#4f54dd33ac0deac3b28407bc2df7ec608869c9c8" resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.1.3.tgz#0eb371af2c8448e8c210411d0cb824a6409a12be"
dependencies:
jquery ">=1.9.1"
tether "^1.4.0"
colors@1.0.x: colors@1.0.x:
version "1.0.3" version "1.0.3"
@ -152,10 +149,6 @@ isstream@0.1.x:
version "0.1.2" version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
jquery@>=1.9.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.2.1.tgz#5c4d9de652af6cd0a770154a631bba12b015c787"
js-yaml@^3.9.0, js-yaml@^3.9.1: js-yaml@^3.9.0, js-yaml@^3.9.1:
version "3.9.1" version "3.9.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.1.tgz#08775cebdfdd359209f0d2acd383c8f86a6904a0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.1.tgz#08775cebdfdd359209f0d2acd383c8f86a6904a0"
@ -230,10 +223,6 @@ stack-trace@0.0.x:
version "0.0.10" version "0.0.10"
resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
tether@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/tether/-/tether-1.4.0.tgz#0f9fa171f75bf58485d8149e94799d7ae74d1c1a"
universalify@^0.1.0: universalify@^0.1.0:
version "0.1.1" version "0.1.1"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7"

View File

@ -19,7 +19,7 @@ h3 Installed
.d-flex.flex-column.align-items-end.mr-3 .d-flex.flex-column.align-items-end.mr-3
div {{plugin.version}} div {{plugin.version}}
small.text-muted {{plugin.author}} small.text-muted {{plugin.author}}
button.btn.btn-outline-primary( button.btn.btn-secondary.ml-2(
*ngIf='npmInstalled && knownUpgrades[plugin.name]', *ngIf='npmInstalled && knownUpgrades[plugin.name]',
(click)='upgradePlugin(plugin)', (click)='upgradePlugin(plugin)',
[disabled]='busy[plugin.name] != undefined' [disabled]='busy[plugin.name] != undefined'
@ -27,19 +27,19 @@ h3 Installed
i.fa.fa-fw.fa-arrow-up(*ngIf='busy[plugin.name] != BusyState.Installing') i.fa.fa-fw.fa-arrow-up(*ngIf='busy[plugin.name] != BusyState.Installing')
i.fa.fa-fw.fa-circle-o-notch.fa-spin(*ngIf='busy[plugin.name] == BusyState.Installing') i.fa.fa-fw.fa-circle-o-notch.fa-spin(*ngIf='busy[plugin.name] == BusyState.Installing')
span Upgrade ({{knownUpgrades[plugin.name].version}}) span Upgrade ({{knownUpgrades[plugin.name].version}})
button.btn.btn-outline-danger( button.btn.btn-secondary.ml-2(
(click)='uninstallPlugin(plugin)', (click)='uninstallPlugin(plugin)',
*ngIf='!plugin.isBuiltin && npmInstalled', *ngIf='!plugin.isBuiltin && npmInstalled',
[disabled]='busy[plugin.name] != undefined' [disabled]='busy[plugin.name] != undefined'
) )
i.fa.fa-fw.fa-trash-o(*ngIf='busy[plugin.name] != BusyState.Uninstalling') i.fa.fa-fw.fa-trash-o(*ngIf='busy[plugin.name] != BusyState.Uninstalling')
i.fa.fa-fw.fa-circle-o-notch.fa-spin(*ngIf='busy[plugin.name] == BusyState.Uninstalling') i.fa.fa-fw.fa-circle-o-notch.fa-spin(*ngIf='busy[plugin.name] == BusyState.Uninstalling')
button.btn.btn-outline-danger( button.btn.btn-secondary.ml-2(
*ngIf='config.store.pluginBlacklist.includes(plugin.name)', *ngIf='config.store.pluginBlacklist.includes(plugin.name)',
(click)='enablePlugin(plugin)' (click)='enablePlugin(plugin)'
) )
i.fa.fa-fw.fa-play i.fa.fa-fw.fa-play
button.btn.btn-outline-primary( button.btn.btn-secondary.ml-2(
*ngIf='!config.store.pluginBlacklist.includes(plugin.name)', *ngIf='!config.store.pluginBlacklist.includes(plugin.name)',
(click)='disablePlugin(plugin)' (click)='disablePlugin(plugin)'
) )
@ -60,9 +60,10 @@ div(*ngIf='npmInstalled')
h3.mt-4 Available h3.mt-4 Available
.input-group.mb-4 .input-group.mb-4
.input-group-addon .input-group-prepend
i.fa.fa-fw.fa-circle-o-notch.fa-spin(*ngIf='!availablePluginsReady') .input-group-text
i.fa.fa-fw.fa-search(*ngIf='availablePluginsReady') i.fa.fa-fw.fa-circle-o-notch.fa-spin(*ngIf='!availablePluginsReady')
i.fa.fa-fw.fa-search(*ngIf='availablePluginsReady')
input.form-control( input.form-control(
type='text', type='text',
'[(ngModel)]'='_1', '[(ngModel)]'='_1',
@ -83,7 +84,7 @@ div(*ngIf='npmInstalled')
div {{plugin.version}} div {{plugin.version}}
small.text-muted {{plugin.author}} small.text-muted {{plugin.author}}
i.fa.fa-check.text-success.ml-1(*ngIf='plugin.isOfficial', title='Official') i.fa.fa-check.text-success.ml-1(*ngIf='plugin.isOfficial', title='Official')
button.btn.btn-outline-primary( button.btn.btn-primary(
(click)='installPlugin(plugin)', (click)='installPlugin(plugin)',
[disabled]='busy[plugin.name] != undefined' [disabled]='busy[plugin.name] != undefined'
) )

View File

@ -1,11 +1,26 @@
button.btn.btn-outline-warning.btn-block(*ngIf='config.restartRequested', '(click)'='restartApp()') Restart the app to apply changes button.btn.btn-outline-warning.btn-block(*ngIf='config.restartRequested', '(click)'='restartApp()') Restart the app to apply changes
ngb-tabset.vertical(type='tabs', [activeId]='activeTab') ngb-tabset.vertical(type='pills', [activeId]='activeTab')
ngb-tab(id='application') ngb-tab(id='application')
ng-template(ngbTabTitle) ng-template(ngbTabTitle)
| Application | Application
ng-template(ngbTabContent) ng-template(ngbTabContent)
h3.mb-3 Application .d-flex.align-items-center.mb-4
h1.terminus-title.mb-2.mr-2 Terminus
sup α
.text-muted.mr-auto {{homeBase.appVersion}}
button.btn.btn-secondary.mr-3((click)='homeBase.openGitHub()')
i.fa.fa-github
span GitHub
button.btn.btn-secondary((click)='homeBase.reportBug()')
i.fa.fa-bug
span Report a problem
.form-line .form-line
.header .header
.title Theme .title Theme
@ -211,7 +226,13 @@ ngb-tabset.vertical(type='tabs', [activeId]='activeTab')
| Hotkeys | Hotkeys
ng-template(ngbTabContent) ng-template(ngbTabContent)
h3.mb-3 Hotkeys h3.mb-3 Hotkeys
input.form-control(type='search', placeholder='Search hotkeys', [(ngModel)]='hotkeyFilter')
.input-group.mb-4
.input-group-prepend
.input-group-text
i.fa.fa-fw.fa-search
input.form-control(type='search', placeholder='Search hotkeys', [(ngModel)]='hotkeyFilter')
.form-group .form-group
table.hotkeys-table table.hotkeys-table
tr tr

View File

@ -1,5 +1,5 @@
import { Component, Inject, Input } from '@angular/core' import { Component, Inject, Input } from '@angular/core'
import { ElectronService, DockingService, ConfigService, IHotkeyDescription, HotkeyProvider, BaseTabComponent, Theme, HostAppService, Platform } from 'terminus-core' import { ElectronService, DockingService, ConfigService, IHotkeyDescription, HotkeyProvider, BaseTabComponent, Theme, HostAppService, Platform, HomeBaseService } from 'terminus-core'
import { SettingsTabProvider } from '../api' import { SettingsTabProvider } from '../api'
@ -23,6 +23,7 @@ export class SettingsTabComponent extends BaseTabComponent {
private electron: ElectronService, private electron: ElectronService,
public docking: DockingService, public docking: DockingService,
public hostApp: HostAppService, public hostApp: HostAppService,
public homeBase: HomeBaseService,
@Inject(HotkeyProvider) hotkeyProviders: HotkeyProvider[], @Inject(HotkeyProvider) hotkeyProviders: HotkeyProvider[],
@Inject(SettingsTabProvider) public settingsProviders: SettingsTabProvider[], @Inject(SettingsTabProvider) public settingsProviders: SettingsTabProvider[],
@Inject(Theme) public themes: Theme[], @Inject(Theme) public themes: Theme[],

View File

@ -17,14 +17,14 @@ h3.mb-3 Appearance
.header .header
.title Font .title Font
.d-flex.w-50 .d-flex.w-75
input.form-control( input.form-control.w-75(
type='text', type='text',
[ngbTypeahead]='fontAutocomplete', [ngbTypeahead]='fontAutocomplete',
[(ngModel)]='config.store.terminal.font', [(ngModel)]='config.store.terminal.font',
(ngModelChange)='config.save()', (ngModelChange)='config.save()',
) )
input.form-control( input.form-control.w-25(
type='number', type='number',
[(ngModel)]='config.store.terminal.fontSize', [(ngModel)]='config.store.terminal.fontSize',
(ngModelChange)='config.save()', (ngModelChange)='config.save()',