% layout 'main', title => loc('searchtitle', q => stash('q'), ql => stash('ql')), schematype => 'SearchResultsPage';

<div id="resultinfo" <% if (stash('results')->size) { %> class="found"<%} %>>
  <div id="pagination"><%= pagination(stash('start_page'), stash('total_pages'), url_with->query(['p' => '{page}'])) =%></div>
% my $found = stash('total_results') // 0;
  <p class="found">\
% if ($found != -1) {
%   my $found_text = loc('numf', number => $found);
%   if (stash('time_exceeded')) {
%     $found_text = '> ' . $found_text;
%   };
<span id="total-results"><%= $found_text %></span> <%= loc('matchCount', found => $found) %>\
%# <% if (stash('benchmark')) { %> (~ <%= stash('benchmark') %>)<% } %>
% } elsif (stash('start_index') == 0 && stash('results')->size == 0) {
<span id="total-results">0</span> <%= loc('matchCount', found => $found) %>\
% };
</p>
</div>

%= include 'query2'

<div id="search">
% if (stash('results')->size && stash('total_results') != 0) {
  <ol class="align-left">
%=  search_results2 begin
%=    include 'match', match => $_
%   end
  </ol>
% } elsif (stash('results')->size == 0) {
<p class="no-results"><%= loc 'noMatches', q => stash('q'), ql => stash('ql') %></p>
% }
</div>
