301 Moved Permanently means that the requested resource has been permanently moved to a new URL. All future requests should use the new address.
The browser will automatically redirect the user to the new address, and search engines will update their indexes.
200 OK is a standard successful HTTP server response. It means that the client’s request (e.g., from a browser) was successfully processed, and the server is delivering the requested data.
The user receives content without errors, and the page or application functions properly. If Code 200 is accompanied by data, the browser or program processes and displays it to the user.
GET / HTTP/1.1 Host: tuto1.com Accept: */* User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <!-- Meta Pixel Code --> <script> !function (f, b, e, v, n, t, s) { if (f.fbq) return; n = f.fbq = function () { n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments) }; if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; n.queue = []; t = b.createElement(e); t.async = !0; t.src = v; s = b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t, s) }(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '595503733139019'); fbq('track', 'PageView'); </script> <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=595503733139019&ev=PageView&noscript=1" /></noscript> <!-- End Meta Pixel Code --> <title>Tuto1</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.30.1/moment.min.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <link rel="stylesheet" href="/css/photoswipe.css" /> <script async src="https://www.googletagmanager.com/gtag/js?id=G-N9Q7F78G07"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag("js", new Date()); gtag("config", "G-N9Q7F78G07"); </script> <link rel="icon" type="image/x-icon" href="/favicon.ico" /> </head> <body> <style> @import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap"); * { font-family: "Poppins", sans-serif; } </style> <style> @media (min-width: 414px) { .xs-mid\:right-1 { right: 1rem; } } @media (min-width: 600px) and (max-width: 768px) { .xs-larger\:w-150 { width: 150px; } .xs-larger\:top-134 { top: 134px } .xs-larger\:col-span-1 { grid-column: span 1 / span 1; } } @media (min-width: 878px) and (max-width: 1023px) { .md-larger\:w-270 { width: 270px; } } </style> <script src="https://cdn.tailwindcss.com"></script> <script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script> <div class="mx-auto bg-[#fcfcfc]"> <div class="bg-white"> <div class="flex justify-between py-4 max-w-[1280px] mx-auto px-4 lg:px-0"> <div class=""> <a href="/index.html"><img src="./assets/images/tuto1-text-logo.png" alt="tuto1-logo" class="w-auto h-10" /></a> </div> <div id="user-avatar-button" class="relative select-none hover:cursor-pointer"> <div id="login" class="hidden flex items-center text-sm md:text-base justify-center border-[#e5e5e5] border-2 rounded-full px-4 gap-2 py-2"> <a href="/onboarding.html">Login | Sign Up</a> </div> <div id="home" class="hidden flex items-center justify-center border-[#e5e5e5] border-2 rounded-full px-4 gap-2 py-2"> <svg width="20" height="14" viewBox="0 0 20 14" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M1 7H19M1 1H19M1 13H19" stroke="#1B1B1B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> </svg> <img class="w-8 h-8 rounded-full" id="user-avatar" src="/assets/images/default-avatar.png" alt="Rounded avatar" /> </div> <div id="user-avatar-actions" class="hidden flex z-20 flex-col gap-2 bg-white border-[#e5e5e5] border shadow-lg rounded-3xl mt-2 absolute right-0 w-52 lg:w-56 text-xs"> <a href="/account/index.html" class="z-20 flex items-center gap-4 px-5 py-3 hover:cursor-pointer hover:bg-gray-100 rounded-t-3xl"> <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M3.85 15.1C4.7 14.45 5.65 13.9375 6.7 13.5625C7.75 13.1875 8.85 13 10 13C11.15 13 12.25 13.1875 13.3 13.5625C14.35 13.9375 15.3 14.45 16.15 15.1C16.7333 14.4167 17.1875 13.6417 17.5125 12.775C17.8375 11.9083 18 10.9833 18 10C18 7.78333 17.2208 5.89583 15.6625 4.3375C14.1042 2.77917 12.2167 2 10 2C7.78333 2 5.89583 2.77917 4.3375 4.3375C2.77917 5.89583 2 7.78333 2 10C2 10.9833 2.1625 11.9083 2.4875 12.775C2.8125 13.6417 3.26667 14.4167 3.85 15.1ZM10 11C9.01667 11 8.1875 10.6625 7.5125 9.9875C6.8375 9.3125 6.5 8.48333 6.5 7.5C6.5 6.51667 6.8375 5.6875 7.5125 5.0125C8.1875 4.3375 9.01667 4 10 4C10.9833 4 11.8125 4.3375 12.4875 5.0125C13.1625 5.6875 13.5 6.51667 13.5 7.5C13.5 8.48333 13.1625 9.3125 12.4875 9.9875C11.8125 10.6625 10.9833 11 10 11ZM10 20C8.61667 20 7.31667 19.7375 6.1 19.2125C4.88333 18.6875 3.825 17.975 2.925 17.075C2.025 16.175 1.3125 15.1167 0.7875 13.9C0.2625 12.6833 0 11.3833 0 10C0 8.61667 0.2625 7.31667 0.7875 6.1C1.3125 4.88333 2.025 3.825 2.925 2.925C3.825 2.025 4.88333 1.3125 6.1 0.7875C7.31667 0.2625 8.61667 0 10 0C11.3833 0 12.6833 0.2625 13.9 0.7875C15.1167 1.3125 16.175 2.025 17.075 2.925C17.975 3.825 18.6875 4.88333 19.2125 6.1C19.7375 7.31667 20 8.61667 20 10C20 11.3833 19.7375 12.6833 19.2125 13.9C18.6875 15.1167 17.975 16.175 17.075 17.075C16.175 17.975 15.1167 18.6875 13.9 19.2125C12.6833 19.7375 11.3833 20 10 20Z" fill="#1C1B1F" /> </svg> <p class="text-left">Account</p> </a> <a href="/search.html" class="z-20 flex items-center gap-4 px-5 py-3 hover:cursor-pointer hover:bg-gray-100"> <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M2 16C1.45 16 0.979167 15.8042 0.5875 15.4125C0.195833 15.0208 0 14.55 0 14V2C0 1.45 0.195833 0.979167 0.5875 0.5875C0.979167 0.195833 1.45 0 2 0H18C18.55 0 19.0208 0.195833 19.4125 0.5875C19.8042 0.979167 20 1.45 20 2V14C20 14.55 19.8042 15.0208 19.4125 15.4125C19.0208 15.8042 18.55 16 18 16H2ZM9.5 12C9.93333 12 10.35 11.9417 10.75 11.825C11.15 11.7083 11.5333 11.5333 11.9 11.3L13.625 13.025C13.8083 13.2083 14.0417 13.3 14.325 13.3C14.6083 13.3 14.8417 13.2083 15.025 13.025C15.2083 12.8417 15.3 12.6083 15.3 12.325C15.3 12.0417 15.2083 11.8083 15.025 11.625L13.3 9.9C13.5333 9.53333 13.7083 9.15 13.825 8.75C13.9417 8.35 14 7.93333 14 7.5C14 6.25 13.5625 5.1875 12.6875 4.3125C11.8125 3.4375 10.75 3 9.5 3C8.25 3 7.1875 3.4375 6.3125 4.3125C5.4375 5.1875 5 6.25 5 7.5C5 8.75 5.4375 9.8125 6.3125 10.6875C7.1875 11.5625 8.25 12 9.5 12ZM9.5 10C8.8 10 8.20833 9.75833 7.725 9.275C7.24167 8.79167 7 8.2 7 7.5C7 6.8 7.24167 6.20833 7.725 5.725C8.20833 5.24167 8.8 5 9.5 5C10.2 5 10.7917 5.24167 11.275 5.725C11.7583 6.20833 12 6.8 12 7.5C12 8.2 11.7583 8.79167 11.275 9.275C10.7917 9.75833 10.2 10 9.5 10Z" fill="#1C1B1F" /> </svg> <p class="text-left">Search</p> </a> <a href="/purchased-lessons.html" class="z-20 flex items-center gap-4 px-5 py-3 hover:cursor-pointer hover:bg-gray-100"> <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M20 14.0004C19.7166 14.0004 19.4791 13.9046 19.2875 13.7129C19.0958 13.5212 19 13.2837 19 13.0004V7.10039L10.975 11.4754C10.825 11.5587 10.6708 11.6212 10.5125 11.6629C10.3541 11.7046 10.1833 11.7254 9.99995 11.7254C9.81662 11.7254 9.64579 11.7046 9.48745 11.6629C9.32912 11.6212 9.17495 11.5587 9.02495 11.4754L0.599951 6.87539C0.433285 6.79206 0.304118 6.67122 0.212451 6.51289C0.120785 6.35456 0.0749512 6.18372 0.0749512 6.00039C0.0749512 5.81706 0.120785 5.64622 0.212451 5.48789C0.304118 5.32956 0.433285 5.20872 0.599951 5.12539L9.04995 0.525391C9.19995 0.442057 9.35412 0.379557 9.51245 0.337891C9.67079 0.296224 9.83329 0.275391 9.99995 0.275391C10.1666 0.275391 10.3291 0.296224 10.4875 0.337891C10.6458 0.379557 10.8 0.442057 10.95 0.525391L20.475 5.72539C20.6416 5.80872 20.7708 5.92956 20.8625 6.08789C20.9541 6.24622 21 6.41706 21 6.60039V13.0004C21 13.2837 20.9041 13.5212 20.7125 13.7129C20.5208 13.9046 20.2833 14.0004 20 14.0004ZM9.99995 17.7254C9.83329 17.7254 9.67079 17.7046 9.51245 17.6629C9.35412 17.6212 9.19995 17.5587 9.04995 17.4754L4.04995 14.7754C3.71662 14.5921 3.45828 14.3462 3.27495 14.0379C3.09162 13.7296 2.99995 13.3837 2.99995 13.0004V9.20039L8.67495 12.2754C8.89162 12.3921 9.10829 12.4962 9.32495 12.5879C9.54162 12.6796 9.76662 12.7254 9.99995 12.7254C10.2333 12.7254 10.4625 12.6754 10.6875 12.5754C10.9125 12.4754 11.1333 12.3671 11.35 12.2504L17 9.20039V13.0004C17 13.3837 16.9083 13.7296 16.725 14.0379C16.5416 14.3462 16.2833 14.5921 15.95 14.7754L10.95 17.4754C10.8 17.5587 10.6458 17.6212 10.4875 17.6629C10.3291 17.7046 10.1666 17.7254 9.99995 17.7254Z" fill="#1C1B1F" /> </svg> <p class="text-left">Purchased Lessons</p> </a> <a href="/my-lessons.html" class="z-20 flex items-center gap-4 px-5 py-3 hover:cursor-pointer hover:bg-gray-100 rounded-b-3xl"> <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M7.85 20.525C6.95 19.875 5.9875 19.35 4.9625 18.95C3.9375 18.55 2.86667 18.275 1.75 18.125C1.25 18.0583 0.833333 17.8458 0.5 17.4875C0.166667 17.1292 0 16.7167 0 16.25V9.2C0 8.56667 0.216667 8.04583 0.65 7.6375C1.08333 7.22917 1.59167 7.075 2.175 7.175C3.45833 7.39167 4.67917 7.78333 5.8375 8.35C6.99583 8.91667 8.05 9.65 9 10.55C9.95 9.65 11.0042 8.91667 12.1625 8.35C13.3208 7.78333 14.5417 7.39167 15.825 7.175C16.4083 7.075 16.9167 7.22917 17.35 7.6375C17.7833 8.04583 18 8.56667 18 9.2V16.25C18 16.7167 17.8333 17.1292 17.5 17.4875C17.1667 17.8458 16.75 18.0583 16.25 18.125C15.1333 18.275 14.0625 18.55 13.0375 18.95C12.0125 19.35 11.05 19.875 10.15 20.525C9.81667 20.775 9.43333 20.9 9 20.9C8.56667 20.9 8.18333 20.775 7.85 20.525ZM9 8C7.9 8 6.95833 7.60833 6.175 6.825C5.39167 6.04167 5 5.1 5 4C5 2.9 5.39167 1.95833 6.175 1.175C6.95833 0.391667 7.9 0 9 0C10.1 0 11.0417 0.391667 11.825 1.175C12.6083 1.95833 13 2.9 13 4C13 5.1 12.6083 6.04167 11.825 6.825C11.0417 7.60833 10.1 8 9 8Z" fill="#1C1B1F" /> </svg> <p class="text-left">Your Lessons</p> </a> <button id="logout-btn" class="z-20 flex items-center gap-4 px-5 py-3 hover:cursor-pointer hover:bg-gray-100 rounded-b-3xl"> <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6.325 13.275C6.14167 13.0583 6.05 12.8123 6.05 12.537C6.05 12.2623 6.14167 12.0333 6.325 11.85L8.175 10H1C0.716667 10 0.479333 9.904 0.288 9.712C0.0960001 9.52067 0 9.28333 0 9C0 8.71667 0.0960001 8.479 0.288 8.287C0.479333 8.09567 0.716667 8 1 8H8.175L6.325 6.15C6.125 5.95 6.025 5.71267 6.025 5.438C6.025 5.16267 6.125 4.925 6.325 4.725C6.50833 4.525 6.73767 4.425 7.013 4.425C7.28767 4.425 7.51667 4.51667 7.7 4.7L11.3 8.3C11.4 8.4 11.471 8.50833 11.513 8.625C11.5543 8.74167 11.575 8.86667 11.575 9C11.575 9.13333 11.5543 9.25833 11.513 9.375C11.471 9.49167 11.4 9.6 11.3 9.7L7.7 13.3C7.5 13.5 7.26667 13.5917 7 13.575C6.73333 13.5583 6.50833 13.4583 6.325 13.275ZM10 18C9.71667 18 9.47933 17.904 9.288 17.712C9.096 17.5207 9 17.2833 9 17C9 16.7167 9.096 16.4793 9.288 16.288C9.47933 16.096 9.71667 16 10 16H16V2H10C9.71667 2 9.47933 1.904 9.288 1.712C9.096 1.52067 9 1.28333 9 1C9 0.716667 9.096 0.479 9.288 0.287C9.47933 0.0956666 9.71667 0 10 0H16C16.55 0 17.021 0.195667 17.413 0.587C17.8043 0.979 18 1.45 18 2V16C18 16.55 17.8043 17.021 17.413 17.413C17.021 17.8043 16.55 18 16 18H10Z" fill="#1C1B1F" /> </svg> <p class="text-left">Log out</p> </button> </div> </div> </div> </div> <div class="bg-[url('./assets/images/landingpage-bg.png')] bg-bottom bg-no-repeat bg-cover px-4 lg:px-4"> <div class="max-w-[1280px] mx-auto pt-32 relative"> <div class="grid items-center justify-center grid-cols-2 p-5 bg-white shadow-lg md:p-20 lg:p-20 rounded-2xl"> <div class="xs-larger:col-span-1 col-span-2 sm:col-span-1 md:col-span-1 lg:col-span-1"> <div class="space-y-2 text-l md:text-4xl xl:text-5xl"> <p> Learn <span class="text-[#4349ec] font-bold">everyday</span> things </p> <p> From everyday <span class="text-[#4349ec] font-bold">experts</span> </p> </div> <div class="mt-5 md:mt-8 lg:mt-10"> <form class="max-w-md" id="search-form"> <label for="search" class="font-medium text-gray-900 sr-only">Search</label> <div class="relative flex flex-col"> <div class="absolute inset-y-0 flex items-center pointer-events-none start-0 ps-3"> <svg class="w-4 h-4 text-gray-500" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20"> <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z" /> </svg> </div> <input type="search" id="search" class="block w-full p-4 text-sm text-gray-900 border border-gray-300 rounded-full ps-10 bg-gray-50 focus:ring-[#4349ed] focus:border-[#4349ed]" placeholder="Learn “Italian cooking”" required /> <button type="submit" class="text-white absolute end-2.5 bottom-2.5 bg-[#4349ed] hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-full text-sm px-4 py-2"> Search </button> </div> </form> </div> </div> <!-- hero --> <div class="items-center justify-center pl-60 mt-[-240px] flex w-[100%] sm:flex sm:w-[100%] md:flex md:w-[100%] md:justify-end lg:flex"> <img src="./assets/images/landingpage-hero.png" alt="landingpage-illustration" class="absolute h-auto w-[100px] xs-mid:right-1 xs-larger:w-150 xs-larger:top-134 sm:top-[110px] sm:w-[170px] md:top-[103px] md:w-80 md-larger:w-270 lg:top-[55px] lg:w-80 xl:top-[103px] xl:w-80" /> </div> </div> </div> </div> <div class="max-w-[1280px] mx-auto"> <div> <div class="mt-10"> <div class="grid grid-cols-4 gap-4 px-4 lg:grid-cols-4"> <a href="/search.html?q=&category=Cooking"> <div class="border border-[#e5e5e5] rounded-2xl bg-white h-[100%] flex flex-col p-[5px] gap-3 md:p-4"> <span class="border border-[#e5e5e5] rounded-2xl inline-block w-fit p-4"> <svg width="26" height="26" viewBox="0 0 26 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13 23.2C12.5778 23.2 12.1667 23.1 11.7667 22.9C11.3667 22.7 11.0334 22.4 10.7667 22L1.16669 7.56667C0.744471 6.92222 0.594471 6.21667 0.716694 5.45C0.838916 4.68333 1.20003 4.1 1.80003 3.7C3.46669 2.56667 5.24447 1.66667 7.13336 1C9.02225 0.333333 10.9778 0 13 0C15.0222 0 16.9778 0.327778 18.8667 0.983333C20.7556 1.63889 22.5334 2.54444 24.2 3.7C24.7778 4.1 25.1334 4.68333 25.2667 5.45C25.4 6.21667 25.2556 6.92222 24.8334 7.56667L15.2334 22C14.9667 22.4 14.6334 22.7 14.2334 22.9C13.8334 23.1 13.4222 23.2 13 23.2ZM9.66669 9.33333C10.2222 9.33333 10.6945 9.13889 11.0834 8.75C11.4722 8.36111 11.6667 7.88889 11.6667 7.33333C11.6667 6.77778 11.4722 6.30556 11.0834 5.91667C10.6945 5.52778 10.2222 5.33333 9.66669 5.33333C9.11114 5.33333 8.63892 5.52778 8.25003 5.91667C7.86114 6.30556 7.66669 6.77778 7.66669 7.33333C7.66669 7.88889 7.86114 8.36111 8.25003 8.75C8.63892 9.13889 9.11114 9.33333 9.66669 9.33333ZM13 16C13.5556 16 14.0278 15.8056 14.4167 15.4167C14.8056 15.0278 15 14.5556 15 14C15 13.4444 14.8056 12.9722 14.4167 12.5833C14.0278 12.1944 13.5556 12 13 12C12.4445 12 11.9722 12.1944 11.5834 12.5833C11.1945 12.9722 11 13.4444 11 14C11 14.5556 11.1945 15.0278 11.5834 15.4167C11.9722 15.8056 12.4445 16 13 16Z" fill="#4349ED" /> </svg> </span> <p class="font-medium text-xs md:text-lg">Cooking & Baking</p> </div> </a> <a href="/search.html?q=&category=Parenting"> <div class="border border-[#e5e5e5] rounded-2xl bg-white h-[100%] flex flex-col p-[5px] gap-3 md:p-4"> <span class="border border-[#e5e5e5] rounded-2xl inline-block w-fit p-4"> <svg width="26" height="28" viewBox="0 0 26 28" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M9.33326 27.3333C8.75549 27.3333 8.27771 27.1444 7.89993 26.7666C7.52215 26.3888 7.33326 25.9111 7.33326 25.3333C7.33326 24.7555 7.52215 24.2777 7.89993 23.9C8.27771 23.5222 8.75549 23.3333 9.33326 23.3333C9.91104 23.3333 10.3888 23.5222 10.7666 23.9C11.1444 24.2777 11.3333 24.7555 11.3333 25.3333C11.3333 25.9111 11.1444 26.3888 10.7666 26.7666C10.3888 27.1444 9.91104 27.3333 9.33326 27.3333ZM23.9999 27.3333C23.4222 27.3333 22.9444 27.1444 22.5666 26.7666C22.1888 26.3888 21.9999 25.9111 21.9999 25.3333C21.9999 24.7555 22.1888 24.2777 22.5666 23.9C22.9444 23.5222 23.4222 23.3333 23.9999 23.3333C24.5777 23.3333 25.0555 23.5222 25.4333 23.9C25.811 24.2777 25.9999 24.7555 25.9999 25.3333C25.9999 25.9111 25.811 26.3888 25.4333 26.7666C25.0555 27.1444 24.5777 27.3333 23.9999 27.3333ZM15.9999 8.13329L10.7999 1.86663C11.5999 1.46663 12.4666 1.16663 13.3999 0.966626C14.3333 0.766626 15.3333 0.666626 16.3999 0.666626C17.1777 0.666626 17.9277 0.738848 18.6499 0.883293C19.3722 1.02774 20.0555 1.2444 20.6999 1.53329C21.1888 1.75551 21.4499 2.09996 21.4833 2.56663C21.5166 3.03329 21.3222 3.45551 20.8999 3.83329L15.9999 8.13329ZM13.9999 22C12.1555 22 10.5833 21.35 9.28326 20.05C7.98326 18.75 7.33326 17.1777 7.33326 15.3333V5.06663L6.6666 4.26663C6.35549 3.88885 6.09438 3.63885 5.88326 3.51663C5.67215 3.3944 5.44438 3.33329 5.19993 3.33329C4.82215 3.33329 4.48882 3.43885 4.19993 3.64996C3.91104 3.86107 3.68882 4.12218 3.53327 4.43329C3.39993 4.72218 3.23882 4.9444 3.04993 5.09996C2.86104 5.25552 2.64438 5.33329 2.39993 5.33329C1.88882 5.33329 1.47771 5.15552 1.1666 4.79996C0.855487 4.4444 0.788821 4.05552 0.966599 3.63329C1.29993 2.76663 1.84438 2.05551 2.59993 1.49996C3.35549 0.944404 4.22215 0.666626 5.19993 0.666626C5.8666 0.666626 6.47771 0.822182 7.03327 1.13329C7.58882 1.4444 8.15549 1.93329 8.73327 2.59996L22.9999 19.8C23.3777 20.2444 23.4499 20.7222 23.2166 21.2333C22.9833 21.7444 22.5777 22 21.9999 22H13.9999Z" fill="#4349ED" /> </svg> </span> <p class="font-medium text-xs md:text-lg"> Health & Parenting </p> </div> </a> <a href="/search.html?q=&category=Arts%20%26%20Craft"> <div class="border border-[#e5e5e5] rounded-2xl bg-white h-[100%] flex flex-col p-[5px] gap-6 md:p-4 md:gap-3"> <span class="border border-[#e5e5e5] rounded-2xl inline-block w-fit p-4"> <svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M14.0001 27.3333C12.1779 27.3333 10.4556 26.9833 8.83341 26.2833C7.21119 25.5833 5.79453 24.6277 4.58341 23.4166C3.3723 22.2055 2.41675 20.7888 1.71675 19.1666C1.01675 17.5444 0.666748 15.8222 0.666748 14C0.666748 12.1555 1.02786 10.4222 1.75008 8.79996C2.4723 7.17774 3.45008 5.76663 4.68341 4.56663C5.91675 3.36663 7.35564 2.41663 9.00008 1.71663C10.6445 1.01663 12.4001 0.666626 14.2667 0.666626C16.0445 0.666626 17.7223 0.972182 19.3001 1.58329C20.8779 2.1944 22.2612 3.03885 23.4501 4.11663C24.639 5.1944 25.5834 6.47218 26.2834 7.94996C26.9834 9.42774 27.3334 11.0222 27.3334 12.7333C27.3334 15.2888 26.5556 17.25 25.0001 18.6166C23.4445 19.9833 21.5556 20.6666 19.3334 20.6666H16.8667C16.6667 20.6666 16.5279 20.7222 16.4501 20.8333C16.3723 20.9444 16.3334 21.0666 16.3334 21.2C16.3334 21.4666 16.5001 21.85 16.8334 22.35C17.1667 22.85 17.3334 23.4222 17.3334 24.0666C17.3334 25.1777 17.0279 26 16.4167 26.5333C15.8056 27.0666 15.0001 27.3333 14.0001 27.3333ZM6.66675 15.3333C7.24453 15.3333 7.7223 15.1444 8.10008 14.7666C8.47786 14.3888 8.66675 13.9111 8.66675 13.3333C8.66675 12.7555 8.47786 12.2777 8.10008 11.9C7.7223 11.5222 7.24453 11.3333 6.66675 11.3333C6.08897 11.3333 5.61119 11.5222 5.23341 11.9C4.85564 12.2777 4.66675 12.7555 4.66675 13.3333C4.66675 13.9111 4.85564 14.3888 5.23341 14.7666C5.61119 15.1444 6.08897 15.3333 6.66675 15.3333ZM10.6667 9.99996C11.2445 9.99996 11.7223 9.81107 12.1001 9.43329C12.4779 9.05552 12.6667 8.57774 12.6667 7.99996C12.6667 7.42218 12.4779 6.9444 12.1001 6.56663C11.7223 6.18885 11.2445 5.99996 10.6667 5.99996C10.089 5.99996 9.61119 6.18885 9.23342 6.56663C8.85564 6.9444 8.66675 7.42218 8.66675 7.99996C8.66675 8.57774 8.85564 9.05552 9.23342 9.43329C9.61119 9.81107 10.089 9.99996 10.6667 9.99996ZM17.3334 9.99996C17.9112 9.99996 18.389 9.81107 18.7667 9.43329C19.1445 9.05552 19.3334 8.57774 19.3334 7.99996C19.3334 7.42218 19.1445 6.9444 18.7667 6.56663C18.389 6.18885 17.9112 5.99996 17.3334 5.99996C16.7556 5.99996 16.2779 6.18885 15.9001 6.56663C15.5223 6.9444 15.3334 7.42218 15.3334 7.99996C15.3334 8.57774 15.5223 9.05552 15.9001 9.43329C16.2779 9.81107 16.7556 9.99996 17.3334 9.99996ZM21.3334 15.3333C21.9112 15.3333 22.389 15.1444 22.7667 14.7666C23.1445 14.3888 23.3334 13.9111 23.3334 13.3333C23.3334 12.7555 23.1445 12.2777 22.7667 11.9C22.389 11.5222 21.9112 11.3333 21.3334 11.3333C20.7556 11.3333 20.2779 11.5222 19.9001 11.9C19.5223 12.2777 19.3334 12.7555 19.3334 13.3333C19.3334 13.9111 19.5223 14.3888 19.9001 14.7666C20.2779 15.1444 20.7556 15.3333 21.3334 15.3333Z" fill="#4349ED" /> </svg> </span> <p class="font-medium text-xs md:text-lg">DIY</p> </div> </a> <a href="/search.html?q=&category=Tutoring"> <div class="border border-[#e5e5e5] rounded-2xl bg-white h-[100%] flex flex-col p-[5px] gap-6 md:p-4 md:gap-3"> <span class="border border-[#e5e5e5] rounded-2xl inline-block w-fit p-4"> <svg width="28" height="28" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="mask0_40_583" style="mask-type: alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="32" height="32"> <rect width="32" height="32" fill="#D9D9D9" /> </mask> <g mask="url(#mask0_40_583)"> <path d="M29.3333 22.6667C28.9555 22.6667 28.6388 22.5389 28.3833 22.2834C28.1277 22.0278 27.9999 21.7111 27.9999 21.3334V13.4667L17.2999 19.3C17.0999 19.4111 16.8944 19.4945 16.6833 19.55C16.4722 19.6056 16.2444 19.6334 15.9999 19.6334C15.7555 19.6334 15.5277 19.6056 15.3166 19.55C15.1055 19.4945 14.8999 19.4111 14.6999 19.3L3.4666 13.1667C3.24438 13.0556 3.07216 12.8945 2.94993 12.6834C2.82771 12.4723 2.7666 12.2445 2.7666 12C2.7666 11.7556 2.82771 11.5278 2.94993 11.3167C3.07216 11.1056 3.24438 10.9445 3.4666 10.8334L14.7333 4.70003C14.9333 4.58892 15.1388 4.50559 15.3499 4.45003C15.561 4.39448 15.7777 4.3667 15.9999 4.3667C16.2222 4.3667 16.4388 4.39448 16.6499 4.45003C16.861 4.50559 17.0666 4.58892 17.2666 4.70003L29.9666 11.6334C30.1888 11.7445 30.361 11.9056 30.4833 12.1167C30.6055 12.3278 30.6666 12.5556 30.6666 12.8V21.3334C30.6666 21.7111 30.5388 22.0278 30.2833 22.2834C30.0277 22.5389 29.711 22.6667 29.3333 22.6667ZM15.9999 27.6334C15.7777 27.6334 15.561 27.6056 15.3499 27.55C15.1388 27.4945 14.9333 27.4111 14.7333 27.3L8.0666 23.7C7.62216 23.4556 7.27771 23.1278 7.03327 22.7167C6.78882 22.3056 6.6666 21.8445 6.6666 21.3334V16.2667L14.2333 20.3667C14.5222 20.5223 14.811 20.6611 15.0999 20.7834C15.3888 20.9056 15.6888 20.9667 15.9999 20.9667C16.311 20.9667 16.6166 20.9 16.9166 20.7667C17.2166 20.6334 17.511 20.4889 17.7999 20.3334L25.3333 16.2667V21.3334C25.3333 21.8445 25.211 22.3056 24.9666 22.7167C24.7222 23.1278 24.3777 23.4556 23.9333 23.7L17.2666 27.3C17.0666 27.4111 16.861 27.4945 16.6499 27.55C16.4388 27.6056 16.2222 27.6334 15.9999 27.6334Z" fill="#4349ED" /> </g> </svg> </span> <p class="font-medium text-xs md:text-lg">Tech</p> </div> </a> </div> </div> </div> <div class="px-4 mt-10 text-2xl bg-[#fcfcfc]"> <div> <p class="text-[#212121] font-semibold">Featured Aussies</p> </div> <!-- LOADING --> <div id="lessons-loading" class="flex flex-col items-center justify-center hidden py-20 space-y-2"> <svg aria-hidden="true" class="text-[#bdbdbd] w-14 h-14 animate-spin fill-[#4349ed]" viewBox="0 0 100 101" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z" fill="currentColor" /> <path d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z" fill="currentFill" /> </svg> <p class="font-semibold">Loading...</p> </div> <div class="grid hidden grid-cols-1 gap-4 md:grid-cols-2" id="lessons-list"></div> <span class="flex items-center mt-10"> <span class="h-px flex-1 bg-slate-300"></span> <button id="toggle-featured" class="shrink-0 text-gray-400 text-sm px-6">View more lessons</button> <span class="h-px flex-1 bg-slate-300"></span> </span> <!-- SHOW MORE --> <div class="flex justify-center hidden mt-20"> <div class="bg-[#4349ed] text-lg text-white rounded-full cursor-pointer py-2 px-4"> View more lessons </div> </div> </div> </div> <div class="bg-[url('./assets/images/footer-bg.png')] bg-center bg-no-repeat bg-cover px-4 lg:px-4 py-20"> <div class="grid grid-cols-1 bg-white rounded-3xl px-10 py-5 shadow-2xl lg:grid-cols-4 md:grid-cols-2 max-w-[1280px] mx-auto gap-4"> <div> <p class="text-xl font-medium">Company</p> <div class="flex flex-col mt-5 space-y-2"> <a href="/account/about.html" class="text-base font-light text-[#1b1b1b]">About</a> <a href="privacy-policy.html" class="text-base font-light text-[#1b1b1b]">Privacy Policy</a> <a href="/terms-service.html" class="text-base font-light text-[#1b1b1b]">Terms & Conditions</a> </div> </div> <div> <p class="text-xl font-medium">Menu</p> <div class="flex flex-col mt-5 space-y-2"> <a href="/" class="text-base font-light text-[#1b1b1b]">Home</a> <a href="/search.html" class="text-base font-light text-[#1b1b1b]">Search</a> </div> </div> <div> <p class="text-xl font-medium">Support</p> <div class="flex flex-col mt-5 space-y-2"> <a href="/account/help-centre.html" class="text-base font-light text-[#1b1b1b]">Help Centre</a> <a href="/account/help-centre.html" class="text-base font-light text-[#1b1b1b]">Refunds Policy</a> <a href="/account/help-centre.html" class="text-base font-light text-[#1b1b1b]">Contact Us</a> </div> </div> <div> <p class="text-xl font-medium">Join Our Mailing List</p> <div class="flex flex-col mt-5 space-y-2"> <a href="#" class="text-base font-light text-[#1b1b1b]">Subscribe and get 10% off your first order</a> <form method="POST" id="submit-subscription"> <div class="flex gap-3"> <div class="relative w-3/5"> <input id="email-subscription" type="email" placeholder="" required class="block rounded-xl px-2.5 pb-2.5 pt-5 w-full text-sm text-gray-900 border border-[#E5E5E5] appearance-none focus:outline-none focus:ring-0 peer text-blue" /> <label for="email" class="absolute text-sm text-gray-500 duration-300 transform -translate-y-4 scale-75 top-4 z-10 origin-[0] start-2.5 peer-focus:text-[#4349ed] peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-4 rtl:peer-focus:translate-x-1/4 rtl:peer-focus:left-auto">Email Address</label> </div> <div class="relative w-2/5"> <button type="submit" class="btn-subscription mt-2 text-white bottom-2.5 bg-[#4349ed] hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-full text-sm px-4 py-2"> Join Now! </button> </div> </div> <span class="subscription-response text-green-500"></span> </form> </div> </div> </div> <div class="px-10 py-4 bg-white rounded-full max-w-[1280px] mx-auto mt-10 shadow-2xl"> <div class="flex flex-col items-center justify-between gap-4 md:flex-row"> <div class="flex gap-2"> <svg width="36" height="26" viewBox="0 0 36 26" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect x="0.5" y="1" width="35" height="24" rx="3.5" fill="white" stroke="#D9D9D9" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M11.7503 16.8583H9.69056L8.146 10.7925C8.07269 10.5134 7.91703 10.2668 7.68806 10.1505C7.11664 9.85833 6.48696 9.6258 5.80005 9.50853V9.27499H9.11813C9.57607 9.27499 9.91953 9.6258 9.97677 10.0332L10.7782 14.4087L12.8369 9.27499H14.8394L11.7503 16.8583ZM15.9843 16.8583H14.039L15.6408 9.27499H17.5861L15.9843 16.8583ZM20.1028 11.3758C20.16 10.9674 20.5035 10.7338 20.9042 10.7338C21.5338 10.6752 22.2197 10.7925 22.7922 11.0836L23.1356 9.45091C22.5632 9.21737 21.9335 9.1001 21.3621 9.1001C19.4741 9.1001 18.1003 10.1505 18.1003 11.6083C18.1003 12.7174 19.0734 13.2997 19.7603 13.6505C20.5035 14.0003 20.7897 14.2338 20.7324 14.5836C20.7324 15.1083 20.16 15.3419 19.5886 15.3419C18.9017 15.3419 18.2147 15.167 17.5861 14.8748L17.2426 16.5086C17.9295 16.7997 18.6727 16.917 19.3596 16.917C21.4766 16.9746 22.7922 15.9252 22.7922 14.3501C22.7922 12.3666 20.1028 12.2503 20.1028 11.3758ZM29.6 16.8583L28.0555 9.27499H26.3965C26.053 9.27499 25.7095 9.50853 25.5951 9.85833L22.7349 16.8583H24.7374L25.1371 15.7503H27.5976L27.8265 16.8583H29.6ZM26.6827 11.3172L27.2541 14.1752H25.6523L26.6827 11.3172Z" fill="#172B85" /> </svg> <svg width="36" height="26" viewBox="0 0 36 26" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect x="0.5" y="1" width="35" height="24" rx="3.5" fill="white" stroke="#D9D9D9" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M18.179 18.3294C16.9949 19.3275 15.459 19.93 13.7807 19.93C10.0358 19.93 7 16.9303 7 13.23C7 9.52966 10.0358 6.52997 13.7807 6.52997C15.459 6.52997 16.9949 7.13247 18.179 8.13051C19.363 7.13247 20.8989 6.52997 22.5773 6.52997C26.3221 6.52997 29.358 9.52966 29.358 13.23C29.358 16.9303 26.3221 19.93 22.5773 19.93C20.8989 19.93 19.363 19.3275 18.179 18.3294Z" fill="#ED0006" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M18.179 18.3294C19.6369 17.1005 20.5614 15.2719 20.5614 13.23C20.5614 11.188 19.6369 9.35941 18.179 8.13051C19.363 7.13247 20.8989 6.52997 22.5772 6.52997C26.3221 6.52997 29.3579 9.52966 29.3579 13.23C29.3579 16.9303 26.3221 19.93 22.5772 19.93C20.8989 19.93 19.363 19.3275 18.179 18.3294Z" fill="#F9A000" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M18.179 18.3294C19.6369 17.1005 20.5614 15.2719 20.5614 13.23C20.5614 11.188 19.6369 9.35943 18.179 8.13052C16.7211 9.35943 15.7966 11.188 15.7966 13.23C15.7966 15.2719 16.7211 17.1005 18.179 18.3294Z" fill="#FF5E00" /> </svg> <svg width="36" height="26" viewBox="0 0 36 26" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect y="0.5" width="36" height="25" rx="4" fill="#1F72CD" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M7.09542 10L3.91431 17.2467H7.72254L8.19465 16.0913H9.27379L9.7459 17.2467H13.9377V16.3649L14.3112 17.2467H16.4795L16.8531 16.3462V17.2467H25.5709L26.6309 16.1213L27.6235 17.2467L32.1011 17.2561L28.91 13.6436L32.1011 10H27.6929L26.661 11.1046L25.6997 10H16.2159L15.4015 11.8704L14.568 10H10.7677V10.8519L10.345 10H7.09542ZM7.83229 11.029H9.6886L11.7986 15.9431V11.029H13.8322L15.4619 14.5524L16.9639 11.029H18.9873V16.2291H17.7561L17.746 12.1544L15.9511 16.2291H14.8498L13.0448 12.1544V16.2291H10.512L10.0319 15.0633H7.43769L6.95851 16.228H5.60147L7.83229 11.029ZM25.1198 11.029H20.1137V16.226H25.0423L26.6309 14.5036L28.1621 16.226H29.7627L27.4362 13.6426L29.7627 11.029H28.2315L26.651 12.7316L25.1198 11.029ZM8.73532 11.9089L7.88064 13.9856H9.58901L8.73532 11.9089ZM21.3499 13.055V12.1057V12.1048H24.4736L25.8366 13.6229L24.4132 15.1493H21.3499V14.113H24.081V13.055H21.3499Z" fill="white" /> </svg> <svg width="36" height="26" viewBox="0 0 36 26" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect x="0.5" y="1" width="35" height="24" rx="3.5" fill="white" stroke="#D9D9D9" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M15.614 19.9483L15.8347 18.4992L15.3431 18.4873H12.9951L14.6268 7.79368C14.6319 7.7613 14.6484 7.73124 14.6724 7.70986C14.6965 7.68847 14.7272 7.67674 14.7594 7.67674H18.7184C20.0328 7.67674 20.9398 7.95938 21.4133 8.51732C21.6353 8.77906 21.7767 9.05265 21.8452 9.35362C21.9169 9.66949 21.9181 10.0468 21.8481 10.5071L21.843 10.5406V10.8356L22.0651 10.9656C22.252 11.0681 22.4006 11.1854 22.5145 11.3197C22.7044 11.5436 22.8272 11.8281 22.8791 12.1652C22.9328 12.512 22.9151 12.9248 22.8272 13.392C22.7259 13.9294 22.5622 14.3976 22.341 14.7805C22.1376 15.1334 21.8785 15.4262 21.5708 15.653C21.277 15.8686 20.928 16.0322 20.5333 16.1369C20.1509 16.2398 19.7149 16.2917 19.2367 16.2917H18.9286C18.7083 16.2917 18.4943 16.3737 18.3263 16.5207C18.1579 16.6708 18.0465 16.8758 18.0123 17.1L17.989 17.2305L17.599 19.7848L17.5814 19.8785C17.5767 19.9082 17.5686 19.923 17.5568 19.933C17.5463 19.9422 17.5311 19.9483 17.5164 19.9483H15.614Z" fill="#28356A" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M22.2756 10.5747C22.2639 10.6528 22.2503 10.7326 22.2352 10.8145C21.7131 13.5852 19.9268 14.5423 17.6456 14.5423H16.484C16.205 14.5423 15.9698 14.7517 15.9265 15.0361L15.1633 20.0394C15.1351 20.2262 15.2743 20.3945 15.4566 20.3945H17.5168C17.7607 20.3945 17.968 20.2113 18.0064 19.9626L18.0266 19.8545L18.4145 17.3103L18.4394 17.1707C18.4774 16.9212 18.6851 16.7379 18.929 16.7379H19.2371C21.2331 16.7379 22.7957 15.9004 23.2524 13.4766C23.4431 12.4641 23.3443 11.6186 22.8395 11.024C22.6868 10.8447 22.4973 10.6959 22.2756 10.5747Z" fill="#298FC2" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M21.7291 10.3496C21.6493 10.3256 21.567 10.3038 21.4826 10.2841C21.3977 10.2649 21.3108 10.248 21.2213 10.233C20.9081 10.1808 20.5649 10.1559 20.1974 10.1559H17.0943C17.0178 10.1559 16.9452 10.1738 16.8803 10.206C16.7372 10.2772 16.6309 10.4172 16.6051 10.5886L15.9449 14.9102L15.926 15.0362C15.9694 14.7517 16.2046 14.5424 16.4836 14.5424H17.6451C19.9264 14.5424 21.7126 13.5847 22.2347 10.8146C22.2503 10.7326 22.2634 10.6528 22.2751 10.5747C22.1431 10.5022 22 10.4403 21.846 10.3875C21.8079 10.3744 21.7687 10.3618 21.7291 10.3496Z" fill="#22284F" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M16.6054 10.5887C16.6312 10.4172 16.7374 10.2772 16.8806 10.2066C16.946 10.1742 17.0181 10.1563 17.0946 10.1563H20.1976C20.5652 10.1563 20.9084 10.1813 21.2216 10.2336C21.3111 10.2483 21.398 10.2654 21.4829 10.2846C21.5673 10.3042 21.6495 10.3261 21.7294 10.35C21.769 10.3622 21.8082 10.3749 21.8466 10.3875C22.0007 10.4403 22.1438 10.5028 22.2759 10.5747C22.4312 9.55085 22.2746 8.85373 21.739 8.22248C21.1485 7.52743 20.0828 7.23001 18.7191 7.23001H14.76C14.4815 7.23001 14.2439 7.43933 14.2008 7.72429L12.5518 18.5279C12.5193 18.7416 12.6788 18.9344 12.8873 18.9344H15.3315L16.6054 10.5887Z" fill="#28356A" /> </svg> <svg width="36" height="26" viewBox="0 0 36 26" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect x="0.5" y="1" width="35" height="24" rx="3.5" fill="white" stroke="#D9D9D9" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M17.0579 17.028V14.0933H18.5725C19.1931 14.0933 19.717 13.8854 20.1441 13.4752L20.2466 13.3712C21.0266 12.522 20.9754 11.1991 20.1441 10.4135C19.7284 9.99754 19.159 9.77224 18.5725 9.78379H16.1411V17.028H17.0579ZM17.058 13.2036V10.6734H18.5956C18.9259 10.6734 19.2391 10.8005 19.4726 11.0315C19.9681 11.5168 19.9795 12.3256 19.5011 12.8281C19.2676 13.0766 18.9373 13.2152 18.5956 13.2036H17.058ZM24.5228 12.4585C24.1299 12.0945 23.5947 11.9097 22.9171 11.9097C22.0459 11.9097 21.3911 12.2332 20.9583 12.8744L21.7669 13.3885C22.063 12.9495 22.4673 12.73 22.9797 12.73C23.3043 12.73 23.6175 12.8513 23.8623 13.0708C24.1015 13.2788 24.2381 13.5792 24.2381 13.8969V14.1106C23.8851 13.9142 23.441 13.8103 22.8943 13.8103C22.2566 13.8103 21.7441 13.9604 21.3626 14.2666C20.9811 14.5728 20.7875 14.9772 20.7875 15.4913C20.7761 15.9592 20.9754 16.4041 21.3285 16.7045C21.6872 17.028 22.1427 17.1897 22.6779 17.1897C23.31 17.1897 23.8111 16.9067 24.1926 16.3405H24.2324V17.028H25.1093V13.972C25.1093 13.3308 24.9157 12.8224 24.5228 12.4585ZM22.0347 16.1152C21.8467 15.9766 21.7328 15.7513 21.7328 15.5087C21.7328 15.2372 21.8581 15.0119 22.103 14.8328C22.3536 14.6537 22.6668 14.5613 23.037 14.5613C23.5495 14.5555 23.9482 14.671 24.2329 14.9021C24.2329 15.2949 24.0792 15.6358 23.7773 15.9246C23.504 16.2019 23.1338 16.3579 22.7465 16.3579C22.4903 16.3636 22.2397 16.277 22.0347 16.1152ZM27.0795 19.2058L30.1429 12.0714H29.1464L27.7286 15.63H27.7115L26.2595 12.0714H25.2631L27.2731 16.7102L26.1343 19.2058H27.0795Z" fill="#3C4043" /> <path d="M13.8929 13.4579C13.8929 13.1748 13.8701 12.8918 13.8245 12.6145H9.95825V14.2147H12.1733C12.0821 14.7288 11.7861 15.191 11.3533 15.4798V16.5196H12.6743C13.4487 15.7975 13.8929 14.7288 13.8929 13.4579Z" fill="#4285F4" /> <path d="M9.95842 17.5248C11.0631 17.5248 11.9969 17.1551 12.6745 16.5197L11.3535 15.4798C10.9834 15.734 10.5107 15.8784 9.95842 15.8784C8.88793 15.8784 7.98257 15.1448 7.65801 14.1627H6.29712V15.2372C6.9918 16.641 8.40962 17.5248 9.95842 17.5248Z" fill="#34A853" /> <path d="M7.65822 14.1627C7.48737 13.6485 7.48737 13.0882 7.65822 12.5683V11.4995H6.29712C5.71053 12.6722 5.71053 14.0587 6.29712 15.2314L7.65822 14.1627Z" fill="#FBBC04" /> <path d="M9.95842 10.8525C10.5449 10.841 11.1086 11.0663 11.53 11.4764L12.703 10.2864C11.957 9.58162 10.9777 9.19457 9.95842 9.20612C8.40962 9.20612 6.9918 10.0958 6.29712 11.4995L7.65801 12.574C7.98257 11.5862 8.88793 10.8525 9.95842 10.8525Z" fill="#EA4335" /> </svg> <svg width="36" height="26" viewBox="0 0 36 26" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect x="0.5" y="1" width="35" height="24" rx="3.5" fill="white" stroke="#D9D9D9" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M10.4492 9.84316C10.1638 10.1951 9.70721 10.4726 9.2506 10.433C9.19352 9.95715 9.41707 9.45161 9.67867 9.13936C9.96406 8.77755 10.4635 8.51983 10.8678 8.5C10.9153 8.99563 10.7298 9.48135 10.4492 9.84316ZM10.863 10.5271C10.4607 10.503 10.0937 10.6532 9.79718 10.7745C9.60639 10.8526 9.44483 10.9187 9.32191 10.9187C9.18397 10.9187 9.01574 10.849 8.82685 10.7708L8.82685 10.7708C8.57935 10.6684 8.29638 10.5512 7.99964 10.5569C7.31948 10.5668 6.68688 10.9682 6.33967 11.6076C5.62621 12.8863 6.15417 14.7796 6.84384 15.8205C7.18155 16.3359 7.58584 16.9009 8.11855 16.8811C8.35291 16.8719 8.5215 16.7973 8.69597 16.7202C8.89683 16.6314 9.10549 16.5391 9.43131 16.5391C9.74582 16.5391 9.94536 16.629 10.1369 16.7152C10.319 16.7973 10.4939 16.876 10.7536 16.8712C11.3053 16.8613 11.6525 16.3557 11.9902 15.8403C12.3547 15.2871 12.5148 14.7471 12.5391 14.6652L12.542 14.6557C12.5414 14.6551 12.5369 14.653 12.5289 14.6492C12.4071 14.5911 11.476 14.1469 11.467 12.9557C11.4581 11.9559 12.2056 11.4494 12.3233 11.3696L12.3233 11.3696C12.3304 11.3648 12.3353 11.3615 12.3374 11.3598C11.8618 10.6262 11.1198 10.5469 10.863 10.5271ZM14.6824 16.8167V9.0898H17.4649C18.9013 9.0898 19.9049 10.1207 19.9049 11.6274C19.9049 13.1341 18.8822 14.175 17.4268 14.175H15.8334V16.8167H14.6824ZM15.8333 10.1009H17.1603C18.1592 10.1009 18.7299 10.656 18.7299 11.6324C18.7299 12.6088 18.1592 13.1688 17.1556 13.1688H15.8333V10.1009ZM23.7053 15.8898C23.4009 16.4945 22.7302 16.8761 22.0072 16.8761C20.9371 16.8761 20.1903 16.212 20.1903 15.2108C20.1903 14.2196 20.9133 13.6496 22.2498 13.5653L23.6862 13.4761V13.0499C23.6862 12.4204 23.2915 12.0784 22.5875 12.0784C22.0072 12.0784 21.5839 12.3907 21.4983 12.8665H20.4614C20.4947 11.8653 21.3984 11.1368 22.6208 11.1368C23.9383 11.1368 24.7945 11.8554 24.7945 12.9706V16.8167H23.729V15.8898H23.7053ZM22.3163 15.9592C21.7027 15.9592 21.3127 15.6519 21.3127 15.1811C21.3127 14.6954 21.6885 14.4129 22.4067 14.3683L23.6861 14.284V14.7202C23.6861 15.4438 23.0964 15.9592 22.3163 15.9592ZM28.3284 17.119C27.867 18.4721 27.3391 18.9181 26.2166 18.9181C26.131 18.9181 25.8456 18.9082 25.779 18.8884V17.9616C25.8503 17.9715 26.0263 17.9814 26.1167 17.9814C26.6256 17.9814 26.911 17.7584 27.087 17.1785L27.1916 16.8365L25.2415 11.2111H26.4449L27.8004 15.7759H27.8242L29.1798 11.2111H30.3499L28.3284 17.119Z" fill="black" /> </svg> </div> <div class="flex gap-2"> <!-- Facebook --> <a href="https://www.facebook.com/tuto1australia?mibextid=LQQJ4d"> <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M4 16C4 21.9333 8.33333 26.8667 14 27.8667L14.0669 27.8132C14.0446 27.8088 14.0223 27.8045 14 27.8V19.3333H11V16H14V13.3333C14 10.3333 15.9333 8.66667 18.6667 8.66667C19.5333 8.66667 20.4667 8.8 21.3333 8.93333V12H19.8C18.3333 12 18 12.7333 18 13.6667V16H21.2L20.6667 19.3333H18V27.8C17.9777 27.8045 17.9554 27.8088 17.9331 27.8132L18 27.8667C23.6667 26.8667 28 21.9333 28 16C28 9.4 22.6 4 16 4C9.4 4 4 9.4 4 16Z" fill="#1B1B1B" /> </svg> </a> <!-- LinkedIn --> <a href="https://www.linkedin.com/in/tuto1-australia-014005126/"> <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.27563 4.6667C5.38707 4.6667 4.66675 5.38702 4.66675 6.27559V25.7244C4.66675 26.613 5.38707 27.3333 6.27564 27.3333H25.7245C26.6131 27.3333 27.3334 26.613 27.3334 25.7244V6.27559C27.3334 5.38703 26.6131 4.6667 25.7245 4.6667H6.27563ZM9.75437 11.7058C10.8403 11.7058 11.7207 10.8255 11.7207 9.73952C11.7207 8.65354 10.8403 7.77319 9.75437 7.77319C8.6684 7.77319 7.78805 8.65354 7.78805 9.73952C7.78805 10.8255 8.6684 11.7058 9.75437 11.7058ZM13.5215 13.159H16.7804V14.6519C16.7804 14.6519 17.6647 12.8832 20.0708 12.8832C22.2172 12.8832 23.9953 13.9406 23.9953 17.1635V23.9597H20.6182V17.987C20.6182 16.0858 19.6032 15.8767 18.8297 15.8767C17.2245 15.8767 16.9497 17.2613 16.9497 18.235V23.9597H13.5215V13.159ZM11.4685 13.159H8.04028V23.9597H11.4685V13.159Z" fill="#1B1B1B" /> </svg> </a> <!-- TikTok --> <a href="https://www.tiktok.com/@tuto1australia?_t=8pfBf3TPsv4&_r=1"> <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13.3198 23.0119C15.0997 23.0119 16.5427 21.7376 16.5427 19.789V5.33334H20.408C20.1912 7.96965 22.8119 10.5163 25.7021 10.458V14.0926C23.2304 14.0926 21.1286 13.0475 20.397 12.4675V19.789C20.397 23.0119 17.8615 26.6667 13.3198 26.6667C8.77798 26.6667 6.29785 23.0119 6.29785 19.789C6.29785 15.24 11.1118 12.6018 14.3001 13.2466V16.9487C14.1397 16.892 13.7261 16.8081 13.3738 16.8081C11.579 16.7419 10.0968 18.1976 10.0968 19.789C10.0968 21.569 11.5398 23.0119 13.3198 23.0119Z" fill="#1B1B1B" /> </svg> </a> <!-- Instagram --> <a href="https://www.instagram.com/tuto1_australia?igsh=ZjZnbWl1dW5hanVh&utm_source=qr"> <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 -4 32 32"> <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z" /> </svg> </a> </div> </div> </div> <div class="mt-10 text-center">Copyright @ 2024. Tuto1</div> </div> <!-- View Lesson Modal --> <div class="relative z-10 hidden" aria-labelledby="view-lesson-modal" id="view-lesson-modal" role="dialog" aria-modal="true"> <div class="fixed inset-0 transition-opacity bg-[#bdbdbd] bg-opacity-70"></div> <div class="fixed inset-0 z-10 w-screen overflow-y-auto"> <div class="relative flex items-center justify-center min-h-full p-4 text-center sm:p-0 max-h-[90vh]"> <div class="relative w-full max-w-4xl p-6 overflow-hidden overflow-y-scroll text-left transition-all transform bg-white shadow-xl rounded-3xl overscroll-contain max-h-[90vh] pb-0"> <div class="flex justify-between"> <button id="close-view-lesson-modal" class="cursor-pointer group w-fit" title="lesson-close"> <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect x="0.5" y="0.5" width="39" height="39" rx="19.5" fill="#FCFCFC" /> <rect x="0.5" y="0.5" width="39" height="39" rx="19.5" stroke="#E5E5E5" class="group-hover:stroke-[#4349ed] transition-all duration-300" /> <path d="M26 14L14 26M14 14L26 26" stroke="#1B1B1B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> </svg> </button> <!-- <div class="relative select-none"> <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" class="cursor-pointer group w-fit" id="option-view-lesson-modal" > <rect x="0.5" y="0.5" width="39" height="39" rx="19.5" fill="#FCFCFC" /> <rect x="0.5" y="0.5" width="39" height="39" rx="19.5" stroke="#E5E5E5" class="group-hover:stroke-[#4349ed] transition-all duration-300" /> <path d="M20 21C20.5523 21 21 20.5523 21 20C21 19.4477 20.5523 19 20 19C19.4477 19 19 19.4477 19 20C19 20.5523 19.4477 21 20 21Z" stroke="#1B1B1B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> <path d="M20 14C20.5523 14 21 13.5523 21 13C21 12.4477 20.5523 12 20 12C19.4477 12 19 12.4477 19 13C19 13.5523 19.4477 14 20 14Z" stroke="#1B1B1B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> <path d="M20 28C20.5523 28 21 27.5523 21 27C21 26.4477 20.5523 26 20 26C19.4477 26 19 26.4477 19 27C19 27.5523 19.4477 28 20 28Z" stroke="#1B1B1B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> </svg> <div class="absolute hidden z-10 border-[#E5E5E5] border rounded-2xl shadow right-0 mt-2" id="lesson-option" > <div class="divide-y-2 divide-[#E5E5E5] rounded-2xl bg-white" > <button class="block w-full text-left py-2 px-4 rounded-t-2xl hover:bg-[#f5f5f5] text-sm" id="edit-lesson-button" > Edit </button> <button class="block w-full text-left py-2 px-4 rounded-b-2xl hover:bg-[#f5f5f5] text-red-500 text-sm" id="delete-lesson-button" > Delete </button> </div> </div> </div> --> </div> <div class="mt-5"> <div id="lesson-photos" class="flex gap-[2px] rounded-3xl h-96"></div> <h2 class="my-2 text-xl font-semibold lg:text-2xl" id="lesson-title"></h2> </div> <div class="grid grid-cols-1 gap-5 mt-2 md:grid-cols-3"> <div class="border-[#e5e5e5] border rounded-3xl p-3 flex justify-center items-center gap-3 md:gap-10"> <div> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="mask0_8227_29527" style="mask-type: alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> <rect width="24" height="24" fill="#D9D9D9" /> </mask> <g mask="url(#mask0_8227_29527)"> <path d="M12 20C12.3 20 12.5875 19.9833 12.8625 19.95C13.1375 19.9167 13.4167 19.8667 13.7 19.8L12.5 18H9V17C9 16.45 9.19583 15.9792 9.5875 15.5875C9.97917 15.1958 10.45 15 11 15H13V12H11C10.7167 12 10.4792 11.9042 10.2875 11.7125C10.0958 11.5208 10 11.2833 10 11V9H9.55C9.11667 9 8.75 8.85417 8.45 8.5625C8.15 8.27083 8 7.90833 8 7.475C8 7.325 8.02083 7.175 8.0625 7.025C8.10417 6.875 8.16667 6.73333 8.25 6.6L9.8 4.325C8.11667 4.80833 6.72917 5.75 5.6375 7.15C4.54583 8.55 4 10.1667 4 12H5V11C5 10.7167 5.09583 10.4792 5.2875 10.2875C5.47917 10.0958 5.71667 10 6 10H8C8.28333 10 8.52083 10.0958 8.7125 10.2875C8.90417 10.4792 9 10.7167 9 11V12C9 12.2833 8.90417 12.5208 8.7125 12.7125C8.52083 12.9042 8.28333 13 8 13V14C8 14.55 7.80417 15.0208 7.4125 15.4125C7.02083 15.8042 6.55 16 6 16H5.075C5.775 17.2 6.73333 18.1667 7.95 18.9C9.16667 19.6333 10.5167 20 12 20ZM19.6 14.45C19.7333 14.0667 19.8333 13.6708 19.9 13.2625C19.9667 12.8542 20 12.4333 20 12C20 10.1333 19.4333 8.4875 18.3 7.0625C17.1667 5.6375 15.7333 4.7 14 4.25V7C14.55 7 15.0208 7.19583 15.4125 7.5875C15.8042 7.97917 16 8.45 16 9V11C16.3167 11 16.6 11.0375 16.85 11.1125C17.1 11.1875 17.3417 11.3417 17.575 11.575L19.6 14.45ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22Z" fill="#212121" /> </g> </svg> </div> <div> <p class="text-sm font-light">Language</p> <p>English</p> </div> </div> <!-- Rating --> <div class="border-[#e5e5e5] border rounded-3xl p-3 flex justify-center items-center gap-3 md:gap-10"> <div> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M18.6375 8.3002C18.5542 8.3002 18.4667 8.2752 18.375 8.2252C18.2833 8.1752 18.2208 8.1002 18.1875 8.0002L17.3875 6.2502L15.6375 5.4502C15.5375 5.41686 15.4625 5.35436 15.4125 5.2627C15.3625 5.17103 15.3375 5.08353 15.3375 5.0002C15.3375 4.91686 15.3625 4.82936 15.4125 4.7377C15.4625 4.64603 15.5375 4.58353 15.6375 4.5502L17.3875 3.7502L18.1875 2.0002C18.2208 1.9002 18.2833 1.8252 18.375 1.7752C18.4667 1.7252 18.5542 1.7002 18.6375 1.7002C18.7208 1.7002 18.8083 1.7252 18.9 1.7752C18.9917 1.8252 19.0542 1.9002 19.0875 2.0002L19.8875 3.7502L21.6375 4.5502C21.7375 4.58353 21.8125 4.64603 21.8625 4.7377C21.9125 4.82936 21.9375 4.91686 21.9375 5.0002C21.9375 5.08353 21.9125 5.17103 21.8625 5.2627C21.8125 5.35436 21.7375 5.41686 21.6375 5.4502L19.8875 6.2502L19.0875 8.0002C19.0542 8.1002 18.9917 8.1752 18.9 8.2252C18.8083 8.2752 18.7208 8.3002 18.6375 8.3002ZM18.6375 22.3002C18.5542 22.3002 18.4667 22.2752 18.375 22.2252C18.2833 22.1752 18.2208 22.1002 18.1875 22.0002L17.3875 20.2502L15.6375 19.4502C15.5375 19.4169 15.4625 19.3544 15.4125 19.2627C15.3625 19.171 15.3375 19.0835 15.3375 19.0002C15.3375 18.9169 15.3625 18.8294 15.4125 18.7377C15.4625 18.646 15.5375 18.5835 15.6375 18.5502L17.3875 17.7502L18.1875 16.0002C18.2208 15.9002 18.2833 15.8252 18.375 15.7752C18.4667 15.7252 18.5542 15.7002 18.6375 15.7002C18.7208 15.7002 18.8083 15.7252 18.9 15.7752C18.9917 15.8252 19.0542 15.9002 19.0875 16.0002L19.8875 17.7502L21.6375 18.5502C21.7375 18.5835 21.8125 18.646 21.8625 18.7377C21.9125 18.8294 21.9375 18.9169 21.9375 19.0002C21.9375 19.0835 21.9125 19.171 21.8625 19.2627C21.8125 19.3544 21.7375 19.4169 21.6375 19.4502L19.8875 20.2502L19.0875 22.0002C19.0542 22.1002 18.9917 22.1752 18.9 22.2252C18.8083 22.2752 18.7208 22.3002 18.6375 22.3002ZM8.6375 18.5752C8.45417 18.5752 8.27917 18.5252 8.1125 18.4252C7.94583 18.3252 7.82083 18.1835 7.7375 18.0002L6.1375 14.5002L2.6375 12.9002C2.45417 12.8169 2.3125 12.6919 2.2125 12.5252C2.1125 12.3585 2.0625 12.1835 2.0625 12.0002C2.0625 11.8169 2.1125 11.6419 2.2125 11.4752C2.3125 11.3085 2.45417 11.1835 2.6375 11.1002L6.1375 9.5002L7.7375 6.0002C7.82083 5.81686 7.94583 5.6752 8.1125 5.5752C8.27917 5.4752 8.45417 5.4252 8.6375 5.4252C8.82083 5.4252 8.99583 5.4752 9.1625 5.5752C9.32917 5.6752 9.45417 5.81686 9.5375 6.0002L11.1375 9.5002L14.6375 11.1002C14.8208 11.1835 14.9625 11.3085 15.0625 11.4752C15.1625 11.6419 15.2125 11.8169 15.2125 12.0002C15.2125 12.1835 15.1625 12.3585 15.0625 12.5252C14.9625 12.6919 14.8208 12.8169 14.6375 12.9002L11.1375 14.5002L9.5375 18.0002C9.45417 18.1835 9.32917 18.3252 9.1625 18.4252C8.99583 18.5252 8.82083 18.5752 8.6375 18.5752Z" fill="#212121" /> </svg> </div> <div> <p class="text-sm font-light">Lesson Rating</p> <div class="flex items-center justify-start gap-2"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="mask0_8227_29540" style="mask-type: alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> <rect width="24" height="24" fill="#D9D9D9" /> </mask> <g mask="url(#mask0_8227_29540)"> <path d="M12 17.2419L7.63747 19.8408C7.44474 19.9621 7.24326 20.0141 7.03302 19.9968C6.82278 19.9794 6.63881 19.9101 6.48113 19.7888C6.32345 19.6676 6.20081 19.516 6.11321 19.334C6.02561 19.1521 6.00809 18.9485 6.06065 18.7233L7.21698 13.8114L3.35377 10.5108C3.17857 10.3549 3.06907 10.1773 3.02527 9.97802C2.98147 9.77878 2.99461 9.58386 3.06469 9.39327C3.13477 9.20269 3.23989 9.04675 3.38005 8.92547C3.52022 8.80419 3.71294 8.72622 3.95822 8.69157L9.0566 8.24976L11.0276 3.62373C11.1152 3.41582 11.251 3.25989 11.435 3.15593C11.6189 3.05198 11.8073 3 12 3C12.1927 3 12.3811 3.05198 12.565 3.15593C12.749 3.25989 12.8848 3.41582 12.9724 3.62373L14.9434 8.24976L20.0418 8.69157C20.2871 8.72622 20.4798 8.80419 20.6199 8.92547C20.7601 9.04675 20.8652 9.20269 20.9353 9.39327C21.0054 9.58386 21.0185 9.77878 20.9747 9.97802C20.9309 10.1773 20.8214 10.3549 20.6462 10.5108L16.783 13.8114L17.9394 18.7233C17.9919 18.9485 17.9744 19.1521 17.8868 19.334C17.7992 19.516 17.6765 19.6676 17.5189 19.7888C17.3612 19.9101 17.1772 19.9794 16.967 19.9968C16.7567 20.0141 16.5553 19.9621 16.3625 19.8408L12 17.2419Z" fill="#EFD169" /> </g> </svg> <p id="lesson-rating-value">0.0</p> </div> </div> </div> <!-- Price Range --> <div class="border-[#e5e5e5] border rounded-3xl p-3 flex justify-center items-center gap-3 md:gap-10"> <div> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="mask0_8227_29544" style="mask-type: alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> <rect width="24" height="24" fill="#D9D9D9" /> </mask> <g mask="url(#mask0_8227_29544)"> <path d="M14 13C14.8333 13 15.5417 12.7083 16.125 12.125C16.7083 11.5417 17 10.8333 17 10C17 9.16667 16.7083 8.45833 16.125 7.875C15.5417 7.29167 14.8333 7 14 7C13.1667 7 12.4583 7.29167 11.875 7.875C11.2917 8.45833 11 9.16667 11 10C11 10.8333 11.2917 11.5417 11.875 12.125C12.4583 12.7083 13.1667 13 14 13ZM7 16C6.45 16 5.97917 15.8042 5.5875 15.4125C5.19583 15.0208 5 14.55 5 14V6C5 5.45 5.19583 4.97917 5.5875 4.5875C5.97917 4.19583 6.45 4 7 4H21C21.55 4 22.0208 4.19583 22.4125 4.5875C22.8042 4.97917 23 5.45 23 6V14C23 14.55 22.8042 15.0208 22.4125 15.4125C22.0208 15.8042 21.55 16 21 16H7ZM3 20C2.45 20 1.97917 19.8042 1.5875 19.4125C1.19583 19.0208 1 18.55 1 18V8C1 7.71667 1.09583 7.47917 1.2875 7.2875C1.47917 7.09583 1.71667 7 2 7C2.28333 7 2.52083 7.09583 2.7125 7.2875C2.90417 7.47917 3 7.71667 3 8V18H19C19.2833 18 19.5208 18.0958 19.7125 18.2875C19.9042 18.4792 20 18.7167 20 19C20 19.2833 19.9042 19.5208 19.7125 19.7125C19.5208 19.9042 19.2833 20 19 20H3ZM7 8C7.55 8 8.02083 7.80417 8.4125 7.4125C8.80417 7.02083 9 6.55 9 6H7V8ZM21 8V6H19C19 6.55 19.1958 7.02083 19.5875 7.4125C19.9792 7.80417 20.45 8 21 8ZM7 14H9C9 13.45 8.80417 12.9792 8.4125 12.5875C8.02083 12.1958 7.55 12 7 12V14ZM19 14H21V12C20.45 12 19.9792 12.1958 19.5875 12.5875C19.1958 12.9792 19 13.45 19 14Z" fill="#212121" /> </g> </svg> </div> <div> <p class="text-sm font-light">Price Range</p> <p class="text-center" id="lesson-price">$$</p> </div> </div> </div> <div class="mt-2"> <p class="text-lg font-medium">About the lesson</p> <div class="border-[#e5e5e5] border rounded-3xl p-3 mt-2"> <p id="lesson-description" class="text-sm whitespace-pre-wrap"></p> </div> </div> <div class="mt-5"> <p class="text-lg font-medium">Public Q&A</p> <form id="question-form" class="mt-3"> <div class="flex items-center justify-center w-full gap-2"> <div class="relative w-8/12 lg:w-10/12"> <input id="question" type="text" name="question" placeholder="" required class="block rounded-3xl pl-5 px-2.5 pb-2.5 pt-5 w-full text-sm text-gray-900 border border-[#E5E5E5] appearance-none focus:outline-none focus:ring-0 peer text-blue" /> <label for="question" class="absolute text-sm text-gray-500 duration-300 transform -translate-y-4 scale-75 top-4 z-10 origin-[0] start-2.5 peer-focus:text-[#4349ed] peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-4 rtl:peer-focus:translate-x-1/4 ml-2 rtl:peer-focus:left-auto hover:cursor-text">Enter your question</label> </div> <div class="w-4/12 lg:w-2/12"> <button type="submit" id="question-submit-btn" class="w-full bg-[#4349ed] hover:bg-[#2f33a6] transition-all duration-500 text-white font-semibold rounded-full py-3 px-2"> Post </button> </div> </div> </form> </div> <div class="mt-2 mb-10"> <div id="questions-list" class="grid grid-cols-1 gap-2 mt-2 border-[#e5e5e5] border rounded-3xl p-3 divide-y divide-[#e5e5e5]"> </div> <span class="flex items-center"> <span class="h-px flex-1 bg-slate-300"></span> <button id="toggle" class="shrink-0 text-black text-sm px-6">Show more</button> <span class="h-px flex-1 bg-slate-300"></span> </span> </div> <p class="text-lg font-medium">About the Teacher</p> <div class="border-[#e5e5e5] border rounded-3xl p-3 mt-2"> <div class="flex flex-row justify-between items-center md:p-3"> <div class="flex flex-row items-center gap-1 md:gap-3"> <div class="w-20 rounded-2xl"> <img src="/assets/images/default-avatar.png" id="teacher-profile" alt="Teacher Profile" class="w-full h-full object-cover rounded-2xl" /> </div> <div id="user-online"></div> <div id="teacher-name" class="text-sm font-medium md:text-lg"> </div> </div> <div> <a id="teacher-link-profile"> <button type="button" id="view-profile" class="bg-white rounded-3xl border border-[#4349ed] text-[#4349ed] p-2 hover:bg-[#fffafa] hover:border-[#2f33a6] text-xs md:text-sm md:p-2"> View Profile </button> </a> </div> </div> <div class="w-full px-4" id="teacherSchedule"> <div class="p-4 lg:p-2 w-full grid grid-cols-1 md:grid-cols-2 gap-4 md:divide-x divide-y md:divide-y-0 divide-x-0 justify-start items-start text-left"> <div class="p-2"> <p class="font-extralight">Times Available</p> <div class="flex flex-col mt-2 space-y-2" id="partner-times"></div> </div> <div class="h-full p-4 space-y-5"> <div class="space-y-2"> <p class="font-extralight">Average rating</p> <div class="flex items-center gap-3 font-light"> <svg width="20" height="20" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M7.00008 1.16663L8.80258 4.81829L12.8334 5.40746L9.91675 8.24829L10.6051 12.2616L7.00008 10.3658L3.39508 12.2616L4.08341 8.24829L1.16675 5.40746L5.19758 4.81829L7.00008 1.16663Z" fill="#F4E407" stroke="#F4E407" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> </svg> <p id="rating-value"></p> <p id="rating-count"></p> </div> </div> <div class="space-y-2"> <p class="font-extralight">Languages</p> <div class="flex items-center gap-3 font-light"> <p>English</p> </div> </div> </div> </div> </div> </div> <div class="max-w-md mx-auto bottom-0 bg-[#f4f4f5] p-3 rounded-t-3xl border border-[#e5e5e5] border-b-0 sticky"> <button type="button" id="purchase-lesson-btn" class="bg-[#4349ed] hover:bg-[#2f33a6] transition-all duration-500 text-white lg:px-10 px-5 font-semibold w-full rounded-full py-3"> Purchase </button> </div> </div> </div> </div> </div> </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.js"></script> <script src="js/config.js"></script> <!-- <script src="js/verify-auth.js"></script> --> <script src="js/generate-card.js"></script> <script src="js/subscription.js"></script> <script type="module"> import PhotoSwipeLightbox from "/js/photoswipe/photoswipe-lightbox.esm.js"; const lightbox = new PhotoSwipeLightbox({ gallery: "#lesson-photos", children: "a", showHideAnimationType: "fade", pswpModule: () => import("/js/photoswipe/photoswipe.esm.js"), }); lightbox.init(); </script> <script> function updatePlaceholder() { let width = $(window).width(); let placeholderText; if (width < 320) { placeholderText = "Learn “Italian ...."; } else if (width >= 320 && width < 328) { placeholderText = "Learn “Italian co... "; } else if (width > 328 && width < 354) { placeholderText = "Learn “Italian cook... "; } else { placeholderText = "Learn “Italian cooking”"; } $("#search").attr("placeholder", placeholderText); } updatePlaceholder(); $(window).resize(updatePlaceholder); const userData = JSON.parse(localStorage.getItem("user")); let products = []; let selectedLesson = null; if (userData) { $("#user-avatar").attr("src", userData?.profilePhoto); $("#login").addClass("hidden"); $("#home").removeClass("hidden"); } else { $("#login").removeClass("hidden"); $("#home").addClass("hidden"); } $("#home").click(() => { $("#user-avatar-actions").toggleClass("hidden"); }); $("#logout-btn").click(async () => { try { const response = axios.post(`${BACKEND_URL}/api/client-partner/${organizationId}/logout`, { headers: { Authorization: `Bearer ${localStorage.getItem("token")}`, }, } ) localStorage.removeItem("user"); localStorage.removeItem("token"); localStorage.removeItem("partnerInfo"); window.location.href = "/index.html"; } catch (error) { console.log("There is a error", error) } }); let visibleCountFeaturedAussies = 10 let showingMoreFeaturedAussies = true let visibleCount = 3 let showingMore; let questions = [] let featuredAussies = [] $('#toggle').on('click', toggleItems); $('#toggle-featured').on('click', toggleFeaturedAussies); let questionLength = null let featureLength = null function getQuestionLength(length) { questionLength = length } function getFeaturedLength(length) { featureLength = length } function getQuestion(question) { questions = [...question] } function getFeaturedAussies(lesson) { featuredAussies = [...lesson] } const displayQuestions = async (questions) => { $("#questions-list").addClass("hidden"); $("#questions-list").html(""); if (questions.length !== 0) { $("#questions-list").removeClass("hidden"); } const sortedQuestions = [...questions].sort( (a, b) => b?.pinned - a?.pinned ); getQuestion(sortedQuestions) getQuestionLength(sortedQuestions.length) sortedQuestions?.forEach((question, index) => { if (index < visibleCount) { let answers = null; if (question?.answers?.length > 0) { answers = question?.answers .map((answer) => { const profilePhoto = answer?.user?.profilePhoto || "/assets/images/default-avatar.png"; return ` <div class="flex gap-4 py-2"> <img class="object-cover w-8 h-8 rounded-full" src="${profilePhoto}" alt="Rounded avatar" /> <div class="flex flex-col justify-center-center"> <p class="text-sm font-medium">${answer?.user?.displayName}</p> <p class="text-sm font-normal">${answer?.answer}</p> <div class="flex gap-4 mt-2"> <p class="text-xs font-light text-gray-500">${moment( answer?.createdAt ).fromNow()}</p> </div> </div> </div> `; }) .join(""); } const profilePhoto = question?.user?.profilePhoto || "/assets/images/default-avatar.png"; $("#questions-list").append(` <div class="flex items-start justify-between gap-4 p-4"> <div class="flex gap-4 py-2"> <img class="w-8 h-8 rounded-full" src="${profilePhoto}" alt="Rounded avatar" /> <div class="flex flex-col justify-center-center"> <p class="text-base font-medium">${question?.user?.displayName }</p> <p class="text-sm font-normal">${question?.question}</p> <div class="flex gap-4 mt-2"> <p class="text-xs font-light text-gray-500">${moment( question?.createdAt ).fromNow()}</p> </div> ${answers ? `<div class='mt-2'> ${answers} </div>` : "" } </div> </div> <div class="relative flex gap-4 py-2 ml-2 select-none"> <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <mask id="mask0_8199_35325" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="20"> <rect width="20" height="20" fill="#D9D9D9"/> </mask> <g mask="url(#mask0_8199_35325)"> <path d="M13.3333 10L15 11.6667V13.3333H10.8333V18.3333L10 19.1667L9.16667 18.3333V13.3333H5V11.6667L6.66667 10V4.16667H5.83333V2.5H14.1667V4.16667H13.3333V10Z" fill="${question?.pinned ? "#4349ED" : "#A9A9A9" }"/> </g> </svg> </div> </div>`); } }); }; function toggleItems() { if (showingMore) { visibleCount = 3; $('#toggle').text('Show More'); } else { visibleCount = questionLength; $('#toggle').text('Show Less'); } showingMore = !showingMore; displayQuestions(questions); } function toggleFeaturedAussies() { console.log(showingMoreFeaturedAussies) if (showingMoreFeaturedAussies && visibleCountFeaturedAussies < featureLength) { console.log('triggered more') visibleCountFeaturedAussies += 6; } if (!showingMoreFeaturedAussies) { console.log('triggered less') visibleCountFeaturedAussies -= 6; } if (visibleCountFeaturedAussies === 10) { showingMoreFeaturedAussies = true; } if (visibleCountFeaturedAussies > featureLength) { showingMoreFeaturedAussies = false; } fetchProducts(); } const initializeLessonClick = async () => { $(".tutor-link").click((e) => { e.stopPropagation(); }); $(".lesson").click(async (e) => { $('body').addClass('overflow-hidden'); const productId = $(e.currentTarget).data("product-id"); const product = products.find((product) => product._id === productId); const isOnline = product?.partner?.user?.isOnline const userId = product?.partner?.user?._id console.log(product) if (!product) return; selectedLesson = product; $("#lesson-rating-value").html("0.0"); const reviews = product?.reviews; const reviewsValue = reviews?.map((r) => r.rating); const ratingAverage = ( reviewsValue.reduce((p, c) => p + c, 0) / reviewsValue.length || 0 ).toFixed(1); const images = product?.images.map((image) => image.image); $(`#user-online`).append( ` <div class=""> ${isOnline === true ? `<svg width="10px" height="10px" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="8" cy="8" r="8" fill="#72dc46"></circle> </svg>` : `<svg width="10px" height="10px" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="8" cy="8" r="8" fill="#e83f33"></circle> </svg>`} </div> `) $("#lesson-photos").html(""); $("#lesson-rating-value").text(ratingAverage); $("#lesson-price").text(`$${product?.pricePerItem}`); switch (true) { case images?.length == 1: $("#lesson-photos").append( `<a href="${images[0]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-full h-96"> <img src="${images[0]}" alt="Lesson Image" class="object-cover w-full bg-gray-200 h-96 rounded-3xl"> </a>` ); break; case images?.length == 2: $("#lesson-photos").append( `<a href="${images[0]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-1/2 rounded-l-3xl h-96"> <img src="${images[0]}" alt="Lesson Image" class="object-cover w-full bg-gray-200 h-96 rounded-l-3xl"> </a>` ); $("#lesson-photos").append( `<a href="${images[1]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-1/2 rounded-r-3xl h-96"> <img src="${images[1]}" alt="Lesson Image" class="object-cover w-full bg-gray-200 h-96 rounded-r-3xl"> </a>` ); break; case images?.length == 3: $("#lesson-photos").append( `<a href="${images[0]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-1/3 rounded-l-3xl h-96"> <img src="${images[0]}" alt="Lesson Image" class="object-cover w-full bg-gray-200 h-96 rounded-l-3xl"> </a>` ); $("#lesson-photos").append( `<a href="${images[1]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-1/3 h-96"> <img src="${images[1]}" alt="Lesson Image" class="object-cover w-full bg-gray-200 h-96 "> </a>` ); $("#lesson-photos").append( `<a href="${images[2]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-1/3 rounded-r-3xl h-96"> <img src="${images[2]}" alt="Lesson Image" class="object-cover w-full bg-gray-200 h-96 rounded-r-3xl"> </a>` ); break; case images?.length == 4: $("#lesson-photos").append( `<a href="${images[0]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-1/3 rounded-l-3xl h-96"> <img src="${images[0]}" alt="Lesson Image" class="object-cover w-full bg-gray-200 h-96 rounded-l-3xl"> </a>` ); $("#lesson-photos").append( `<a href="${images[1]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-1/3 h-96"> <img src="${images[1]}" alt="Lesson Image" class="object-cover w-full bg-gray-200 h-96 "> </a>` ); $("#lesson-photos").append( `<div class="flex flex-col w-1/3 h-96 "> <a href="${images[2]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-full h-1/2 rounded-tr-3xl"> <img src="${images[2]}" alt="Lesson Image" class="object-cover w-full h-full bg-gray-200 rounded-tr-3xl"> </a> <a href="${images[3]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-full h-1/2 rounded-br-3xl"> <img src="${images[3]}" alt="Lesson Image" class="object-cover w-full h-full bg-gray-200 rounded-br-3xl"> </a> </div> ` ); break; case images?.length == 5: $("#lesson-photos").append( `<a href="${images[0]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-1/3 rounded-l-3xl h-96"> <img src="${images[0]}" alt="Lesson Image" class="object-cover w-full bg-gray-200 h-96 rounded-l-3xl"> </a>` ); $("#lesson-photos").append( `<div class="flex flex-col w-1/3 h-96 "> <a href="${images[1]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-full h-1/2"> <img src="${images[1]}" alt="Lesson Image" class="object-cover w-full h-full bg-gray-200"> </a> <a href="${images[2]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-full h-1/2"> <img src="${images[2]}" alt="Lesson Image" class="object-cover w-full h-full bg-gray-200"> </a> </div> ` ); $("#lesson-photos") .append(`<div class="flex flex-col w-1/3 h-96 "> <a href="${images[3]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-full rounded-tr-3xl h-1/2"> <img src="${images[3]}" alt="Lesson Image" class="object-cover w-full h-full bg-gray-200 rounded-tr-3xl"> </a> <a href="${images[4]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-full h-1/2 rounded-br-3xl"> <img src="${images[4]}" alt="Lesson Image" class="object-cover w-full h-full bg-gray-200 rounded-br-3xl"> </a> </div>`); break; case images?.length >= 6: $("#lesson-photos").append( `<a href="${images[0]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-1/4 rounded-l-3xl h-96"> <img src="${images[0]}" alt="Lesson Image" class="object-cover w-full bg-gray-200 h-96 rounded-l-3xl"> </a> <a href="${images[1]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-1/4 h-96"> <img src="${images[1]}" alt="Lesson Image" class="object-cover w-full bg-gray-200 h-96"> </a> ` ); $("#lesson-photos").append( `<div class="flex flex-col w-1/4 h-96 "> <a href="${images[2]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-full h-1/2 rounded-l-3xl"> <img src="${images[2]}" alt="Lesson Image" class="object-cover w-full h-full bg-gray-200"> </a> <a href="${images[3]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-full h-1/2"> <img src="${images[3]}" alt="Lesson Image" class="object-cover w-full h-full bg-gray-200"> </a> </div> ` ); $("#lesson-photos") .append(`<div class="relative flex flex-col w-1/4 h-96"> <a href="${images[4] }" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-full h-1/2 rounded-l-3xl"> <img src="${images[4] }" alt="Lesson Image" class="object-cover w-full h-full bg-gray-200 rounded-tr-3xl"> </a> ${images.length == 6 ? ` <a href="${images[5]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="w-full h-1/2 rounded-br-3xl"> <img src="${images[5]}" alt="Lesson Image" class="object-cover w-full h-full bg-gray-200 rounded-br-3xl"> </a>` : `<img src="${images[5]}" alt="Lesson Image" class="object-cover w-full bg-gray-200 h-1/2 rounded-br-3xl">` } ${images.length > 6 ? ` <a href="${images[5] }" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="absolute bottom-0 flex items-center justify-center w-full bg-black bg-opacity-50 h-1/2 rounded-br-3xl"> <p class="text-lg text-white">+${images.length - 6}</p> </a>` : "" } </div>`); // append the rest of the images and add hidden for (let i = 6; i < images.length; i++) { $("#lesson-photos").append( `<a href="${images[i]}" data-pswp-width="1280" data-pswp-height="720" target="_blank" class="hidden"> <img src="${images[i]}" alt="Lesson Image" class="object-cover w-full bg-gray-200 h-96"> </a>` ); } break; default: $("#lesson-photos").append( `<img src="${images[0]}" alt="Lesson Image" class="object-cover w-full bg-gray-200 h-96 rounded-3xl">` ); break; } // About the Teacher const questions = product?.questions; // question const teacherName = product?.partner?.displayName; //teacherName let teacherProfile = product?.partner?.profilePhoto; //teacher Profile const partnerId = product?.partner?._id; //fetch teacher Id fetchPartnerDetails(partnerId); //call the fucntion const teacherLink = `/tutor-profile.html?id=${product?.partner?._id}`; if (teacherProfile === undefined) { teacherProfile = "/assets/images/default-avatar.png"; } $("img#teacher-profile").attr("src", teacherProfile); $("#teacher-link-profile").attr("href", teacherLink); $("#teacher-name").html(teacherName); await displayQuestions(questions); const description = product.description; const formattedText = description.replace(/\n/g, "<br>"); $("#view-lesson-modal").find("#lesson-title").text(product.name); $("#view-lesson-modal") .find("#lesson-description") .html(formattedText); $("#view-lesson-modal").removeClass("hidden"); }); }; // Fetch teacher schedule and rate then append to the partner-times div const fetchPartnerDetails = async (partnerId) => { try { const token = localStorage.getItem("token"); const response2 = await fetch( `${BACKEND_URL}/api/client-partner/${organizationId}/${partnerId}/public-info`, { method: "GET", headers: { "Content-Type": "application/json", Authorization: `Bearer ${token}`, }, } ); const responseData2 = await response2.json(); if (responseData2?.partner) { $("#partner-rating-value").text(responseData2.partner.rating); $("#partner-rating-count").text(responseData2.partner.ratingCount); let availability = { Monday: responseData2?.partner?.Monday?.[0], Tuesday: responseData2?.partner?.Tuesday?.[0], Wednesday: responseData2?.partner?.Wednesday?.[0], Thursday: responseData2?.partner?.Thursday?.[0], Friday: responseData2?.partner?.Friday?.[0], Saturday: responseData2?.partner?.Saturday?.[0], Sunday: responseData2?.partner?.Sunday?.[0], }; for (const key in availability) { const time = availability[key]; $(`#partner-times`).append( ` <div class="grid items-center grid-cols-2 gap-4"> <p class="font-light">${key}</p> <p class="font-light ${!time?.Available ? "text-gray-400" : "" }">${time?.Available ? `${moment(time?.Start, "HH:mm").format( "h:mma" )} - ${moment(time?.Finish, "HH:mm").format("h:mma")}` : "Not Available" }</p> </div> ` ); } $("#rating-value").text( parseFloat(responseData2.partner.rating).toFixed(1) ); $("#rating-count").text(`( ${responseData2.partner.ratingCount} )`); } } catch (error) { console.error(error); } finally { $("#lessons-loading").addClass("hidden"); } }; const fetchProducts = async () => { try { $("#lessons-loading").removeClass("hidden"); $('#toggle-featured').text('loading ....'); const response = await fetch( `${BACKEND_URL}/api/client-partner/${organizationId}/products`, { method: "GET", } ); const responseData = await response.json(); if (responseData?.products) { products = responseData.products; $("#lessons-list").removeClass("hidden"); $('#toggle-featured').text('View more lessons'); $("#lessons-list").html(""); getFeaturedAussies(products) getFeaturedLength(products.length) featuredAussies?.forEach((product, index) => { if (visibleCountFeaturedAussies > index) { if (showingMoreFeaturedAussies) { $('#toggle-featured').text('View more lessons'); } else { $('#toggle-featured').text('Show less'); } let online = products[index].partner?.user.isOnline; console.log() const reviews = product?.reviews; const reviewsValue = reviews?.map((r) => r.rating); const ratingAverage = ( reviewsValue.reduce((p, c) => p + c, 0) / reviewsValue.length || 0 ).toFixed(1); const thumbnail = product?.images?.[0].image || "assets/images/example/sample-1.png"; const profilePhoto = product?.partner?.profilePhoto || "/assets/images/default-avatar.png"; $("#lessons-list").append( generateCard({ online, product, thumbnail, profilePhoto, ratingAverage, }) ); } }); } initializeLessonClick(); } catch (error) { console.error(error); } finally { $("#lessons-loading").addClass("hidden"); } }; fetchProducts(); $("#close-view-lesson-modal").click(() => { visibleCount = 3; $('#toggle').text('Show More'); showingMore = false $('body').removeClass('overflow-hidden'); $("#partner-times").empty(); //empty the Teacher schedule to avoid the duplicate appending $("#view-lesson-modal").addClass("hidden"); $("#user-online").empty(); selectedLesson = null; }); $("#question-form").submit(async (e) => { e.preventDefault(); const question = $("#question").val(); const submitButton = $("#question-form").find( 'button[type="submit"][id="question-submit-btn"]' ); if (!question) { alert("Please enter a question"); return; } try { submitButton.disabled = true; submitButton.addClass( "cursor-not-allowed opacity-50 pointer-events-none bg-gray-200" ); const token = localStorage.getItem("token"); const user = JSON.parse(localStorage.getItem("user")); console.log(user?._id) if (user?._id === undefined) { alert("Login to ask question") setTimeout(() => { window.location.href = "onboarding.html"; }, 1000); } const response = await fetch( `${BACKEND_URL}/api/company-products/products/${selectedLesson._id}/question`, { method: "PATCH", headers: { "Content-Type": "application/json", Authorization: `Bearer ${token}`, }, body: JSON.stringify({ question, organizationId, userId: user?._id, }), } ); const responseData = await response.json(); if (responseData?.success) { $("#question").val(""); const questions = responseData?.product?.questions; await displayQuestions(questions); } } catch (error) { console.error(error); } finally { submitButton.disabled = false; submitButton.removeClass( "cursor-not-allowed opacity-50 pointer-events-none bg-gray-200" ); submitButton.text("Post"); } }); $("#purchase-lesson-btn").click(() => { if (selectedLesson) { window.location.href = `checkout.html?productId=${selectedLesson._id}`; } }); $("#search-form").submit(async (e) => { e.preventDefault(); const search = $.trim($("#search").val()); if (!search) return; window.location.href = `search.html?q=${search}`; }); $("#view-owned-lesson-btn").click(() => { if (selectedLesson) { window.location.href = `purchased-lessons.html`; } }); </script> <script src="https://widgets.leadconnectorhq.com/loader.js" data-resources-url="https://widgets.leadconnectorhq.com/chat-widget/loader.js" data-widget-id="66936d6a748b68788dace31b"> </script> </body> </html>