Skip to content

Commit

Permalink
fix lint
Browse files Browse the repository at this point in the history
  • Loading branch information
bwp91 committed Sep 10, 2024
1 parent 2de24f1 commit 1d11cd5
Show file tree
Hide file tree
Showing 4 changed files with 73 additions and 75 deletions.
2 changes: 1 addition & 1 deletion src/modules/config-editor/config-editor.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ export class ConfigEditorController {
@ApiOperation({ summary: 'Update a config property for the Homebridge UI.' })
@Put('/ui')
setPropertyForUi(@Body() { key, value }) {
return this.configEditorService.setPropertyForUi(key, value);
return this.configEditorService.setPropertyForUi(key, value)
}

@UseGuards(AdminGuard)
Expand Down
8 changes: 4 additions & 4 deletions src/modules/config-editor/config-editor.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -299,14 +299,14 @@ export class ConfigEditorService {
*/
public async setPropertyForUi(property: string, value: string) {
// 1. get the current config for homebridge-config-ui-x
const config = await this.getConfigFile();
const config = await this.getConfigFile()

// 2. update the property
const pluginConfig = config.platforms.find(x => x.platform === 'config');
pluginConfig[property] = value;
const pluginConfig = config.platforms.find(x => x.platform === 'config')
pluginConfig[property] = value

// 3. save the config file
await this.updateConfigFile(config);
await this.updateConfigFile(config)
}

/**
Expand Down
18 changes: 8 additions & 10 deletions ui/src/app/modules/settings/settings.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,23 +59,21 @@ export class SettingsComponent implements OnInit {
}

onLangChange(newLang: string) {
this.$settings.setLang(newLang);
this.$settings.setLang(newLang)

// save the theme to the server
this.$api.put('/config-editor/ui', { key: 'lang', value: newLang }).toPromise()
.catch((err) => {
this.$toastr.error(err.message, 'Failed to save language');
});
this.$api.put('/config-editor/ui', { key: 'lang', value: newLang }).toPromise().catch((err) => {
this.$toastr.error(err.message, 'Failed to save language')
})
}

onThemeChange(newTheme: string) {
this.$settings.setTheme(newTheme);
this.$settings.setTheme(newTheme)

// save the theme to the server
this.$api.put('/config-editor/ui', { key: 'theme', value: newTheme }).toPromise()
.catch((err) => {
this.$toastr.error(err.message, 'Failed to save theme');
});
this.$api.put('/config-editor/ui', { key: 'theme', value: newTheme }).toPromise().catch((err) => {
this.$toastr.error(err.message, 'Failed to save theme')
})
}

openUiSettings() {
Expand Down
120 changes: 60 additions & 60 deletions ui/src/app/shared/layout/sidebar/sidebar.component.ts
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
import { AuthService } from '@/app/core/auth/auth.service'
import { InformationComponent } from '@/app/core/components/information/information.component'
import { MobileDetectService } from '@/app/core/mobile-detect.service'
import { NotificationService } from '@/app/core/notification.service'
import { SettingsService } from '@/app/core/settings.service'
import {
Component,
Input,
OnInit,
Renderer2,
} from '@angular/core';
import { NavigationEnd, Router } from '@angular/router';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { TranslateService } from '@ngx-translate/core';
import { AuthService } from '@/app/core/auth/auth.service';
import { InformationComponent } from '@/app/core/components/information/information.component';
import { MobileDetectService } from '@/app/core/mobile-detect.service';
import { NotificationService } from '@/app/core/notification.service';
import { SettingsService } from '@/app/core/settings.service';
} from '@angular/core'
import { NavigationEnd, Router } from '@angular/router'
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
import { TranslateService } from '@ngx-translate/core'

@Component({
selector: 'app-sidebar',
templateUrl: './sidebar.component.html',
styleUrls: ['./sidebar.component.scss'],
})
export class SidebarComponent implements OnInit {
@Input() isExpanded = false;
@Input() isExpanded = false

public rPiCurrentlyUnderVoltage = false;
public rPiWasUnderVoltage = false;
public isMobile: any = false;
public freezeMenu = false;
public rPiCurrentlyUnderVoltage = false
public rPiWasUnderVoltage = false
public isMobile: any = false
public freezeMenu = false

constructor(
public router: Router,
Expand All @@ -37,122 +37,122 @@ export class SidebarComponent implements OnInit {
private $translate: TranslateService,
private renderer: Renderer2,
) {
this.isMobile = this.$md.detect.mobile();
this.isMobile = this.$md.detect.mobile()

// ensure the menu closes when we navigate
router.events.subscribe((event) => {
if (event instanceof NavigationEnd) {
this.closeSidebar();
this.freezeMenu = true;
this.closeSidebar()
this.freezeMenu = true
setTimeout(() => {
this.freezeMenu = false;
}, 500);
this.freezeMenu = false
}, 500)
}
});
})
}

ngOnInit() {
this.$notification.raspberryPiThrottled.subscribe((throttled) => {
if (throttled['Under Voltage']) {
this.rPiCurrentlyUnderVoltage = true;
this.rPiCurrentlyUnderVoltage = true
}
if (throttled['Under-voltage has occurred']) {
this.rPiWasUnderVoltage = true;
this.rPiWasUnderVoltage = true
}
});
})

// declare element for event listeners
const sidebar = document.querySelector('.sidebar');
const mobileHeader = document.querySelector('.m-header');
const content = document.querySelector('.content');
const sidebar = document.querySelector('.sidebar')
const mobileHeader = document.querySelector('.m-header')
const content = document.querySelector('.content')

if (this.isMobile) {
document.addEventListener('touchstart', (e: MouseEvent) => {
if (content.contains(e.target as HTMLElement) && this.isExpanded) {
e.preventDefault();
this.toggleSidebar();
return;
e.preventDefault()
this.toggleSidebar()
return
}

if (!sidebar.contains(e.target as HTMLElement) && !mobileHeader.contains(e.target as HTMLElement) && this.isExpanded) {
e.preventDefault();
this.closeSidebar();
e.preventDefault()
this.closeSidebar()
}
}, { passive: false });
}, { passive: false })
} else {
// Expand sidebar on mouseenter
sidebar.addEventListener('mouseenter', (e: MouseEvent) => this.openSidebar(), { passive: false });
mobileHeader.addEventListener('mouseenter', (e: MouseEvent) => this.openSidebar(), { passive: false });
sidebar.addEventListener('mouseenter', () => this.openSidebar(), { passive: false })
mobileHeader.addEventListener('mouseenter', () => this.openSidebar(), { passive: false })

// Collapse sidebar on mouseleave
sidebar.addEventListener('mouseleave', (e: MouseEvent) => this.closeSidebar(), { passive: false });
mobileHeader.addEventListener('mouseleave', (e: MouseEvent) => this.closeSidebar(), { passive: false });
sidebar.addEventListener('mouseleave', () => this.closeSidebar(), { passive: false })
mobileHeader.addEventListener('mouseleave', () => this.closeSidebar(), { passive: false })

document.addEventListener('click', (e: MouseEvent) => {
if (sidebar.contains(e.target as HTMLElement) && e.clientX > 60) {
this.closeSidebar();
this.closeSidebar()
}
}, { passive: false });
}, { passive: false })
}

this.updateContentStyles();
this.updateContentStyles()
}

openSidebar() {
if (!this.freezeMenu) {
this.isExpanded = true;
this.updateContentStyles();
this.isExpanded = true
this.updateContentStyles()
}
}

closeSidebar() {
if (!this.freezeMenu) {
this.isExpanded = false;
this.updateContentStyles();
this.isExpanded = false
this.updateContentStyles()
}
}

toggleSidebar() {
if (!this.freezeMenu) {
this.isExpanded = !this.isExpanded;
this.updateContentStyles();
this.isExpanded = !this.isExpanded
this.updateContentStyles()
}
}

updateContentStyles() {
const content = document.querySelector('.content');
const content = document.querySelector('.content')
if (this.isExpanded) {
this.renderer.setStyle(content, 'opacity', '20%');
this.renderer.setStyle(content, 'pointer-events', 'none');
this.renderer.setStyle(content, 'overflow', 'hidden');
this.renderer.setStyle(content, 'opacity', '20%')
this.renderer.setStyle(content, 'pointer-events', 'none')
this.renderer.setStyle(content, 'overflow', 'hidden')
} else {
this.renderer.removeStyle(content, 'opacity');
this.renderer.removeStyle(content, 'pointer-events');
this.renderer.removeStyle(content, 'overflow');
this.renderer.removeStyle(content, 'opacity')
this.renderer.removeStyle(content, 'pointer-events')
this.renderer.removeStyle(content, 'overflow')
}
}

openUnderVoltageModal() {
const ref = this.$modal.open(InformationComponent, {
size: 'lg',
backdrop: 'static',
});
})

ref.componentInstance.title = this.$translate.instant('rpi.throttled.undervoltage_title');
ref.componentInstance.title = this.$translate.instant('rpi.throttled.undervoltage_title')
ref.componentInstance.message = this.$translate.instant(this.rPiCurrentlyUnderVoltage
? 'rpi.throttled.currently_undervoltage_message'
: 'rpi.throttled.previously_undervoltage_message',
);
ref.componentInstance.ctaButtonLabel = this.$translate.instant('form.button_more_info');
ref.componentInstance.faIconClass = 'fas fa-fw fa-bolt yellow-text';
ref.componentInstance.ctaButtonLink = 'https://pimylifeup.com/raspberry-pi-low-voltage-warning';
)
ref.componentInstance.ctaButtonLabel = this.$translate.instant('form.button_more_info')
ref.componentInstance.faIconClass = 'fas fa-fw fa-bolt yellow-text'
ref.componentInstance.ctaButtonLink = 'https://pimylifeup.com/raspberry-pi-low-voltage-warning'
}

handleKeydown(event: KeyboardEvent) {
if (event.key === 'Enter') {
const target = event.target as HTMLElement;
const target = event.target as HTMLElement
if (['menuitem', 'button'].includes(target.getAttribute('role'))) {
target.click();
target.click()
}
}
}
Expand Down

0 comments on commit 1d11cd5

Please sign in to comment.