start plugins template

This commit is contained in:
BlasenhauerJ 2022-11-18 17:15:29 +01:00
parent 3a5d14952d
commit c87c3637db
5 changed files with 129 additions and 53 deletions

View File

@ -1231,6 +1231,10 @@ h6 {
min-height: 2.5rem;
}
.min-h-12 {
min-height: 3rem;
}
.w-full {
width: 100%;
}
@ -3271,6 +3275,10 @@ h6 {
grid-column: span 2 / span 2;
}
.lg\:col-span-3 {
grid-column: span 3 / span 3;
}
.lg\:mx-8 {
margin-left: 2rem;
margin-right: 2rem;
@ -3443,4 +3451,8 @@ h6 {
.\33xl\:col-span-4 {
grid-column: span 4 / span 4;
}
.\33xl\:col-span-2 {
grid-column: span 2 / span 2;
}
}

View File

@ -145,7 +145,7 @@
<h5 class="mb-1 font-bold dark:text-white">1</h5>
<p class="mb-0 dark:text-white dark:opacity-60">
<span class="font-bold leading-normal text-sm text-red-500 mx-0.5"
>0</span
>{{plugins_errors}}</span
>
error
</p>

View File

@ -1,5 +1,6 @@
{% extends "base.html" %} {% block content %} {% set current_endpoint =
url_for(request.endpoint)[1:].split("/")[-1].strip() %}
<div value="{{jobs}}">t</div>
<!-- filter -->
<div
{{current_endpoint}}-filter
@ -206,7 +207,7 @@ url_for(request.endpoint)[1:].split("/")[-1].strip() %}
class="col-span-12 w-full max-h-100 overflow-y-auto"
{{current_endpoint}}-list
>
{% for job in jobs %}
{% for job in jobs %} {{job['every']}}
<!-- job item-->
<li class="grid grid-cols-12 border-b border-gray-300 py-2">
<p
@ -219,7 +220,7 @@ url_for(request.endpoint)[1:].split("/")[-1].strip() %}
class="dark:text-gray-400 dark:opacity-80 text-sm col-span-2 m-0"
{{current_endpoint}}-last_run
>
{{job["last_run"]}}
{{job['last_run']}}
</p>
<p
class="dark:text-gray-400 dark:opacity-80 text-sm col-span-2 m-0"

View File

@ -302,14 +302,48 @@
<!-- plugin list -->
<div>
{% set plugs = config["CONFIG"].get_plugins() %}
<ul>
<li class="w-full mt-4">
<h6
class="pl-6 ml-2 text-xs font-bold leading-tight uppercase dark:text-white opacity-60"
>
PLUGINS
PLUGINS PAGE
</h6>
</li>
{% if not plugs %}
<li
class="hover:rounded-lg dark:text-white dark:opacity-80 py-1 text-sm ease-nav-brand my-0 mx-2 flex items-center whitespace-nowrap px-6 transition"
>no plugins to display</span
>
{% else %} {% for plugin in plugs %} {% if plugin['page'] %}
<li class="mt-0.5 w-full">
<a
target="_blank"
class="{% if current_endpoint == 'logs' %}font-semibold text-slate-700 dark:bg-primary/50 rounded-lg dark:hover:bg-primary/60 bg-primary/20 hover:bg-primary/30{% else %}dark:hover:bg-primary/20 hover:bg-primary/5 {% endif %} hover:rounded-lg dark:text-white dark:opacity-80 py-1 text-sm ease-nav-brand my-0 mx-2 flex items-center whitespace-nowrap px-4 transition"
href="/plugins?{{plugin['id']}}"
>
<div
class="mr-2 flex items-center justify-center rounded-lg bg-center stroke-0 text-center p-1 xl:p-1.5"
>
<svg
class="fill-amber-500 h-5 w-5 relative"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 384 512"
>
<path
d="M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128z"
/>
</svg>
</div>
<span
class="ml-1 duration-300 opacity-100 pointer-events-none ease"
>{{plugin['name']}}</span
>
</a>
</li>
{% endif %} {% endfor %} {% endif %}
</ul>
<!-- end plugin list -->
</div>
@ -322,6 +356,12 @@
<div class="w-full flex flex-col justify-end m-4">
<!-- dark/light mode -->
<div class="min-h-6 my-4 flex justify-center">
<input
type="hidden"
id="csrf_token"
name="csrf_token"
value="{{ csrf_token() }}"
/>
<input {% if dark_mode == True %}checked{% endif %} id="darkMode"
dark-toggle class="dark:brightness-125 hover:brightness-75 rounded-10
duration-300 ease-in-out after:rounded-circle after:shadow-2xl

View File

@ -1,57 +1,80 @@
{% extends "base.html" %} {% block content %}
{% extends "base.html" %} {% block content %}{% set current_endpoint =
url_for(request.endpoint)[1:].split("/")[-1].strip().replace('_', '-') %}
<!-- upload layout -->
<div
class="p-4 col-span-12 lg:col-span-8 grid grid-cols-12 relative min-w-0 break-words bg-white shadow-xl dark:bg-slate-850 dark:shadow-dark-xl rounded-2xl bg-clip-border"
>
<h5 class="col-span-12 mb-2 font-bold dark:text-white">UPLOAD PLUGIN</h5>
<form
action="#"
class="grid grid-cols-12 w-full justify-items-center lg:justify-items-start"
>
<input
type="hidden"
id="csrf_token"
name="csrf_token"
value="{{ csrf_token() }}"
/>
<input class="hidden" type="file" name="file" multiple="multiple" />
</form>
<form method="POST">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
<button type="submit" class="btn btn-outline-primary btn-block mt-2">
Reload plugins
</button>
</form>
</div>
<!-- end upload layout -->
<!-- filter -->
<div
class="p-4 col-span-12 lg:col-span-4 grid grid-cols-12 relative min-w-0 break-words bg-white shadow-xl dark:bg-slate-850 dark:shadow-dark-xl rounded-2xl bg-clip-border"
>
<h5 class="col-span-12 mb-2 font-bold dark:text-white">FILTER</h5>
</div>
<!-- end filter -->
<div
class="min-h-75-screen p-4 col-span-12 grid grid-cols-12 relative min-w-0 break-words bg-white shadow-xl dark:bg-slate-850 dark:shadow-dark-xl rounded-2xl bg-clip-border"
class="min-h-50-screen max-h-100 p-4 col-span-12 relative min-w-0 break-words bg-white shadow-xl dark:bg-slate-850 dark:shadow-dark-xl rounded-2xl bg-clip-border"
>
<!-- upload layout -->
<div class="col-span-12 lg:col-span-6">
<h5 class="mb-2 font-bold dark:text-white">UPLOAD PLUGIN</h5>
<form
action="#"
class="grid grid-cols-12 w-full justify-items-center lg:justify-items-start"
>
<input
type="hidden"
id="csrf_token"
name="csrf_token"
value="{{ csrf_token() }}"
/>
<input class="hidden" type="file" name="file" multiple="multiple" />
</form>
<form method="POST">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
<button type="submit" class="btn btn-outline-primary btn-block mt-2">
Reload plugins
</button>
</form>
</div>
<!-- end upload layout -->
<!-- plugin list -->
<div class="col-span-12 lg:col-span-6">
<h5 class="mb-2 font-bold dark:text-white">LIST PLUGIN</h5>
{% if pages %}
<h5 class="col-mb-2 font-bold dark:text-white">LIST</h5>
<ul
class="nav nav-pills flex-md-column flex-row mb-auto justify-content-start text-truncate"
id="pills-tab"
role="tablist"
<div class="grid grid-cols-12 gap-3">
{% for plugin in plugins %} {% if plugin['page'] %}
<a
{{current_endpoint}}-external="{{plugin['external']}}"
href="/plugins?{{plugin['id']}}"
class="py-3 cursor-pointer min-h-12 relative col-span-12 sm:col-span-6 md:col-span-4 lg:col-span-3 3xl:col-span-2 p-1 flex justify-between items-center transition rounded bg-gray-100 hover:bg-gray-300 dark:bg-slate-700 dark:hover:bg-slate-800"
>
{% for page in pages %}
<li class="nav-item">
<a
class="nav-link d-flex flex-row justify-content-between align-items-center px-2 text-truncate{{' active' if page['active']}}"
id="plugins-pages-{{ page['id'] }}-tab"
data-bs-toggle="pill"
href="#plugins-pages-{{ page['id'] }}"
role="tab"
aria-controls="plugins-pages-{{ page['id'] }}"
aria-selected=""
>
<span class="d-md-inline">{{ page["name"] }}</span>
</a>
</li>
</ul>
{% endfor %} {% endif %}
<p
class="ml-3 mb-0 transition duration-300 ease-in-out dark:opacity-90 text-center text-sm md:text-base text-slate-700 dark:text-gray-300"
>
{{plugin['name']}}
</p>
<svg
class="h-6 w-6 fill-sky-500 dark dark:brightness-90"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 448 512"
>
<path
d="M288 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h50.7L169.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L384 141.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H288zM80 64C35.8 64 0 99.8 0 144V400c0 44.2 35.8 80 80 80H336c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v80c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z"
></path>
</svg>
</a>
{% else %}
<div
{{current_endpoint}}-external="{{plugin['external']}}"
class="py-3 cursor-pointer min-h-12 relative col-span-12 sm:col-span-6 md:col-span-4 lg:col-span-3 3xl:col-span-2 p-1 flex justify-start items-center transition rounded bg-gray-100 hover:bg-gray-300 dark:bg-slate-700 dark:hover:bg-slate-800"
>
<p
class="ml-3 mb-0 transition duration-300 ease-in-out dark:opacity-90 text-center text-sm md:text-base text-slate-700 dark:text-gray-300"
>
{{plugin['name']}}
</p>
</div>
{% endif %} {% endfor %}
</div>
</div>
{% endblock %}