282 lines
18 KiB
HTML
282 lines
18 KiB
HTML
<!doctype html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Dashboard XPORT</title>
|
|
<!-- tailwind cdn -->
|
|
<script src="https://unpkg.com/@tailwindcss/browser@4"></script>
|
|
<!-- alpine cdn -->
|
|
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.14.8/dist/cdn.min.js"></script>
|
|
<!-- material Symbols -->
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined" />
|
|
</head>
|
|
|
|
<body class="bg-[#F2F9FF]">
|
|
<!-- wrapper -->
|
|
<div>
|
|
<!-- navbar phone, tablet and desktop up start -->
|
|
<div class="bg-white" x-data="{ open: false }">
|
|
<div class="flex justify-between py-5 px-4">
|
|
<a class="block text-teal-600" href="#">
|
|
<span class="sr-only">Home</span>
|
|
<div class="flex items-center space-x-2">
|
|
<img src="../images/logoServer.png" class="mr-3">
|
|
<p class="lg:text-lg xl:text-xl text-[#2196F3] font-normal">Port Server</p>
|
|
</div>
|
|
</a>
|
|
<!-- menu mobile appear -->
|
|
<div>
|
|
<!-- Overlay -->
|
|
<div x-show="open" class="fixed inset-0 bg-black/50 transition-opacity z-50" @click="open = false"></div>
|
|
|
|
<!-- Modal -->
|
|
<div x-show="open" x-transition
|
|
class="fixed bottom-0 left-0 w-full bg-white p-6 rounded-t-[32px] shadow-lg transform transition-transform duration-300 ease-in-out z-50"
|
|
x-bind:class="open ? 'translate-y-0' : 'translate-y-full'">
|
|
<ul class="space-y-2">
|
|
<li>
|
|
<a href="#" class="block px-4 py-2 hover:bg-gray-100 rounded-lg text-black/87 font-medium text-lg">
|
|
<div class="flex items-center gap-2">
|
|
<span class="material-symbols-outlined text-black/87">settings</span>
|
|
Setting
|
|
</div>
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" class="block px-4 py-2 hover:bg-gray-100 rounded-lg text-black/87 font-medium text-lg">
|
|
<div class="flex items-center gap-2">
|
|
<span class="material-symbols-outlined text-black/87">edit</span>
|
|
Assay Format
|
|
</div>
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" class="block px-4 py-2 hover:bg-gray-100 rounded-lg text-black/87 font-medium text-lg">
|
|
<div class="flex items-center gap-2">
|
|
<span class="material-symbols-outlined text-black/87">calculate</span>
|
|
Result
|
|
</div>
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" class="block px-4 py-2 hover:bg-gray-100 rounded-lg text-black/87 font-medium text-lg">
|
|
<div class="flex items-center gap-2">
|
|
<span class="material-symbols-outlined text-black/87">online_prediction</span>
|
|
Status
|
|
</div>
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" class="block px-4 py-2 hover:bg-gray-100 rounded-lg text-black/87 font-medium text-lg">
|
|
<div class="flex items-center gap-2">
|
|
<span class="material-symbols-outlined text-black/87">person</span>
|
|
Akun
|
|
</div>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- menu mobile appear -->
|
|
<!-- menu large appear -->
|
|
<nav aria-label="Global" class="hidden lg:block">
|
|
<ul class="flex items-center gap-6 text-sm">
|
|
<li>
|
|
<a class="text-black/87 font-bold transition hover:text-[#2196F3]" href="#"> SETTING </a>
|
|
</li>
|
|
<li>
|
|
<a class="text-black/87 font-bold transition hover:text-[#2196F3]" href="#"> ASSAY FORMAT
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="text-black/87 font-bold transition hover:text-[#2196F3]" href="#"> RESULT
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="text-black/87 font-bold transition hover:text-[#2196F3]" href="#"> ONLINE </a>
|
|
</li>
|
|
<li>
|
|
<img src="../images/avatar.png" class="mr-3">
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
<!-- menu large appear -->
|
|
<button @click="open = true"
|
|
class="block rounded-sm bg-white text-[#2196F3] transition hover:text-gray-600/75 lg:hidden">
|
|
<span class="sr-only">Toggle menu</span>
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="size-5" fill="none" viewBox="0 0 24 24"
|
|
stroke="currentColor" stroke-width="2">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M4 6h16M4 12h16M4 18h16" />
|
|
</svg>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<!-- navbar phone, tablet and desktop up end -->
|
|
<!-- content -->
|
|
<div class="bg-[#F2F9FF]">
|
|
<div class="flex flex-col lg:flex-row px-6 py-5">
|
|
<!-- Kiri -->
|
|
<div class="flex w-full lg:w-1/2 mr-0 lg:mr-5">
|
|
<div class="flex flex-col w-full">
|
|
<div class="bg-black/87 h-[385px] flex flex-col">
|
|
<div class="bg-black/87 p-2 text-white font-medium text-lg">LOGS</div>
|
|
<div class="overflow-y-auto flex-1 p-2 bg-black/87">
|
|
<div class="space-y-4">
|
|
<div class="grid lg:grid-cols-[auto_1fr] gap-2 items-start">
|
|
<h2 class="font-normal text-sm text-white whitespace-nowrap">
|
|
2025-03-02 08:00:00 <span class="text-[#20DC49] font-normal text-sm">[Port1]</span>
|
|
</h2>
|
|
<p class="font-normal text-sm text-white w-full text-justify">
|
|
Lorem ipsum dolor sit amet consectetur adipisicing elit. Magnam velit perspiciatis error
|
|
doloremque, quisquam architecto possimus odio accusamus...
|
|
Lorem ipsum dolor sit amet consectetur adipisicing elit. Magnam velit
|
|
perspiciatis error doloremque, quisquam architecto possimus odio accusamus...
|
|
</p>
|
|
</div>
|
|
<!-- 2 -->
|
|
<div class="grid lg:grid-cols-[auto_1fr] gap-2 items-start">
|
|
<h2 class="font-normal text-sm text-white whitespace-nowrap">
|
|
2025-03-02 08:00:00 <span class="text-[#20DC49] font-normal text-sm">[Port1]</span>
|
|
</h2>
|
|
<p class="font-normal text-sm text-white w-full text-justify">
|
|
Lorem ipsum dolor sit amet consectetur adipisicing elit. Magnam velit perspiciatis error
|
|
doloremque, quisquam architecto possimus odio accusamus...
|
|
Lorem ipsum dolor sit amet consectetur adipisicing elit. Magnam velit
|
|
perspiciatis error doloremque, quisquam architecto possimus odio accusamus...
|
|
</p>
|
|
</div>
|
|
<!-- 3 -->
|
|
<div class="grid lg:grid-cols-[auto_1fr] gap-2 items-start">
|
|
<h2 class="font-normal text-sm text-white whitespace-nowrap">
|
|
2025-03-02 08:00:00 <span class="text-[#20DC49] font-normal text-sm">[Port1]</span>
|
|
</h2>
|
|
<p class="font-normal text-sm text-white w-full text-justify">
|
|
Lorem ipsum dolor sit amet consectetur adipisicing elit. Magnam velit perspiciatis error
|
|
doloremque, quisquam architecto possimus odio accusamus...
|
|
Lorem ipsum dolor sit amet consectetur adipisicing elit. Magnam velit
|
|
perspiciatis error doloremque, quisquam architecto possimus odio accusamus...
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Kanan -->
|
|
<div class="flex w-full lg:w-1/2 mt-5 lg:mt-0">
|
|
<div class="flex flex-col w-full">
|
|
<div class="h-[385px] bg-[#F2F9FF] overflow-y-scroll">
|
|
<div class="flex flex-col lg:flex-row mb-5">
|
|
<!-- 1 -->
|
|
<div class="bg-white mr-0 mb-5 rounded-md lg:mr-5 p-2 w-full lg:w-1/2 lg:mb-0 relative">
|
|
<div class="flex justify-between">
|
|
<h2 class="text-black/87 font-medium text-xl mb-4">PORT STATUS</h2>
|
|
<div class="relative flex h-4 w-4">
|
|
<span
|
|
class="absolute inline-flex h-full w-full animate-ping rounded-full bg-[#1CCFB1] opacity-75"></span>
|
|
<span
|
|
class="relative inline-flex h-4 w-4 rounded-full bg-[#1CCFB1] "></span>
|
|
</div>
|
|
</div>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">Port 0</p>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">TCP (192 168.0.1 : 2000)</p>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">Offline</p>
|
|
<p class="text-[#00000099] font-normal text-sm">XN5000</p>
|
|
</div>
|
|
<!-- 2 -->
|
|
<div class="bg-white rounded-md p-2 w-full lg:w-1/2 relative">
|
|
<div class="flex justify-between">
|
|
<h2 class="text-black/87 font-medium text-xl mb-4">PORT STATUS</h2>
|
|
<div class="relative flex h-4 w-4">
|
|
<span
|
|
class="absolute inline-flex h-full w-full rounded-full bg-[#E10A0A] opacity-75"></span>
|
|
<span
|
|
class="relative inline-flex h-4 w-4 rounded-full bg-[#E10A0A] "></span>
|
|
</div>
|
|
</div>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">Port 1</p>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">TCP (192 168.0.1 : 2000)</p>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">Offline</p>
|
|
<p class="text-[#00000099] font-normal text-sm">XN5000</p>
|
|
</div>
|
|
</div>
|
|
<!-- 3 -->
|
|
<div class="flex flex-col lg:flex-row mb-5">
|
|
<div class="bg-white rounded-md mr-0 mb-5 lg:mr-5 p-2 w-full lg:w-1/2 lg:mb-0 relative">
|
|
<div class="flex justify-between">
|
|
<h2 class="text-black/87 font-medium text-xl mb-4">PORT STATUS</h2>
|
|
<div class="relative flex h-4 w-4">
|
|
<span
|
|
class="absolute inline-flex h-full w-full animate-ping rounded-full bg-[#1CCFB1] opacity-75"></span>
|
|
<span
|
|
class="relative inline-flex h-4 w-4 rounded-full bg-[#1CCFB1] "></span>
|
|
</div>
|
|
</div>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">Port 2</p>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">TCP (192 168.0.1 : 2000)</p>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">Offline</p>
|
|
<p class="text-[#00000099] font-normal text-sm">XN5000</p>
|
|
</div>
|
|
<div class="bg-white rounded-md p-2 w-full lg:w-1/2 relative">
|
|
<div class="flex justify-between">
|
|
<h2 class="text-black/87 font-medium text-xl mb-4">PORT STATUS</h2>
|
|
<div class="relative flex h-4 w-4">
|
|
<span
|
|
class="absolute inline-flex h-full w-full animate-ping rounded-full bg-[#1CCFB1] opacity-75"></span>
|
|
<span
|
|
class="relative inline-flex h-4 w-4 rounded-full bg-[#1CCFB1] "></span>
|
|
</div>
|
|
</div>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">Port 3</p>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">TCP (192 168.0.1 : 2000)</p>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">Offline</p>
|
|
<p class="text-[#00000099] font-normal text-sm">XN5000</p>
|
|
</div>
|
|
</div>
|
|
<!-- 4 -->
|
|
<div class="flex flex-col lg:flex-row mb-5">
|
|
<div class="bg-white rounded-md mr-0 mb-5 lg:mr-5 p-2 w-full lg:w-1/2 lg:mb-0 relative">
|
|
<div class="flex justify-between">
|
|
<h2 class="text-black/87 font-medium text-xl mb-4">PORT STATUS</h2>
|
|
<div class="relative flex h-4 w-4">
|
|
<span
|
|
class="absolute inline-flex h-full w-full animate-ping rounded-full bg-[#1CCFB1] opacity-75"></span>
|
|
<span
|
|
class="relative inline-flex h-4 w-4 rounded-full bg-[#1CCFB1] "></span>
|
|
</div>
|
|
</div>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">Port 2</p>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">TCP (192 168.0.1 : 2000)</p>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">Offline</p>
|
|
<p class="text-[#00000099] font-normal text-sm">XN5000</p>
|
|
</div>
|
|
<div class="bg-white rounded-md p-2 w-full lg:w-1/2 relative">
|
|
<div class="flex justify-between">
|
|
<h2 class="text-black/87 font-medium text-xl mb-4">PORT STATUS</h2>
|
|
<div class="relative flex h-4 w-4">
|
|
<span
|
|
class="absolute inline-flex h-full w-full animate-ping rounded-full bg-[#1CCFB1] opacity-75"></span>
|
|
<span
|
|
class="relative inline-flex h-4 w-4 rounded-full bg-[#1CCFB1] "></span>
|
|
</div>
|
|
</div>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">Port 3</p>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">TCP (192 168.0.1 : 2000)</p>
|
|
<p class="text-[#00000099] font-normal text-sm mb-3">Offline</p>
|
|
<p class="text-[#00000099] font-normal text-sm">XN5000</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- content -->
|
|
</div>
|
|
<!-- wrapper -->
|
|
</body>
|
|
|
|
</html> |