Spaces:
Running
Running
File size: 10,125 Bytes
ba72e9a cf76990 ba72e9a cf76990 ba72e9a 99a84af ba72e9a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>NetOrganizer Pro</title>
<link rel="stylesheet" href="style.css">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
<script src="components/navbar.js"></script>
<script src="components/footer.js"></script>
</head>
<body class="bg-gray-100">
<custom-navbar></custom-navbar>
<main class="container mx-auto px-4 py-8">
<div class="max-w-4xl mx-auto bg-white rounded-xl shadow-md overflow-hidden p-6">
<h1 class="text-3xl font-bold text-gray-800 mb-6">Network Service Organizer</h1>
<div class="mb-8">
<label class="block text-gray-700 font-medium mb-2">Service Type</label>
<div class="flex space-x-4">
<button id="internetBtn" class="service-type-btn bg-blue-600 text-white px-6 py-3 rounded-lg font-medium hover:bg-blue-700 transition duration-200">Internet</button>
<button id="l2lBtn" class="service-type-btn bg-gray-200 text-gray-800 px-6 py-3 rounded-lg font-medium hover:bg-gray-300 transition duration-200">LAN to LAN</button>
</div>
</div>
<!-- Internet Service Form -->
<div id="internetForm" class="space-y-6">
<div class="grid md:grid-cols-2 gap-6">
<div>
<label for="client" class="block text-gray-700 font-medium mb-2">Client</label>
<input type="text" id="client" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
</div>
<div>
<label for="serviceNumber" class="block text-gray-700 font-medium mb-2">Service Number</label>
<input type="text" id="serviceNumber" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
</div>
</div>
<div>
<label for="address" class="block text-gray-700 font-medium mb-2">Address</label>
<input type="text" id="address" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
</div>
<div>
<label for="bandwidth" class="block text-gray-700 font-medium mb-2">Bandwidth</label>
<input type="text" id="bandwidth" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
</div>
<div>
<label for="ipRange" class="block text-gray-700 font-medium mb-2">IP Range (e.g., 190.220.1.216/29)</label>
<input type="text" id="ipRange" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
<button id="calculateBtn" class="mt-2 bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700 transition duration-200">Calculate IPs</button>
</div>
<div id="ipTableContainer" class="hidden mt-6 overflow-x-auto">
<table class="min-w-full bg-white border border-gray-200">
<thead class="bg-gray-50">
<tr>
<th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Type</th>
<th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">IP Address</th>
<th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Subnet Mask</th>
</tr>
</thead>
<tbody id="ipTableBody" class="divide-y divide-gray-200">
<!-- IP Table rows will be generated here -->
</tbody>
</table>
<div class="mt-4 flex space-x-4">
<button id="copyTableBtn" class="bg-gray-600 text-white px-4 py-2 rounded-lg hover:bg-gray-700 transition duration-200">
<i data-feather="copy" class="mr-2"></i> Copy Table
</button>
</div>
<div class="mt-4 grid md:grid-cols-2 gap-4">
<div>
<label class="block text-gray-700 font-medium mb-1">Primary DNS</label>
<p class="text-gray-800">186.12.238.16</p>
</div>
<div>
<label class="block text-gray-700 font-medium mb-1">Secondary DNS</label>
<p class="text-gray-800">186.12.238.15</p>
</div>
</div>
</div>
</div>
<!-- L2L Service Form -->
<div id="l2lForm" class="hidden space-y-6">
<div class="grid md:grid-cols-2 gap-6">
<div>
<label for="l2lClient" class="block text-gray-700 font-medium mb-2">Client</label>
<input type="text" id="l2lClient" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
</div>
<div>
<label for="l2lServiceNumber" class="block text-gray-700 font-medium mb-2">Service Number</label>
<input type="text" id="l2lServiceNumber" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
</div>
</div>
<div>
<label for="l2lBandwidth" class="block text-gray-700 font-medium mb-2">Bandwidth</label>
<input type="text" id="l2lBandwidth" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
</div>
<div class="grid md:grid-cols-2 gap-6">
<div class="border border-gray-200 p-4 rounded-lg">
<h3 class="text-lg font-medium text-gray-800 mb-3">Site A</h3>
<div class="space-y-4">
<div>
<label for="siteAAddress" class="block text-gray-700 font-medium mb-1">Address</label>
<input type="text" id="siteAAddress" class="w-full px-3 py-2 border border-gray-300 rounded-md">
</div>
<div>
<label for="siteADevice" class="block text-gray-700 font-medium mb-1">Device Info</label>
<textarea id="siteADevice" rows="3" class="w-full px-3 py-2 border border-gray-300 rounded-md"></textarea>
</div>
<div>
<label for="siteAPort" class="block text-gray-700 font-medium mb-1">Service Port</label>
<input type="text" id="siteAPort" class="w-full px-3 py-2 border border-gray-300 rounded-md">
</div>
</div>
</div>
<div class="border border-gray-200 p-4 rounded-lg">
<h3 class="text-lg font-medium text-gray-800 mb-3">Site B</h3>
<div class="space-y-4">
<div>
<label for="siteBAddress" class="block text-gray-700 font-medium mb-1">Address</label>
<input type="text" id="siteBAddress" class="w-full px-3 py-2 border border-gray-300 rounded-md">
</div>
<div>
<label for="siteBDevice" class="block text-gray-700 font-medium mb-1">Device Info</label>
<textarea id="siteBDevice" rows="3" class="w-full px-3 py-2 border border-gray-300 rounded-md"></textarea>
</div>
<div>
<label for="siteBPort" class="block text-gray-700 font-medium mb-1">Service Port</label>
<input type="text" id="siteBPort" class="w-full px-3 py-2 border border-gray-300 rounded-md">
</div>
</div>
</div>
</div>
</div>
<div class="mt-8">
<button id="generateBtn" class="bg-green-600 text-white px-6 py-3 rounded-lg font-medium hover:bg-green-700 transition duration-200 flex items-center">
<i data-feather="mail" class="mr-2"></i> Generate Email Template
</button>
</div>
<div id="outputContainer" class="hidden mt-8 p-6 bg-gray-50 rounded-lg border border-gray-200">
<h2 class="text-xl font-bold text-gray-800 mb-4">Email Template</h2>
<div id="emailOutput" class="whitespace-pre-wrap text-gray-700"></div>
<button id="copyBtn" class="mt-4 bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700 transition duration-200">
<i data-feather="copy" class="mr-2"></i> Copy to Clipboard
</button>
</div>
</div>
</main>
<custom-footer></custom-footer>
<script src="script.js"></script>
<script>
feather.replace();
</script>
<script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
</body>
</html> |