Spaces:
Running
Running
File size: 11,748 Bytes
f392c21 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 |
// Data Structure
const nutritionPlan = {
seasonal: {
title: "Mevsimsel Beslenme (Sonbahar/Kış)",
focus: "Kan şekerini dengelemek ve metabolizmayı canlandırmak.",
schedule: [
{ time: "07:00 (Hızlı Kahvaltı)", item: "Yulaf Lapası: 4 yk yulaf ezmesi, 1 bardak süt/su, 1/2 elma rendesi, 1 çk tarçın, 3 tam ceviz. (Seni 12:30'a kadar tok tutar)." },
{ time: "07:15 (Metabolizma Gücü)", item: "Zencefil-Limon Suyu: 1 bardak ılık suya yarım limon ve taze rendelenmiş zencefil." },
{ time: "12:30 (İş Yeri Öğle Yemeği)", item: "Bol Proteinli Salata: Yanında götürdüğün 1 kutu ton balığı VEYA haşlanmış tavuk göğsü + Koca bir kase mevsim yeşilliği (Roka, tere, marul). Yağı: Zeytinyağı ve bol limon." },
{ time: "16:00 (Kritik Ara Öğün)", item: "Açlık Krizini Önleyici: 1 şişe sade kefir (Kolesterol için) VEYA 1 avuç sarı leblebi + Sade Türk kahvesi (Kan şekerini tutar)." },
{ time: "19:00 (Akşam Yemeği)", item: "Izgara Mevsim Balığı (Lüfer, Hamsi, Palamut) VEYA Hindi Fümeli Salata + Yanında mutlaka Fırınlanmış Kök Sebzeler (Pancar, Havuç, Kereviz)." },
{ time: "21:00 (Karaciğer Desteği)", item: "Yatmadan Önce: 1 fincan Devedikeni Tohumu Çayı veya Papatya Çayı." }
],
rules: ["Dışarıdan yemek yok.", "Günde 3 litre su.", "İşlenmiş et ve şeker sıfır."]
},
pharmacy: {
title: "Senin Doğal Eczanen (Nokta Atışı)",
focus: "Tahlil sonuçlarına (Karaciğer, Kolesterol, Şeker) özel bitkisel çözümler.",
sections: [
{
title: "Yüksek ALT (Karaciğer Yağlanması) İçin",
icon: "leaf",
color: "green",
items: [
"Devedikeni Tohumu: Aktardan al. Sabah kahvaltıdan önce 1 tatlı kaşığı tohumu çiğne veya çayını yap. Karaciğer hücrelerini onaran 'Silymarin' içerir.",
"Enginar (Taze veya Konserve): Haftada en az 2 kez tüket. Karaciğerin en iyi dostudur.",
"Zerdeçal (Altın Macun): 1 çk zerdeçal + 1 çk zeytinyağı + az karabiber. Bunu her gün salatana veya yemeğine kat. Güçlü bir iltihap sökücüdür."
]
},
{
title: "Yüksek Kolesterol ve Trigliserid İçin",
icon: "heart",
color: "red",
items: [
"Keten Tohumu (Taze Çekilmiş): Her sabah yulaf lapanın içine 1 yemek kaşığı. Bitkisel Omega-3'tür, damarları temizler.",
"Yulaf Ezmesi: İçerdiği 'Beta-Glukan' lifi, kötü kolesterolü (LDL) sünger gibi emer ve atar.",
"Nar (Mevsimi!): Her gün yarım nar. Güçlü antioksidandır, damar sertliğini önler.",
"Sarımsak: Her akşam yemeğinde 1-2 diş çiğ sarımsak (ezerek) tüket. Doğal tansiyon ve kolesterol ilacıdır."
]
},
{
title: "HbA1c: 5.9 (Prediyabet) İçin",
icon: "droplet",
color: "blue",
items: [
"Tarçın (Çubuk veya Toz): Kan şekerini dengelemede en etkili baharattır. Gün boyu içtiğin suya 1 adet çubuk tarçın at.",
"Çemen Otu Tohumu: Geceden 1 bardak suya 1 çk tohum at, sabah aç karnına o suyu iç. İnsülin duyarlılığını artırır.",
"Elma Sirkesi (Organik): Yemeklerden önce 1 bardak suya 1 yk sirke. Yemeğin şeker yükünü azaltır."
]
},
{
title: "Genel İltihap (Bel Fıtığı) İçin",
icon: "zap",
color: "orange",
items: [
"Zencefil (Taze): En güçlü doğal ağrı kesici ve iltihap gidericidir. Her sabah çayına veya suyuna rendele.",
"Kuşburnu (Mevsimi!): C vitamini ve anti-inflamatuar bileşen deposu. Şekersiz çayını iç.",
"Isırgan Otu Çayı: Vücuttaki ödemi ve iltihabı atar."
]
}
]
}
};
const exercisePlan = {
morning: {
title: "Sabah: Omurga Uyandırma (10 Dk)",
description: "06:50 - 07:00 arası. Yavaş, nazik ve kontrollü. Asla zorlama.",
duration: "10 Dakika",
exercises: [
{ name: "1. Kedi-İnek (Cat-Cow)", rep: "2 Dakika", detail: "Emekleme pozisyonu. Yavaşça sırtı kamburlaştır (nefes ver), beli çukurlaştır (nefes al). Omurgayı ısıtır." },
{ name: "2. Çocuk Pozu (Child's Pose)", rep: "2 Dakika", detail: "Dizlerinin üzerine otur, alnını yere koy, kolları ileri uzat. Fıtık olan bölgeyi rahatlatır, esnetir." },
{ name: "3. Rotasyonel Esneme (Yatarak)", rep: "3 Dakika", detail: "Sırtüstü yat, dizler bükülü. Dizleri yavaşça sağa devir (kafa sola), 30 sn bekle. Sonra sola devir (kafa sağa)." },
{ name: "4. Pelvic Tilt (Bel Bastırma)", rep: "3 Dakika", detail: "Sırtüstü yat. Bel boşluğunu yavaşça yere bastır, 5 sn tut, bırak. Sadece çekirdek kasları uyandırır." }
]
},
evening: {
title: "Akşam: Asıl Güçlenme (20 Dk)",
description: "18:45 - 19:05 arası (Yemekten Önce). Bu asıl Pilates programıdır. Beli koruyan kasları güçlendirir.",
duration: "20 Dakika",
exercises: [
{ name: "1. Isınma (Pelvic Tilt)", rep: "2 Dakika", detail: "Sabahki gibi, ama şimdi daha ritmik." },
{ name: "2. Single Leg Slide", rep: "3 Dakika", detail: "Sırtüstü yat, beli sabitle. Bir bacağını topuktan yavaşça ileri uzat ve çek. Bel yerden kalkmamalı." },
{ name: "3. Dead Bug (Başlangıç)", rep: "3 Dakika", detail: "Sırtüstü yat, bacaklar 90 derece havada. Sadece bir ayağını yere dokundur ve çek. Sonra diğeri." },
{ name: "4. Köprü (Bridge)", rep: "3 Dakika", detail: "Sırtüstü yat. Kalçayı kontrollüce kaldır, 3 saniye sık ve yavaşça (omurları tek tek) indir. Kalça ve sırt gücü." },
{ name: "5. Bird-Dog", rep: "4 Dakika", detail: "Emekleme pozisyonu. Zıt kol ve zıt bacağı (çok yavaş) uzat, 2 sn tut, merkeze dön. Denge ve derin sırt kasları." },
{ name: "6. Clamshell (İstiridye)", rep: "3 Dakika", detail: "Yan yat. Dizler bükülü. Üstteki dizi yavaşça aç-kapa. Kalça stabilizasyonu (bele binen yükü azaltır)." },
{ name: "7. Soğuma (Çocuk Pozu)", rep: "2 Dakika", detail: "Bitir ve dinlen." }
]
}
};
// DOM Elements
let activeTab = 'nutrition';
let activeNutritionSubTab = 'seasonal';
// Initialize
document.addEventListener('DOMContentLoaded', function() {
initializeTabs();
renderContent();
});
function initializeTabs() {
// Main tabs
document.getElementById('nutrition-tab').addEventListener('click', () => switchTab('nutrition'));
document.getElementById('exercise-tab').addEventListener('click', () => switchTab('exercise'));
// Sub tabs
document.getElementById('seasonal-subtab').addEventListener('click', () => switchNutritionSubTab('seasonal'));
document.getElementById('pharmacy-subtab').addEventListener('click', () => switchNutritionSubTab('pharmacy'));
}
function switchTab(tabName) {
activeTab = tabName;
// Update button styles
document.querySelectorAll('.tab-button').forEach(btn => {
btn.classList.remove('active');
if (btn.id === `${tabName}-tab`) {
btn.classList.add('active');
}
});
// Update content visibility
document.querySelectorAll('.tab-content').forEach(content => {
content.classList.remove('active');
});
document.getElementById(`${tabName}-content`).classList.add('active');
// Re-render feather icons
feather.replace();
}
function switchNutritionSubTab(subTabName) {
activeNutritionSubTab = subTabName;
// Update button styles
document.querySelectorAll('.subtab-button').forEach(btn => {
btn.classList.remove('active');
if (btn.id === `${subTabName}-subtab`) {
btn.classList.add('active');
}
});
// Update content visibility
document.querySelectorAll('.subtab-content').forEach(content => {
content.classList.remove('active');
});
document.getElementById(`${subTabName}-content`).classList.add('active');
// Re-render feather icons
feather.replace();
}
function renderContent() {
renderSeasonalSchedule();
renderPharmacySections();
renderExercises();
}
function renderSeasonalSchedule() {
const container = document.getElementById('seasonal-schedule');
container.innerHTML = nutritionPlan.seasonal.schedule.map(meal => `
<div class="flex flex-col sm:flex-row gap-3 p-4 hover:bg-emerald-50 rounded-lg transition-all duration-200 border border-gray-100 hover:border-emerald-200 shadow-sm">
<div class="sm:min-w-[180px] font-bold text-emerald-800 flex items-center gap-2">
<i data-feather="clock" class="w-4 h-4 flex-shrink-0"></i>
${meal.time}
</div>
<div class="text-gray-700 leading-relaxed">${meal.item}</div>
</div>
`).join('');
const rulesContainer = document.getElementById('seasonal-rules');
rulesContainer.innerHTML = nutritionPlan.seasonal.rules.map(rule => `<li>${rule}</li>`).join('');
}
function renderPharmacySections() {
const container = document.getElementById('pharmacy-sections');
container.innerHTML = nutritionPlan.pharmacy.sections.map(section => `
<div class="p-5 rounded-xl border-2 border-${section.color}-200 bg-${section.color}-50 hover:shadow-lg transition-all duration-200">
<h3 class="font-bold text-lg text-${section.color}-800 flex items-center gap-2 mb-3">
<i data-feather="${section.icon}" class="w-5 h-5"></i>
${section.title}
</h3>
<ul class="list-disc list-inside text-gray-700 space-y-2 text-sm">
${section.items.map(item => `<li class="leading-relaxed">${item}</li>`).join('')}
</ul>
</div>
`).join('');
}
function renderExercises() {
// Morning exercises
const morningContainer = document.getElementById('morning-exercises');
morningContainer.innerHTML = exercisePlan.morning.exercises.map(ex => `
<div class="p-4 bg-white border border-gray-200 rounded-lg shadow-sm hover:shadow-md transition-all duration-200">
<div class="flex justify-between items-center mb-2">
<h3 class="font-bold text-gray-800">${ex.name}</h3>
<span class="bg-blue-50 text-blue-700 px-2 py-1 rounded text-xs font-bold">${ex.rep}</span>
</div>
<p class="text-gray-600 text-sm leading-relaxed">${ex.detail}</p>
</div>
`).join('');
// Evening exercises
const eveningContainer = document.getElementById('evening-exercises');
eveningContainer.innerHTML = exercisePlan.evening.exercises.map(ex => `
<div class="p-4 bg-white border border-gray-200 rounded-lg shadow-sm hover:shadow-md transition-all duration-200">
<div class="flex justify-between items-center mb-2">
<h3 class="font-bold text-gray-800">${ex.name}</h3>
<span class="bg-indigo-50 text-indigo-700 px-2 py-1 rounded text-xs font-bold">${ex.rep}</span>
</div>
<p class="text-gray-600 text-sm leading-relaxed">${ex.detail}</p>
</div>
`).join('');
} |