<%
if (hide_empty_hooks) {
  hooks = Helper.eliminateEmptyHooks(hooks);
}
%>
<% if (Array.isArray(hooks) && hooks.length > 0) { %>
  <div class="inner-level hooks-<%= level %>-<%= keyword.toLowerCase() %>">
    <% const hookId = counter.next(); %>
    <div data-toggle="collapse" class="<%= status.isPassed ? 'collapsed ' : '' %>collapsable-control" data-target="#<%= keyword.toLowerCase() %>-<%= hookId %>">
      <%- include('/macros/json/brief', {
        keyword: 'Hooks',
        status: status,
        keyword_value: '',
        expandable: true,
        result: locals.result
      }) %>
    </div>

    <div id="<%= keyword.toLowerCase() %>-<%= hookId %>" class="inner-level collapse collapsable-details<%= (!status.isPassed || expand_all_steps) ? ' in' : '' %>">
      <%
        let hookIndex = 0;
        for (const hook of hooks) {
      %>
        <div class="hook">
          <div class="brief <%= hook.getResult().status.rawName %>">
            <span class="keyword indention"><%= keyword %></span>
            <% if (hook.getMatch()) { %>
              <span class="location name"><%= hook.getMatch().location %></span>
            <% } %>
            <%- include('/macros/json/duration', {
              durationable: hook.getResult()
            }) %>
          </div>

          <% if (hook.getResult()) { %>
            <%- include('/macros/json/message', {
              messageName: 'Error message',
              message: hook.getResult().errorMessage,
              isPassed: false,
              index: hookIndex,
            }) %>
          <% } %>

          <% const isPassed = hook.getResult().status.isPassed %>
          <%- include('/macros/json/output', {
            outputs: hook.getOutputs(),
            isPassed,
            }) %>

          <%- include('/macros/json/embeddings', {
            embeddings: hook.embeddings,
          }) %>
        </div>
      <%
      hookIndex++
    }
      %>
    </div>
  </div>
<% } %>
