initial upload
This commit is contained in:
parent
b2a512f7fe
commit
48ae5e89aa
30 changed files with 1293 additions and 0 deletions
24
ui/components/meta.njk
Normal file
24
ui/components/meta.njk
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
<link rel="icon" type="image/x-icon" href="/img/AppLogo.svg">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<script src="https://cdn.tailwindcss.com"></script>
|
||||
<link href="https://cdn.jsdelivr.net/npm/flowbite@2.5.1/dist/flowbite.min.css" rel="stylesheet" />
|
||||
<!-- <link rel="stylesheet" href="/css/bootstrap.min.css"> -->
|
||||
<link rel="stylesheet" href="/css/tabler-icons.min.css">
|
||||
<!-- <script src="/js/jquery-3.6.4.min.js"></script>
|
||||
<script src="/js/bootstrap.bundle.min.js"></script>-->
|
||||
<!-- <script src="/js/vue.global.prod.js"></script> -->
|
||||
<script src="https://unpkg.com/vue@latest"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue3-sfc-loader"></script>
|
||||
<style>
|
||||
|
||||
body,
|
||||
html {
|
||||
/* width: 100svw; */
|
||||
min-height: 100svh;
|
||||
|
||||
user-select: none;
|
||||
background: var(--bs-body-bg);
|
||||
}
|
||||
|
||||
</style>
|
||||
101
ui/components/navbar.njk
Normal file
101
ui/components/navbar.njk
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
<header class="bg-white dark:bg-gray-900 shadow-md sticky top-0 z-50 w-full divide-y divide-gray-300 dark:divide-gray-700 flex flex-col">
|
||||
<nav class="container flex justify-between items-center py-4 mx-auto relative">
|
||||
<!-- Application Logo -->
|
||||
<a href="https://flowbite.com/" class="flex items-center space-x-3 rtl:space-x-reverse z-10">
|
||||
<img src="https://flowbite.com/docs/images/logo.svg" class="h-6" alt="Flowbite Logo" />
|
||||
<span class="self-center text-xl font-semibold whitespace-nowrap">Private Key Infrastructure</span>
|
||||
</a>
|
||||
<!-- User Menu -->
|
||||
<div class="flex flex-row gap-2 z-10">
|
||||
<a href="#" class="flex items-center px-4 rounded-md hover:bg-gray-100 dark:hover:bg-gray-800" @click="toggleEditor()">
|
||||
<i :class="['ti','ti-edit',modeEdit ? 'text-blue-700 dark:text-blue-600' : '']"></i>
|
||||
</a>
|
||||
<div class="flex items-center relative md:order-2">
|
||||
<button type="button" data-dropdown-toggle="user-dropdown"
|
||||
class="font-medium text-sm px-4 py-2 cursor-pointer rounded-md hover:bg-gray-100 dark:hover:bg-gray-800 dark:hover:text-white">
|
||||
Kai Waggeling
|
||||
</button>
|
||||
<div id="user-dropdown" class="w-48 hidden my-4 text-base bg-white divide-y divide-gray-100 rounded-lg shadow dark:bg-gray-700 dark:divide-gray-600 overflow-hidden absolute right-0">
|
||||
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 dark:hover:bg-gray-600 dark:text-gray-200 dark:hover:text-white">
|
||||
Settings
|
||||
</a>
|
||||
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 dark:hover:bg-gray-600 dark:text-gray-200 dark:hover:text-white">
|
||||
Sign out
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
{% if page == 'authority' %}
|
||||
<nav class="container flex justify-between items-center py-4 mx-auto relative">
|
||||
<div class="flex flex-row align-stretch gap-8">
|
||||
<a href="#" class="block py-1 text-blue-700 dark:text-blue-500">
|
||||
Start
|
||||
</a>
|
||||
<a href="#" class="block py-1 text-gray-900 dark:text-white hover:text-blue-700 dark:hover:text-blue-500">
|
||||
Bookmarks
|
||||
</a>
|
||||
</div>
|
||||
</nav>
|
||||
{% endif %}
|
||||
</header>
|
||||
<!-- <nav class="bg-white border-gray-200 dark:bg-gray-900">
|
||||
<div class="container flex flex-wrap items-center justify-between mx-auto p-4">
|
||||
<a href="https://flowbite.com/" class="flex items-center space-x-3 rtl:space-x-reverse">
|
||||
<img src="https://flowbite.com/docs/images/logo.svg" class="h-8" alt="Flowbite Logo" />
|
||||
<span class="self-center text-2xl font-semibold whitespace-nowrap dark:text-white">Bookmark Manager</span>
|
||||
</a>
|
||||
<div class="flex items-center md:order-2 space-x-1 md:space-x-0 rtl:space-x-reverse">
|
||||
<button type="button" data-dropdown-toggle="user-dropdown"
|
||||
class="inline-flex items-center font-medium justify-center px-4 py-2 text-sm text-gray-900 dark:text-white rounded-lg cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 dark:hover:text-white">
|
||||
Kai Waggeling
|
||||
</button>
|
||||
|
||||
<div class="z-50 hidden my-4 text-base list-none bg-white divide-y divide-gray-100 rounded-lg shadow dark:bg-gray-700 dark:divide-gray-600"
|
||||
id="user-dropdown">
|
||||
<ul class="py-2" aria-labelledby="user-menu-button">
|
||||
<li>
|
||||
<a href="#"
|
||||
class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 dark:hover:bg-gray-600 dark:text-gray-200 dark:hover:text-white">
|
||||
Settings
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#"
|
||||
class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 dark:hover:bg-gray-600 dark:text-gray-200 dark:hover:text-white">
|
||||
Sign out
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<button data-collapse-toggle="navbar-language" type="button"
|
||||
class="inline-flex items-center p-2 w-10 h-10 justify-center text-sm text-gray-500 rounded-lg md:hidden hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-600"
|
||||
aria-controls="navbar-language" aria-expanded="false">
|
||||
<span class="sr-only">Open main menu</span>
|
||||
<svg class="w-5 h-5" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none"
|
||||
viewBox="0 0 17 14">
|
||||
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M1 1h15M1 7h15M1 13h15" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
<div class="justify-between hidden w-full md:flex md:w-auto md:order-1" id="navbar-language">
|
||||
<ul
|
||||
class="flex flex-col font-medium p-4 md:p-0 mt-4 border border-gray-100 rounded-lg bg-gray-50 md:space-x-8 rtl:space-x-reverse md:flex-row md:mt-0 md:border-0 md:bg-white dark:bg-gray-800 md:dark:bg-gray-900 dark:border-gray-700">
|
||||
<li>
|
||||
<a href="#"
|
||||
class="block py-2 px-3 text-white bg-blue-700 rounded md:bg-transparent md:text-blue-700 md:p-0 md:dark:text-blue-500"
|
||||
aria-current="page">
|
||||
Start
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#"
|
||||
class="block py-2 px-3 md:p-0 text-gray-900 rounded hover:bg-gray-100 md:hover:bg-transparent md:hover:text-blue-700 dark:text-white md:dark:hover:text-blue-500 dark:hover:bg-gray-700 dark:hover:text-white md:dark:hover:bg-transparent dark:border-gray-700">
|
||||
Bookmarks
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav> -->
|
||||
36
ui/master.njk
Normal file
36
ui/master.njk
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
|
||||
<head>
|
||||
<title>Shell Script Hub</title>
|
||||
{% include "./components/meta.njk" %}
|
||||
<style>
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
// On page load or when changing themes, best to add inline in `head` to avoid FOUC
|
||||
if (localStorage.getItem('color-theme') === 'dark' || (!('color-theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
|
||||
document.documentElement.classList.add('dark');
|
||||
} else {
|
||||
document.documentElement.classList.remove('dark')
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="bg-gray-100 dark:bg-gray-800 dark:text-white">
|
||||
<div id="app" class="w-full">
|
||||
{% include "./components/navbar.njk" %}
|
||||
<div class="container relative mx-auto py-12 flex flex-col justify-center items-center gap-16">
|
||||
{% if page == 'authorities' %}
|
||||
{% include "./pages/authorities.njk" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<script src="https://cdn.jsdelivr.net/npm/flowbite@2.5.1/dist/flowbite.min.js"></script>
|
||||
<!-- <script src="/widgets.jumbotron.js"></script> -->
|
||||
<script src="/start.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
64
ui/pages/authorities.njk
Normal file
64
ui/pages/authorities.njk
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
<section class="antialiased w-full">
|
||||
<div class="mx-auto max-w-screen-xl px-4 2xl:px-0">
|
||||
<!-- Heading & Filters -->
|
||||
<div class="mb-4 items-end justify-between space-y-4 sm:flex sm:space-y-0 md:mb-8">
|
||||
<div>
|
||||
<nav class="inline-flex items-center gap-2" aria-label="Breadcrumb">
|
||||
<svg class="me-2.5 h-3 w-3" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path d="m19.707 9.293-2-2-7-7a1 1 0 0 0-1.414 0l-7 7-2 2a1 1 0 0 0 1.414 1.414L2 10.414V18a2 2 0 0 0 2 2h3a1 1 0 0 0 1-1v-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v4a1 1 0 0 0 1 1h3a2 2 0 0 0 2-2v-7.586l.293.293a1 1 0 0 0 1.414-1.414Z" />
|
||||
</svg>
|
||||
<a href="#" class="inline-flex items-center text-sm font-medium text-gray-700 hover:text-primary-600 dark:text-gray-400 dark:hover:text-white">
|
||||
Home
|
||||
</a>
|
||||
<svg class="h-5 w-5 text-gray-400 rtl:rotate-180" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
||||
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m9 5 7 7-7 7" />
|
||||
</svg>
|
||||
<a href="#" class="inline-flex items-center text-sm font-medium text-gray-700 hover:text-primary-600 dark:text-gray-400 dark:hover:text-white">
|
||||
Certificate Authorities
|
||||
</a>
|
||||
</nav>
|
||||
<h2 class="mt-3 text-xl font-semibold text-gray-900 dark:text-white sm:text-2xl">Certificate Authorities</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col grid gap-4">
|
||||
<div class="rounded-lg border border-gray-200 bg-white p-6 shadow-sm dark:border-gray-700 dark:bg-gray-700">
|
||||
<div class="flex flex-col">
|
||||
<a href="#" class="text-lg font-semibold leading-tight text-gray-900 hover:underline dark:text-white">
|
||||
MVZ Labor Dr. Reising-Ackermann & Kollegen
|
||||
</a>
|
||||
|
||||
<span class="me-2 rounded bg-red-100 px-2.5 py-0.5 text-xs font-medium text-gray-800 dark:bg-red-100 dark:text-gray-300">
|
||||
Expires: 01.06.2025
|
||||
</span>
|
||||
|
||||
<ul class="mt-2 flex items-center gap-4">
|
||||
<li class="flex items-center gap-2">
|
||||
<svg class="h-4 w-4 text-gray-500 dark:text-gray-400" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
|
||||
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h6l2 4m-8-4v8m0-8V6a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v9h2m8 0H9m4 0h2m4 0h2v-4m0 0h-5m3.5 5.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Zm-10 0a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z" />
|
||||
</svg>
|
||||
<p class="text-sm font-medium text-gray-500 dark:text-gray-400">Fast Delivery</p>
|
||||
</li>
|
||||
|
||||
<li class="flex items-center gap-2">
|
||||
<svg class="h-4 w-4 text-gray-500 dark:text-gray-400" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
|
||||
<path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M8 7V6c0-.6.4-1 1-1h11c.6 0 1 .4 1 1v7c0 .6-.4 1-1 1h-1M3 18v-7c0-.6.4-1 1-1h11c.6 0 1 .4 1 1v7c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1Zm8-3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z" />
|
||||
</svg>
|
||||
<p class="text-sm font-medium text-gray-500 dark:text-gray-400">Best Price</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="mt-4 flex items-center justify-between gap-4">
|
||||
<p class="text-2xl font-extrabold leading-tight text-gray-900 dark:text-white">$1,699</p>
|
||||
|
||||
<button type="button" class="inline-flex items-center rounded-lg bg-primary-700 px-5 py-2.5 text-sm font-medium text-white hover:bg-primary-800 focus:outline-none focus:ring-4 focus:ring-primary-300 dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800">
|
||||
<svg class="-ms-2 me-2 h-5 w-5" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
||||
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4h1.5L8 16m0 0h8m-8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm.75-3H7.5M11 7H6.312M17 4v6m-3-3h6" />
|
||||
</svg>
|
||||
Add to cart
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
Loading…
Add table
Add a link
Reference in a new issue