import { App, Astal, Gtk, Gdk } from 'astal/gtk3'
import Launcher from './components/Launcher';
import Workspace from './components/Workspaces';
import Date from './components/Date';
import Systray from './components/Tray';

const anchor = Astal.WindowAnchor.TOP
  | Astal.WindowAnchor.LEFT
  | Astal.WindowAnchor.RIGHT;

export default (monitor: Gdk.Monitor) => <window
  className='bar'
  gdkmonitor={monitor}
  exclusivity={Astal.Exclusivity.EXCLUSIVE}
  anchor={anchor}
  application={App}>
  <centerbox className='widgets'>
    <box hexpand halign={Gtk.Align.START}>
      <Launcher />
      <Workspace />
    </box>
    <box hexpand halign={Gtk.Align.CENTER}>
      <Date />
    </box>
    <box hexpand halign={Gtk.Align.END}>
      <Systray />
    </box>
  </centerbox>
</window>
