Files
workout/templates/partials/page/calendar.html
2022-12-03 14:57:05 +11:00

453 lines
26 KiB
HTML

<div class="flex flex-grow flex-col bg-white sm:rounded shadow overflow-hidden">
<div class="">
<div class="flex items-center justify-between pt-2 pb-2">
<div class="flex">
<div class="flex ml-6">
<button hx-get="{{ url_for('get_calendar', person_id=person['PersonId']) }}" hx-target="#container"
hx-vals='{"date": "{{ previous_date }}"}' hx-include="[name='view']" hx-push-url="true">
<svg class="w-6 h-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
stroke="currentColor" data-darkreader-inline-stroke=""
style="--darkreader-inline-stroke:currentColor;">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7">
</path>
</svg>
</button>
<button hx-get="{{ url_for('get_calendar', person_id=person['PersonId']) }}" hx-target="#container"
hx-vals='{"date": "{{ next_date }}"}' hx-include="[name='view']" hx-push-url="true">
<svg class="w-6 h-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
stroke="currentColor" data-darkreader-inline-stroke=""
style="--darkreader-inline-stroke:currentColor;">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7">
</path>
</svg>
</button>
</div>
{% if selected_view == 'month' %}
<h2 class="ml-2 text-xl font-bold leading-none">{{ strftime(selected_date, '%B, %Y') }}</h2>
{% else %}
<h2 class="ml-2 text-xl font-bold leading-none">{{ strftime(selected_date, '%Y') }}</h2>
{% endif %}
</div>
<select
class="block appearance-none w-40 bg-gray-200 border border-gray-200 text-gray-700 py-3 px-4 pr-8 rounded leading-tight focus:outline-none focus:bg-white focus:border-gray-500 mr-5"
name="view" hx-get="{{ url_for('get_calendar', person_id=person['PersonId']) }}" hx-target="#container"
hx-vals='{"date": "{{ selected_date }}"}' hx-push-url="true">
<option value="month" {% if selected_view=='month' %}selected{% endif %}>Month</option>
<option value="year" {% if selected_view=='year' %}selected{% endif %}>Year</option>
</select>
</div>
</div>
{% if selected_view == 'month' %}
<div class="flex flex-col px-2 py-2 -mb-px">
<div class="grid grid-cols-7 pl-2 pr-2">
<div class="p-2 h-10 text-center font-bold">
<span class="xl:block lg:block md:block sm:block hidden">Sunday</span>
<span class="xl:hidden lg:hidden md:hidden sm:hidden block">Sun</span>
</div>
<div class="p-2 h-10 text-center font-bold">
<span class="xl:block lg:block md:block sm:block hidden">Monday</span>
<span class="xl:hidden lg:hidden md:hidden sm:hidden block">Mon</span>
</div>
<div class="p-2 h-10 text-center font-bold">
<span class="xl:block lg:block md:block sm:block hidden">Tuesday</span>
<span class="xl:hidden lg:hidden md:hidden sm:hidden block">Tue</span>
</div>
<div class="p-2 h-10 text-center font-bold">
<span class="xl:block lg:block md:block sm:block hidden">Wednesday</span>
<span class="xl:hidden lg:hidden md:hidden sm:hidden block">Wed</span>
</div>
<div class="p-2 h-10 text-center font-bold">
<span class="xl:block lg:block md:block sm:block hidden">Thursday</span>
<span class="xl:hidden lg:hidden md:hidden sm:hidden block">Thu</span>
</div>
<div class="p-2 h-10 text-center font-bold">
<span class="xl:block lg:block md:block sm:block hidden">Friday</span>
<span class="xl:hidden lg:hidden md:hidden sm:hidden block">Fri</span>
</div>
<div class="p-2 h-10 text-center font-bold">
<span class="xl:block lg:block md:block sm:block hidden">Saturday</span>
<span class="xl:hidden lg:hidden md:hidden sm:hidden block">Sat</span>
</div>
</div>
<div class="grid grid-cols-7 overflow-hidden flex-1 pl-2 pr-2 w-full">
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">1</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full">
<button class="flex items-center flex-shrink-0 h-5 px-1 text-xs">
<span class="ml-2 font-medium leading-none truncate">Squat</span>
<span class="ml-2 font-light leading-none">5x50kg</span>
</button>
<button class="flex items-center flex-shrink-0 h-5 px-1 text-xs">
<span class="ml-2 font-medium leading-none truncate">DB Seal row</span>
<span class="ml-2 font-light leading-none">12x20kg</span>
</button>
</div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">2</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full">
<button class="flex items-center flex-shrink-0 h-5 px-1 text-xs">
<span class="ml-2 font-medium leading-none truncate">Squat</span>
<span class="ml-2 font-light leading-none">5x50kg</span>
</button>
<button class="flex items-center flex-shrink-0 h-5 px-1 text-xs">
<span class="ml-2 font-medium leading-none truncate">DB Seal row</span>
<span class="ml-2 font-light leading-none">12x20kg</span>
</button>
</div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">3</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">4</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">6</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">7</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full">
<button class="flex items-center flex-shrink-0 h-5 px-1 text-xs">
<span class="ml-2 font-medium leading-none truncate">Squat</span>
<span class="ml-2 font-light leading-none">5x50kg</span>
</button>
<button class="flex items-center flex-shrink-0 h-5 px-1 text-xs">
<span class="ml-2 font-medium leading-none truncate">DB Seal row</span>
<span class="ml-2 font-light leading-none">12x20kg</span>
</button>
</div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold text-sm">8</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">9</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">10</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">12</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full">
<button class="flex items-center flex-shrink-0 h-5 px-1 text-xs">
<span class="ml-2 font-medium leading-none truncate">Squat</span>
<span class="ml-2 font-light leading-none">5x50kg</span>
</button>
<button class="flex items-center flex-shrink-0 h-5 px-1 text-xs">
<span class="ml-2 font-medium leading-none truncate">DB Seal row</span>
<span class="ml-2 font-light leading-none">12x20kg</span>
</button>
</div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">13</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div
class="rounded-md border-4 border-green-50 border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">14</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">15</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold text-sm">16</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">16</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full">
<button class="flex items-center flex-shrink-0 h-5 px-1 text-xs">
<span class="ml-2 font-medium leading-none truncate">Squat</span>
<span class="ml-2 font-light leading-none">5x50kg</span>
</button>
<button class="flex items-center flex-shrink-0 h-5 px-1 text-xs">
<span class="ml-2 font-medium leading-none truncate">DB Seal row</span>
<span class="ml-2 font-light leading-none">12x20kg</span>
</button>
</div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">17</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">18</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">19</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">20</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">21</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold text-sm">22</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">23</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">24</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">25</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">26</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">27</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">28</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold text-sm">29</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">30</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">31</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div
class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer bg-gray-100 pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">1</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div
class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer bg-gray-100 pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">2</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div
class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer bg-gray-100 pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">3</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div
class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer bg-gray-100 pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold">4</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
<div
class="border flex flex-col h-40 mx-auto mx-auto overflow-hidden w-full pt-2 pl-2 cursor-pointer bg-gray-100 pt-2 pl-2 cursor-pointer">
<div class="top h-5 w-full">
<span class="text-gray-500 font-semibold text-sm">5</span>
</div>
<div class="bottom flex-grow h-30 py-1 w-full"></div>
</div>
</div>
</div>
{% elif selected_view == 'year'%}
<div class="flex px-2 py-2 -mb-px">
<div class="flex flex-wrap bg-white overflow-hidden">
{% for i in range(12) %}
<div class="w-auto mx-3 my-3 border-solid border-grey-light rounded border shadow-sm">
<div class="bg-grey-lighter px-2 py-2 border-solid border-grey-light border-b text-center cursor-pointer"
hx-get="{{ url_for('get_calendar', person_id=person['PersonId']) }}" hx-target="#container"
hx-vals='{"date": "{{ next_date }}", "view": "month"}' hx-push-url="true">December 2018
</div>
<div class="">
<div class="grid grid-cols-7 border-b font-semibold">
<div class="py-3 px-4">S</div>
<div class="py-3 px-4">M</div>
<div class="py-3 px-4">T</div>
<div class="py-3 px-4">W</div>
<div class="py-3 px-4">T</div>
<div class="py-3 px-4">F</div>
<div class="py-3 px-4">S</div>
</div>
<div class="grid grid-cols-7 overflow-hidden flex-1 pl-2 pr-2 w-full">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">1</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">2</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">3</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">4</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">5</div>
<div
class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer bg-blue text-white">
6</div>
<div
class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer bg-blue text-white">
7</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">8</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">9</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">10</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">11</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">12</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">13</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">14</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">15</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">16</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">17</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">18</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">19</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">20</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">21</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">22</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">23</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">24</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">25</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">26</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">27</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">28</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">29</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">30</div>
<div class="py-3 px-4 hover:bg-blue hover:text-white text-center cursor-pointer">31</div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endif %}
</div>