mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-13 03:56:24 +00:00
32 lines
831 B
JavaScript
32 lines
831 B
JavaScript
import Widget from "resource:///com/github/Aylur/ags/widget.js";
|
|
import icons from "../icons.js";
|
|
import PowerMenu from "../services/powermenu.js";
|
|
import ShadedPopup from "./ShadedPopup.js";
|
|
|
|
/**
|
|
* @param {'sleep' | 'reboot' | 'logout' | 'shutdown'} action
|
|
* @param {string} label
|
|
*/
|
|
const SysButton = (action, label) =>
|
|
Widget.Button({
|
|
on_clicked: () => PowerMenu.action(action),
|
|
child: Widget.Box({
|
|
vertical: true,
|
|
children: [Widget.Icon(icons.powermenu[action]), Widget.Label(label)],
|
|
}),
|
|
});
|
|
|
|
export default () =>
|
|
ShadedPopup({
|
|
name: "powermenu",
|
|
expand: true,
|
|
child: Widget.Box({
|
|
children: [
|
|
SysButton("sleep", "Sleep"),
|
|
SysButton("reboot", "Reboot"),
|
|
SysButton("logout", "Log Out"),
|
|
SysButton("shutdown", "Shutdown"),
|
|
],
|
|
}),
|
|
});
|