🏡 index : quine-global-labs/bazaar.git

using Gtk 4.0;
using Adw 1;

template $BzFeaturedTile: Button {
  styles [
    "featured-tile",
  ]

  Overlay {
    [overlay]
    Image {
      halign: end;
      valign: start;
      icon-name: "app-installed-symbolic";
      icon-size: normal;
      visible: bind template.group as <$BzEntryGroup>.removable;
      margin-top: 12;
      margin-end: 12;
    }

    Box content_box {
      halign: center;
      orientation: horizontal;
      margin-start: 10;
      margin-end: 10;

      Box icon_box {
        orientation: vertical;
        valign: center;
        margin-top: bind $get_icon_box_v_margin(template.narrow) as <int>;
        margin-bottom: bind icon_box.margin-top;

        Image image {
          paintable: bind template.group as <$BzEntryGroup>.ui-entry as <$BzResult>.object as <$BzEntry>.icon-paintable;
          margin-bottom: 12;
          pixel-size: 128;

          styles [
            "icon-dropshadow",
          ]
        }

        Label title {
          xalign: 0.5;
          halign: center;
          ellipsize: end;
          label: bind template.group as <$BzEntryGroup>.title;

          styles [
            "title-1",
          ]
        }

        Adw.Clamp {
          maximum-size: 350;
          tightening-threshold: 350;
          Box {
            orientation: vertical;
            Label description {
              ellipsize: end;
              xalign: 0.5;
              lines: 1;
              justify: center;
              label: bind template.group as <$BzEntryGroup>.description;
              wrap: true;
              wrap-mode: word_char;

              styles [
                "caption",
              ]
            }
          }
        }
      }
      $BzScreenshot screenshot {
        visible: bind $invert_boolean(template.narrow) as <bool>;
        paintable: bind template.first-screenshot;
        rounded-corners: true;
        top-half: true;
        valign: end;
        margin-top: 20;
      }
    }
  }
}