Spaces:
Running
Running
Add 2 files
Browse files- index.html +159 -101
- prompts.txt +1 -6
index.html
CHANGED
|
@@ -15,6 +15,14 @@
|
|
| 15 |
from { transform: translateY(20px); opacity: 0; }
|
| 16 |
to { transform: translateY(0); opacity: 1; }
|
| 17 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
.fade-in {
|
| 19 |
animation: fadeIn 0.5s ease-in-out;
|
| 20 |
}
|
|
@@ -49,6 +57,10 @@
|
|
| 49 |
border-left: 3px solid #6e8efb;
|
| 50 |
padding-left: 10px;
|
| 51 |
margin-bottom: 8px;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
}
|
| 53 |
.log-entry.error {
|
| 54 |
border-left-color: #ef4444;
|
|
@@ -65,18 +77,51 @@
|
|
| 65 |
.log-timestamp {
|
| 66 |
font-size: 0.75rem;
|
| 67 |
color: #6b7280;
|
|
|
|
| 68 |
}
|
| 69 |
.log-message {
|
| 70 |
font-size: 0.875rem;
|
|
|
|
| 71 |
}
|
| 72 |
.debug-section {
|
| 73 |
max-height: 0;
|
| 74 |
overflow: hidden;
|
| 75 |
-
transition: max-height 0.5s
|
| 76 |
}
|
| 77 |
.debug-section.expanded {
|
| 78 |
max-height: 500px;
|
| 79 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
</style>
|
| 81 |
</head>
|
| 82 |
<body class="font-sans bg-gray-50">
|
|
@@ -85,30 +130,30 @@
|
|
| 85 |
<div class="container mx-auto px-4 py-3">
|
| 86 |
<div class="flex justify-between items-center">
|
| 87 |
<div class="flex items-center">
|
| 88 |
-
<i class="fas fa-tools text-2xl mr-2"></i>
|
| 89 |
<span class="text-xl font-bold">Tech PC Maintenance</span>
|
| 90 |
</div>
|
| 91 |
|
| 92 |
<!-- Desktop Menu -->
|
| 93 |
<div class="hidden md:flex space-x-6">
|
| 94 |
-
<a href="#" onclick="showPage('home')" class="hover:text-indigo-200">Home</a>
|
| 95 |
-
<a href="#" onclick="showPage('login')" class="hover:text-indigo-200">Login</a>
|
| 96 |
-
<a href="#" onclick="showPage('signup')" class="hover:text-indigo-200">Sign Up</a>
|
| 97 |
</div>
|
| 98 |
|
| 99 |
<!-- Mobile Menu Button -->
|
| 100 |
-
<button id="mobile-menu-button" class="md:hidden focus:outline-none">
|
| 101 |
<i class="fas fa-bars text-2xl"></i>
|
| 102 |
</button>
|
| 103 |
</div>
|
| 104 |
</div>
|
| 105 |
|
| 106 |
<!-- Mobile Menu -->
|
| 107 |
-
<div id="mobile-menu" class="hidden md:hidden bg-indigo-700">
|
| 108 |
<div class="px-2 pt-2 pb-3 space-y-1 sm:px-3">
|
| 109 |
-
<a href="#" onclick="showPage('home')" class="block px-3 py-2 rounded-md text-base font-medium text-white hover:bg-indigo-600">Home</a>
|
| 110 |
-
<a href="#" onclick="showPage('login')" class="block px-3 py-2 rounded-md text-base font-medium text-white hover:bg-indigo-600">Login</a>
|
| 111 |
-
<a href="#" onclick="showPage('signup')" class="block px-3 py-2 rounded-md text-base font-medium text-white hover:bg-indigo-600">Sign Up</a>
|
| 112 |
</div>
|
| 113 |
</div>
|
| 114 |
</nav>
|
|
@@ -123,91 +168,91 @@
|
|
| 123 |
</div>
|
| 124 |
|
| 125 |
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
|
| 126 |
-
<div class="bg-white rounded-lg p-6 card-shadow tool-card smooth-transition">
|
| 127 |
<div class="flex items-center mb-4">
|
| 128 |
-
<div class="bg-indigo-100 p-3 rounded-full mr-4">
|
| 129 |
<i class="fas fa-trash-alt text-indigo-600 text-xl"></i>
|
| 130 |
</div>
|
| 131 |
<h3 class="text-xl font-semibold">Clean Temporary Files</h3>
|
| 132 |
</div>
|
| 133 |
<p class="text-gray-600 mb-4">Remove unnecessary temporary files to free up disk space.</p>
|
| 134 |
-
<button onclick="runTool('tempFiles')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition">
|
| 135 |
Run Cleaner
|
| 136 |
</button>
|
| 137 |
</div>
|
| 138 |
|
| 139 |
-
<div class="bg-white rounded-lg p-6 card-shadow tool-card smooth-transition">
|
| 140 |
<div class="flex items-center mb-4">
|
| 141 |
-
<div class="bg-indigo-100 p-3 rounded-full mr-4">
|
| 142 |
<i class="fas fa-globe text-indigo-600 text-xl"></i>
|
| 143 |
</div>
|
| 144 |
<h3 class="text-xl font-semibold">Clear Browser Cache</h3>
|
| 145 |
</div>
|
| 146 |
<p class="text-gray-600 mb-4">Clear your browser cache to improve performance.</p>
|
| 147 |
<div class="flex space-x-2 mb-4">
|
| 148 |
-
<button onclick="selectBrowser('chrome')" class="flex-1 bg-gray-100 text-gray-700 py-1 px-3 rounded text-sm smooth-transition">
|
| 149 |
Chrome
|
| 150 |
</button>
|
| 151 |
-
<button onclick="selectBrowser('firefox')" class="flex-1 bg-gray-100 text-gray-700 py-1 px-3 rounded text-sm smooth-transition">
|
| 152 |
Firefox
|
| 153 |
</button>
|
| 154 |
-
<button onclick="selectBrowser('edge')" class="flex-1 bg-gray-100 text-gray-700 py-1 px-3 rounded text-sm smooth-transition">
|
| 155 |
Edge
|
| 156 |
</button>
|
| 157 |
</div>
|
| 158 |
-
<button onclick="runTool('browserCache')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition">
|
| 159 |
Clear Cache
|
| 160 |
</button>
|
| 161 |
</div>
|
| 162 |
|
| 163 |
-
<div class="bg-white rounded-lg p-6 card-shadow tool-card smooth-transition">
|
| 164 |
<div class="flex items-center mb-4">
|
| 165 |
-
<div class="bg-indigo-100 p-3 rounded-full mr-4">
|
| 166 |
<i class="fas fa-bug text-indigo-600 text-xl"></i>
|
| 167 |
</div>
|
| 168 |
<h3 class="text-xl font-semibold">System Debug</h3>
|
| 169 |
</div>
|
| 170 |
<p class="text-gray-600 mb-4">Check for system errors and performance issues.</p>
|
| 171 |
-
<button onclick="runTool('systemDebug')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition">
|
| 172 |
Run Diagnostics
|
| 173 |
</button>
|
| 174 |
</div>
|
| 175 |
|
| 176 |
-
<div class="bg-white rounded-lg p-6 card-shadow tool-card smooth-transition">
|
| 177 |
<div class="flex items-center mb-4">
|
| 178 |
-
<div class="bg-indigo-100 p-3 rounded-full mr-4">
|
| 179 |
<i class="fas fa-memory text-indigo-600 text-xl"></i>
|
| 180 |
</div>
|
| 181 |
<h3 class="text-xl font-semibold">RAM Usage</h3>
|
| 182 |
</div>
|
| 183 |
<p class="text-gray-600 mb-4">Analyze your current memory usage and performance.</p>
|
| 184 |
-
<button onclick="runTool('ramUsage')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition">
|
| 185 |
Check RAM
|
| 186 |
</button>
|
| 187 |
</div>
|
| 188 |
|
| 189 |
-
<div class="bg-white rounded-lg p-6 card-shadow tool-card smooth-transition">
|
| 190 |
<div class="flex items-center mb-4">
|
| 191 |
-
<div class="bg-indigo-100 p-3 rounded-full mr-4">
|
| 192 |
<i class="fas fa-hdd text-indigo-600 text-xl"></i>
|
| 193 |
</div>
|
| 194 |
<h3 class="text-xl font-semibold">Disk Space</h3>
|
| 195 |
</div>
|
| 196 |
<p class="text-gray-600 mb-4">Analyze and clean up your disk storage.</p>
|
| 197 |
-
<button onclick="runTool('diskSpace')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition">
|
| 198 |
Analyze Disk
|
| 199 |
</button>
|
| 200 |
</div>
|
| 201 |
|
| 202 |
-
<div class="bg-white rounded-lg p-6 card-shadow tool-card smooth-transition">
|
| 203 |
<div class="flex items-center mb-4">
|
| 204 |
-
<div class="bg-indigo-100 p-3 rounded-full mr-4">
|
| 205 |
<i class="fas fa-folder-open text-indigo-600 text-xl"></i>
|
| 206 |
</div>
|
| 207 |
<h3 class="text-xl font-semibold">Organize Downloads</h3>
|
| 208 |
</div>
|
| 209 |
<p class="text-gray-600 mb-4">Automatically sort and clean your downloads folder.</p>
|
| 210 |
-
<button onclick="runTool('organizeDownloads')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition">
|
| 211 |
Organize Now
|
| 212 |
</button>
|
| 213 |
</div>
|
|
@@ -216,7 +261,7 @@
|
|
| 216 |
|
| 217 |
<!-- Login Page -->
|
| 218 |
<div id="login-page" class="hidden max-w-md mx-auto fade-in">
|
| 219 |
-
<div class="bg-white rounded-lg p-8 card-shadow">
|
| 220 |
<div class="text-center mb-6">
|
| 221 |
<h2 class="text-2xl font-bold text-gray-800">Welcome Back!</h2>
|
| 222 |
<p class="text-gray-600">Login to access your maintenance tools</p>
|
|
@@ -225,22 +270,24 @@
|
|
| 225 |
<form id="login-form">
|
| 226 |
<div class="mb-4">
|
| 227 |
<label for="login-email" class="block text-gray-700 mb-2">Email</label>
|
| 228 |
-
<input type="email" id="login-email" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500" placeholder="your@email.com" required>
|
| 229 |
</div>
|
| 230 |
|
| 231 |
<div class="mb-6">
|
| 232 |
<label for="login-password" class="block text-gray-700 mb-2">Password</label>
|
| 233 |
-
<input type="password" id="login-password" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500" placeholder="••••••••" required>
|
| 234 |
</div>
|
| 235 |
|
| 236 |
-
<button type="submit" class="gradient-bg text-white w-full py-2 rounded-lg hover:opacity-90 smooth-transition mb-4">
|
|
|
|
|
|
|
| 237 |
|
| 238 |
<div class="text-center mt-4">
|
| 239 |
-
<a href="#" onclick="showPage('forgot-password')" class="text-indigo-600 hover:underline text-sm">Forgot Password?</a>
|
| 240 |
</div>
|
| 241 |
|
| 242 |
<div class="text-center">
|
| 243 |
-
<p class="text-gray-600">Don't have an account? <a href="#" onclick="showPage('signup')" class="text-indigo-600 hover:underline">Sign up</a></p>
|
| 244 |
</div>
|
| 245 |
</form>
|
| 246 |
</div>
|
|
@@ -248,7 +295,7 @@
|
|
| 248 |
|
| 249 |
<!-- Signup Page -->
|
| 250 |
<div id="signup-page" class="hidden max-w-md mx-auto fade-in">
|
| 251 |
-
<div class="bg-white rounded-lg p-8 card-shadow">
|
| 252 |
<div class="text-center mb-6">
|
| 253 |
<h2 class="text-2xl font-bold text-gray-800">Create Your Account</h2>
|
| 254 |
<p class="text-gray-600">Join our PC maintenance community</p>
|
|
@@ -257,28 +304,30 @@
|
|
| 257 |
<form id="signup-form">
|
| 258 |
<div class="mb-4">
|
| 259 |
<label for="signup-name" class="block text-gray-700 mb-2">Full Name</label>
|
| 260 |
-
<input type="text" id="signup-name" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500" placeholder="John Doe" required>
|
| 261 |
</div>
|
| 262 |
|
| 263 |
<div class="mb-4">
|
| 264 |
<label for="signup-email" class="block text-gray-700 mb-2">Email</label>
|
| 265 |
-
<input type="email" id="signup-email" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500" placeholder="your@email.com" required>
|
| 266 |
</div>
|
| 267 |
|
| 268 |
<div class="mb-4">
|
| 269 |
<label for="signup-password" class="block text-gray-700 mb-2">Password</label>
|
| 270 |
-
<input type="password" id="signup-password" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500" placeholder="••••••••" required minlength="6">
|
| 271 |
</div>
|
| 272 |
|
| 273 |
<div class="mb-6">
|
| 274 |
<label for="signup-confirm-password" class="block text-gray-700 mb-2">Confirm Password</label>
|
| 275 |
-
<input type="password" id="signup-confirm-password" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500" placeholder="••••••••" required minlength="6">
|
| 276 |
</div>
|
| 277 |
|
| 278 |
-
<button type="submit" class="gradient-bg text-white w-full py-2 rounded-lg hover:opacity-90 smooth-transition mb-4
|
|
|
|
|
|
|
| 279 |
|
| 280 |
<div class="text-center">
|
| 281 |
-
<p class="text-gray-600">Already have an account? <a href="#" onclick="showPage('login')" class="text-indigo-600 hover:underline">Login</a></p>
|
| 282 |
</div>
|
| 283 |
</form>
|
| 284 |
</div>
|
|
@@ -286,7 +335,7 @@
|
|
| 286 |
|
| 287 |
<!-- Forgot Password Page -->
|
| 288 |
<div id="forgot-password-page" class="hidden max-w-md mx-auto fade-in">
|
| 289 |
-
<div class="bg-white rounded-lg p-8 card-shadow">
|
| 290 |
<div class="text-center mb-6">
|
| 291 |
<h2 class="text-2xl font-bold text-gray-800">Reset Your Password</h2>
|
| 292 |
<p class="text-gray-600">Enter your email to receive a reset link</p>
|
|
@@ -295,13 +344,15 @@
|
|
| 295 |
<form id="forgot-password-form">
|
| 296 |
<div class="mb-6">
|
| 297 |
<label for="forgot-email" class="block text-gray-700 mb-2">Email Address</label>
|
| 298 |
-
<input type="email" id="forgot-email" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500" placeholder="your@email.com" required>
|
| 299 |
</div>
|
| 300 |
|
| 301 |
-
<button type="submit" class="gradient-bg text-white w-full py-2 rounded-lg hover:opacity-90 smooth-transition mb-4
|
|
|
|
|
|
|
| 302 |
|
| 303 |
<div class="text-center">
|
| 304 |
-
<p class="text-gray-600">Remember your password? <a href="#" onclick="showPage('login')" class="text-indigo-600 hover:underline">Login</a></p>
|
| 305 |
</div>
|
| 306 |
</form>
|
| 307 |
</div>
|
|
@@ -309,68 +360,68 @@
|
|
| 309 |
|
| 310 |
<!-- Dashboard Page -->
|
| 311 |
<div id="dashboard-page" class="hidden fade-in">
|
| 312 |
-
<div class="bg-white rounded-lg p-8 card-shadow">
|
| 313 |
<div class="text-center mb-8">
|
| 314 |
<h2 class="text-2xl font-bold text-gray-800">Welcome, <span id="user-name">User</span>!</h2>
|
| 315 |
<p class="text-gray-600">Access your PC maintenance tools</p>
|
| 316 |
</div>
|
| 317 |
|
| 318 |
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-8">
|
| 319 |
-
<div class="bg-white rounded-lg p-6 border border-gray-200 tool-card smooth-transition">
|
| 320 |
<div class="flex items-center mb-4">
|
| 321 |
-
<div class="bg-indigo-100 p-3 rounded-full mr-4">
|
| 322 |
<i class="fas fa-trash-alt text-indigo-600 text-xl"></i>
|
| 323 |
</div>
|
| 324 |
<h3 class="text-xl font-semibold">Clean Temporary Files</h3>
|
| 325 |
</div>
|
| 326 |
<p class="text-gray-600 mb-4">Remove unnecessary temporary files to free up disk space.</p>
|
| 327 |
-
<button onclick="runTool('tempFiles')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition">
|
| 328 |
Run Cleaner
|
| 329 |
</button>
|
| 330 |
</div>
|
| 331 |
|
| 332 |
-
<div class="bg-white rounded-lg p-6 border border-gray-200 tool-card smooth-transition">
|
| 333 |
<div class="flex items-center mb-4">
|
| 334 |
-
<div class="bg-indigo-100 p-3 rounded-full mr-4">
|
| 335 |
<i class="fas fa-bug text-indigo-600 text-xl"></i>
|
| 336 |
</div>
|
| 337 |
<h3 class="text-xl font-semibold">System Debug</h3>
|
| 338 |
</div>
|
| 339 |
<p class="text-gray-600 mb-4">Check for system errors and performance issues.</p>
|
| 340 |
-
<button onclick="runTool('systemDebug')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition">
|
| 341 |
Run Diagnostics
|
| 342 |
</button>
|
| 343 |
</div>
|
| 344 |
|
| 345 |
-
<div class="bg-white rounded-lg p-6 border border-gray-200 tool-card smooth-transition">
|
| 346 |
<div class="flex items-center mb-4">
|
| 347 |
-
<div class="bg-indigo-100 p-3 rounded-full mr-4">
|
| 348 |
<i class="fas fa-memory text-indigo-600 text-xl"></i>
|
| 349 |
</div>
|
| 350 |
<h3 class="text-xl font-semibold">RAM Usage</h3>
|
| 351 |
</div>
|
| 352 |
<p class="text-gray-600 mb-4">Analyze your current memory usage and performance.</p>
|
| 353 |
-
<button onclick="runTool('ramUsage')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition">
|
| 354 |
Check RAM
|
| 355 |
</button>
|
| 356 |
</div>
|
| 357 |
|
| 358 |
-
<div class="bg-white rounded-lg p-6 border border-gray-200 tool-card smooth-transition">
|
| 359 |
<div class="flex items-center mb-4">
|
| 360 |
-
<div class="bg-indigo-100 p-3 rounded-full mr-4">
|
| 361 |
<i class="fas fa-hdd text-indigo-600 text-xl"></i>
|
| 362 |
</div>
|
| 363 |
<h3 class="text-xl font-semibold">Disk Space</h3>
|
| 364 |
</div>
|
| 365 |
<p class="text-gray-600 mb-4">Analyze and clean up your disk storage.</p>
|
| 366 |
-
<button onclick="runTool('diskSpace')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition">
|
| 367 |
Analyze Disk
|
| 368 |
</button>
|
| 369 |
</div>
|
| 370 |
</div>
|
| 371 |
|
| 372 |
<div class="text-center">
|
| 373 |
-
<button onclick="logout()" class="px-6 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 smooth-transition">
|
| 374 |
<i class="fas fa-sign-out-alt mr-2"></i>Logout
|
| 375 |
</button>
|
| 376 |
</div>
|
|
@@ -379,10 +430,10 @@
|
|
| 379 |
|
| 380 |
<!-- Results Panel -->
|
| 381 |
<div id="results-panel" class="hidden fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50">
|
| 382 |
-
<div class="bg-white rounded-lg p-6 w-full max-w-2xl mx-4 card-shadow slide-up">
|
| 383 |
<div class="flex justify-between items-center mb-4">
|
| 384 |
<h3 class="text-xl font-bold text-gray-800" id="results-title">Results</h3>
|
| 385 |
-
<button onclick="closeResults()" class="text-gray-500 hover:text-gray-700">
|
| 386 |
<i class="fas fa-times"></i>
|
| 387 |
</button>
|
| 388 |
</div>
|
|
@@ -392,7 +443,7 @@
|
|
| 392 |
</div>
|
| 393 |
|
| 394 |
<div class="mt-4 text-right">
|
| 395 |
-
<button onclick="closeResults()" class="px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700 smooth-transition">
|
| 396 |
Close
|
| 397 |
</button>
|
| 398 |
</div>
|
|
@@ -406,9 +457,9 @@
|
|
| 406 |
<div class="text-center">
|
| 407 |
<p>© 2023 Tech PC Maintenance Center. All rights reserved.</p>
|
| 408 |
<div class="mt-4 flex justify-center space-x-4">
|
| 409 |
-
<a href="#" class="hover:text-indigo-300"><i class="fab fa-facebook"></i></a>
|
| 410 |
-
<a href="#" class="hover:text-indigo-300"><i class="fab fa-twitter"></i></a>
|
| 411 |
-
<a href="#" class="hover:text-indigo-300"><i class="fab fa-instagram"></i></a>
|
| 412 |
</div>
|
| 413 |
</div>
|
| 414 |
</div>
|
|
@@ -727,7 +778,7 @@
|
|
| 727 |
case 'tempFiles':
|
| 728 |
const tempFilesSize = generateRandomNumber(800, 2500) * 1024 * 1024; // 800MB to 2.5GB
|
| 729 |
resultHtml = `
|
| 730 |
-
<div class="p-4 bg-green-50 rounded-lg mb-4">
|
| 731 |
<div class="flex items-center text-green-600 mb-2">
|
| 732 |
<i class="fas fa-check-circle mr-2"></i>
|
| 733 |
<h4 class="font-semibold">Temporary Files Cleaned</h4>
|
|
@@ -738,11 +789,11 @@
|
|
| 738 |
</div>
|
| 739 |
</div>
|
| 740 |
<div class="grid grid-cols-2 gap-4 mt-4">
|
| 741 |
-
<div class="bg-blue-50 p-3 rounded-lg">
|
| 742 |
<div class="text-blue-600 text-sm font-medium">Files Deleted</div>
|
| 743 |
<div class="text-xl font-bold">${generateRandomNumber(150, 500)}</div>
|
| 744 |
</div>
|
| 745 |
-
<div class="bg-purple-50 p-3 rounded-lg">
|
| 746 |
<div class="text-purple-600 text-sm font-medium">Space Recovered</div>
|
| 747 |
<div class="text-xl font-bold">${formatBytes(tempFilesSize)}</div>
|
| 748 |
</div>
|
|
@@ -753,7 +804,7 @@
|
|
| 753 |
case 'browserCache':
|
| 754 |
if (!selectedBrowser) {
|
| 755 |
resultHtml = `
|
| 756 |
-
<div class="p-4 bg-yellow-50 rounded-lg mb-4">
|
| 757 |
<div class="flex items-center text-yellow-600 mb-2">
|
| 758 |
<i class="fas fa-exclamation-triangle mr-2"></i>
|
| 759 |
<h4 class="font-semibold">No Browser Selected</h4>
|
|
@@ -764,7 +815,7 @@
|
|
| 764 |
} else {
|
| 765 |
const cacheSize = generateRandomNumber(300, 1500) * 1024 * 1024; // 300MB to 1.5GB
|
| 766 |
resultHtml = `
|
| 767 |
-
<div class="p-4 bg-green-50 rounded-lg mb-4">
|
| 768 |
<div class="flex items-center text-green-600 mb-2">
|
| 769 |
<i class="fas fa-check-circle mr-2"></i>
|
| 770 |
<h4 class="font-semibold">Browser Cache Cleared</h4>
|
|
@@ -775,11 +826,11 @@
|
|
| 775 |
</div>
|
| 776 |
</div>
|
| 777 |
<div class="grid grid-cols-2 gap-4 mt-4">
|
| 778 |
-
<div class="bg-blue-50 p-3 rounded-lg">
|
| 779 |
<div class="text-blue-600 text-sm font-medium">Cache Items</div>
|
| 780 |
<div class="text-xl font-bold">${generateRandomNumber(500, 2000)}</div>
|
| 781 |
</div>
|
| 782 |
-
<div class="bg-purple-50 p-3 rounded-lg">
|
| 783 |
<div class="text-purple-600 text-sm font-medium">Space Recovered</div>
|
| 784 |
<div class="text-xl font-bold">${formatBytes(cacheSize)}</div>
|
| 785 |
</div>
|
|
@@ -797,7 +848,7 @@
|
|
| 797 |
const healthScore = 100 - (errorCount * 5) - (warningCount * 2);
|
| 798 |
|
| 799 |
resultHtml = `
|
| 800 |
-
<div class="p-4 bg-blue-50 rounded-lg mb-4">
|
| 801 |
<div class="flex items-center text-blue-600 mb-2">
|
| 802 |
<i class="fas fa-search mr-2"></i>
|
| 803 |
<h4 class="font-semibold">System Diagnostics</h4>
|
|
@@ -839,30 +890,36 @@
|
|
| 839 |
<span class="text-sm text-gray-500">${logs.length} entries</span>
|
| 840 |
</div>
|
| 841 |
|
| 842 |
-
<div class="
|
| 843 |
-
|
| 844 |
-
<
|
| 845 |
-
|
| 846 |
-
|
| 847 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 848 |
</div>
|
| 849 |
-
|
| 850 |
-
|
| 851 |
</div>
|
| 852 |
|
| 853 |
<div class="grid grid-cols-2 gap-4 mt-4">
|
| 854 |
-
<div class="bg-red-50 p-3 rounded-lg">
|
| 855 |
<div class="text-red-600 text-sm font-medium">Errors</div>
|
| 856 |
<div class="text-xl font-bold">${errorCount}</div>
|
| 857 |
</div>
|
| 858 |
-
<div class="bg-yellow-50 p-3 rounded-lg">
|
| 859 |
<div class="text-yellow-600 text-sm font-medium">Warnings</div>
|
| 860 |
<div class="text-xl font-bold">${warningCount}</div>
|
| 861 |
</div>
|
| 862 |
</div>
|
| 863 |
</div>
|
| 864 |
|
| 865 |
-
<div class="mt-4 p-4 bg-indigo-50 rounded-lg">
|
| 866 |
<h4 class="font-semibold text-indigo-600 mb-2">Recommendations</h4>
|
| 867 |
<ul class="text-sm space-y-2">
|
| 868 |
${errorCount > 0 ? '<li class="flex items-start"><i class="fas fa-exclamation-circle text-red-500 mt-1 mr-2 text-xs"></i><span>Address critical system errors first</span></li>' : ''}
|
|
@@ -879,7 +936,7 @@
|
|
| 879 |
const ramPercentage = Math.round((ramData.usedRam / ramData.totalRam) * 100);
|
| 880 |
|
| 881 |
resultHtml = `
|
| 882 |
-
<div class="p-4 bg-purple-50 rounded-lg mb-4">
|
| 883 |
<div class="flex items-center text-purple-600 mb-2">
|
| 884 |
<i class="fas fa-memory mr-2"></i>
|
| 885 |
<h4 class="font-semibold">Memory Analysis</h4>
|
|
@@ -942,7 +999,7 @@
|
|
| 942 |
</div>
|
| 943 |
</div>
|
| 944 |
|
| 945 |
-
<div class="mt-4 p-4 ${ramPercentage > 80 ? 'bg-red-50' : 'bg-green-50'} rounded-lg">
|
| 946 |
<h4 class="font-semibold ${ramPercentage > 80 ? 'text-red-600' : 'text-green-600'} mb-2">
|
| 947 |
<i class="fas ${ramPercentage > 80 ? 'fa-exclamation-triangle' : 'fa-check-circle'} mr-2"></i>
|
| 948 |
${ramPercentage > 80 ? 'High Memory Usage' : 'Memory Usage OK'}
|
|
@@ -961,7 +1018,7 @@
|
|
| 961 |
const usedPercentage = Math.round((diskData.usedSpace / diskData.totalSpace) * 100);
|
| 962 |
|
| 963 |
resultHtml = `
|
| 964 |
-
<div class="p-4 bg-indigo-50 rounded-lg mb-4">
|
| 965 |
<div class="flex items-center text-indigo-600 mb-2">
|
| 966 |
<i class="fas fa-hdd mr-2"></i>
|
| 967 |
<h4 class="font-semibold">Disk Analysis</h4>
|
|
@@ -997,22 +1054,22 @@
|
|
| 997 |
<div class="mt-4">
|
| 998 |
<h4 class="font-semibold mb-2">Disk Usage Breakdown</h4>
|
| 999 |
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
| 1000 |
-
<div class="bg-blue-50 p-3 rounded-lg">
|
| 1001 |
<div class="text-blue-600 text-sm font-medium">Temporary Files</div>
|
| 1002 |
<div class="text-xl font-bold">${formatBytes(diskData.tempFiles)}</div>
|
| 1003 |
<div class="text-xs mt-1">Can be safely deleted</div>
|
| 1004 |
</div>
|
| 1005 |
-
<div class="bg-purple-50 p-3 rounded-lg">
|
| 1006 |
<div class="text-purple-600 text-sm font-medium">Duplicate Files</div>
|
| 1007 |
<div class="text-xl font-bold">${formatBytes(diskData.duplicateFiles)}</div>
|
| 1008 |
<div class="text-xs mt-1">Potential space savings</div>
|
| 1009 |
</div>
|
| 1010 |
-
<div class="bg-red-50 p-3 rounded-lg">
|
| 1011 |
<div class="text-red-600 text-sm font-medium">Large Applications</div>
|
| 1012 |
<div class="text-xl font-bold">${formatBytes(diskData.largeApps)}</div>
|
| 1013 |
<div class="text-xs mt-1">Consider uninstalling unused apps</div>
|
| 1014 |
</div>
|
| 1015 |
-
<div class="bg-green-50 p-3 rounded-lg">
|
| 1016 |
<div class="text-green-600 text-sm font-medium">System Files</div>
|
| 1017 |
<div class="text-xl font-bold">${formatBytes(diskData.usedSpace * 0.4)}</div>
|
| 1018 |
<div class="text-xs mt-1">Essential system files</div>
|
|
@@ -1020,7 +1077,7 @@
|
|
| 1020 |
</div>
|
| 1021 |
</div>
|
| 1022 |
|
| 1023 |
-
<div class="mt-4 p-4 ${usedPercentage > 85 ? 'bg-red-50' : 'bg-green-50'} rounded-lg">
|
| 1024 |
<h4 class="font-semibold ${usedPercentage > 85 ? 'text-red-600' : 'text-green-600'} mb-2">
|
| 1025 |
<i class="fas ${usedPercentage > 85 ? 'fa-exclamation-triangle' : 'fa-check-circle'} mr-2"></i>
|
| 1026 |
${usedPercentage > 85 ? 'Low Disk Space Warning' : 'Disk Space OK'}
|
|
@@ -1031,7 +1088,7 @@
|
|
| 1031 |
: 'You have sufficient free disk space. No immediate action required.'}
|
| 1032 |
</p>
|
| 1033 |
${usedPercentage > 85
|
| 1034 |
-
? '<button onclick="runTool(\'tempFiles\')" class="mt-2 px-4 py-1 bg-red-600 text-white rounded text-sm hover:bg-red-700">Clean Temporary Files Now</button>'
|
| 1035 |
: ''}
|
| 1036 |
</div>
|
| 1037 |
`;
|
|
@@ -1041,7 +1098,7 @@
|
|
| 1041 |
const downloadsData = generateDownloadsData();
|
| 1042 |
|
| 1043 |
resultHtml = `
|
| 1044 |
-
<div class="p-4 bg-teal-50 rounded-lg mb-4">
|
| 1045 |
<div class="flex items-center text-teal-600 mb-2">
|
| 1046 |
<i class="fas fa-folder-open mr-2"></i>
|
| 1047 |
<h4 class="font-semibold">Downloads Organized</h4>
|
|
@@ -1066,7 +1123,7 @@
|
|
| 1066 |
<h4 class="font-semibold mb-2">Files Organized by Category</h4>
|
| 1067 |
<div class="space-y-2">
|
| 1068 |
${downloadsData.categories.map(cat => `
|
| 1069 |
-
<div class="flex items-center justify-between p-2 bg-gray-50 rounded">
|
| 1070 |
<div class="flex items-center">
|
| 1071 |
<i class="${cat.icon} ${cat.color} mr-2"></i>
|
| 1072 |
<span>${cat.name}</span>
|
|
@@ -1077,7 +1134,7 @@
|
|
| 1077 |
</div>
|
| 1078 |
</div>
|
| 1079 |
|
| 1080 |
-
<div class="mt-4 p-4 bg-indigo-50 rounded-lg">
|
| 1081 |
<h4 class="font-semibold text-indigo-600 mb-2">New Folder Structure</h4>
|
| 1082 |
<div class="text-sm">
|
| 1083 |
<div class="flex items-center mb-1">
|
|
@@ -1097,10 +1154,10 @@
|
|
| 1097 |
</div>
|
| 1098 |
</div>
|
| 1099 |
|
| 1100 |
-
<div class="mt-4 p-4 bg-green-50 rounded-lg">
|
| 1101 |
<h4 class="font-semibold text-green-600 mb-2">Organization Complete</h4>
|
| 1102 |
<p class="text-sm">Your downloads folder has been successfully organized into categories.</p>
|
| 1103 |
-
<button onclick="runTool('organizeDownloads')" class="mt-2 px-4 py-1 bg-green-600 text-white rounded text-sm hover:bg-green-700">Reorganize Now</button>
|
| 1104 |
</div>
|
| 1105 |
`;
|
| 1106 |
break;
|
|
@@ -1116,6 +1173,7 @@
|
|
| 1116 |
section.classList.toggle('expanded');
|
| 1117 |
this.querySelector('i').classList.toggle('fa-chevron-down');
|
| 1118 |
this.querySelector('i').classList.toggle('fa-chevron-up');
|
|
|
|
| 1119 |
});
|
| 1120 |
});
|
| 1121 |
}
|
|
|
|
| 15 |
from { transform: translateY(20px); opacity: 0; }
|
| 16 |
to { transform: translateY(0); opacity: 1; }
|
| 17 |
}
|
| 18 |
+
@keyframes pulse {
|
| 19 |
+
0%, 100% { transform: scale(1); }
|
| 20 |
+
50% { transform: scale(1.03); }
|
| 21 |
+
}
|
| 22 |
+
@keyframes bounce {
|
| 23 |
+
0%, 100% { transform: translateY(0); }
|
| 24 |
+
50% { transform: translateY(-5px); }
|
| 25 |
+
}
|
| 26 |
.fade-in {
|
| 27 |
animation: fadeIn 0.5s ease-in-out;
|
| 28 |
}
|
|
|
|
| 57 |
border-left: 3px solid #6e8efb;
|
| 58 |
padding-left: 10px;
|
| 59 |
margin-bottom: 8px;
|
| 60 |
+
transition: all 0.2s ease;
|
| 61 |
+
}
|
| 62 |
+
.log-entry:hover {
|
| 63 |
+
background-color: #f8fafc;
|
| 64 |
}
|
| 65 |
.log-entry.error {
|
| 66 |
border-left-color: #ef4444;
|
|
|
|
| 77 |
.log-timestamp {
|
| 78 |
font-size: 0.75rem;
|
| 79 |
color: #6b7280;
|
| 80 |
+
transition: color 0.2s ease;
|
| 81 |
}
|
| 82 |
.log-message {
|
| 83 |
font-size: 0.875rem;
|
| 84 |
+
transition: color 0.2s ease;
|
| 85 |
}
|
| 86 |
.debug-section {
|
| 87 |
max-height: 0;
|
| 88 |
overflow: hidden;
|
| 89 |
+
transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
|
| 90 |
}
|
| 91 |
.debug-section.expanded {
|
| 92 |
max-height: 500px;
|
| 93 |
}
|
| 94 |
+
.highlight-button {
|
| 95 |
+
position: relative;
|
| 96 |
+
overflow: hidden;
|
| 97 |
+
}
|
| 98 |
+
.highlight-button::after {
|
| 99 |
+
content: '';
|
| 100 |
+
position: absolute;
|
| 101 |
+
top: 0;
|
| 102 |
+
left: 0;
|
| 103 |
+
width: 100%;
|
| 104 |
+
height: 100%;
|
| 105 |
+
background: linear-gradient(45deg, rgba(255,255,255,0.1), rgba(255,255,255,0.3), rgba(255,255,255,0.1));
|
| 106 |
+
transform: translateX(-100%);
|
| 107 |
+
transition: transform 0.6s ease;
|
| 108 |
+
}
|
| 109 |
+
.highlight-button:hover::after {
|
| 110 |
+
transform: translateX(100%);
|
| 111 |
+
}
|
| 112 |
+
.pulse-on-hover:hover {
|
| 113 |
+
animation: pulse 0.5s ease-in-out;
|
| 114 |
+
}
|
| 115 |
+
.bounce-on-hover:hover {
|
| 116 |
+
animation: bounce 0.5s ease;
|
| 117 |
+
}
|
| 118 |
+
.button-glow {
|
| 119 |
+
box-shadow: 0 4px 15px rgba(110, 142, 251, 0.3);
|
| 120 |
+
transition: box-shadow 0.3s ease;
|
| 121 |
+
}
|
| 122 |
+
.button-glow:hover {
|
| 123 |
+
box-shadow: 0 6px 20px rgba(110, 142, 251, 0.4);
|
| 124 |
+
}
|
| 125 |
</style>
|
| 126 |
</head>
|
| 127 |
<body class="font-sans bg-gray-50">
|
|
|
|
| 130 |
<div class="container mx-auto px-4 py-3">
|
| 131 |
<div class="flex justify-between items-center">
|
| 132 |
<div class="flex items-center">
|
| 133 |
+
<i class="fas fa-tools text-2xl mr-2 bounce-on-hover"></i>
|
| 134 |
<span class="text-xl font-bold">Tech PC Maintenance</span>
|
| 135 |
</div>
|
| 136 |
|
| 137 |
<!-- Desktop Menu -->
|
| 138 |
<div class="hidden md:flex space-x-6">
|
| 139 |
+
<a href="#" onclick="showPage('home')" class="hover:text-indigo-200 smooth-transition hover:underline underline-offset-4">Home</a>
|
| 140 |
+
<a href="#" onclick="showPage('login')" class="hover:text-indigo-200 smooth-transition hover:underline underline-offset-4">Login</a>
|
| 141 |
+
<a href="#" onclick="showPage('signup')" class="hover:text-indigo-200 smooth-transition hover:underline underline-offset-4">Sign Up</a>
|
| 142 |
</div>
|
| 143 |
|
| 144 |
<!-- Mobile Menu Button -->
|
| 145 |
+
<button id="mobile-menu-button" class="md:hidden focus:outline-none hover:scale-110 smooth-transition">
|
| 146 |
<i class="fas fa-bars text-2xl"></i>
|
| 147 |
</button>
|
| 148 |
</div>
|
| 149 |
</div>
|
| 150 |
|
| 151 |
<!-- Mobile Menu -->
|
| 152 |
+
<div id="mobile-menu" class="hidden md:hidden bg-indigo-700 slide-up">
|
| 153 |
<div class="px-2 pt-2 pb-3 space-y-1 sm:px-3">
|
| 154 |
+
<a href="#" onclick="showPage('home')" class="block px-3 py-2 rounded-md text-base font-medium text-white hover:bg-indigo-600 smooth-transition">Home</a>
|
| 155 |
+
<a href="#" onclick="showPage('login')" class="block px-3 py-2 rounded-md text-base font-medium text-white hover:bg-indigo-600 smooth-transition">Login</a>
|
| 156 |
+
<a href="#" onclick="showPage('signup')" class="block px-3 py-2 rounded-md text-base font-medium text-white hover:bg-indigo-600 smooth-transition">Sign Up</a>
|
| 157 |
</div>
|
| 158 |
</div>
|
| 159 |
</nav>
|
|
|
|
| 168 |
</div>
|
| 169 |
|
| 170 |
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
|
| 171 |
+
<div class="bg-white rounded-lg p-6 card-shadow tool-card smooth-transition hover:border-indigo-200 border border-transparent">
|
| 172 |
<div class="flex items-center mb-4">
|
| 173 |
+
<div class="bg-indigo-100 p-3 rounded-full mr-4 smooth-transition hover:bg-indigo-200">
|
| 174 |
<i class="fas fa-trash-alt text-indigo-600 text-xl"></i>
|
| 175 |
</div>
|
| 176 |
<h3 class="text-xl font-semibold">Clean Temporary Files</h3>
|
| 177 |
</div>
|
| 178 |
<p class="text-gray-600 mb-4">Remove unnecessary temporary files to free up disk space.</p>
|
| 179 |
+
<button onclick="runTool('tempFiles')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition highlight-button button-glow">
|
| 180 |
Run Cleaner
|
| 181 |
</button>
|
| 182 |
</div>
|
| 183 |
|
| 184 |
+
<div class="bg-white rounded-lg p-6 card-shadow tool-card smooth-transition hover:border-indigo-200 border border-transparent">
|
| 185 |
<div class="flex items-center mb-4">
|
| 186 |
+
<div class="bg-indigo-100 p-3 rounded-full mr-4 smooth-transition hover:bg-indigo-200">
|
| 187 |
<i class="fas fa-globe text-indigo-600 text-xl"></i>
|
| 188 |
</div>
|
| 189 |
<h3 class="text-xl font-semibold">Clear Browser Cache</h3>
|
| 190 |
</div>
|
| 191 |
<p class="text-gray-600 mb-4">Clear your browser cache to improve performance.</p>
|
| 192 |
<div class="flex space-x-2 mb-4">
|
| 193 |
+
<button onclick="selectBrowser('chrome')" class="flex-1 bg-gray-100 text-gray-700 py-1 px-3 rounded text-sm smooth-transition hover:bg-gray-200 hover:text-gray-800">
|
| 194 |
Chrome
|
| 195 |
</button>
|
| 196 |
+
<button onclick="selectBrowser('firefox')" class="flex-1 bg-gray-100 text-gray-700 py-1 px-3 rounded text-sm smooth-transition hover:bg-gray-200 hover:text-gray-800">
|
| 197 |
Firefox
|
| 198 |
</button>
|
| 199 |
+
<button onclick="selectBrowser('edge')" class="flex-1 bg-gray-100 text-gray-700 py-1 px-3 rounded text-sm smooth-transition hover:bg-gray-200 hover:text-gray-800">
|
| 200 |
Edge
|
| 201 |
</button>
|
| 202 |
</div>
|
| 203 |
+
<button onclick="runTool('browserCache')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition highlight-button button-glow">
|
| 204 |
Clear Cache
|
| 205 |
</button>
|
| 206 |
</div>
|
| 207 |
|
| 208 |
+
<div class="bg-white rounded-lg p-6 card-shadow tool-card smooth-transition hover:border-indigo-200 border border-transparent">
|
| 209 |
<div class="flex items-center mb-4">
|
| 210 |
+
<div class="bg-indigo-100 p-3 rounded-full mr-4 smooth-transition hover:bg-indigo-200">
|
| 211 |
<i class="fas fa-bug text-indigo-600 text-xl"></i>
|
| 212 |
</div>
|
| 213 |
<h3 class="text-xl font-semibold">System Debug</h3>
|
| 214 |
</div>
|
| 215 |
<p class="text-gray-600 mb-4">Check for system errors and performance issues.</p>
|
| 216 |
+
<button onclick="runTool('systemDebug')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition highlight-button button-glow">
|
| 217 |
Run Diagnostics
|
| 218 |
</button>
|
| 219 |
</div>
|
| 220 |
|
| 221 |
+
<div class="bg-white rounded-lg p-6 card-shadow tool-card smooth-transition hover:border-indigo-200 border border-transparent">
|
| 222 |
<div class="flex items-center mb-4">
|
| 223 |
+
<div class="bg-indigo-100 p-3 rounded-full mr-4 smooth-transition hover:bg-indigo-200">
|
| 224 |
<i class="fas fa-memory text-indigo-600 text-xl"></i>
|
| 225 |
</div>
|
| 226 |
<h3 class="text-xl font-semibold">RAM Usage</h3>
|
| 227 |
</div>
|
| 228 |
<p class="text-gray-600 mb-4">Analyze your current memory usage and performance.</p>
|
| 229 |
+
<button onclick="runTool('ramUsage')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition highlight-button button-glow">
|
| 230 |
Check RAM
|
| 231 |
</button>
|
| 232 |
</div>
|
| 233 |
|
| 234 |
+
<div class="bg-white rounded-lg p-6 card-shadow tool-card smooth-transition hover:border-indigo-200 border border-transparent">
|
| 235 |
<div class="flex items-center mb-4">
|
| 236 |
+
<div class="bg-indigo-100 p-3 rounded-full mr-4 smooth-transition hover:bg-indigo-200">
|
| 237 |
<i class="fas fa-hdd text-indigo-600 text-xl"></i>
|
| 238 |
</div>
|
| 239 |
<h3 class="text-xl font-semibold">Disk Space</h3>
|
| 240 |
</div>
|
| 241 |
<p class="text-gray-600 mb-4">Analyze and clean up your disk storage.</p>
|
| 242 |
+
<button onclick="runTool('diskSpace')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition highlight-button button-glow">
|
| 243 |
Analyze Disk
|
| 244 |
</button>
|
| 245 |
</div>
|
| 246 |
|
| 247 |
+
<div class="bg-white rounded-lg p-6 card-shadow tool-card smooth-transition hover:border-indigo-200 border border-transparent">
|
| 248 |
<div class="flex items-center mb-4">
|
| 249 |
+
<div class="bg-indigo-100 p-3 rounded-full mr-4 smooth-transition hover:bg-indigo-200">
|
| 250 |
<i class="fas fa-folder-open text-indigo-600 text-xl"></i>
|
| 251 |
</div>
|
| 252 |
<h3 class="text-xl font-semibold">Organize Downloads</h3>
|
| 253 |
</div>
|
| 254 |
<p class="text-gray-600 mb-4">Automatically sort and clean your downloads folder.</p>
|
| 255 |
+
<button onclick="runTool('organizeDownloads')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition highlight-button button-glow">
|
| 256 |
Organize Now
|
| 257 |
</button>
|
| 258 |
</div>
|
|
|
|
| 261 |
|
| 262 |
<!-- Login Page -->
|
| 263 |
<div id="login-page" class="hidden max-w-md mx-auto fade-in">
|
| 264 |
+
<div class="bg-white rounded-lg p-8 card-shadow transform transition-all duration-300 hover:shadow-xl">
|
| 265 |
<div class="text-center mb-6">
|
| 266 |
<h2 class="text-2xl font-bold text-gray-800">Welcome Back!</h2>
|
| 267 |
<p class="text-gray-600">Login to access your maintenance tools</p>
|
|
|
|
| 270 |
<form id="login-form">
|
| 271 |
<div class="mb-4">
|
| 272 |
<label for="login-email" class="block text-gray-700 mb-2">Email</label>
|
| 273 |
+
<input type="email" id="login-email" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 smooth-transition" placeholder="your@email.com" required>
|
| 274 |
</div>
|
| 275 |
|
| 276 |
<div class="mb-6">
|
| 277 |
<label for="login-password" class="block text-gray-700 mb-2">Password</label>
|
| 278 |
+
<input type="password" id="login-password" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 smooth-transition" placeholder="••••••••" required>
|
| 279 |
</div>
|
| 280 |
|
| 281 |
+
<button type="submit" class="gradient-bg text-white w-full py-2 rounded-lg hover:opacity-90 smooth-transition mb-4 highlight-button button-glow">
|
| 282 |
+
Login
|
| 283 |
+
</button>
|
| 284 |
|
| 285 |
<div class="text-center mt-4">
|
| 286 |
+
<a href="#" onclick="showPage('forgot-password')" class="text-indigo-600 hover:underline text-sm smooth-transition">Forgot Password?</a>
|
| 287 |
</div>
|
| 288 |
|
| 289 |
<div class="text-center">
|
| 290 |
+
<p class="text-gray-600">Don't have an account? <a href="#" onclick="showPage('signup')" class="text-indigo-600 hover:underline smooth-transition">Sign up</a></p>
|
| 291 |
</div>
|
| 292 |
</form>
|
| 293 |
</div>
|
|
|
|
| 295 |
|
| 296 |
<!-- Signup Page -->
|
| 297 |
<div id="signup-page" class="hidden max-w-md mx-auto fade-in">
|
| 298 |
+
<div class="bg-white rounded-lg p-8 card-shadow transform transition-all duration-300 hover:shadow-xl">
|
| 299 |
<div class="text-center mb-6">
|
| 300 |
<h2 class="text-2xl font-bold text-gray-800">Create Your Account</h2>
|
| 301 |
<p class="text-gray-600">Join our PC maintenance community</p>
|
|
|
|
| 304 |
<form id="signup-form">
|
| 305 |
<div class="mb-4">
|
| 306 |
<label for="signup-name" class="block text-gray-700 mb-2">Full Name</label>
|
| 307 |
+
<input type="text" id="signup-name" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 smooth-transition" placeholder="John Doe" required>
|
| 308 |
</div>
|
| 309 |
|
| 310 |
<div class="mb-4">
|
| 311 |
<label for="signup-email" class="block text-gray-700 mb-2">Email</label>
|
| 312 |
+
<input type="email" id="signup-email" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 smooth-transition" placeholder="your@email.com" required>
|
| 313 |
</div>
|
| 314 |
|
| 315 |
<div class="mb-4">
|
| 316 |
<label for="signup-password" class="block text-gray-700 mb-2">Password</label>
|
| 317 |
+
<input type="password" id="signup-password" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 smooth-transition" placeholder="••••••••" required minlength="6">
|
| 318 |
</div>
|
| 319 |
|
| 320 |
<div class="mb-6">
|
| 321 |
<label for="signup-confirm-password" class="block text-gray-700 mb-2">Confirm Password</label>
|
| 322 |
+
<input type="password" id="signup-confirm-password" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 smooth-transition" placeholder="••••••••" required minlength="6">
|
| 323 |
</div>
|
| 324 |
|
| 325 |
+
<button type="submit" class="gradient-bg text-white w-full py-2 rounded-lg hover:opacity-90 smooth-transition mb-4 highlight-button button-glow">
|
| 326 |
+
Create Account
|
| 327 |
+
</button>
|
| 328 |
|
| 329 |
<div class="text-center">
|
| 330 |
+
<p class="text-gray-600">Already have an account? <a href="#" onclick="showPage('login')" class="text-indigo-600 hover:underline smooth-transition">Login</a></p>
|
| 331 |
</div>
|
| 332 |
</form>
|
| 333 |
</div>
|
|
|
|
| 335 |
|
| 336 |
<!-- Forgot Password Page -->
|
| 337 |
<div id="forgot-password-page" class="hidden max-w-md mx-auto fade-in">
|
| 338 |
+
<div class="bg-white rounded-lg p-8 card-shadow transform transition-all duration-300 hover:shadow-xl">
|
| 339 |
<div class="text-center mb-6">
|
| 340 |
<h2 class="text-2xl font-bold text-gray-800">Reset Your Password</h2>
|
| 341 |
<p class="text-gray-600">Enter your email to receive a reset link</p>
|
|
|
|
| 344 |
<form id="forgot-password-form">
|
| 345 |
<div class="mb-6">
|
| 346 |
<label for="forgot-email" class="block text-gray-700 mb-2">Email Address</label>
|
| 347 |
+
<input type="email" id="forgot-email" class="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 smooth-transition" placeholder="your@email.com" required>
|
| 348 |
</div>
|
| 349 |
|
| 350 |
+
<button type="submit" class="gradient-bg text-white w-full py-2 rounded-lg hover:opacity-90 smooth-transition mb-4 highlight-button button-glow">
|
| 351 |
+
Send Reset Link
|
| 352 |
+
</button>
|
| 353 |
|
| 354 |
<div class="text-center">
|
| 355 |
+
<p class="text-gray-600">Remember your password? <a href="#" onclick="showPage('login')" class="text-indigo-600 hover:underline smooth-transition">Login</a></p>
|
| 356 |
</div>
|
| 357 |
</form>
|
| 358 |
</div>
|
|
|
|
| 360 |
|
| 361 |
<!-- Dashboard Page -->
|
| 362 |
<div id="dashboard-page" class="hidden fade-in">
|
| 363 |
+
<div class="bg-white rounded-lg p-8 card-shadow transform transition-all duration-300 hover:shadow-xl">
|
| 364 |
<div class="text-center mb-8">
|
| 365 |
<h2 class="text-2xl font-bold text-gray-800">Welcome, <span id="user-name">User</span>!</h2>
|
| 366 |
<p class="text-gray-600">Access your PC maintenance tools</p>
|
| 367 |
</div>
|
| 368 |
|
| 369 |
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-8">
|
| 370 |
+
<div class="bg-white rounded-lg p-6 border border-gray-200 tool-card smooth-transition hover:border-indigo-200">
|
| 371 |
<div class="flex items-center mb-4">
|
| 372 |
+
<div class="bg-indigo-100 p-3 rounded-full mr-4 smooth-transition hover:bg-indigo-200">
|
| 373 |
<i class="fas fa-trash-alt text-indigo-600 text-xl"></i>
|
| 374 |
</div>
|
| 375 |
<h3 class="text-xl font-semibold">Clean Temporary Files</h3>
|
| 376 |
</div>
|
| 377 |
<p class="text-gray-600 mb-4">Remove unnecessary temporary files to free up disk space.</p>
|
| 378 |
+
<button onclick="runTool('tempFiles')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition highlight-button button-glow">
|
| 379 |
Run Cleaner
|
| 380 |
</button>
|
| 381 |
</div>
|
| 382 |
|
| 383 |
+
<div class="bg-white rounded-lg p-6 border border-gray-200 tool-card smooth-transition hover:border-indigo-200">
|
| 384 |
<div class="flex items-center mb-4">
|
| 385 |
+
<div class="bg-indigo-100 p-3 rounded-full mr-4 smooth-transition hover:bg-indigo-200">
|
| 386 |
<i class="fas fa-bug text-indigo-600 text-xl"></i>
|
| 387 |
</div>
|
| 388 |
<h3 class="text-xl font-semibold">System Debug</h3>
|
| 389 |
</div>
|
| 390 |
<p class="text-gray-600 mb-4">Check for system errors and performance issues.</p>
|
| 391 |
+
<button onclick="runTool('systemDebug')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition highlight-button button-glow">
|
| 392 |
Run Diagnostics
|
| 393 |
</button>
|
| 394 |
</div>
|
| 395 |
|
| 396 |
+
<div class="bg-white rounded-lg p-6 border border-gray-200 tool-card smooth-transition hover:border-indigo-200">
|
| 397 |
<div class="flex items-center mb-4">
|
| 398 |
+
<div class="bg-indigo-100 p-3 rounded-full mr-4 smooth-transition hover:bg-indigo-200">
|
| 399 |
<i class="fas fa-memory text-indigo-600 text-xl"></i>
|
| 400 |
</div>
|
| 401 |
<h3 class="text-xl font-semibold">RAM Usage</h3>
|
| 402 |
</div>
|
| 403 |
<p class="text-gray-600 mb-4">Analyze your current memory usage and performance.</p>
|
| 404 |
+
<button onclick="runTool('ramUsage')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition highlight-button button-glow">
|
| 405 |
Check RAM
|
| 406 |
</button>
|
| 407 |
</div>
|
| 408 |
|
| 409 |
+
<div class="bg-white rounded-lg p-6 border border-gray-200 tool-card smooth-transition hover:border-indigo-200">
|
| 410 |
<div class="flex items-center mb-4">
|
| 411 |
+
<div class="bg-indigo-100 p-3 rounded-full mr-4 smooth-transition hover:bg-indigo-200">
|
| 412 |
<i class="fas fa-hdd text-indigo-600 text-xl"></i>
|
| 413 |
</div>
|
| 414 |
<h3 class="text-xl font-semibold">Disk Space</h3>
|
| 415 |
</div>
|
| 416 |
<p class="text-gray-600 mb-4">Analyze and clean up your disk storage.</p>
|
| 417 |
+
<button onclick="runTool('diskSpace')" class="w-full gradient-bg text-white py-2 rounded-lg hover:opacity-90 smooth-transition highlight-button button-glow">
|
| 418 |
Analyze Disk
|
| 419 |
</button>
|
| 420 |
</div>
|
| 421 |
</div>
|
| 422 |
|
| 423 |
<div class="text-center">
|
| 424 |
+
<button onclick="logout()" class="px-6 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 smooth-transition highlight-button hover:shadow-red-500/30 hover:shadow-lg">
|
| 425 |
<i class="fas fa-sign-out-alt mr-2"></i>Logout
|
| 426 |
</button>
|
| 427 |
</div>
|
|
|
|
| 430 |
|
| 431 |
<!-- Results Panel -->
|
| 432 |
<div id="results-panel" class="hidden fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50">
|
| 433 |
+
<div class="bg-white rounded-lg p-6 w-full max-w-2xl mx-4 card-shadow slide-up transform transition-all duration-300">
|
| 434 |
<div class="flex justify-between items-center mb-4">
|
| 435 |
<h3 class="text-xl font-bold text-gray-800" id="results-title">Results</h3>
|
| 436 |
+
<button onclick="closeResults()" class="text-gray-500 hover:text-gray-700 smooth-transition hover:scale-110">
|
| 437 |
<i class="fas fa-times"></i>
|
| 438 |
</button>
|
| 439 |
</div>
|
|
|
|
| 443 |
</div>
|
| 444 |
|
| 445 |
<div class="mt-4 text-right">
|
| 446 |
+
<button onclick="closeResults()" class="px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700 smooth-transition highlight-button button-glow">
|
| 447 |
Close
|
| 448 |
</button>
|
| 449 |
</div>
|
|
|
|
| 457 |
<div class="text-center">
|
| 458 |
<p>© 2023 Tech PC Maintenance Center. All rights reserved.</p>
|
| 459 |
<div class="mt-4 flex justify-center space-x-4">
|
| 460 |
+
<a href="#" class="hover:text-indigo-300 smooth-transition hover:scale-110"><i class="fab fa-facebook"></i></a>
|
| 461 |
+
<a href="#" class="hover:text-indigo-300 smooth-transition hover:scale-110"><i class="fab fa-twitter"></i></a>
|
| 462 |
+
<a href="#" class="hover:text-indigo-300 smooth-transition hover:scale-110"><i class="fab fa-instagram"></i></a>
|
| 463 |
</div>
|
| 464 |
</div>
|
| 465 |
</div>
|
|
|
|
| 778 |
case 'tempFiles':
|
| 779 |
const tempFilesSize = generateRandomNumber(800, 2500) * 1024 * 1024; // 800MB to 2.5GB
|
| 780 |
resultHtml = `
|
| 781 |
+
<div class="p-4 bg-green-50 rounded-lg mb-4 transform transition-all duration-300 hover:scale-[1.01]">
|
| 782 |
<div class="flex items-center text-green-600 mb-2">
|
| 783 |
<i class="fas fa-check-circle mr-2"></i>
|
| 784 |
<h4 class="font-semibold">Temporary Files Cleaned</h4>
|
|
|
|
| 789 |
</div>
|
| 790 |
</div>
|
| 791 |
<div class="grid grid-cols-2 gap-4 mt-4">
|
| 792 |
+
<div class="bg-blue-50 p-3 rounded-lg transform transition-all duration-300 hover:scale-[1.02]">
|
| 793 |
<div class="text-blue-600 text-sm font-medium">Files Deleted</div>
|
| 794 |
<div class="text-xl font-bold">${generateRandomNumber(150, 500)}</div>
|
| 795 |
</div>
|
| 796 |
+
<div class="bg-purple-50 p-3 rounded-lg transform transition-all duration-300 hover:scale-[1.02]">
|
| 797 |
<div class="text-purple-600 text-sm font-medium">Space Recovered</div>
|
| 798 |
<div class="text-xl font-bold">${formatBytes(tempFilesSize)}</div>
|
| 799 |
</div>
|
|
|
|
| 804 |
case 'browserCache':
|
| 805 |
if (!selectedBrowser) {
|
| 806 |
resultHtml = `
|
| 807 |
+
<div class="p-4 bg-yellow-50 rounded-lg mb-4 transform transition-all duration-300 hover:scale-[1.01]">
|
| 808 |
<div class="flex items-center text-yellow-600 mb-2">
|
| 809 |
<i class="fas fa-exclamation-triangle mr-2"></i>
|
| 810 |
<h4 class="font-semibold">No Browser Selected</h4>
|
|
|
|
| 815 |
} else {
|
| 816 |
const cacheSize = generateRandomNumber(300, 1500) * 1024 * 1024; // 300MB to 1.5GB
|
| 817 |
resultHtml = `
|
| 818 |
+
<div class="p-4 bg-green-50 rounded-lg mb-4 transform transition-all duration-300 hover:scale-[1.01]">
|
| 819 |
<div class="flex items-center text-green-600 mb-2">
|
| 820 |
<i class="fas fa-check-circle mr-2"></i>
|
| 821 |
<h4 class="font-semibold">Browser Cache Cleared</h4>
|
|
|
|
| 826 |
</div>
|
| 827 |
</div>
|
| 828 |
<div class="grid grid-cols-2 gap-4 mt-4">
|
| 829 |
+
<div class="bg-blue-50 p-3 rounded-lg transform transition-all duration-300 hover:scale-[1.02]">
|
| 830 |
<div class="text-blue-600 text-sm font-medium">Cache Items</div>
|
| 831 |
<div class="text-xl font-bold">${generateRandomNumber(500, 2000)}</div>
|
| 832 |
</div>
|
| 833 |
+
<div class="bg-purple-50 p-3 rounded-lg transform transition-all duration-300 hover:scale-[1.02]">
|
| 834 |
<div class="text-purple-600 text-sm font-medium">Space Recovered</div>
|
| 835 |
<div class="text-xl font-bold">${formatBytes(cacheSize)}</div>
|
| 836 |
</div>
|
|
|
|
| 848 |
const healthScore = 100 - (errorCount * 5) - (warningCount * 2);
|
| 849 |
|
| 850 |
resultHtml = `
|
| 851 |
+
<div class="p-4 bg-blue-50 rounded-lg mb-4 transform transition-all duration-300 hover:scale-[1.01]">
|
| 852 |
<div class="flex items-center text-blue-600 mb-2">
|
| 853 |
<i class="fas fa-search mr-2"></i>
|
| 854 |
<h4 class="font-semibold">System Diagnostics</h4>
|
|
|
|
| 890 |
<span class="text-sm text-gray-500">${logs.length} entries</span>
|
| 891 |
</div>
|
| 892 |
|
| 893 |
+
<div class="debug-section-container">
|
| 894 |
+
<button class="debug-section-toggle w-full text-left p-2 bg-gray-100 rounded-t-lg flex justify-between items-center smooth-transition hover:bg-gray-200">
|
| 895 |
+
<span>Show Detailed Logs</span>
|
| 896 |
+
<i class="fas fa-chevron-down text-gray-500"></i>
|
| 897 |
+
</button>
|
| 898 |
+
<div class="debug-section bg-gray-50 p-3 rounded-b-lg">
|
| 899 |
+
${logs.map(log => `
|
| 900 |
+
<div class="log-entry ${log.type} mb-2">
|
| 901 |
+
<div class="flex justify-between items-start">
|
| 902 |
+
<span class="log-message">${log.message}</span>
|
| 903 |
+
<span class="log-timestamp ml-2">${log.timestamp}</span>
|
| 904 |
+
</div>
|
| 905 |
</div>
|
| 906 |
+
`).join('')}
|
| 907 |
+
</div>
|
| 908 |
</div>
|
| 909 |
|
| 910 |
<div class="grid grid-cols-2 gap-4 mt-4">
|
| 911 |
+
<div class="bg-red-50 p-3 rounded-lg transform transition-all duration-300 hover:scale-[1.02]">
|
| 912 |
<div class="text-red-600 text-sm font-medium">Errors</div>
|
| 913 |
<div class="text-xl font-bold">${errorCount}</div>
|
| 914 |
</div>
|
| 915 |
+
<div class="bg-yellow-50 p-3 rounded-lg transform transition-all duration-300 hover:scale-[1.02]">
|
| 916 |
<div class="text-yellow-600 text-sm font-medium">Warnings</div>
|
| 917 |
<div class="text-xl font-bold">${warningCount}</div>
|
| 918 |
</div>
|
| 919 |
</div>
|
| 920 |
</div>
|
| 921 |
|
| 922 |
+
<div class="mt-4 p-4 bg-indigo-50 rounded-lg transform transition-all duration-300 hover:scale-[1.01]">
|
| 923 |
<h4 class="font-semibold text-indigo-600 mb-2">Recommendations</h4>
|
| 924 |
<ul class="text-sm space-y-2">
|
| 925 |
${errorCount > 0 ? '<li class="flex items-start"><i class="fas fa-exclamation-circle text-red-500 mt-1 mr-2 text-xs"></i><span>Address critical system errors first</span></li>' : ''}
|
|
|
|
| 936 |
const ramPercentage = Math.round((ramData.usedRam / ramData.totalRam) * 100);
|
| 937 |
|
| 938 |
resultHtml = `
|
| 939 |
+
<div class="p-4 bg-purple-50 rounded-lg mb-4 transform transition-all duration-300 hover:scale-[1.01]">
|
| 940 |
<div class="flex items-center text-purple-600 mb-2">
|
| 941 |
<i class="fas fa-memory mr-2"></i>
|
| 942 |
<h4 class="font-semibold">Memory Analysis</h4>
|
|
|
|
| 999 |
</div>
|
| 1000 |
</div>
|
| 1001 |
|
| 1002 |
+
<div class="mt-4 p-4 ${ramPercentage > 80 ? 'bg-red-50' : 'bg-green-50'} rounded-lg transform transition-all duration-300 hover:scale-[1.01]">
|
| 1003 |
<h4 class="font-semibold ${ramPercentage > 80 ? 'text-red-600' : 'text-green-600'} mb-2">
|
| 1004 |
<i class="fas ${ramPercentage > 80 ? 'fa-exclamation-triangle' : 'fa-check-circle'} mr-2"></i>
|
| 1005 |
${ramPercentage > 80 ? 'High Memory Usage' : 'Memory Usage OK'}
|
|
|
|
| 1018 |
const usedPercentage = Math.round((diskData.usedSpace / diskData.totalSpace) * 100);
|
| 1019 |
|
| 1020 |
resultHtml = `
|
| 1021 |
+
<div class="p-4 bg-indigo-50 rounded-lg mb-4 transform transition-all duration-300 hover:scale-[1.01]">
|
| 1022 |
<div class="flex items-center text-indigo-600 mb-2">
|
| 1023 |
<i class="fas fa-hdd mr-2"></i>
|
| 1024 |
<h4 class="font-semibold">Disk Analysis</h4>
|
|
|
|
| 1054 |
<div class="mt-4">
|
| 1055 |
<h4 class="font-semibold mb-2">Disk Usage Breakdown</h4>
|
| 1056 |
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
| 1057 |
+
<div class="bg-blue-50 p-3 rounded-lg transform transition-all duration-300 hover:scale-[1.02]">
|
| 1058 |
<div class="text-blue-600 text-sm font-medium">Temporary Files</div>
|
| 1059 |
<div class="text-xl font-bold">${formatBytes(diskData.tempFiles)}</div>
|
| 1060 |
<div class="text-xs mt-1">Can be safely deleted</div>
|
| 1061 |
</div>
|
| 1062 |
+
<div class="bg-purple-50 p-3 rounded-lg transform transition-all duration-300 hover:scale-[1.02]">
|
| 1063 |
<div class="text-purple-600 text-sm font-medium">Duplicate Files</div>
|
| 1064 |
<div class="text-xl font-bold">${formatBytes(diskData.duplicateFiles)}</div>
|
| 1065 |
<div class="text-xs mt-1">Potential space savings</div>
|
| 1066 |
</div>
|
| 1067 |
+
<div class="bg-red-50 p-3 rounded-lg transform transition-all duration-300 hover:scale-[1.02]">
|
| 1068 |
<div class="text-red-600 text-sm font-medium">Large Applications</div>
|
| 1069 |
<div class="text-xl font-bold">${formatBytes(diskData.largeApps)}</div>
|
| 1070 |
<div class="text-xs mt-1">Consider uninstalling unused apps</div>
|
| 1071 |
</div>
|
| 1072 |
+
<div class="bg-green-50 p-3 rounded-lg transform transition-all duration-300 hover:scale-[1.02]">
|
| 1073 |
<div class="text-green-600 text-sm font-medium">System Files</div>
|
| 1074 |
<div class="text-xl font-bold">${formatBytes(diskData.usedSpace * 0.4)}</div>
|
| 1075 |
<div class="text-xs mt-1">Essential system files</div>
|
|
|
|
| 1077 |
</div>
|
| 1078 |
</div>
|
| 1079 |
|
| 1080 |
+
<div class="mt-4 p-4 ${usedPercentage > 85 ? 'bg-red-50' : 'bg-green-50'} rounded-lg transform transition-all duration-300 hover:scale-[1.01]">
|
| 1081 |
<h4 class="font-semibold ${usedPercentage > 85 ? 'text-red-600' : 'text-green-600'} mb-2">
|
| 1082 |
<i class="fas ${usedPercentage > 85 ? 'fa-exclamation-triangle' : 'fa-check-circle'} mr-2"></i>
|
| 1083 |
${usedPercentage > 85 ? 'Low Disk Space Warning' : 'Disk Space OK'}
|
|
|
|
| 1088 |
: 'You have sufficient free disk space. No immediate action required.'}
|
| 1089 |
</p>
|
| 1090 |
${usedPercentage > 85
|
| 1091 |
+
? '<button onclick="runTool(\'tempFiles\')" class="mt-2 px-4 py-1 bg-red-600 text-white rounded text-sm hover:bg-red-700 smooth-transition highlight-button">Clean Temporary Files Now</button>'
|
| 1092 |
: ''}
|
| 1093 |
</div>
|
| 1094 |
`;
|
|
|
|
| 1098 |
const downloadsData = generateDownloadsData();
|
| 1099 |
|
| 1100 |
resultHtml = `
|
| 1101 |
+
<div class="p-4 bg-teal-50 rounded-lg mb-4 transform transition-all duration-300 hover:scale-[1.01]">
|
| 1102 |
<div class="flex items-center text-teal-600 mb-2">
|
| 1103 |
<i class="fas fa-folder-open mr-2"></i>
|
| 1104 |
<h4 class="font-semibold">Downloads Organized</h4>
|
|
|
|
| 1123 |
<h4 class="font-semibold mb-2">Files Organized by Category</h4>
|
| 1124 |
<div class="space-y-2">
|
| 1125 |
${downloadsData.categories.map(cat => `
|
| 1126 |
+
<div class="flex items-center justify-between p-2 bg-gray-50 rounded transform transition-all duration-300 hover:scale-[1.01]">
|
| 1127 |
<div class="flex items-center">
|
| 1128 |
<i class="${cat.icon} ${cat.color} mr-2"></i>
|
| 1129 |
<span>${cat.name}</span>
|
|
|
|
| 1134 |
</div>
|
| 1135 |
</div>
|
| 1136 |
|
| 1137 |
+
<div class="mt-4 p-4 bg-indigo-50 rounded-lg transform transition-all duration-300 hover:scale-[1.01]">
|
| 1138 |
<h4 class="font-semibold text-indigo-600 mb-2">New Folder Structure</h4>
|
| 1139 |
<div class="text-sm">
|
| 1140 |
<div class="flex items-center mb-1">
|
|
|
|
| 1154 |
</div>
|
| 1155 |
</div>
|
| 1156 |
|
| 1157 |
+
<div class="mt-4 p-4 bg-green-50 rounded-lg transform transition-all duration-300 hover:scale-[1.01]">
|
| 1158 |
<h4 class="font-semibold text-green-600 mb-2">Organization Complete</h4>
|
| 1159 |
<p class="text-sm">Your downloads folder has been successfully organized into categories.</p>
|
| 1160 |
+
<button onclick="runTool('organizeDownloads')" class="mt-2 px-4 py-1 bg-green-600 text-white rounded text-sm hover:bg-green-700 smooth-transition highlight-button">Reorganize Now</button>
|
| 1161 |
</div>
|
| 1162 |
`;
|
| 1163 |
break;
|
|
|
|
| 1173 |
section.classList.toggle('expanded');
|
| 1174 |
this.querySelector('i').classList.toggle('fa-chevron-down');
|
| 1175 |
this.querySelector('i').classList.toggle('fa-chevron-up');
|
| 1176 |
+
this.querySelector('span').textContent = section.classList.contains('expanded') ? 'Hide Detailed Logs' : 'Show Detailed Logs';
|
| 1177 |
});
|
| 1178 |
});
|
| 1179 |
}
|
prompts.txt
CHANGED
|
@@ -1,6 +1 @@
|
|
| 1 |
-
|
| 2 |
-
Add a simple debugging feature to my Node.js + Express server. I want to log every incoming request (method + URL + timestamp) to the console. Also, create a "debug panel" on the front-end (HTML file in public folder) that can be toggled on/off and shows these request logs using fetch from the server. The backend is using `server.js`, storing users in JSON, and serves the HTML from the /public directory. Keep everything clean and integrated into what I already have.
|
| 3 |
-
dont change this html just repair it as the login and signup dont work
|
| 4 |
-
1. Add the missing `<div id="results-panel">` section with proper layout and styling. 2. Insert a mobile menu with the `id="mobile-menu"` and `id="mobile-menu-button"` so the toggle script works correctly. 3. Add basic placeholder content inside: - `#forgot-password-page` (e.g., form with email input and submit) - `#dashboard-page` (e.g., "Welcome, [user]" and a logout button) 4. Ensure the file ends correctly with closing `</body>` and `</html>` tags. 5. Make sure the layout uses Tailwind classes consistently. 6. Do **not** change the existing styles or structure — just fix what’s missing.
|
| 5 |
-
Take this HTML/JS code for a PC maintenance website that uses localStorage for login/signup and fake tools. I need to add: 1. Working debug tool feature — for example: check console errors or simulate RAM usage stats. 2. More tool result blocks like disk space or organize downloads. 3. On successful login, update the user name in the dashboard at: <span id="user-name">. Make sure the JS is consistent with the existing pattern. Keep styling and structure aligned with TailwindCSS and Font Awesome icons.
|
| 6 |
-
I have a full HTML + JS site for a Tech PC Maintenance tool. It includes login/signup functionality using localStorage and several maintenance tools that simulate features like "Clean Temporary Files", "Clear Browser Cache", "Disk Space", etc. The tools are represented as styled cards with fake result panels using modals. I need you to: 1. Add realistic simulation logic or diagnostics to each tool if possible. 2. Introduce an actual debugging panel (fake or simulated) when "System Debug" is clicked. Ideally with expandable logs or check results. 3. Replace localStorage with a JSON-based backend or SQLite using Node.js (optional but preferred). 4. Add animation transitions for tool result panels. 5. Clean and organize the JavaScript into modular functions or split scripts if possible (optional). Keep Tailwind CSS and Font Awesome styles consistent. Don't change the visual layout or UI structure unless necessary. Make sure it stays easy for me to expand in the future. Return the updated HTML file (or HTML + backend server.js if converted to Node).
|
|
|
|
| 1 |
+
This is a full-page PC Maintenance web app using TailwindCSS and vanilla JS. Please improve only the frontend code in this HTML file: 1. Keep Tailwind and all existing styles as they are — no rewrites. 2. Add smoother transitions or animations to tool panels and the results display. 3. Ensure all interactive buttons (like login, logout, run tool) are clearly styled and easy to spot. 4. Add a collapsible debug log section with expandable/collapsible toggles. 5. Do not add backend logic or unrelated files. This HTML should remain a standalone working file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|