195 lines
No EOL
9.5 KiB
HTML
195 lines
No EOL
9.5 KiB
HTML
<!doctype html>
|
|
<!--Tabler - version 1.0.0-beta20 - Copyright 2018-2023 The Tabler Authors - Copyright 2018-2023 codecalm.net Paweł Kuna - Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE)-->
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/>
|
|
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
|
|
<title>Apps - DweebUI</title>
|
|
<!-- CSS files -->
|
|
<link href="/css/tabler.min.css?1692870487" rel="stylesheet"/>
|
|
<link href="/css/demo.min.css?1692870487" rel="stylesheet"/>
|
|
<link href="/css/dweebui.css" rel="stylesheet"/>
|
|
</head>
|
|
<body >
|
|
<div class="page">
|
|
|
|
<!-- EJS -->
|
|
<%- navbar %>
|
|
|
|
<div class="page-wrapper">
|
|
<!-- Page header -->
|
|
<div class="mt-3">
|
|
<div class="container-xl">
|
|
<div class="row row-cards">
|
|
|
|
<div class="col-md-6 col-lg-3">
|
|
<div class="card">
|
|
<div class="card-body text-center">
|
|
<div class="d-flex align-items-center">
|
|
<div class="me-auto btn"><%= app_count %></div>
|
|
<%- remove_button %>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-3">
|
|
<div class="card">
|
|
<div class="card-body text-center">
|
|
<div class="d-flex align-items-center">
|
|
<div class="btn me-2">
|
|
Category:
|
|
</div>
|
|
<div class="dropdown">
|
|
<button class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">Everything</button>
|
|
<form action="/apps" method="POST">
|
|
<ul class="dropdown-menu">
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Other"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Productivity"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Tools"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Dashboard"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Communication"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Media"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="CMS"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Monitoring"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="LDAP"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Arr"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Paid"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Database"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Gaming"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Finance"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Networking"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Authentication"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Development"></li>
|
|
<li><input type="submit" class="dropdown-item" name="search" value="Downloader"></li>
|
|
</ul>
|
|
</form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-3">
|
|
<div class="card">
|
|
<div class="card-body text-center">
|
|
<div class="d-flex align-items-center">
|
|
<dropdown class="me-2">
|
|
<button class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">Default Templates</button>
|
|
<ul class="dropdown-menu">
|
|
<li><a class="dropdown-item" href="/apps">Default Templates</a></li>
|
|
<li><a class="dropdown-item" href="/apps/1/compose">Compose Files</a></li>
|
|
<%- json_templates %>
|
|
</ul>
|
|
</dropdown>
|
|
<button class="btn" name="import" data-bs-toggle="modal" data-bs-target="#import_modal">Import</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-3">
|
|
<div class="card">
|
|
<div class="card-body text-center">
|
|
<div class="text-secondary d-flex align-items-center">
|
|
<form action="/apps" id="search" name="search" method="POST" class="d-flex">
|
|
<input type="search" class="form-control me-2" name="search" placeholder="Search apps…" >
|
|
<input type="submit" form="search" class="btn" value="Search">
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Page body -->
|
|
<div class="mt-3">
|
|
<div class="container-xl">
|
|
<div class="row row-cards">
|
|
|
|
|
|
<%- apps_list %>
|
|
|
|
|
|
<div id="import_modal" class="modal modal-blur fade" style="display: none" aria-hidden="false" tabindex="-1">
|
|
<div class="modal-dialog modal-sm modal-dialog-centered" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-body">
|
|
<div class="modal-title">Import Template(s)</div>
|
|
<div class="text-muted mb-2">Individual template(s) can be *.json, *.yml, or *.yaml.</div>
|
|
<div class="text-muted mb-3">Multiple compose files can be imported from a zip file. Each folder should contain a single compose.yaml.</div>
|
|
<img src = "/img/add to zip.jpg" alt = "Add to zip" class = "img-fluid" />
|
|
<div class="mt-3">
|
|
<form method="post" action="/upload" enctype="multipart/form-data" id="upload">
|
|
<input class="form-control" type="file" name="files" multiple />
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-link link-secondary me-auto" data-bs-dismiss="modal">Cancel</button>
|
|
<button type="submit" class="btn btn-primary" data-bs-dismiss="modal" form="upload">Upload</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="d-flex mt-4">
|
|
<ul class="pagination ms-auto">
|
|
<li class="page-item">
|
|
<a class="page-link" href="<%- prev %>" tabindex="-1" aria-disabled="true">
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 6l-6 6l6 6" /></svg>
|
|
prev
|
|
</a>
|
|
</li>
|
|
|
|
<%- pages %>
|
|
|
|
<li class="page-item">
|
|
<a class="page-link" href="<%- next %>">
|
|
next
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 6l6 6l-6 6" /></svg>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- EJS -->
|
|
<%- footer %>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal medium-modal modal-blur fade" id="wide_modal" tabindex="-1" style="display: none;" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable" role="document">
|
|
<div class="modal-content" id="wide_modal_content">
|
|
<!-- modal content inserted with htmx -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal slim-modal modal-blur fade" id="info_modal" tabindex="-1" style="display: none;" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable" role="document">
|
|
<div class="modal-content" id="info_modal_content">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<script src="/js/dweebui.js" defer></script>
|
|
<script src="/js/htmx.min.js"></script>
|
|
|
|
<!-- Tabler Core -->
|
|
<script src="/js/tabler.min.js?1692870487" defer></script>
|
|
<script src="/js/demo.min.js?1692870487" defer></script>
|
|
|
|
</body>
|
|
</html> |