Dynamic Wine Calculator
About this app
A fun and interactive wine calculator to help enthusiasts balance wine types and optimize wine pouring.
Dynamic Wine Calculator Dynamic Wine Calculator Select Wine Type Red White Sparkling Rose Add Wine Calculate Total Wines
Related apps
Put this on your site
Source
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Dynamic Wine Calculator</title>
<meta name="description" content="A fun and interactive wine calculator to help enthusiasts balance wine types and optimize wine pouring.">
<meta name="keywords" content="wine, calculator, wine calculator, wine pouring, wine types, wine enthusiasts">
<!-- Libraries -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.6.0/css/fontawesome.min.css" crossorigin="anonymous">
<script type="text/javascript">
try {
document.addEventListener("DOMContentLoaded", function() {
const wineData = {
"Red": [],
"White": [],
"Sparkling": [],
"Rose": []
};
document.getElementById("addWineButton").addEventListener("click", function() {
const type = document.getElementById("wineType").value;
const name = document.getElementById("wineName").value;
const quantity = parseInt(document.getElementById("wineQuantity").value);
if (!name || !type || isNaN(quantity) || quantity <= 0) {
alert("Please enter valid wine details.");
return;
}
wineData[type].push({ name, quantity });
updateWineList();
clearInputs();
});
function updateWineList() {
const listContainer = document.getElementById("wineList");
listContainer.innerHTML = "";
for (let type in wineData) {
if (wineData[type].length > 0) {
listContainer.innerHTML += `<h5>${type} Wines:</h5>`;
wineData[type].forEach(wine => {
listContainer.innerHTML += `<div>${wine.name} (${wine.quantity})</div>`;
});
}
}
}
function clearInputs() {
document.getElementById("wineName").value = "";
document.getElementById("wineQuantity").value = "";
}
document.getElementById("calculateWineButton").addEventListener("click", function() {
const totalWines = Object.values(wineData).flat().reduce((acc, wine) => acc + wine.quantity, 0);
alert(`Total Wines: ${totalWines}`);
});
});
} catch (error) {
throw error;
}
</script>
<style>
body {
background: linear-gradient(45deg, #f5f7fa, #c3cfe2);
font-family: 'Arial', sans-serif;
}
#main-container {
margin-top: 50px;
text-align: center;
background: white;
border-radius: 20px;
padding: 30px;
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
button {
background-color: #ff4757;
border: none;
border-radius: 5px;
color: white;
}
button:hover {
background-color: #ff6b81;
}
h5 {
margin-top: 20px;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>Dynamic Wine Calculator</h1>
<div class="mb-3">
<input type="text" id="wineName" class="form-control" placeholder="Wine Name">
<input type="number" id="wineQuantity" class="form-control mt-2" placeholder="Quantity">
<select id="wineType" class="form-control mt-2">
<option value="">Select Wine Type</option>
<option value="Red">Red</option>
<option value="White">White</option>
<option value="Sparkling">Sparkling</option>
<option value="Rose">Rose</option>
</select>
<button id="addWineButton" class="btn btn-danger mt-3">Add Wine</button>
</div>
<button id="calculateWineButton" class="btn btn-danger">Calculate Total Wines</button>
<div id="wineList" class="mt-4"></div>
</div>
</body>
</html>
NEW APPS
These are apps made by the community!