27 lines
645 B
TypeScript
27 lines
645 B
TypeScript
import { GLib, Variable } from "astal";
|
|
import { Gtk } from "astal/gtk4";
|
|
|
|
const Time = ({ format = "%a, %e.%m %H:%M:%S" }) => {
|
|
const time = Variable<string>("").poll(
|
|
1000,
|
|
() => GLib.DateTime.new_now_local().format(format)!,
|
|
);
|
|
|
|
return (
|
|
<menubutton
|
|
cssClasses={["time", "bar-button"]}
|
|
hexpand
|
|
halign={Gtk.Align.CENTER}
|
|
>
|
|
<label onDestroy={() => time.drop()} label={time()} halign={Gtk.Align.CENTER}></label>
|
|
<popover>
|
|
<Gtk.Calendar />
|
|
</popover>
|
|
</menubutton>
|
|
);
|
|
};
|
|
|
|
export default {
|
|
Time,
|
|
};
|