Implemented strict linting standards and prettier formatting config. (#248)

* Implemented strict linting standards and prettier formatting config.

* More linter fixes and type updates.

* More linter updates and type fixes

* Remove noisy comments

* Linter and type updates

* Linter, formatting and type updates.

* Linter updates

* Type updates

* Type updates

* fixed all linter errors

* Fixed all linting, formatting and type issues.

* Resolve merge conflicts.
This commit is contained in:
Jas Singh
2024-09-14 16:20:05 -07:00
committed by GitHub
parent ff13e3dd3c
commit 2c72cc66d8
222 changed files with 13141 additions and 8433 deletions

View File

@@ -1,5 +1,5 @@
import { Action } from "lib/types/power";
import options from "options";
import { Action } from 'lib/types/power';
import options from 'options';
const { sleep, reboot, logout, shutdown } = options.menus.dashboard.powermenu;
class PowerMenu extends Service {
@@ -8,50 +8,50 @@ class PowerMenu extends Service {
this,
{},
{
title: ["string"],
cmd: ["string"],
title: ['string'],
cmd: ['string'],
},
);
}
#title = "";
#cmd = "";
#title = '';
#cmd = '';
get title() {
get title(): string {
return this.#title;
}
action(action: Action) {
action(action: Action): void {
[this.#cmd, this.#title] = {
sleep: [sleep.value, "Sleep"],
reboot: [reboot.value, "Reboot"],
logout: [logout.value, "Log Out"],
shutdown: [shutdown.value, "Shutdown"],
sleep: [sleep.value, 'Sleep'],
reboot: [reboot.value, 'Reboot'],
logout: [logout.value, 'Log Out'],
shutdown: [shutdown.value, 'Shutdown'],
}[action];
this.notify("cmd");
this.notify("title");
this.emit("changed");
App.closeWindow("powermenu");
App.openWindow("verification");
this.notify('cmd');
this.notify('title');
this.emit('changed');
App.closeWindow('powermenu');
App.openWindow('verification');
}
customAction(action: Action, cmnd: string) {
customAction(action: Action, cmnd: string): void {
[this.#cmd, this.#title] = [cmnd, action];
this.notify("cmd");
this.notify("title");
this.emit("changed");
App.closeWindow("powermenu");
App.openWindow("verification");
this.notify('cmd');
this.notify('title');
this.emit('changed');
App.closeWindow('powermenu');
App.openWindow('verification');
}
shutdown = () => {
this.action("shutdown");
shutdown = (): void => {
this.action('shutdown');
};
exec = () => {
App.closeWindow("verification");
exec = (): void => {
App.closeWindow('verification');
Utils.execAsync(this.#cmd);
};
}

View File

@@ -1,15 +1,17 @@
import { Action } from "lib/types/power.js";
import PopupWindow from "../PopupWindow.js";
import powermenu from "./helpers/actions.js";
import icons from "../../icons/index.js";
import { Action } from 'lib/types/power.js';
import PopupWindow from '../PopupWindow.js';
import powermenu from './helpers/actions.js';
import icons from '../../icons/index.js';
import Window from 'types/widgets/window.js';
import { Attribute, Child, GButton } from 'lib/types/widget.js';
const SysButton = (action: Action, label: string) =>
const SysButton = (action: Action, label: string): GButton =>
Widget.Button({
class_name: `widget-button powermenu-button-${action}`,
on_clicked: () => powermenu.action(action),
child: Widget.Box({
vertical: true,
class_name: "system-button widget-box",
class_name: 'system-button widget-box',
children: [
Widget.Icon({
class_name: `system-button_icon ${action}`,
@@ -22,17 +24,17 @@ const SysButton = (action: Action, label: string) =>
],
}),
});
export default () =>
export default (): Window<Child, Attribute> =>
PopupWindow({
name: "powermenu",
transition: "crossfade",
name: 'powermenu',
transition: 'crossfade',
child: Widget.Box({
class_name: "powermenu horizontal",
class_name: 'powermenu horizontal',
children: [
SysButton("shutdown", "SHUTDOWN"),
SysButton("logout", "LOG OUT"),
SysButton("reboot", "REBOOT"),
SysButton("sleep", "SLEEP"),
SysButton('shutdown', 'SHUTDOWN'),
SysButton('logout', 'LOG OUT'),
SysButton('reboot', 'REBOOT'),
SysButton('sleep', 'SLEEP'),
],
}),
});

View File

@@ -1,52 +1,54 @@
import PopupWindow from "../PopupWindow.js";
import powermenu from "./helpers/actions.js";
import Window from 'types/widgets/window.js';
import PopupWindow from '../PopupWindow.js';
import powermenu from './helpers/actions.js';
import { Attribute, Child } from 'lib/types/widget.js';
export default () =>
PopupWindow({
name: "verification",
transition: "crossfade",
child: Widget.Box({
class_name: "verification",
child: Widget.Box({
class_name: "verification-content",
expand: true,
vertical: true,
children: [
Widget.Box({
class_name: "text-box",
vertical: true,
children: [
Widget.Label({
class_name: "title",
label: powermenu.bind("title").as((t) => t.toUpperCase()),
}),
Widget.Label({
class_name: "desc",
label: powermenu
.bind("title")
.as((p) => `Are you sure you want to ${p.toLowerCase()}?`),
}),
],
}),
Widget.Box({
class_name: "buttons horizontal",
vexpand: true,
vpack: "end",
homogeneous: true,
children: [
Widget.Button({
class_name: "verification-button bar-verification_yes",
child: Widget.Label("Yes"),
on_clicked: powermenu.exec,
}),
Widget.Button({
class_name: "verification-button bar-verification_no",
child: Widget.Label("No"),
on_clicked: () => App.toggleWindow("verification"),
}),
],
}),
],
}),
}),
});
export default (): Window<Child, Attribute> =>
PopupWindow({
name: 'verification',
transition: 'crossfade',
child: Widget.Box({
class_name: 'verification',
child: Widget.Box({
class_name: 'verification-content',
expand: true,
vertical: true,
children: [
Widget.Box({
class_name: 'text-box',
vertical: true,
children: [
Widget.Label({
class_name: 'title',
label: powermenu.bind('title').as((t) => t.toUpperCase()),
}),
Widget.Label({
class_name: 'desc',
label: powermenu
.bind('title')
.as((p) => `Are you sure you want to ${p.toLowerCase()}?`),
}),
],
}),
Widget.Box({
class_name: 'buttons horizontal',
vexpand: true,
vpack: 'end',
homogeneous: true,
children: [
Widget.Button({
class_name: 'verification-button bar-verification_yes',
child: Widget.Label('Yes'),
on_clicked: powermenu.exec,
}),
Widget.Button({
class_name: 'verification-button bar-verification_no',
child: Widget.Label('No'),
on_clicked: () => App.toggleWindow('verification'),
}),
],
}),
],
}),
}),
});