checkRoute(); let userBasics = JSON.parse(localStorage.getItem('user_profile')) || []; $('.loading').hide(); //userBasics = JSON.parse(userBasics); if(userBasics.length > 0 || typeof(userBasics) !== 'string'){ $('.userName').html(`

Hi ${userBasics.user_info.userName}

`); } function checkRoute() { let jwt_token = get_jwt_token(); if(jwt_token == undefined) { window.location.replace("login.html"); } axios({ method: 'post', url: 'https://www.choozmo.com:8887/user_profile', headers: { 'accept': 'text/html', 'Authorization': `Bearer ${jwt_token}` } }).then(res => { console.log(res.data); // if(res.status !== 200) { // window.location.replace("login.html"); // } var userName=''; userName+='

Hi '+res.data.user_info.userName+'

'; $('.userName').html(userName); }).catch(err => { console.log(err); window.location.replace("login.html"); }); } const btnLoginPage = document.querySelector('.btn-login'); const btnUserProfile = document.querySelector('.btn-userProfile'); const btnLogout = document.querySelector('.btn-logout'); function loginControl() { btnLoginPage.style.display = 'none'; btnLogout.style.display = 'block'; btnUserProfile.style.display = 'block'; } loginControl(); // Check lan let lan = localStorage.getItem('lan'); $('.dropdown-toggle').click(() => { lan = localStorage.getItem('lan'); checkLan(); }); checkLan(); function checkLan() { if(lan == 'en') { $('.btn-makev').css('display', 'none'); $('.btn-makelong').css('display', 'none'); } else { $('.btn-makev').css('display', 'block'); $('.btn-makelong').css('display', 'block'); $('.title_new').attr('placeholder', '標題') } } var client_id = Date.now(); var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')) var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) { return new bootstrap.Tooltip(tooltipTriggerEl) }); var myModal = new bootstrap.Modal(document.getElementById('history'), { keyboard: false }) var avatarModal = new bootstrap.Modal(document.getElementById('avatarmega'), { keyboard: false }) var modalImg = document.querySelector("#avatarmega .modal-img"); var modalTitle = document.querySelector("#avatarmega .modal-title"); var avatarSelector = document.getElementById("avatar"); var card = document.querySelectorAll('.avatar-cards .card'); var draftsModal = new bootstrap.Modal(document.getElementById('draftModal'), { keyboard: false }) card = [...card]; avatarSelector.addEventListener('change', avatarChange); avatarChange(); function addCardListener() { for (let i = 0; i < card.length; i++) { card[i].addEventListener('click', openavatarModel); } } addCardListener(); function avatarChange() { var value = avatarSelector.options[avatarSelector.selectedIndex].text; $('.owl-carousel').trigger('to.owl.carousel', avatarSelector.selectedIndex); for (let i = 0; i < card.length; i++) { card[i].classList.remove('active'); if (card[i].dataset.avatar == value) { card[i].classList.add('active'); } } } function openavatarModel() { console.log(this.dataset.img); modalImg.setAttribute("src", `static/img/${this.dataset.img}.webp`); modalTitle.textContent = `${this.dataset.avatar}`; avatarModal.show(); } $('input[type=file]').on('change', prepareUpload); function prepareUpload(event) { files = event.target.files; var data = new FormData(); //data.append('file', $('.img_up1').prop('files')[0]); data.append('file', files[0]); // append other variables to data if you want: data.append('field_name_x', field_value_x); $(this).next().text(''); $(this).next().html(''); $.ajax({ type: 'POST', processData: false, // important contentType: false, // important data: data, url: 'https://www.choozmo.com:8887/uploadfile', dataType: 'json', success: function (jsonData) { event.target.previousSibling.value = jsonData.msg; $(this).prev().val(jsonData.msg); event.target.nextSibling.innerHTML = ''; event.target.nextSibling.textContent = 'Upload'; //console.log($(this).next()); //$(this).next().html('上傳檔案'); //$(this).next().text('上傳檔案'); }, error: function (error) { event.target.nextSibling.innerHTML = ''; event.target.nextSibling.textContent = '上傳檔案'; alert('圖片錯誤'); } }); } const button = document.querySelector('.next'); // Drafts function getDraft() { JsLoadingOverlay.show({ "overlayBackgroundColor": "#FFFFFF", "overlayOpacity": "1", "spinnerIcon": "ball-circus", "spinnerColor": "#B9DDF3", "spinnerSize": "1x", "overlayIDName": "overlay", "spinnerIDName": "spinner", "offsetX": 0, "offsetY": 0, "containerID": "draft-table", "lockScroll": false, "overlayZIndex": 9998, "spinnerZIndex": 9999 }); let token = get_jwt_token(); axios({ method: 'post', url: 'https://www.choozmo.com:8887/draft_list', headers: { 'accept': 'application/json', 'Authorization': `Bearer ${token}` } }).then(res => { console.log(res.data); let result = [...res.data]; let str = ''; let draftStr = ''; let nodraftTxt = '目前沒有草稿喔'; if(lan == 'en') { titleTxt = 'Video Title'; editTxt = 'Edit'; nodraftTxt = 'no_draft'; } if(result.length > 0){ for(let i = 0;i < result.length; i++) { draftStr += ` ${result[i].title} ` } let titleTxt = '標題'; let editTxt = '編輯'; str = `${draftStr}
${titleTxt} ${editTxt}
` $('.draft-table .card').html(str); JsLoadingOverlay.hide(); } else { str = `
${nodraftTxt}
`; $('.draft-table .card').html(str); JsLoadingOverlay.hide(); } }).catch(err => { console.log(err); }); } getDraft(); function openDrafts() { draftsModal.show() document.querySelector('#draftModal .loader').style.display = "block"; $('#draftModal #draft-table').show(); getDraft(); document.querySelector('#draftModal .loader').style.display = "none"; } function gotoDraft (id) { location.href = `make_video2.html?draftid=${id}`; } function deleteDraft(id) { let token = get_jwt_token(); JsLoadingOverlay.show({ "overlayBackgroundColor": "#FFFFFF", "overlayOpacity": "1", "spinnerIcon": "ball-circus", "spinnerColor": "#B9DDF3", "spinnerSize": "1x", "overlayIDName": "overlay", "spinnerIDName": "spinner", "offsetX": 0, "offsetY": 0, "containerID": "draft-table", "lockScroll": false, "overlayZIndex": 9998, "spinnerZIndex": 9999 }); axios({ method: 'post', url: 'https://www.choozmo.com:8887/del_draft', headers: { 'accept': 'application/json', 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' }, data: { "id": id } }).then(res => { console.log(res.data); //$('.draft-content-delete').html(''); JsLoadingOverlay.hide(); getDraft(); draftsModal.show(); avatarModal.hide(); }).catch(err => { console.log(err); }); } // Make eng video $(".next").click(function () { $('.loading').show(); button.setAttribute('disabled', ''); setTimeout(function () { button.removeAttribute('disabled') }, 15000); avatar = $('.avatar').val(); name_title = $('.title_new').val(); txtARR = []; imgARR = []; sublineARR = []; var step; let contentIdx = document.querySelectorAll(".txtsrc").length; for (let i = 1; i < (contentIdx + 1); i++) { if ($(`.txtsrc${i}`).val() != "") { txtARR.push($(`.txtsrc${i}`).val()) } } let sublineIdx = document.querySelectorAll(".subsrc").length; for (let i = 1; i < (sublineIdx + 1); i++) { if ($(`.subsrc${i}`).val() != "") { sublineARR.push($(`.subsrc${i}`).val()) } } let imgIdx = document.querySelectorAll(".imgsrc").length; for (let i = 1; i < (imgIdx + 1); i++) { if ($(`.imgsrc${i}`).val() != "") { imgARR.push($(`.imgsrc${i}`).val()) } } dataOBJ = { "name": name_title, "text_content": txtARR, "image_urls": imgARR, "sub_titles": sublineARR, "avatar": avatar }; objstr = JSON.stringify(dataOBJ); console.log(dataOBJ); jwt_token = get_jwt_token(); var xhr = new XMLHttpRequest(); xhr.open("POST", "https://www.choozmo.com:8887/make_anchor_video_eng"); xhr.setRequestHeader("accept", "application/json"); xhr.setRequestHeader("Authorization","Bearer "+jwt_token) xhr.setRequestHeader("Content-Type", "application/json"); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { $('.loading').hide(); responseOBJ = JSON.parse(xhr.responseText); console.log(responseOBJ); Swal.fire({ icon: 'info', text: responseOBJ.msg.eng, confirmButtonColor: '#3085d6', }); } else { $('.loading').hide(); } }; var data = renderXHR_data(dataOBJ) console.log(data) result = xhr.send(objstr); }); var loaded_data = '' function openNav() { document.getElementById("mySidenav").style.width = "250px"; document.querySelector('.loader').style.display = "block"; let jwt_token = get_jwt_token(); axios({ method: 'post', url: 'https://www.choozmo.com:8887/history_input', headers: { 'accept': 'application/json', 'Authorization': `Bearer ${jwt_token}` } }).then(res => { console.log(res.data); loaded_data = res.data; var historyList = document.querySelector('.historyList'); historyList.innerHTML = ''; for (var obj of loaded_data) { var list = document.createElement('li'); list.id = obj.id; // div-imgfr var divImgfr = document.createElement('div'); divImgfr.classList.add('item_imgfr'); var img = document.createElement('img'); img.setAttribute('src', obj['image_urls'][0]); divImgfr.appendChild(img); // div-content var contentBox = document.createElement('div'); contentBox.classList.add('content-box'); var boxTitle = document.createElement('p'); boxTitle.classList.add('box-title'); boxTitle.textContent = obj.name; boxTitle.id = obj.id; boxTitle.setAttribute('onclick', 'load_data()'); var boxLink = document.createElement('span'); boxLink.classList.add('box-link'); boxLink.setAttribute("data-url", obj.link); boxLink.setAttribute('onclick', 'view()'); boxLink.innerHTML = '觀看影片'; contentBox.appendChild(boxTitle); contentBox.appendChild(boxLink); list.classList.add("historyList-item"); list.setAttribute('onclick', 'load_data()'); list.appendChild(divImgfr); list.appendChild(contentBox); historyList.appendChild(list); } document.querySelector('.loader').style.display = "none"; }).catch(err => { console.log(err); }); } function closeNav() { document.getElementById("mySidenav").style.width = "250px"; } function view() { event.stopPropagation(); console.log(event.target); if (event.target.nodeName === 'I') { return; } else { window.open(`http://${event.target.dataset.url}`, '_blank'); } } function renderXHR_data(jsonObj) { XHRstring = '' for (const [key, value] of Object.entries(jsonObj)) { console.log(value) if (typeof (value) == "object") { XHRstring += (key+'=['+value.join(',')+']&') } else { XHRstring += (key + '=' + value + '&') } } XHRstring = XHRstring.substring(0, XHRstring.length - 1); return XHRstring } function get_jwt_token(){ jwt_raw = document.cookie.split(';').filter(s=>s.includes('jwt_token'))[0]; if(!jwt_raw) {return} return jwt_raw.split('=')[1]; } function load_data() { var title = document.getElementById("title"); var linker = document.getElementById("linker"); myModal.hide() tid = event.srcElement.id console.log(tid); linker.setAttribute('href', `http://${loaded_data.find(item => item.id == tid).link}`) linker.setAttribute('target', '_blank') $("#linker").html(`http://${loaded_data.find(item => item.id == tid).link}`) $("#linker").show(); $(".linker__box").show(); let historyItem = loaded_data.filter(item => item.id == tid)[0]; console.log(historyItem); $(".title_new").val(loaded_data.find(item => item.id == tid).name); let txtlength = historyItem.text_content.length; let imglength = historyItem.image_urls.length; let sublinelength = historyItem.sub_titles.length; subtitleInputs.innerHTML = ''; imgInputs.innerHTML = ''; sublineInputs.innerHTML = ''; for (let i = 0; i < txtlength; i++) { var txtinput = document.createElement("input"); txtinput.setAttribute('type', 'text'); txtinput.setAttribute('name', `t${i + 1}`); txtinput.value = historyItem.text_content[i]; txtinput.setAttribute('placeholder', `${i + 1}`); txtinput.classList.add('txtsrc', `txtsrc${i + 1}`) subtitleInputs.appendChild(txtinput); } for (let i = 0; i < sublinelength; i++) { var txtinput = document.createElement("input"); txtinput.setAttribute('type', 'text'); txtinput.setAttribute('name', `s${i + 1}`); txtinput.value = historyItem.sub_titles[i]; txtinput.setAttribute('placeholder', `${i + 1}`); txtinput.classList.add('subsrc', `subsrc${i + 1}`) sublineInputs.appendChild(txtinput); } for (let i = 0; i < imglength; i++) { var imginput = document.createElement("input"); imginput.setAttribute('type', 'text'); imginput.setAttribute('name', `m${i + 1}`); imginput.classList.add('imgsrc', `imgsrc${i + 1}`); imginput.value = historyItem.image_urls[i]; imginput.setAttribute('placeholder', `${i + 1}`); imgInputs.appendChild(imginput); var imgupload = document.createElement("input"); imgupload.setAttribute('id', `img${i + 1}`); imgupload.setAttribute('type', `file`); imgupload.classList.add('img_uploader', 'img_up'); imgInputs.appendChild(imgupload); var imguploadlabel = document.createElement("label"); imguploadlabel.setAttribute('for', `img${i + 1}`); imguploadlabel.classList.add('upload-btn'); imguploadlabel.textContent = 'Upload'; imgInputs.appendChild(imguploadlabel); } } // var subtitleInputs = document.querySelector(".subtitle-inputs"); // var sublineInputs = document.querySelector(".subline-inputs"); // var imgInputs = document.querySelector(".img-inputs"); let length = 5; function initial() { for (let i = 0; i < length; i++) { // rendertxtBlock(i + 1); // renderimgBlock(i + 1); // renderSublineBlock(i +1); renderInputSec(i+1); } console.log(document.querySelectorAll(".txtsrc").length + 1); } initial(); /* var addbtn = document.querySelector(".add"); var addimgbtn = document.querySelector(".addimg"); var addSubline = document.querySelector('.add-subline'); addbtn.addEventListener('click', addtxtBlock); addimgbtn.addEventListener('click', addimgBlock); addSubline.addEventListener('click', addsubBlock); */ var addsecbtn = document.querySelector(".addsec"); addsecbtn.addEventListener('click', addsecBlock); function addsecBlock() { let newsecIdx = document.querySelectorAll(".input-sec").length + 1; renderInputSec(newsecIdx); } /* function addtxtBlock() { let newIdx = document.querySelectorAll(".txtsrc").length + 1; rendertxtBlock(newIdx); } function addsubBlock() { let newIdx = document.querySelectorAll(".subsrc").length + 1; renderSublineBlock(newIdx); } function addimgBlock() { let newimgIdx = document.querySelectorAll(".imgsrc").length + 1; renderimgBlock(newimgIdx); } */ function rendertxtBlock(i) { var txtinput = document.createElement("input"); txtinput.setAttribute('type', 'text'); txtinput.setAttribute('name', `t${i}`); txtinput.value = ""; txtinput.setAttribute('placeholder', `${i}`); txtinput.classList.add('txtsrc', `txtsrc${i}`) subtitleInputs.appendChild(txtinput); } function renderSublineBlock(i) { var txtinput = document.createElement("input"); txtinput.setAttribute('type', 'text'); txtinput.setAttribute('name', `s${i}`); txtinput.value = ""; txtinput.setAttribute('placeholder', `${i}`); txtinput.classList.add('subsrc', `subsrc${i}`) sublineInputs.appendChild(txtinput); } function renderimgBlock(i) { var imginput = document.createElement("input"); imginput.setAttribute('type', 'text'); imginput.setAttribute('name', `m${i}`); imginput.classList.add('imgsrc', `imgsrc${i}`); imginput.value = ""; imginput.setAttribute('placeholder', `${i}`); imgInputs.appendChild(imginput); var imgupload = document.createElement("input"); imgupload.setAttribute('id', `img${i}`); imgupload.setAttribute('type', `file`); imgupload.classList.add('img_uploader', 'img_up'); imgInputs.appendChild(imgupload); var imguploadlabel = document.createElement("label"); imguploadlabel.setAttribute('for', `img${i}`); imguploadlabel.classList.add('upload-btn'); imguploadlabel.textContent = 'Upload'; imgInputs.appendChild(imguploadlabel); $('input[type=file]').on('change', prepareUpload); } function renderInputSec(i) { var input_sec = document.createElement('div'); var img_box = document.createElement('div'); input_sec.classList.add('input-sec', `input-sec${i}`, 'p-3', 'mb-3', 'text-end'); img_box.classList.add('img-box'); // subtitle input var subtitleinput = document.createElement("input"); subtitleinput.setAttribute('type', 'text'); subtitleinput.setAttribute('name', `s${i}`); subtitleinput.classList.add('subsrc', `subsrc${i}`); subtitleinput.value = ""; subtitleinput.setAttribute('placeholder', `Subtitle`); if(lan == 'zh') { subtitleinput.setAttribute('placeholder', '副標題'); } input_sec.appendChild(subtitleinput); // text input var txtinput = document.createElement("input"); txtinput.setAttribute('type', 'text'); txtinput.setAttribute('name', `t${i}`); txtinput.classList.add('txtsrc', `txtsrc${i}`); txtinput.value = ""; txtinput.setAttribute('placeholder', `Line`); if(lan == 'zh') { txtinput.setAttribute('placeholder', `台詞`); } input_sec.appendChild(txtinput); // img url input var imginput = document.createElement("input"); imginput.setAttribute('type', 'text'); imginput.setAttribute('name', `m${i}`); imginput.classList.add('imgsrc', `imgsrc${i}`); imginput.value = ""; imginput.setAttribute('placeholder', 'Type in image link or upload image'); if(lan == 'zh') { imginput.setAttribute('placeholder', '輸入圖片網址或上傳圖片'); } img_box.appendChild(imginput); // img upload input var imgupload = document.createElement("input"); imgupload.setAttribute('id', `img${i}`); imgupload.setAttribute('type', `file`); imgupload.classList.add('img_uploader', 'img_up'); imgupload.style.display = "none"; img_box.appendChild(imgupload); // img upload label var imguploadlabel = document.createElement("label"); imguploadlabel.setAttribute('for', `img${i}`); imguploadlabel.classList.add('upload-btn'); // imguploadlabel.textContent = 'Upload'; imguploadlabel.setAttribute('set-lan', `html:upload_file`); img_box.appendChild(imguploadlabel); imgupload.addEventListener('change', prepareUpload); // preview image // var imgPreBox = document.createElement("div"); // imgPreBox.classList.add('upload-cta'); // img_box.appendChild(imgPreBox); input_sec.appendChild(img_box); document.querySelector('.img-inputTest').append(input_sec); }