text: import { createWidget } from "discourse/widgets/widget";
  import { h } from "virtual-dom";
  import { iconNode } from "discourse-common/lib/icon-library";
  import { wantsNewWindow } from "discourse/lib/intercept-click";
  import DiscourseURL from "discourse/lib/url";
  
  export default createWidget("home-logo", {
    tagName: "div.title",
  
    settings: {
      href: Discourse.getURL("/")
    },
  
    href() {
      const href = this.settings.href;
      return typeof href === "function" ? href() : href;
    },
  
    logoUrl() {
      return this.siteSettings.site_logo_url || "";
    },
  
    mobileLogoUrl() {
      return this.siteSettings.site_mobile_logo_url || "";
    },
  
    smallLogoUrl() {
      return this.siteSettings.site_logo_small_url || "";
    },
  
    logo() {
      const { siteSettings } = this;
      const mobileView = this.site.mobileView;
  
      const mobileLogoUrl = this.mobileLogoUrl();
      const showMobileLogo = mobileView && mobileLogoUrl.length > 0;
  
      const logoUrl = this.logoUrl();
      const title = siteSettings.title;
  
      if (this.attrs.minimized) {
        const logoSmallUrl = this.smallLogoUrl();
        if (logoSmallUrl.length) {
          return h("img#site-logo.logo-small", {
            key: "logo-small",
            attributes: {
              src: Discourse.getURL(logoSmallUrl),
              width: 36,
              alt: title
            }
          });
        } else {
          return iconNode("home");
        }
      } else if (showMobileLogo) {
        return h("img#site-logo.logo-big", {
          key: "logo-mobile",
          attributes: { src: Discourse.getURL(mobileLogoUrl), alt: title }
        });
      } else if (logoUrl.length) {
        return h("img#site-logo.logo-big", {
          key: "logo-big",
          attributes: { src: Discourse.getURL(logoUrl), alt: title }
        });
      } else {
        return h("h1#site-text-logo.text-logo", { key: "logo-text" }, title);
      }
    },
  
    html() {
      return h(
        "a",
        { attributes: { href: this.href(), "data-auto-route": true } },
        this.logo()
      );
    },
  
    click(e) {
      if (wantsNewWindow(e)) {
        return false;
      }
      e.preventDefault();
  
      DiscourseURL.routeToTag($(e.target).closest("a")[0]);
      return false;
    }
  });
  