% if (param 'q') {
%= search begin

% unless (param 'snippet') {
<div style="clear: both">
% my $url = url_with->query(['p' => '{page}']);
% my $pages = (stash('search.totalResults') / (stash('search.itemsPerPage') || 1));
% $pages = $pages < 0 ? 0 : $pages;
  <div id="pagination"><%= pagination(stash('search.startPage'), $pages, $url) =%></div>
  <p class="found">Found
    <span id="total-results"><%= commify(stash('search.totalResults')) %> matches</span>
    <% if (stash 'search.bm.hit') { %> in <%= stash 'search.bm.hit' %> (<%= stash 'search.bm.result' %>)<% } %>
  </p>
</div>

%= include 'query'
% };



<ol class="left-aligned">
%=  search_hits begin
%# ID, title, corpusID, author, pubDate, textClass
  <li data-corpus-id="<%= $_->{corpusID} %>"
      data-doc-id="<%= korap_doc_id($_) %>"
      data-match-id="<%= korap_match_id($_) %>">
    <div>
      <div class="snippet"><%== $_->{snippet} %></div>
      <div class="tokenInfo"></div>
    </div>
    <p>
      <strong><%= $_->{title} %></strong>
      <%= $_->{author} ? ' by ' . $_->{author}  : '' %>;
      published on <%= date_format $_->{pubDate} %>
      as <%= $_->{docID} %> (<%= $_->{corpusID} %>)
    </p>
    <ul class="action right">
      <li class="close" title="close"><i class="fa fa-toggle-up"></i></li>
      <li onclick="showTable(this)" title="Annotations"><i class="fa fa-info-circle"></i></li>
<!--
      <li title="Tree Visualizations"><i class="fa fa-sitemap"></i></li>
      <li title="Remember"><i class="fa fa-star-o"></i></li>
-->
    </ul>
  </li>
%   end
</ol>

% end

% }
% else {
%= include 'intro'
% };
