feat(admin): adding user & importing
This commit is contained in:
@@ -54,6 +54,19 @@
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ----------------------------- */
|
||||
/* -------- CSS Button -------- */
|
||||
/* ----------------------------- */
|
||||
.css-button:checked+div {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.css-button+div {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/* ----------------------------- */
|
||||
/* ------- User Dropdown ------- */
|
||||
/* ----------------------------- */
|
||||
|
||||
46
templates/pages/admin-import-results.tmpl
Normal file
46
templates/pages/admin-import-results.tmpl
Normal file
@@ -0,0 +1,46 @@
|
||||
{{ template "base" . }}
|
||||
{{ define "title" }}Admin - Import Results{{ end }}
|
||||
{{ define "header" }}<a class="whitespace-pre" href="../admin">Admin - Import Results</a>{{ end }}
|
||||
{{ define "content" }}
|
||||
<div class="overflow-x-auto">
|
||||
<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">
|
||||
<thead class="text-gray-800 dark:text-gray-400">
|
||||
<tr>
|
||||
<th class="p-3 font-normal text-left uppercase border-b border-gray-200 dark:border-gray-800">Document</th>
|
||||
<th class="p-3 font-normal text-left uppercase border-b border-gray-200 dark:border-gray-800">Status</th>
|
||||
<th class="p-3 font-normal text-left uppercase border-b border-gray-200 dark:border-gray-800">Error</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="text-black dark:text-white">
|
||||
{{ if not .Data }}
|
||||
<tr>
|
||||
<td class="text-center p-3" colspan="4">No Results</td>
|
||||
</tr>
|
||||
{{ end }}
|
||||
{{ range $result := .Data }}
|
||||
<tr>
|
||||
<td class="p-3 border-b border-gray-200 grid"
|
||||
style="grid-template-columns: 4rem auto">
|
||||
<span class="text-gray-800 dark:text-gray-400">Name:</span>
|
||||
{{ if (eq $result.ID "") }}
|
||||
<span>N/A</span>
|
||||
{{ else }}
|
||||
<a href="../documents/{{ $result.ID }}">{{ $result.Name }}</a>
|
||||
{{ end }}
|
||||
<span class="text-gray-800 dark:text-gray-400">File:</span>
|
||||
<span>{{ $result.Path }}</span>
|
||||
</td>
|
||||
<td class="p-3 border-b border-gray-200">
|
||||
<p>{{ $result.Status }}</p>
|
||||
</td>
|
||||
<td class="p-3 border-b border-gray-200">
|
||||
<p>{{ $result.Error }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
{{ end }}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
@@ -19,12 +19,12 @@
|
||||
</div>
|
||||
<div class="flex flex-col justify-around gap-2 mr-4">
|
||||
<div class="inline-flex gap-2 items-center">
|
||||
<input checked type="radio" id="copy" name="type" value="COPY" />
|
||||
<label for="copy">Copy</label>
|
||||
<input checked type="radio" id="direct" name="type" value="DIRECT" />
|
||||
<label for="direct">Direct</label>
|
||||
</div>
|
||||
<div class="inline-flex gap-2 items-center">
|
||||
<input type="radio" id="direct" name="type" value="DIRECT" />
|
||||
<label for="direct">Direct</label>
|
||||
<input type="radio" id="copy" name="type" value="COPY" />
|
||||
<label for="copy">Copy</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
<label class="cursor-pointer" for="add-button">{{ template "svg/add" }}</label>
|
||||
</th>
|
||||
<th class="p-3 font-normal text-left uppercase border-b border-gray-200 dark:border-gray-800">User</th>
|
||||
<th class="p-3 font-normal text-left uppercase border-b border-gray-200 dark:border-gray-800">Password</th>
|
||||
<th class="p-3 font-normal text-left uppercase border-b border-gray-200 dark:border-gray-800 text-center">
|
||||
Permissions
|
||||
</th>
|
||||
@@ -55,6 +56,33 @@
|
||||
<td class="p-3 border-b border-gray-200">
|
||||
<p>{{ $user.ID }}</p>
|
||||
</td>
|
||||
<td class="border-b border-gray-200 relative px-3">
|
||||
<label for="edit-{{ $user.ID }}-button" class="cursor-pointer">
|
||||
<span class="font-medium px-2 py-1 text-white bg-gray-500 dark:text-gray-800 hover:bg-gray-800 dark:hover:bg-gray-100"
|
||||
type="submit">Reset</span>
|
||||
</label>
|
||||
<input type="checkbox"
|
||||
id="edit-{{ $user.ID }}-button"
|
||||
class="hidden css-button" />
|
||||
<div class="absolute z-30 -bottom-1.5 left-16 p-3 transition-all duration-200 bg-gray-200 rounded shadow-lg shadow-gray-500 dark:shadow-gray-900 dark:bg-gray-600">
|
||||
<form method="POST"
|
||||
action="./users"
|
||||
class="flex flex gap-2 text-black dark:text-white text-sm">
|
||||
<input type="text"
|
||||
id="operation"
|
||||
name="operation"
|
||||
value="UPDATE"
|
||||
class="hidden" />
|
||||
<input type="password"
|
||||
id="password"
|
||||
name="password"
|
||||
placeholder="Password"
|
||||
class="p-2 bg-gray-300 text-black dark:bg-gray-700 dark:text-white" />
|
||||
<button class="font-medium px-2 py-1 text-white bg-gray-500 dark:text-gray-800 hover:bg-gray-800 dark:hover:bg-gray-100"
|
||||
type="submit">Change</button>
|
||||
</form>
|
||||
</div>
|
||||
</td>
|
||||
<td class="p-3 border-b border-gray-200 text-center min-w-40">
|
||||
<span class="px-2 py-1 rounded-md text-white dark:text-black {{ if $user.Admin }}bg-gray-800 dark:bg-gray-100{{ else }}bg-gray-400 dark:bg-gray-600 cursor-pointer{{ end }}">admin</span>
|
||||
<span class="px-2 py-1 rounded-md text-white dark:text-black {{ if $user.Admin }}bg-gray-400 dark:bg-gray-600 cursor-pointer{{ else }}bg-gray-800 dark:bg-gray-100{{ end }}">user</span>
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
enctype="multipart/form-data"
|
||||
action="./documents"
|
||||
class="flex flex-col gap-2">
|
||||
<input type="file" accept=".epub" id="document_file" name="document_file">
|
||||
<input type="file" accept=".epub" id="document_file" name="document_file" />
|
||||
<button class="font-medium px-2 py-1 text-gray-800 bg-gray-500 dark:text-white hover:bg-gray-100 dark:hover:bg-gray-800"
|
||||
type="submit">Upload File</button>
|
||||
</form>
|
||||
@@ -102,19 +102,4 @@
|
||||
<label class="w-16 h-16 bg-gray-800 dark:bg-gray-200 rounded-full flex items-center justify-center opacity-30 hover:opacity-100 transition-all duration-200 cursor-pointer"
|
||||
for="upload-file-button">{{ template "svg/upload" (dict "Size" 34) }}</label>
|
||||
</div>
|
||||
<style>
|
||||
.css-button:checked+div {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.css-button+div {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.css-button:checked+div+label {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
{{ end }}
|
||||
|
||||
Reference in New Issue
Block a user