import { Gtk, Widget } from "astal/gtk3"; import { TileNetwork } from "./tiles/Network"; import { TileBluetooth } from "./tiles/Bluetooth"; import { TileRecording } from "./tiles/Recording"; export const tileList: Array = [ TileNetwork, TileBluetooth, TileRecording ]; export function TilesWidget(): Gtk.Widget { const tilesFlowBox: Gtk.FlowBox = new Gtk.FlowBox({ visible: true, orientation: Gtk.Orientation.HORIZONTAL, rowSpacing: 6, columnSpacing: 6, minChildrenPerLine: 2, maxChildrenPerLine: 2, expand: true, homogeneous: true, } as Gtk.FlowBox.ConstructorProps); tileList.map((item: Gtk.Widget) => tilesFlowBox.insert(item, -1)); return new Widget.Box({ className: "tiles-container", child: tilesFlowBox } as Widget.BoxProps); } export const Tiles: Gtk.Widget = TilesWidget();