<?xml version="1.0" encoding="UTF-8"?>
<interface domain="io.github.swanux.hbud">
  <requires lib="libadwaita" version="1.1"/>
  <requires lib="gtk" version="4.6"/>

  <template class="MainStack" parent="GtkStack">
    <property name="transition-type">slide-left-right</property>
    <property name="transition-duration">300</property>
    <property name="hexpand">True</property>
    <property name="vexpand">True</property>
    <property name="name">mainStack</property>
    <child>
      <object class="GtkStackPage">
        <property name="child">
          <object class="AdwFlap" id="_side_flap">
            <property name="modal">True</property>
            <property name="fold-policy">ADW_FLAP_FOLD_POLICY_ALWAYS</property>
            <property name="flap">
              <object class="GtkOverlay" id="_background">
                <property name="name">_flap_background</property>
                <property name="width-request">308</property>
                <child type="overlay">
                  <object class="GtkScrolledWindow">
                    <property name="can-focus">False</property>
                    <child>
                      <object class="GtkStack" id="_flap_stack">
                        <child>
                          <object class="GtkStackPage">
                            <property name="child">
                              <object class="GtkLabel" id="_nope_lab">
                                <property name="label" translatable="yes">No Saved Playlists</property>
                                <property name="halign">center</property>
                                <property name="valign">center</property>
                                <style><class name="title-3"/></style>
                              </object>
                            </property>
                          </object>
                        </child>
                        <child>
                          <object class="GtkStackPage">
                            <property name="child">
                              <object class="GtkBox" id="_play_list_box">
                                <property name="spacing">5</property>
                                <property name="margin-top">5</property>
                                <property name="margin-bottom">5</property>
                                <property name="orientation">vertical</property>
                              </object>
                            </property>
                          </object>
                        </child>
                      </object>
                    </child>
                  </object>
                </child>
              </object>
            </property>
            <property name="content">
              <object class="GtkBox" id="_placeholder">
                <property name="orientation">vertical</property>
                <property name="name">placeholder</property>
                <child>
                  <object class="GtkRevealer" id="_top_reveal">
                    <property name="transition-type">GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN</property>
                    <property name="reveal-child">False</property>
                    <child>
                      <object class="GtkBox" id="_top_box">
                        <property name="margin-top">5</property>
                        <property name="margin-bottom">10</property>
                        <property name="margin-start">10</property>
                        <property name="margin-end">10</property>
                        <style><class name="linked"/></style>
                        <child>
                          <object class="GtkComboBoxText" id="_combo_sort">
                            <property name="popup-fixed-width">True</property>
                            <property name="can-focus">False</property>
                            <items>
                              <item id="0" translatable="yes">Do Not Sort</item>
                              <item id="1" translatable="yes">Sort by Artist (a-z)</item>
                              <item id="2" translatable="yes">Sort by Artist (z-a)</item>
                              <item id="3" translatable="yes">Sort by Title (a-z)</item>
                              <item id="4" translatable="yes">Sort by Title (z-a)</item>
                              <item id="5" translatable="yes">Sort by Year (0-9)</item>
                              <item id="6" translatable="yes">Sort by Year (9-0)</item>
                              <item id="7" translatable="yes">Sort by Length (0-9)</item>
                              <item id="8" translatable="yes">Sort by Length (9-0)</item>
                            </items>
                            <property name="active-id">0</property>
                          </object>
                        </child>
                        <child>
                          <object class="GtkSearchEntry" id="_search_play">
                            <property name="max-width-chars">100</property>
                            <property name="hexpand">True</property>
                            <property name="name">search_play</property>
                          </object>
                        </child>
                        <child>
                          <object class="GtkButton" id="_order_but">
                            <property name="tooltip-text" translatable="yes">Save Playlist</property>
                            <property name="can-focus">False</property>
                            <property name="label" translatable="yes">Save</property>
                          </object>
                        </child>
                        <child>
                          <object class="GtkButton" id="_order_but2">
                            <property name="tooltip-text" translatable="yes">Rescan your music library, append new tracks</property>
                            <property name="can-focus">False</property>
                            <property name="label" translatable="yes">Rescan</property>
                          </object>
                        </child>
                      </object>
                    </child>
                  </object>
                </child>
                <child>
                  <object class="GtkStack" id="_sup_stack">
                    <property name="hexpand">True</property>
                    <property name="vexpand">True</property>
                    <child>
                      <object class="GtkStackPage">
                        <property name="child">
                          <object class="GtkScrolledWindow" id="_sup_scroll">
                            <property name="can-focus">False</property>
                            <property name="vexpand">True</property>
                            <property name="hexpand">True</property>
                            <property name="margin-top">5</property>
                            <property name="margin-start">10</property>
                            <child>
                              <object class="GtkBox" id="_sup_box">
                                <property name="orientation">vertical</property>
                                <property name="can-focus">False</property>
                              </object>
                            </child>
                          </object>
                        </property>
                      </object>
                    </child>
                    <child>
                      <object class="GtkStackPage">
                        <property name="child">
                          <object class="GtkBox" id="_sup_spinbox">
                            <property name="orientation">vertical</property>
                            <property name="vexpand">True</property>
                            <property name="hexpand">True</property>
                            <child>
                              <object class="GtkSpinner">
                                <property name="spinning">True</property>
                                <property name="valign">center</property>
                                <property name="halign">center</property>
                                <property name="vexpand">True</property>
                                <property name="hexpand">True</property>
                                <property name="width-request">40</property>
                                <property name="height-request">40</property>
                              </object>
                            </child>
                            <child>
                              <object class="GtkLabel">
                                <property name="label" translatable="yes">Loading Content...</property>
                                <style><class name="title-4"/></style>
                                <property name="valign">center</property>
                                <property name="halign">center</property>
                              </object>
                            </child>
                          </object>
                        </property>
                      </object>
                    </child>
                  </object>
                </child>
              </object>
            </property>
          </object>
        </property>
      </object>
    </child>
    <child>
      <object class="GtkStackPage">
        <property name="child">
          <object class="GtkBox" id="_str_box">
            <property name="orientation">vertical</property>
            <property name="name">strBox</property>
            <child>
              <object class="GtkOverlay">
                <property name="hexpand">True</property>
                <property name="vexpand">True</property>
                <child>
                  <object class="GtkPicture" id="_video_picture">
                    <property name="name">videosink</property>
                    <child>
                      <object class="GtkGestureClick" id="_video_click"/>
                    </child>
                  </object>
                </child>
                <child type="overlay">
                  <object class="GtkLabel" id="_subtitles">
                    <property name="name">thetitle</property>
                    <property name="valign">end</property>
                    <attributes>
                      <attribute name="weight" value="PANGO_WEIGHT_HEAVY"/>
                    </attributes>
                  </object>
                </child>
                <child type="overlay">
                  <object class="GtkRevealer" id="_overlay_hub">
                    <property name="valign">start</property>
                    <property name="halign">start</property>
                    <property name="transition-type">GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN</property>
                    <property name="transition-duration">600</property>
                    <property name="reveal-child">False</property>
                    <child>
                      <object class="GtkEventControllerMotion" id="_hub_motion"/>
                    </child>
                    <child>
                      <object class="GtkBox">
                        <property name="orientation">vertical</property>
                        <property name="spacing">5</property>
                        <property name="name">hub_box</property>
                        <property name="margin-top">10</property>
                        <property name="margin-start">10</property>
                        <child>
                          <object class="GtkLabel" id="_current_time">
                            <style><class name="title-1"/></style>
                            <property name="label">00:00</property>
                            <property name="width-chars">6</property>
                            <property name="margin-top">5</property>
                          </object>
                        </child>
                        <child>
                          <object class="GtkLabel" id="_end_time">
                            <style><class name="title-3"/></style>
                            <property name="width-chars">16</property>
                            <property name="margin-bottom">5</property>
                          </object>
                        </child>
                      </object>
                    </child>
                  </object>
                </child>
                <child type="overlay">
                  <object class="GtkRevealer" id="_overlay_revealer">
                    <property name="valign">end</property>
                    <property name="halign">center</property>
                    <property name="transition-type">GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP</property>
                    <property name="transition-duration">600</property>
                    <property name="reveal-child">False</property>
                    <child>
                      <object class="GtkEventControllerMotion" id="_overlay_motion"/>
                    </child>
                    <child>
                      <object class="GtkBox">
                        <property name="spacing">8</property>
                        <property name="name">overlay_box</property>
                        <property name="overflow">hidden</property>
                        <property name="margin-bottom">10</property>
                        <child>
                          <object class="GtkButton" id="_overlay_play">
                            <style><class name="flat"/></style>
                            <property name="can-focus">False</property>
                            <property name="icon-name">media-playback-start</property>
                          </object>
                        </child>
                        <child>
                          <object class="GtkLabel" id="_overlay_time">
                            <style><class name="title-4"/></style>
                            <property name="width-chars">17</property>
                          </object>
                        </child>
                        <child>
                          <object class="GtkBox">
                            <property name="orientation">vertical</property>
                            <property name="hexpand">True</property>
                            <property name="valign">center</property>
                            <child>
                              <object class="GtkPopover" id="_chapter_pop">
                                <property name="autohide">False</property>
                                <property name="has-arrow">False</property>
                                <property name="position">GTK_POS_TOP</property>
                                <child>
                                  <object class="GtkLabel" id="_chapter_lab">
                                    <style><class name="title-4"/></style>
                                  </object>
                                </child>
                              </object>
                            </child>
                            <child>
                              <object class="GtkScale" id="_overlay_scale">
                                <property name="orientation">horizontal</property>
                                <property name="has-tooltip">True</property>
                                <property name="hexpand">True</property>
                                <property name="can-focus">False</property>
                                <property name="draw-value">False</property>
                                <property name="width-request">1000</property>
                                <property name="height-request">40</property>
                              </object>
                            </child>
                          </object>
                        </child>
                        <child>
                          <object class="GtkMenuButton" id="_overlay_subs">
                            <style><class name="flat"/></style>
                            <property name="can-focus">False</property>
                            <property name="icon-name">media-view-subtitles-symbolic</property>
                            <property name="sensitive">False</property>
                            <property name="direction">up</property>
                            <property name="popover">
                              <object class="GtkPopover">
                                <property name="name">hub_menu</property>
                                <child>
                                  <object class="GtkEventControllerMotion" id="_hub_motion2"/>
                                </child>
                              </object>
                            </property>
                          </object>
                        </child>
                        <child>
                          <object class="GtkButton" id="_overlay_full">
                            <style><class name="flat"/></style>
                            <property name="can-focus">False</property>
                            <property name="icon-name">view-restore</property>
                          </object>
                        </child>
                      </object>
                    </child>
                  </object>
                </child>
              </object>
            </child>
          </object>
        </property>
      </object>
    </child>
    <child>
      <object class="GtkStackPage">
        <property name="child">
          <object class="GtkBox" id="_rd_box">
            <property name="orientation">vertical</property>
            <property name="hexpand">True</property>
            <property name="vexpand">True</property>
            <property name="name">rdBox</property>
            <property name="margin-start">5</property>
            <property name="margin-end">5</property>
            <property name="valign">center</property>
            <child>
              <object class="GtkLabel" id="_rd_title">
                <style><class name="title-4"/></style>
                <property name="ellipsize">middle</property>
                <property name="valign">center</property>
              </object>
            </child>
            <child>
              <object class="GtkLabel" id="_rd_artist">
                <property name="ellipsize">middle</property>
                <property name="valign">center</property>
              </object>
            </child>
            <child>
              <object class="GtkLabel" id="_rd_year">
                <style><class name="title-4"/></style>
                <property name="valign">center</property>
              </object>
            </child>
          </object>
        </property>
      </object>
    </child>
  </template>
</interface>