tabby/tabby-settings/src/settings.ts
2022-01-08 16:03:01 +01:00

80 lines
2.2 KiB
TypeScript

import { Injectable } from '@angular/core'
import { SettingsTabProvider } from './api'
import { HotkeySettingsTabComponent } from './components/hotkeySettingsTab.component'
import { WindowSettingsTabComponent } from './components/windowSettingsTab.component'
import { VaultSettingsTabComponent } from './components/vaultSettingsTab.component'
import { ConfigSyncSettingsTabComponent } from './components/configSyncSettingsTab.component'
import { ProfilesSettingsTabComponent } from './components/profilesSettingsTab.component'
import { TranslateService } from 'tabby-core'
/** @hidden */
@Injectable()
export class HotkeySettingsTabProvider extends SettingsTabProvider {
id = 'hotkeys'
icon = 'keyboard'
title = this.translate.instant('Hotkeys')
constructor (private translate: TranslateService) { super() }
getComponentType (): any {
return HotkeySettingsTabComponent
}
}
/** @hidden */
@Injectable()
export class WindowSettingsTabProvider extends SettingsTabProvider {
id = 'window'
icon = 'window-maximize'
title = this.translate.instant('Window')
constructor (private translate: TranslateService) { super() }
getComponentType (): any {
return WindowSettingsTabComponent
}
}
/** @hidden */
@Injectable()
export class VaultSettingsTabProvider extends SettingsTabProvider {
id = 'vault'
icon = 'key'
title = 'Vault'
getComponentType (): any {
return VaultSettingsTabComponent
}
}
/** @hidden */
@Injectable()
export class ProfilesSettingsTabProvider extends SettingsTabProvider {
id = 'profiles'
icon = 'window-restore'
title = this.translate.instant('Profiles & connections')
prioritized = true
constructor (private translate: TranslateService) { super() }
getComponentType (): any {
return ProfilesSettingsTabComponent
}
}
/** @hidden */
@Injectable()
export class ConfigSyncSettingsTabProvider extends SettingsTabProvider {
id = 'config-sync'
icon = 'cloud'
title = this.translate.instant('Config sync')
constructor (private translate: TranslateService) { super() }
getComponentType (): any {
return ConfigSyncSettingsTabComponent
}
}