108 lines
3.2 KiB
HTML
108 lines
3.2 KiB
HTML
{{define "results_inner"}}
|
|
{{if .Corrections}}
|
|
<div id="corrections" class="correction">{{range .Corrections}}{{.}} {{end}}</div>
|
|
{{end}}
|
|
|
|
{{if .Infoboxes}}
|
|
<div class="infobox-list" role="region" aria-label="Summary">
|
|
{{range .Infoboxes}}
|
|
<aside class="infobox-card">
|
|
{{if .ImgSrc}}
|
|
<div class="infobox-image-wrap">
|
|
<img src="{{.ImgSrc}}" alt="" class="infobox-img" loading="lazy" width="120" height="120">
|
|
</div>
|
|
{{end}}
|
|
<div class="infobox-main">
|
|
{{if .Title}}<h2 class="infobox-title">{{.Title}}</h2>{{end}}
|
|
{{if .Content}}<p class="infobox-content">{{.Content}}</p>{{end}}
|
|
{{if .URL}}<a href="{{.URL}}" class="infobox-link" target="_blank" rel="noopener noreferrer">Read article on Wikipedia</a>{{end}}
|
|
</div>
|
|
</aside>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|
|
|
|
{{if .UnresponsiveEngines}}
|
|
<div class="engine-errors-wrap" role="region" aria-label="Engine errors">
|
|
<details class="engine-errors">
|
|
<summary>Some search engines had errors</summary>
|
|
<ul class="engine-errors-list">
|
|
{{range .UnresponsiveEngines}}
|
|
<li class="engine-error-item">
|
|
<code class="engine-error-engine">{{index . 0}}</code>
|
|
<span class="engine-error-reason">{{index . 1}}</span>
|
|
</li>
|
|
{{end}}
|
|
</ul>
|
|
</details>
|
|
</div>
|
|
{{end}}
|
|
|
|
{{if .Answers}}
|
|
<div id="answers">
|
|
{{range .Answers}}
|
|
<div class="dialog-error">{{.}}</div>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|
|
|
|
<div class="results-meta" id="results-meta">
|
|
{{if .NumberOfResults}}
|
|
<span>{{.NumberOfResults}} results</span>
|
|
{{end}}
|
|
</div>
|
|
|
|
<div id="urls" role="main">
|
|
{{if .Results}}
|
|
{{if .IsImageSearch}}
|
|
<div class="image-grid">
|
|
{{range .Results}}
|
|
{{if eq .Template "images"}}
|
|
{{template "image_item" .}}
|
|
{{end}}
|
|
{{end}}
|
|
</div>
|
|
{{else}}
|
|
{{range .Results}}
|
|
{{if eq .Template "videos"}}
|
|
{{template "video_item" .}}
|
|
{{else if eq .Template "images"}}
|
|
{{template "image_item" .}}
|
|
{{else}}
|
|
{{template "result_item" .}}
|
|
{{end}}
|
|
{{end}}
|
|
{{end}}
|
|
{{else if and (not .Answers) (not .Infoboxes)}}
|
|
<div class="no-results">
|
|
<div class="no-results-icon" aria-hidden="true">🔍</div>
|
|
<h2>No results found</h2>
|
|
<p>Try different keywords or check your spelling.</p>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
|
|
{{if .Pageno}}
|
|
<nav class="pagination" role="navigation" aria-label="Pagination">
|
|
{{if gt .Pageno 1}}
|
|
<a class="pag-link" href="/search?q={{.Query | urlquery}}&pageno={{.PrevPage}}{{if and .ActiveCategory (ne .ActiveCategory "all")}}&category={{.ActiveCategory | urlquery}}{{end}}">← Prev</a>
|
|
{{end}}
|
|
|
|
{{range .PageNumbers}}
|
|
{{if .IsCurrent}}
|
|
<span class="page-current" aria-current="page">{{.Num}}</span>
|
|
{{else}}
|
|
<a class="pag-link" href="/search?q={{$.Query | urlquery}}&pageno={{.Num}}{{if and $.ActiveCategory (ne $.ActiveCategory "all")}}&category={{$.ActiveCategory | urlquery}}{{end}}">{{.Num}}</a>
|
|
{{end}}
|
|
{{end}}
|
|
|
|
{{if .HasNext}}
|
|
<a class="pag-link" href="/search?q={{.Query | urlquery}}&pageno={{.NextPage}}{{if and .ActiveCategory (ne .ActiveCategory "all")}}&category={{.ActiveCategory | urlquery}}{{end}}">Next →</a>
|
|
{{end}}
|
|
</nav>
|
|
{{end}}
|
|
|
|
<div class="back-to-top">
|
|
<a href="#top">↑ Back to top</a>
|
|
</div>
|
|
{{end}}
|