header.header
  .flex.flex--centered.flex--start-bunched.flex--maybe-wrap
    .flex.flex--centered
      #js-burger-toggle.hide-desktop
        a.header__link href="#"
          i.fa.fa-bars
      a.header__link href="/"
        i.fa.fw.favicon-home
        span.fa__text.hide-limited-desktop.hide-mobile
          ' Derpibooru
      a.header__link.hide-mobile href="/images/new" title="Upload"
        i.fa.fa-upload

    = form_for @conn, ~p"/search", [method: "get", class: "header__search flex flex--no-wrap flex--centered", enforce_utf8: false], fn f ->
      input.input.header__input.header__input--search#q name="q" title="For terms all required, separate with ',' or 'AND'; also supports 'OR' for optional terms and '-' or 'NOT' for negation. Search with a blank query for more options or click the ? for syntax help." value=@conn.params["q"] placeholder="Search" autocapitalize="none" data-ac="true" data-ac-min-length="3" data-ac-mode="search"

      = if present?(@conn.params["sf"]) do
        input type="hidden" name="sf" value=@conn.params["sf"]
      = if present?(@conn.params["sd"]) do
        input type="hidden" name="sd" value=@conn.params["sd"]
      = if present?(@conn.params["hidden"]) do
        input type="hidden" name="hidden" value=@conn.params["hidden"]

      = if hides_images?(@conn) do
        = select f, :del, [{"-D", ""}, {"+D", 1}, {"*D", "deleted"}, {"DO", "only"}], name: "del", class: "input header__input js-staff-action", autocomplete: "off"

      button.header__search__button type="submit" title="Search"
        i.fas.fa-search
      a.header__search__button href="/search/reverse" title="Search using an image"
        i.fa-search-button.fas.fa-camera
      a.header__search__button href="/pages/search_syntax" title="Search syntax help"
        i.fa-search-button.fas.fa-question

    .flex.flex--centered.flex--no-wrap.header__force-right
      = if @current_user do
        a.header__link href="/notifications" title="Notifications"
          i.fas.fa-bell>
          span.js-notification-ticker.fa__text.header__counter data-notification-count=@notification_count = @notification_count

        a.header__link href="/conversations" title="Conversations"
          = if @conversation_count > 0 do
            i.fa-unread-icon.fas.fa-envelope-open>
            span.header__counter
              = @conversation_count
          - else
            i.fas.fa-envelope>
            span.header__counter.hidden
              | 0

        a.header__link.hide-mobile href="/filters" title="Filters"
          i.fa.fa-filter
          span.hide-limited-desktop< Filters

        = form_for @user_changeset, ~p"/filters/current", [class: "header__filter-form", id: "filter-quick-form"], fn f ->
          = select f, :current_filter_id, @available_filters, name: "id", id: "filter-quick-menu", class: "input header__input", data: [change_submit: "#filter-quick-form"], autocomplete: "off"

        = form_for @user_changeset, ~p"/filters/spoiler_type", [class: "header__filter-form hide-mobile hide-limited-desktop", id: "spoiler-quick-form"], fn f ->
          = select f, :spoiler_type, @spoiler_types, id: "spoiler-quick-menu", class: "input header__input", data: [change_submit: "#spoiler-quick-form"], autocomplete: "off"

        .dropdown.header__dropdown
          a.header__link.header__link-user href=~p"/profiles/#{@current_user}"
            = render PhilomenaWeb.UserAttributionView, "_user_avatar.html", object: %{user: @current_user}, class: "avatar--28px"
            span.header__link-user__dropdown-arrow.hide-mobile data-click-preventdefault="true"
          nav.dropdown__content.dropdown__content-right.hide-mobile.js-burger-links
            a.header__link href=~p"/profiles/#{@current_user}"
              = @current_user.name
            a.header__link href="/search?q=my:watched"
              i.fa.fa-fw.fa-eye>
              | Watched
            a.header__link href="/search?q=my:faves"
              i.fa.fa-fw.fa-star>
              | Faves
            a.header__link href="/search?q=my:upvotes"
              i.fa.fa-fw.fa-arrow-up>
              | Upvotes
            a.header__link href=~p"/galleries?#{[gallery: [creator: @current_user.name]]}"
              i.fa.fa-fw.fa-image>
              | Galleries
            a.header__link href="/search?q=my:uploads"
              i.fa.fa-fw.fa-upload>
              | Uploads
            a.header__link href="/comments?cq=my:comments"
              i.fa.fa-fw.fa-comments>
              | Comments
            a.header__link href="/posts?pq=my:posts"
              i.fas.fa-fw.fa-pen-square>
              | Posts
            a.header__link href=~p"/profiles/#{@current_user}/artist_links"
              i.fa.fa-fw.fa-link>
              | Links
            a.header__link href="/settings/edit"
              i.fa.fa-fw.fa-cogs>
              | Settings
            a.header__link href="/conversations"
              i.fa.fa-fw.fa-envelope>
              | Messages
            a.header__link href=~p"/registrations/edit"
              i.fa.fa-fw.fa-user>
              | Account
            a.header__link href=~p"/sessions" data-method="delete"
              i.fa.fa-fw.fa-sign-out-alt>
              | Logout
      - else
        a.header__link.hide-mobile href="/filters"
          | Filters (
          = @current_filter.name
          | )
        span.js-burger-links.hide-mobile
          a.header__link href="/settings/edit"
            i.fa.fa-fw.fa-cogs.hide-desktop>
            | Settings
        a.header__link href=~p"/registrations/new"
          | Register
        a.header__link href=~p"/sessions/new"
          | Login

nav.header.header--secondary
  .flex.flex--centered.flex--spaced-out.flex--wrap
    = render PhilomenaWeb.LayoutView, "_header_navigation.html", assigns
    = if !is_nil(@current_user) and @current_user.role != "user" do
      = render PhilomenaWeb.LayoutView, "_header_staff_links.html", assigns