forge / index.html
noumanjavaid's picture
Update index.html
ba8990f verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>The Forge - Secure Access</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;900&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Inter', sans-serif;
}
/* The main container for the parallax background */
.parallax-container {
position: relative;
width: 100vw;
height: 100vh;
overflow: hidden;
background-color: #0a0a0a;
}
/* The background image itself, which will be moved by JS */
.parallax-bg {
position: absolute;
left: -5%; /* Start with a buffer for movement */
top: -5%;
width: 110%; /* Make image larger than viewport for parallax effect */
height: 110%;
background-image: url('https://images.unsplash.com/photo-1579952363873-27f3bade9f55?q=80&w=1935&auto=format&fit=crop');
background-size: cover;
background-position: center center;
transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
filter: brightness(0.6);
}
/* Custom styling for the form elements to match the theme */
.form-input {
background-color: rgba(10, 10, 10, 0.7);
border: 1px solid rgba(100, 116, 139, 0.4);
color: #e2e8f0;
transition: all 0.3s ease;
}
.form-input:focus {
background-color: rgba(10, 10, 10, 0.9);
border-color: #f97316; /* Orange accent color from the brief */
box-shadow: 0 0 15px rgba(249, 115, 22, 0.3);
outline: none;
}
/* Thematic styling for the login button */
.login-btn {
background-color: #f97316;
color: #ffffff;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
border: none;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(249, 115, 22, 0.2);
}
.login-btn:hover {
background-color: #fb923c;
box-shadow: 0 6px 20px rgba(249, 115, 22, 0.4);
transform: translateY(-2px);
}
/* Styling for the glassmorphism effect on the login panel */
.access-panel {
background: rgba(17, 24, 39, 0.6);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.1);
}
</style>
</head>
<body class="bg-gray-900">
<div id="parallax-container" class="parallax-container">
<!-- The background image that will have the parallax effect -->
<div id="parallax-bg" class="parallax-bg"></div>
<!-- The main content, centered on the page -->
<div class="relative flex items-center justify-center w-full h-full px-4">
<!-- The "Secure Access Panel" -->
<div class="w-full max-w-md p-8 space-y-6 rounded-lg shadow-2xl access-panel md:p-10">
<!-- Platform Logo -->
<div class="flex justify-center">
<svg class="w-16 h-16 text-orange-500" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 7L12 12L22 7L12 2Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M2 17L12 22L22 17" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M2 12L12 17L22 12" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</div>
<!-- Header Text -->
<div class="text-center">
<h1 class="text-3xl font-bold text-white tracking-tight">THE FORGE</h1>
<p class="mt-2 text-sm text-slate-400">Secure Team Entry</p>
</div>
<!-- Login Form -->
<form class="space-y-6">
<div>
<label for="email" class="block text-sm font-medium text-slate-300">Email Address / Username</label>
<div class="mt-1">
<input id="email" name="email" type="email" autocomplete="email" required
class="w-full px-4 py-3 rounded-md form-input placeholder-slate-500"
placeholder="u.name@team.com">
</div>
</div>
<div>
<label for="password" class="block text-sm font-medium text-slate-300">Password</label>
<div class="mt-1">
<input id="password" name="password" type="password" autocomplete="current-password" required
class="w-full px-4 py-3 rounded-md form-input placeholder-slate-500"
placeholder="••••••••">
</div>
</div>
<div class="flex items-center justify-between">
<div class="text-sm">
<a href="#" class="font-medium text-orange-500 hover:text-orange-400 transition-colors">
Forgot password?
</a>
</div>
</div>
<div>
<button type="submit"
class="w-full flex justify-center py-3 px-4 rounded-md shadow-sm text-sm login-btn">
Login
</button>
</div>
</form>
</div>
</div>
</div>
<script>
// JavaScript for the parallax effect on the background image
document.addEventListener('DOMContentLoaded', () => {
const container = document.getElementById('parallax-container');
const bg = document.getElementById('parallax-bg');
// This function handles the mouse movement and updates the background position
container.addEventListener('mousemove', (e) => {
// Calculate the mouse position as a percentage of the window size
const x = e.clientX / window.innerWidth;
const y = e.clientY / window.innerHeight;
// Define the intensity of the parallax effect
const intensity = 10; // A higher number means more movement
// Calculate the new transform values.
// We move the background in the opposite direction of the mouse.
const moveX = -(x * intensity);
const moveY = -(y * intensity);
// Apply the transform to the background element
bg.style.transform = `translate(${moveX}px, ${moveY}px)`;
});
});
</script>
</body>
</html>