Files
2026-06-29 17:11:14 -04:00

174 lines
5.0 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PlutoHacks 2026 • Badge</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');
body {
margin: 0;
padding: 20px;
background: linear-gradient(135deg, #0a0a2e, #1a0033);
color: #00ffcc;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
}
.badge {
width: 400px;
max-width: 95%;
background: linear-gradient(145deg, #1a0033, #330066);
border: 6px solid #00ffcc;
border-radius: 15px;
padding: 30px 20px;
text-align: center;
box-shadow: 0 0 40px rgba(0, 255, 204, 0.6),
inset 0 0 30px rgba(255, 0, 255, 0.3);
position: relative;
overflow: hidden;
}
.badge::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(255,0,255,0.15) 0%, transparent 70%);
animation: scan 4s linear infinite;
}
@keyframes scan {
0% { transform: translateY(-100%); }
100% { transform: translateY(100%); }
}
.header { color: #ff00ff; font-size: 18px; margin-bottom: 10px; text-shadow: 0 0 10px #ff00ff; }
.plutohacks { font-size: 28px; color: #00ffff; margin: 10px 0; text-shadow: 0 0 15px #00ffff; letter-spacing: 4px; }
.name { font-size: 32px; font-weight: bold; color: white; margin: 20px 0 8px 0; text-shadow: 0 0 15px #00ffcc; }
.college { font-size: 18px; color: #ffcc00; margin-bottom: 25px; text-shadow: 0 0 8px #ffcc00; }
.role {
background: rgba(0, 255, 204, 0.1);
border: 2px dashed #00ffcc;
padding: 12px;
margin: 20px 0;
font-size: 14px;
color: #00ffcc;
}
.footer { margin-top: 30px; font-size: 12px; color: #888; }
.print-btn {
margin-top: 30px;
padding: 15px 40px;
font-size: 16px;
background: #ff00ff;
color: white;
border: none;
border-radius: 8px;
cursor: pointer;
box-shadow: 0 0 20px #ff00ff;
}
.print-btn:hover {
background: #00ffff;
color: #330066;
box-shadow: 0 0 30px #00ffff;
}
.debug {
margin-top: 20px;
font-size: 12px;
color: #666;
background: rgba(0,0,0,0.5);
padding: 10px;
border-radius: 5px;
max-width: 400px;
text-align: left;
}
</style>
</head>
<body>
<div class="badge" id="badge">
<div class="header">BROWARD COLLEGE PRESENTS</div>
<div class="plutohacks">PLUTOHACKS 2026</div>
<div class="name" id="fullName">HACKER NAME</div>
<div class="college" id="collegeName">COLLEGE / ORGANIZATION</div>
<div class="role">
PARTICIPANT<br>
<span style="font-size: 11px; opacity: 0.8;">Broward College • PlutoHacks</span>
</div>
<div class="footer">
★ MADE FOR THE FUTURE ★
</div>
</div>
<button class="print-btn" onclick="window.print()">🖨️ PRINT BADGE</button>
<!-- Debug info (you can remove this later) -->
<div class="debug" id="debug"></div>
<script>
function getUrlParams() {
const params = new URLSearchParams(window.location.search);
const debugInfo = [];
// Try many possible parameter names (case insensitive)
const firstName =
params.get('first') ||
params.get('First') ||
params.get('firstname') ||
params.get('firstName') ||
params.get('fname') ||
params.get('FirstName') || '';
const lastName =
params.get('last') ||
params.get('Last') ||
params.get('lastname') ||
params.get('lastName') ||
params.get('lname') ||
params.get('LastName') || '';
const college =
params.get('college') ||
params.get('College') ||
params.get('school') ||
params.get('School') ||
params.get('organization') ||
'Broward College';
const fullName = (firstName || lastName)
? `${firstName} ${lastName}`.trim().toUpperCase()
: "HACKER NAME";
// Show debug info so you can see what's happening
debugInfo.push(`First Name detected: ${firstName || '(none)'}`);
debugInfo.push(`Last Name detected: ${lastName || '(none)'}`);
debugInfo.push(`College detected: ${college}`);
debugInfo.push(`Full URL params: ${window.location.search || '(no parameters)'}`);
document.getElementById('fullName').textContent = fullName;
document.getElementById('collegeName').textContent = college.toUpperCase();
document.getElementById('debug').innerHTML = debugInfo.join('<br>');
}
window.onload = getUrlParams;
// Press 'P' key to print quickly
document.addEventListener('keydown', (e) => {
if (e.key.toLowerCase() === 'p') window.print();
});
</script>
</body>
</html>