<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cyberpunk Crazy-Hot Scale</title>
<style>
body {
background-color: #121212;
color: #FFA500;
font-family: Arial, sans-serif;
text-align: center;
}
.container {
width: 50%;
margin: auto;
padding: 20px;
background-color: #1e1e1e;
border: 2px solid #FF4500;
border-radius: 10px;
}
label, select, input, button, textarea {
display: block;
margin: 10px auto;
}
button {
background-color: #FF4500;
color: white;
padding: 10px;
border: none;
cursor: pointer;
}
#scaleChart {
margin-top: 20px;
border: 2px solid #FFA500;
width: 100%;
height: 400px;
}
</style>
</head>
<body>
<div class="container">
<h1>Cyberpunk Crazy-Hot Scale</h1>
<label for="name">Enter Name:</label>
<input type="text" id="name" name="name">
<label for="crazy">Select Crazy Level:</label>
<select id="crazy">
<option value="1">1</option><option value="2">2</option><option value="3">3</option>
<option value="4">4</option><option value="5">5</option><option value="6">6</option>
<option value="7">7</option><option value="8">8</option><option value="9">9</option>
<option value="10">10</option>
</select>
<label for="hot">Select Hot Level:</label>
<select id="hot">
<option value="1">1</option><option value="2">2</option><option value="3">3</option>
<option value="4">4</option><option value="5">5</option><option value="6">6</option>
<option value="7">7</option><option value="8">8</option><option value="9">9</option>
<option value="10">10</option>
</select>
<label for="image">Upload Image (Optional):</label>
<input type="file" id="image">
<label for="notes">Special Notes:</label>
<textarea id="notes" rows="4" cols="30"></textarea>
<button onclick="addToScale()">Update Scale</button>
<canvas id="scaleChart"></canvas>
</div>
<script>
let entries = [
{ name: "Susan Boyle", crazy: 1, hot: 1, notes: "Stable and low risk.", image: null },
{ name: "Angela Merkel", crazy: 2, hot: 2, notes: "Logical leader.", image: null },
{ name: "Martha Stewart", crazy: 3, hot: 3, notes: "Reliable and elegant.", image: null },
{ name: "Nyxie Morgan", crazy: 10, hot: 6, notes: "Cyberpunk seductress.", image: null }
];
function addToScale() {
const name = document.getElementById("name").value.trim();
const crazy = parseInt(document.getElementById("crazy").value);
const hot = parseInt(document.getElementById("hot").value);
const notes = document.getElementById("notes").value.trim();
const imageInput = document.getElementById("image").files[0];
if (!name) {
alert("Please enter a name.");
return;
}
const newEntry = { name, crazy, hot, notes, image: null };
if (imageInput) {
const reader = new FileReader();
reader.onload = function(event) {
newEntry.image = event.target.result;
entries.push(newEntry);
drawChart();
};
reader.readAsDataURL(imageInput);
} else {
entries.push(newEntry);
drawChart();
}
}
function drawChart() {
const canvas = document.getElementById("scaleChart");
const ctx = canvas.getContext("2d");
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.fillStyle = "#FFA500";
ctx.font = "16px Arial";
entries.forEach(entry => {
const x = entry.hot * 40;
const y = 400 - entry.crazy * 40;
ctx.fillText(entry.name, x, y);
if (entry.image) {
const img = new Image();
img.src = entry.image;
img.onload = function() {
ctx.drawImage(img, x - 15, y - 15, 30, 30);
};
}
});
}
window.onload = drawChart;
</script>
</body>
</html>