function showCreateTask(task_type) { var task_type_elem = createtask_modal.querySelector("#task_type"); task_type_elem.value = task_type; createtask_modal.showModal(); } function closeCreateTask() { createtask_modal.close(); } function showTask(task_id) { fetch(`${taskdetail_url}/${task_id}`, { method: "GET", }).then(res => res.json()).then((res) => { // console.log(res); title_elem = task_modal.querySelector(".title"); task_id_elem = task_modal.querySelector('#task_id'); // count_elem = task_modal.querySelector(".count"); title_elem.innerText = res['title']; // count_elem.innerText = res['practice_count']; var total_count = res['practice_count']; // goal count if(total_count==0) total_count=4; // learn + 3 practice else total_count = Math.floor((total_count-1)/3)*3+4; // formula to give 3 new practice everytime we reach the goal createMilestones(document.querySelector('#task_modal .progress_bar'),res['practice_count'],total_count); task_id_elem.value = res['id']; task_modal.showModal(); // scroll to the end var progressbar_container = document.querySelector("#task_modal .progress_bar_container"); var scrollWidth = progressbar_container.scrollWidth; scrollWidth/=total_count; scrollWidth*=res['practice_count']-1; // -1 to scroll it a little less than the last completed one // scrollWidth=0; // scrollWidth console.log(scrollWidth); progressbar_container.scrollTo(scrollWidth, 0); // x,y }) } function closeTask() { task_modal.close(); } function addError(msg) { //
// // error see //
var error_elem = document.createElement('div'); error_elem.className = 'error'; error_elem.innerHTML += ``; error_elem.innerHTML += `${msg}`; error_container.append(error_elem); setTimeout(function () { error_elem.remove(); // remove after 7 seconds }, 1000 * 7); } function createMilestones(progress_bar,practice_count,total_count) { //
//
// Learn //
//
//
//
// Practice 1 //
// total_count+=1; progress_bar.innerHTML = " "; for (var i = 1; i <= total_count; i++) { var milestone = document.createElement("div"); milestone.className = "milestone"; circle = document.createElement('div'); circle.className = "circle"; var text = document.createElement("span"); text.className = "text"; if(i<= practice_count){ if(i == 1) circle.classList.add("learn"); else circle.classList.add("practice"); } if(i == 1) text.innerText = "learn"; else text.innerText = `practice ${i-1}`; milestone.appendChild(circle); milestone.appendChild(text); var line = document.createElement('div'); line.className = "line"; progress_bar.appendChild(milestone); if(i