* 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.
71 lines
2.1 KiB
TypeScript
71 lines
2.1 KiB
TypeScript
import { BoxWidget } from 'lib/types/widget';
|
|
import options from 'options';
|
|
|
|
const { military } = options.menus.clock.time;
|
|
|
|
const time = Variable('', {
|
|
poll: [1000, 'date "+%I:%M:%S"'],
|
|
});
|
|
|
|
const period = Variable('', {
|
|
poll: [1000, 'date "+%p"'],
|
|
});
|
|
|
|
const militaryTime = Variable('', {
|
|
poll: [1000, 'date "+%H:%M:%S"'],
|
|
});
|
|
|
|
const TimeWidget = (): BoxWidget => {
|
|
return Widget.Box({
|
|
class_name: 'calendar-menu-item-container clock',
|
|
hexpand: true,
|
|
vpack: 'center',
|
|
hpack: 'fill',
|
|
child: Widget.Box({
|
|
hexpand: true,
|
|
vpack: 'center',
|
|
hpack: 'center',
|
|
class_name: 'clock-content-items',
|
|
children: military.bind('value').as((is24hr) => {
|
|
if (!is24hr) {
|
|
return [
|
|
Widget.Box({
|
|
hpack: 'center',
|
|
children: [
|
|
Widget.Label({
|
|
class_name: 'clock-content-time',
|
|
label: time.bind(),
|
|
}),
|
|
],
|
|
}),
|
|
Widget.Box({
|
|
hpack: 'center',
|
|
children: [
|
|
Widget.Label({
|
|
vpack: 'end',
|
|
class_name: 'clock-content-period',
|
|
label: period.bind(),
|
|
}),
|
|
],
|
|
}),
|
|
];
|
|
}
|
|
|
|
return [
|
|
Widget.Box({
|
|
hpack: 'center',
|
|
children: [
|
|
Widget.Label({
|
|
class_name: 'clock-content-time',
|
|
label: militaryTime.bind(),
|
|
}),
|
|
],
|
|
}),
|
|
];
|
|
}),
|
|
}),
|
|
});
|
|
};
|
|
|
|
export { TimeWidget };
|