243 lines
13 KiB
HTML
243 lines
13 KiB
HTML
<div class="w-full page bg-white" style="height: 297mm;"></div>
|
|
<!-- Header Section -->
|
|
<div class="bg-black text-white px-6 py-4 flex items-center justify-between">
|
|
<div class="flex items-center">
|
|
<div class="text-lg font-bold mr-2">ISHP</div>
|
|
<div class="w-6 h-4 bg-cyan-400 mr-8"></div>
|
|
</div>
|
|
<div class="flex space-x-8 text-sm">
|
|
<span>Name: {{ patient_name | default('Keirstyn Moran') }}</span>
|
|
<span>Age: {{ age | default('34') }}</span>
|
|
<span>Height: {{ height | default('5\'4"') }}</span>
|
|
<span>Weight: {{ weight | default('123lbs') }}</span>
|
|
<span>Focus: {{ focus | default('Endurance') }}</span>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Main Content -->
|
|
<div class="px-8 py-6">
|
|
<!-- Page Title -->
|
|
<h1 class="text-3xl font-bold text-black mb-8 text-center">Training Recommendations</h1>
|
|
|
|
<!-- Training Recommendations Section -->
|
|
<div class="grid grid-cols-2 gap-8 mb-8">
|
|
<!-- Left Side: Zone Recommendations -->
|
|
<div class="bg-gray-200 p-6 rounded-lg">
|
|
<!-- Zone 2 Recommendations -->
|
|
<div class="mb-6">
|
|
<h3 class="text-lg font-bold text-black mb-3">Zone 2 {{ zone2_frequency | default('3-4x/week') }}:</h3>
|
|
<ul class="text-sm text-black space-y-1 list-disc list-inside">
|
|
<li>{{ zone2_duration | default('40+ minutes') }} of Steady State Cardio (HR {{ zone2_hr_range | default('____') }} bpm)</li>
|
|
<li>{{ zone2_speed | default('____ mph') }} at {{ zone2_incline | default('2% Incline') }}</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- Zone 3 Recommendations -->
|
|
<div class="mb-6">
|
|
<h3 class="text-lg font-bold text-black mb-3">Zone 3 {{ zone3_frequency | default('1-2x/week') }}:</h3>
|
|
<ul class="text-sm text-black space-y-1 list-disc list-inside">
|
|
<li>{{ zone3_duration | default('10-20 minutes') }} in zone 3 (HR {{ zone3_hr_range | default('____ bpm') }})</li>
|
|
<li>{{ zone3_speed | default('____mph') }} + at {{ zone3_incline | default('2% Incline') }}</li>
|
|
<li>Slow down cadence until HR reaches {{ zone3_target_hr | default('___ bpm') }}</li>
|
|
<li>{{ zone3_recovery_speed | default('____mph') }} at {{ zone3_recovery_incline | default('2% Incline') }}</li>
|
|
<li>Maintain HR in zone 1 ({{ zone1_hr_range | default('____bpm') }}) for {{ zone1_duration | default('4-8 minutes') }}</li>
|
|
<li>Repeat {{ zone3_repeats | default('2-3 times') }}</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Right Side: Training Table -->
|
|
<div>
|
|
<table class="w-full border-collapse text-sm">
|
|
<thead>
|
|
<tr>
|
|
<th class="bg-cyan-300 border border-gray-400 p-2 text-black font-bold">Type</th>
|
|
<th class="bg-cyan-300 border border-gray-400 p-2 text-black font-bold">Sets</th>
|
|
<th class="bg-cyan-300 border border-gray-400 p-2 text-black font-bold">Effort Duration</th>
|
|
<th class="bg-cyan-300 border border-gray-400 p-2 text-black font-bold">Zone</th>
|
|
<th class="bg-cyan-300 border border-gray-400 p-2 text-black font-bold">RPE</th>
|
|
<th class="bg-cyan-300 border border-gray-400 p-2 text-black font-bold">Recovery Duration</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<!-- Short Row -->
|
|
<tr>
|
|
<td class="border border-gray-400 p-2 text-center text-black font-semibold">Short</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ short_sets | default('8-10') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ short_duration | default('10-30 seconds') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ short_zone | default('5') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ short_rpe | default('10') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ short_recovery | default('20-60 seconds') }}</td>
|
|
</tr>
|
|
|
|
<!-- Medium Row -->
|
|
<tr>
|
|
<td class="border border-gray-400 p-2 text-center text-black font-semibold">Medium</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ medium_sets | default('6-8') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ medium_duration | default('30-90 seconds') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ medium_zone | default('4') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ medium_rpe | default('8-9') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ medium_recovery | default('30-90 seconds') }}</td>
|
|
</tr>
|
|
|
|
<!-- Long Row -->
|
|
<tr>
|
|
<td class="border border-gray-400 p-2 text-center text-black font-semibold">Long</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ long_sets | default('4-6') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ long_duration | default('5-10 minutes') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ long_zone | default('3/4') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ long_rpe | default('7-8') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ long_recovery | default('2.5-5 minutes') }}</td>
|
|
</tr>
|
|
|
|
<!-- Tempo Row -->
|
|
<tr>
|
|
<td class="border border-gray-400 p-2 text-center text-black font-semibold">Tempo</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ tempo_sets | default('2-3') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ tempo_duration | default('10-20 minutes') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ tempo_zone | default('3') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ tempo_rpe | default('6-7') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ tempo_recovery | default('4-8 minutes') }}</td>
|
|
</tr>
|
|
|
|
<!-- Cardio Row -->
|
|
<tr>
|
|
<td class="border border-gray-400 p-2 text-center text-black font-semibold">Cardio</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ cardio_sets | default('1') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ cardio_duration | default('>40 minutes') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ cardio_zone | default('2') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ cardio_rpe | default('4-5') }}</td>
|
|
<td class="border border-gray-400 p-2 text-center text-black">{{ cardio_recovery | default('N/A') }}</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Training Week Example Section -->
|
|
<div class="mb-8">
|
|
<h2 class="text-2xl font-bold text-black mb-6 text-center">Training Week Example with Progression</h2>
|
|
|
|
<!-- Week 1 -->
|
|
<div class="mb-6">
|
|
<div class="grid grid-cols-7 gap-2">
|
|
<!-- Monday -->
|
|
<div class="bg-cyan-300 p-3 text-center rounded-lg">
|
|
<div class="font-bold text-black mb-1">Monday</div>
|
|
<div class="text-sm text-black">{{ week1_mon_zone | default('Zone 2') }}</div>
|
|
<div class="text-sm text-black">{{ week1_mon_duration | default('45 mins') }}</div>
|
|
</div>
|
|
|
|
<!-- Tuesday -->
|
|
<div class="bg-cyan-300 p-3 text-center rounded-lg">
|
|
<div class="font-bold text-black mb-1">Tuesday</div>
|
|
<div class="text-sm text-black">{{ week1_tue_zone | default('Zone 2') }}</div>
|
|
<div class="text-sm text-black">{{ week1_tue_duration | default('45 mins') }}</div>
|
|
</div>
|
|
|
|
<!-- Wednesday -->
|
|
<div class="bg-cyan-300 p-3 text-center rounded-lg">
|
|
<div class="font-bold text-black mb-1">Wednesday</div>
|
|
<div class="text-sm text-black">{{ week1_wed_zone | default('Zone 3') }}</div>
|
|
<div class="text-sm text-black">{{ week1_wed_duration1 | default('10mins On') }}</div>
|
|
<div class="text-sm text-black">{{ week1_wed_duration2 | default('8mins Rest') }}</div>
|
|
<div class="text-sm text-black">{{ week1_wed_sets | default('x2') }}</div>
|
|
</div>
|
|
|
|
<!-- Thursday -->
|
|
<div class="bg-gray-200 p-3 text-center rounded-lg">
|
|
<div class="font-bold text-black mb-1">Thursday</div>
|
|
<div class="text-sm text-black">{{ week1_thu_content | default('') }}</div>
|
|
</div>
|
|
|
|
<!-- Friday -->
|
|
<div class="bg-cyan-300 p-3 text-center rounded-lg">
|
|
<div class="font-bold text-black mb-1">Friday</div>
|
|
<div class="text-sm text-black">{{ week1_fri_zone | default('Zone 2') }}</div>
|
|
<div class="text-sm text-black">{{ week1_fri_duration | default('45 mins') }}</div>
|
|
</div>
|
|
|
|
<!-- Saturday -->
|
|
<div class="bg-gray-200 p-3 text-center rounded-lg">
|
|
<div class="font-bold text-black mb-1">Saturday</div>
|
|
<div class="text-sm text-black">{{ week1_sat_content | default('') }}</div>
|
|
</div>
|
|
|
|
<!-- Sunday -->
|
|
<div class="bg-gray-200 p-3 text-center rounded-lg">
|
|
<div class="font-bold text-black mb-1">Sunday</div>
|
|
<div class="text-sm text-black">{{ week1_sun_content | default('') }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Week 2 -->
|
|
<div class="mb-6">
|
|
<div class="grid grid-cols-7 gap-2">
|
|
<!-- Monday -->
|
|
<div class="bg-cyan-300 p-3 text-center rounded-lg">
|
|
<div class="font-bold text-black mb-1">Monday</div>
|
|
<div class="text-sm text-black">{{ week2_mon_zone | default('Zone 2') }}</div>
|
|
<div class="text-sm text-black">{{ week2_mon_duration | default('50 mins') }}</div>
|
|
</div>
|
|
|
|
<!-- Tuesday -->
|
|
<div class="bg-cyan-300 p-3 text-center rounded-lg">
|
|
<div class="font-bold text-black mb-1">Tuesday</div>
|
|
<div class="text-sm text-black">{{ week2_tue_zone | default('Zone 2') }}</div>
|
|
<div class="text-sm text-black">{{ week2_tue_duration | default('50 mins') }}</div>
|
|
</div>
|
|
|
|
<!-- Wednesday -->
|
|
<div class="bg-cyan-300 p-3 text-center rounded-lg">
|
|
<div class="font-bold text-black mb-1">Wednesday</div>
|
|
<div class="text-sm text-black">{{ week2_wed_zone | default('Zone 3') }}</div>
|
|
<div class="text-sm text-black">{{ week2_wed_duration1 | default('10mins On') }}</div>
|
|
<div class="text-sm text-black">{{ week2_wed_duration2 | default('6mins Rest') }}</div>
|
|
<div class="text-sm text-black">{{ week2_wed_sets | default('x2') }}</div>
|
|
</div>
|
|
|
|
<!-- Thursday -->
|
|
<div class="bg-gray-200 p-3 text-center rounded-lg">
|
|
<div class="font-bold text-black mb-1">Thursday</div>
|
|
<div class="text-sm text-black">{{ week2_thu_content | default('') }}</div>
|
|
</div>
|
|
|
|
<!-- Friday -->
|
|
<div class="bg-cyan-300 p-3 text-center rounded-lg">
|
|
<div class="font-bold text-black mb-1">Friday</div>
|
|
<div class="text-sm text-black">{{ week2_fri_zone | default('Zone 2') }}</div>
|
|
<div class="text-sm text-black">{{ week2_fri_duration | default('50 mins') }}</div>
|
|
</div>
|
|
|
|
<!-- Saturday -->
|
|
<div class="bg-gray-200 p-3 text-center rounded-lg">
|
|
<div class="font-bold text-black mb-1">Saturday</div>
|
|
<div class="text-sm text-black">{{ week2_sat_content | default('') }}</div>
|
|
</div>
|
|
|
|
<!-- Sunday -->
|
|
<div class="bg-gray-200 p-3 text-center rounded-lg">
|
|
<div class="font-bold text-black mb-1">Sunday</div>
|
|
<div class="text-sm text-black">{{ week2_sun_content | default('') }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Footer Section -->
|
|
<div class="absolute bottom-0 left-0 right-0 bg-black text-white px-6 py-3">
|
|
<div class="flex justify-between items-center text-sm">
|
|
<div class="flex space-x-8">
|
|
<span>CONTACT: {{ contact_email | default('info@ishplabs.com') }}</span>
|
|
<span>WEBSITE: {{ website | default('www.ishplabs.com') }}</span>
|
|
<span>SOCIAL: {{ social | default('@ishplabs') }}</span>
|
|
</div>
|
|
<div class="bg-white text-black font-bold px-3 py-1 text-lg">
|
|
{{ page_number | default('12') }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|