using Gtk 4.0; using Adw 1; using Shumate 1.0; Adw.ApplicationWindow mainWindow { title: "Wince"; default-width: 700; default-height: 700; Gtk.Box { orientation: vertical; Adw.HeaderBar {} Gtk.Box { orientation: horizontal; margin-top: 10; margin-start: 14; margin-bottom: 14; margin-end: 14; halign: center; styles ["linked"] Gtk.Entry searchEntry { placeholder-text: "Search"; } Gtk.Entry locationEntry { placeholder-text: "Location"; } Gtk.Button geolocateButton { icon-name: "find-location"; } Gtk.Button searchButton { icon-name: "edit-find"; } } Gtk.Label poweredByText { halign: center; valign: center; vexpand: true; label: "Wince is powered by Yelp"; } Adw.Leaflet leaflet { can-navigate-forward: false; can-navigate-back: true; visible: false; Gtk.ScrolledWindow resultsScroll { vexpand: true; width-request: 300; Gtk.ListBox searchResults {} } Gtk.ScrolledWindow detailsScroll { vexpand: true; Adw.Clamp { width-request: 300; maximum-size: 450; margin-end: 12; tightening-threshold: 400; Gtk.Box detailsBox { orientation: vertical; visible: false; margin-start: 14; Gtk.Button detailsBack { visible: false; hexpand: false; label: "Back to results"; margin-bottom: 8; } Gtk.Label detailsTitle { halign: start; styles ["title-1"] } Gtk.Box { orientation: horizontal; spacing: 12; Gtk.Label detailsIsOpen { halign: start; } Gtk.Label detailsCurrentHours { halign: start; } Gtk.Label detailsPricing { halign: start; } } Gtk.ListBox { styles ["boxed-list"] selection-mode: none; margin-top: 8; hexpand: true; Gtk.ListBoxRow { Gtk.Label detailsAddress { halign: start; margin-start: 12; margin-top: 12; margin-bottom: 12; } } Gtk.ListBoxRow { Gtk.Label detailsPhone { halign: start; margin-start: 12; margin-top: 12; margin-bottom: 12; } } Gtk.ListBoxRow { Gtk.LinkButton detailsUrl { label: "View on yelp"; halign: start; } } } Shumate.SimpleMap detailsMap { margin-top: 8; margin-start: 8; margin-end: 8; height-request: 220; show-zoom-buttons: false; } Gtk.Label { styles ["heading"] halign: start; label: "Hours"; margin-top: 16; } Gtk.ListBox detailsHoursBox { styles ["boxed-list"] selection-mode: none; margin-top: 8; margin-bottom: 8; hexpand: true; } } } } } } }