w
This commit is contained in:
@@ -2,80 +2,85 @@
|
|||||||
<html lang="ro">
|
<html lang="ro">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>Nutriție AI Pro</title>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Calculator Kcal & AI Menu - Java Edition</title>
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
<style>
|
||||||
|
body { background-color: #f8f9fa; padding: 20px; }
|
||||||
|
.container { max-width: 600px; background: white; padding: 30px; border-radius: 10px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
|
||||||
|
.result-box { display: none; margin-top: 20px; padding: 20px; background-color: #d1f2eb; border-radius: 8px; text-align: center; }
|
||||||
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body class="p-5 bg-light">
|
<body>
|
||||||
<div class="container" style="max-width: 600px;">
|
|
||||||
<h1 class="mb-4 text-center">Calculator Kcal & AI Menu</h1>
|
|
||||||
|
|
||||||
<div class="card p-4 shadow-sm">
|
<div class="container">
|
||||||
<form action="/calculate" method="post">
|
<h2 class="text-center mb-4">Calculator Kcal & AI Menu</h2>
|
||||||
|
|
||||||
|
<form id="calcForm">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Greutate actuală (kg)</label>
|
<label class="form-label">Greutate actuală (kg)</label>
|
||||||
<input type="number" name="weight" class="form-control" required>
|
<input type="number" id="greutate" class="form-control" required>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Înălțime (cm)</label>
|
<label class="form-label">Înălțime (cm)</label>
|
||||||
<input type="number" name="height" class="form-control" required>
|
<input type="number" id="inaltime" class="form-control" required>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Vârstă</label>
|
<label class="form-label">Vârstă</label>
|
||||||
<input type="number" name="age" class="form-control" required>
|
<input type="number" id="varsta" class="form-control" required>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Sex</label>
|
<label class="form-label">Sex</label>
|
||||||
<select name="gender" class="form-select">
|
<select id="sex" class="form-select">
|
||||||
<option value="masculin">Masculin</option>
|
<option value="masculin">Masculin</option>
|
||||||
<option value="feminin">Feminin</option>
|
<option value="feminin">Feminin</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Nivel activitate</label>
|
<label class="form-label">Nivel activitate</label>
|
||||||
<select name="activity" class="form-select">
|
<select id="activitate" class="form-select">
|
||||||
<option value="1.2">Sedentar (birou)</option>
|
<option value="1.2">Sedentar (birou)</option>
|
||||||
<option value="1.55">Activ (3-5 zile sport)</option>
|
<option value="1.375">Activitate ușoară</option>
|
||||||
<option value="1.9">Extrem (muncă fizică/sport zilnic)</option>
|
<option value="1.55">Moderat activ</option>
|
||||||
</select>
|
<option value="1.725">Foarte activ</option>
|
||||||
</div>
|
|
||||||
<div class="mb-3">
|
|
||||||
<label class="form-label">Obiectiv</label>
|
|
||||||
<select name="goal" class="form-select">
|
|
||||||
<option value="mentinere">Menținere</option>
|
|
||||||
<option value="slabire">Slăbire (-500 kcal)</option>
|
|
||||||
<option value="ingrasare">Îngrășare (+500 kcal)</option>
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button type="submit" class="btn btn-success w-100">Calculează</button>
|
<button type="submit" class="btn btn-success w-100">Calculează</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
{% if rezultat %}
|
<div id="resultBox" class="result-box">
|
||||||
<div class="mt-4 alert alert-info text-center">
|
<h4>Ținta ta: <span id="kcalResult">0</span> kcal / zi</h4>
|
||||||
<h4>Ținta ta: {{ rezultat }} kcal / zi</h4>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
|
||||||
|
|
||||||
<h5>🤖 Cere meniu de la AI</h5>
|
<script>
|
||||||
<form action="/calculate" method="post">
|
document.getElementById('calcForm').addEventListener('submit', function(e) {
|
||||||
<input type="hidden" name="weight" value="{{ request.form.weight }}">
|
e.preventDefault();
|
||||||
<input type="hidden" name="height" value="{{ request.form.height }}">
|
|
||||||
<input type="hidden" name="age" value="{{ request.form.age }}">
|
|
||||||
<input type="hidden" name="gender" value="{{ request.form.gender }}">
|
|
||||||
<input type="hidden" name="activity" value="{{ request.form.activity }}">
|
|
||||||
<input type="hidden" name="goal" value="{{ request.form.goal }}">
|
|
||||||
|
|
||||||
<textarea name="preferences" class="form-control mb-2" placeholder="Ex: Sunt vegetarian, nu îmi place peștele..."></textarea>
|
const greutate = parseFloat(document.getElementById('greutate').value);
|
||||||
<button type="submit" class="btn btn-outline-primary btn-sm w-100">Generează Meniu Personalizat</button>
|
const inaltime = parseFloat(document.getElementById('inaltime').value);
|
||||||
</form>
|
const varsta = parseFloat(document.getElementById('varsta').value);
|
||||||
{% endif %}
|
const sex = document.getElementById('sex').value;
|
||||||
|
const activitate = parseFloat(document.getElementById('activitate').value);
|
||||||
|
|
||||||
|
let bmr;
|
||||||
|
if (sex === 'masculin') {
|
||||||
|
bmr = (10 * greutate) + (6.25 * inaltime) - (5 * varsta) + 5;
|
||||||
|
} else {
|
||||||
|
bmr = (10 * greutate) + (6.25 * inaltime) - (5 * varsta) - 161;
|
||||||
|
}
|
||||||
|
|
||||||
|
const totalKcal = Math.round(bmr * activitate);
|
||||||
|
|
||||||
|
document.getElementById('kcalResult').innerText = totalKcal;
|
||||||
|
document.getElementById('resultBox').style.display = 'block';
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
{% if meniu_ai %}
|
|
||||||
<div class="mt-4 p-3 border rounded bg-white">
|
|
||||||
<h6 class="text-primary font-weight-bold">Meniul tău generat:</h6>
|
|
||||||
<p style="white-space: pre-line;">{{ meniu_ai }}</p>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
Reference in New Issue
Block a user