Evan Reichard
9809a09d2e
All checks were successful
continuous-integration/drone/push Build is passing
158 lines
6.1 KiB
Cheetah
158 lines
6.1 KiB
Cheetah
{{ template "base" . }}
|
|
{{ define "title" }}Search{{ end }}
|
|
{{ define "header" }}<a href="./search">Search</a>{{ end }}
|
|
{{ define "content" }}
|
|
<div class="w-full flex flex-col md:flex-row gap-4">
|
|
<div class="flex flex-col gap-4 grow">
|
|
<div
|
|
class="flex flex-col gap-2 grow p-4 rounded shadow-lg bg-white dark:bg-gray-700 text-gray-500 dark:text-white"
|
|
>
|
|
<form class="flex gap-4 flex-col lg:flex-row" action="./search">
|
|
<div class="flex flex-col w-full grow">
|
|
<div class="flex relative">
|
|
<span
|
|
class="inline-flex items-center px-3 border-t bg-white border-l border-b border-gray-300 text-gray-500 shadow-sm text-sm"
|
|
>
|
|
{{ template "svg/search2" (dict "Size" 15) }}
|
|
</span>
|
|
<input
|
|
type="text"
|
|
id="query"
|
|
name="query"
|
|
class="flex-1 appearance-none rounded-none border border-gray-300 w-full py-2 px-4 bg-white text-gray-700 placeholder-gray-400 shadow-sm text-base focus:outline-none focus:ring-2 focus:ring-purple-600 focus:border-transparent"
|
|
placeholder="Query"
|
|
/>
|
|
</div>
|
|
</div>
|
|
<div class="flex relative min-w-[12em]">
|
|
<span
|
|
class="inline-flex items-center px-3 border-t bg-white border-l border-b border-gray-300 text-gray-500 shadow-sm text-sm"
|
|
>
|
|
{{ template "svg/documents" (dict "Size" 15) }}
|
|
</span>
|
|
<select
|
|
class="flex-1 appearance-none rounded-none border border-gray-300 w-full py-2 px-4 bg-white text-gray-700 placeholder-gray-400 shadow-sm text-base focus:outline-none focus:ring-2 focus:ring-purple-600 focus:border-transparent"
|
|
id="source"
|
|
name="source"
|
|
>
|
|
<option value="Annas Archive">Annas Archive</option>
|
|
<option value="LibGen Fiction">LibGen Fiction</option>
|
|
<option value="LibGen Non-fiction">LibGen Non-fiction</option>
|
|
</select>
|
|
</div>
|
|
<div class="lg:w-60">
|
|
{{ template "component/button" (dict
|
|
"Title" "Search"
|
|
"Variant" "Secondary"
|
|
)
|
|
}}
|
|
</div>
|
|
</form>
|
|
{{ if .SearchErrorMessage }}
|
|
<span class="text-red-400 text-xs">{{ .SearchErrorMessage }}</span>
|
|
{{ end }}
|
|
</div>
|
|
<div class="inline-block min-w-full overflow-hidden rounded shadow">
|
|
<table
|
|
class="min-w-full leading-normal bg-white dark:bg-gray-700 text-sm md:text-sm"
|
|
>
|
|
<thead class="text-gray-800 dark:text-gray-400">
|
|
<tr>
|
|
<th
|
|
scope="col"
|
|
class="w-12 p-3 font-normal text-left uppercase border-b border-gray-200 dark:border-gray-800"
|
|
></th>
|
|
<th
|
|
scope="col"
|
|
class="p-3 font-normal text-left uppercase border-b border-gray-200 dark:border-gray-800"
|
|
>
|
|
Document
|
|
</th>
|
|
<th
|
|
scope="col"
|
|
class="p-3 font-normal text-left uppercase border-b border-gray-200 dark:border-gray-800"
|
|
>
|
|
Series
|
|
</th>
|
|
<th
|
|
scope="col"
|
|
class="p-3 font-normal text-left uppercase border-b border-gray-200 dark:border-gray-800"
|
|
>
|
|
Type
|
|
</th>
|
|
<th
|
|
scope="col"
|
|
class="p-3 font-normal text-left uppercase border-b border-gray-200 dark:border-gray-800"
|
|
>
|
|
Size
|
|
</th>
|
|
<th
|
|
scope="col"
|
|
class="p-3 hidden md:block font-normal text-left uppercase border-b border-gray-200 dark:border-gray-800"
|
|
>
|
|
Date
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="text-black dark:text-white">
|
|
{{ if not .Data }}
|
|
<tr>
|
|
<td class="text-center p-3" colspan="6">No Results</td>
|
|
</tr>
|
|
{{ end }}
|
|
{{ range $item := .Data }}
|
|
<tr>
|
|
<td
|
|
class="p-3 border-b border-gray-200 text-gray-500 dark:text-gray-500"
|
|
>
|
|
<form action="./search" method="POST">
|
|
<input
|
|
class="hidden"
|
|
type="text"
|
|
id="source"
|
|
name="source"
|
|
value="{{ $.Source }}"
|
|
/>
|
|
<input
|
|
class="hidden"
|
|
type="text"
|
|
id="title"
|
|
name="title"
|
|
value="{{ $item.Title }}"
|
|
/>
|
|
<input
|
|
class="hidden"
|
|
type="text"
|
|
id="author"
|
|
name="author"
|
|
value="{{ $item.Author }}"
|
|
/>
|
|
<button name="id" value="{{ $item.ID }}">
|
|
{{ template "svg/download" }}
|
|
</button>
|
|
</form>
|
|
</td>
|
|
<td class="p-3 border-b border-gray-200">
|
|
{{ $item.Author }} - {{ $item.Title }}
|
|
</td>
|
|
<td class="p-3 border-b border-gray-200">
|
|
<p>{{ or $item.Series "N/A" }}</p>
|
|
</td>
|
|
<td class="p-3 border-b border-gray-200">
|
|
<p>{{ or $item.FileType "N/A" }}</p>
|
|
</td>
|
|
<td class="p-3 border-b border-gray-200">
|
|
<p>{{ or $item.FileSize "N/A" }}</p>
|
|
</td>
|
|
<td class="hidden md:table-cell p-3 border-b border-gray-200">
|
|
<p>{{ or $item.UploadDate "N/A" }}</p>
|
|
</td>
|
|
</tr>
|
|
{{ end }}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{ end }}
|