Просмотр исходного кода

Merge branch 'master' of http://git.choozmo.com:3000/choozmo/AI_Anchor_2

deployer 3 лет назад
Родитель
Сommit
6c7e2cff9d

+ 4 - 2
OpenshotService/openshot_video_generator.py

@@ -793,7 +793,9 @@ def anchor_video_v2(name_hash,name,text_content, image_urls,multiLang,avatar,fre
         anchor_list[idx].Open()
         anchor_list[idx].Open()
         anchor_clip_list[idx] = video_photo_clip(vid=anchor_list[idx],layer=4,scale_x=0.65,scale_y=0.65,
         anchor_clip_list[idx] = video_photo_clip(vid=anchor_list[idx],layer=4,scale_x=0.65,scale_y=0.65,
                 location_x=0.35,location_y=0.25,position=main_timer, end=clip_duration,ck=ck_anchor,audio=False)
                 location_x=0.35,location_y=0.25,position=main_timer, end=clip_duration,ck=ck_anchor,audio=False)
-        t.AddClip(anchor_clip_list[idx])
+        if avatar==18:
+            t.AddClip(anchor_clip_list[idx])
+        audio_list[idx].Close()
 
 
         img_list[idx] = openshot.FFmpegReader(dir_photo+name_hash+'/'+p)
         img_list[idx] = openshot.FFmpegReader(dir_photo+name_hash+'/'+p)
         img_list[idx].Open()
         img_list[idx].Open()
@@ -811,7 +813,7 @@ def anchor_video_v2(name_hash,name,text_content, image_urls,multiLang,avatar,fre
 
 
         img_list[idx].Close()
         img_list[idx].Close()
         anchor_list[idx].Close()
         anchor_list[idx].Close()
-        audio_list[idx].Close()
+        
             
             
         sub_img_list[idx] = [None] * len(sub_list[idx])
         sub_img_list[idx] = [None] * len(sub_list[idx])
         sub_clip_list[idx] = [None] * len(sub_list[idx])
         sub_clip_list[idx] = [None] * len(sub_list[idx])

+ 1 - 1
html/index.html

@@ -131,7 +131,7 @@
                                     href="user_profile2.html" set-lan="html:user_profile">會員資料</a>
                                     href="user_profile2.html" set-lan="html:user_profile">會員資料</a>
                             </li>
                             </li>
                             <li class="nav-item">
                             <li class="nav-item">
-                                <a class="nav-link btn-logout" aria-current="page" set-lan="html:logout">登出</a>
+                                <a class="nav-link btn-logout text-white" aria-current="page" set-lan="html:logout">登出</a>
                             </li>
                             </li>
                         </ul>
                         </ul>
                         <span class="menu-bar ms-auto" style="font-size: 32px;"><i
                         <span class="menu-bar ms-auto" style="font-size: 32px;"><i

+ 50 - 27
html/index_eng.html

@@ -53,17 +53,29 @@
           <div class="collapse navbar-collapse" id="navbarSupportedContent">
           <div class="collapse navbar-collapse" id="navbarSupportedContent">
             <ul class="navbar-des navbar-nav ms-auto mb-2 mb-lg-0">
             <ul class="navbar-des navbar-nav ms-auto mb-2 mb-lg-0">
               <li class="nav-item">
               <li class="nav-item">
-                <a class="nav-link active text-white" aria-current="page" href="pricing.html">Pricing</a>
+                <a class="nav-link active text-white" aria-current="page" href="pricing.html" set-lan="html:pricing">Pricing</a>
+              </li>
+              <li class="nav-item dropdown me-3 me-lg-1">
+                <a class="nav-link dropdown-toggle text-white" href="#" id="navbarDropdown"
+                    role="button" data-bs-toggle="dropdown" aria-expanded="false">
+                    中/En
+                </a>
+                <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
+                    <li><button class="nav-link lan-swtich" aria-current="page" set-lan="html:en"
+                            onclick="changeLan(this);window.location.reload();" value="en">English</button></li>
+                    <li><button class="nav-link lan-switch" aria-current="page" set-lan="html:zh"
+                            onclick="changeLan(this);window.location.reload();" value="zh">中文</button></li>
+                </ul>
               </li>
               </li>
               <!-- <li class="nav-item">
               <!-- <li class="nav-item">
                 <a class="nav-link active btn-login text-white" aria-current="page" href="login.html">Login</a>
                 <a class="nav-link active btn-login text-white" aria-current="page" href="login.html">Login</a>
               </li> -->
               </li> -->
               <li class="nav-item">
               <li class="nav-item">
-                <a class="nav-link btn-userProfile text-white" aria-current="page" href="user_profile2.html">User
+                <a class="nav-link btn-userProfile text-white" aria-current="page" href="user_profile2.html" set-lan="html:user_profile">User
                   Profile</a>
                   Profile</a>
               </li>
               </li>
               <li class="nav-item">
               <li class="nav-item">
-                <a class="nav-link btn-logout text-white" aria-current="page">Log Out</a>
+                <a class="nav-link btn-logout text-white" aria-current="page" set-lan="html:logout">Log Out</a>
               </li>
               </li>
             </ul>
             </ul>
           </div>
           </div>
@@ -82,49 +94,63 @@
               <i class="fas fa-times text-white me-3 mt-3"></i>
               <i class="fas fa-times text-white me-3 mt-3"></i>
           </div>
           </div>
             <div class="text-start">
             <div class="text-start">
-              <h2 class="fw-bold ps-0" href="index.html"><a class="nav-link active ps-3 pt-0" aria-current="page"
-                  href="index.html">AI Spokesgirl</a></h2>
+              <h2 class="fw-bold ps-0" href="./user_profile2.html"><a class="nav-link active ps-3 pt-0" aria-current="page"
+                  href="./user_profile2.html">AI Spokesgirl</a></h2>
             </div>
             </div>
             <div class="userName"></div>
             <div class="userName"></div>
             <img class="user img-fluid rounded-circle" src="./static/img/userprofile/userimg.png" alt="">
             <img class="user img-fluid rounded-circle" src="./static/img/userprofile/userimg.png" alt="">
-            <p class="text-white my-3 text-center">Create something today!</p>
+            <p class="text-white my-3 text-center" set-lan="html:Createsthtoday">Create something today!</p>
+            <div class="navbar-nav mb-2 mb-lg-0 px-3 pe-4">
+              <a class="nav-link btn-gocreate text-white col-6 btn-makev" aria-current="page"
+                  href="./make_video2.html" set-lan="html:make_video">影片製作</a>
+              <a class="nav-link btn-gocreate text-white col-6 btn-makelong" aria-current="page"
+                  href="./make_video_long.html" set-lan="html:make_video_long">長影片製作</a>
+            </div>
             <div class="navbar-nav mb-2 mb-lg-0 px-3 pe-4">
             <div class="navbar-nav mb-2 mb-lg-0 px-3 pe-4">
-              <a class="nav-link btn-gocreate text-white col-6" aria-current="page" href="./index_eng.html">Make
-                English<br>Videos</a>
               <a class="nav-link btn-gocreate text-white col-6" aria-current="page"
               <a class="nav-link btn-gocreate text-white col-6" aria-current="page"
-                href="./make_video_slide_eng.html">Make Videos <br>By Slides</a>
+                href="./make_video_slide_eng.html" set-lan="html:make_slides">Make Videos <br>By Slides</a>
+              <a class="nav-link btn-gocreate text-white col-6" aria-current="page" href="./index_eng.html" set-lan="html:make_video_eng">Make
+                English<br>Videos</a>
             </div>
             </div>
             <hr>
             <hr>
             <ul class="nav-list ps-0">
             <ul class="nav-list ps-0">
               <li class="nav-list-item pb-1 mb-3 text-start ps-3" data-bs-toggle="modal" data-bs-target="#howto"><i
               <li class="nav-list-item pb-1 mb-3 text-start ps-3" data-bs-toggle="modal" data-bs-target="#howto"><i
                   class="fas fa-book-open me-2"></i>
                   class="fas fa-book-open me-2"></i>
-                <lan>Usage Introduction</lan>
+                <lan set-lan="html:usage_intro">Usage Introduction</lan>
               </li>
               </li>
               <a style="text-decoration: none;color:white;" href="./user_profile2.html">
               <a style="text-decoration: none;color:white;" href="./user_profile2.html">
                 <li class="nav-list-item pb-1 mb-3 text-start ps-3" data-bs-toggle="modal">
                 <li class="nav-list-item pb-1 mb-3 text-start ps-3" data-bs-toggle="modal">
                   <i class="fas fa-user me-2"></i>
                   <i class="fas fa-user me-2"></i>
-                  <lan>User Profile</lan>
+                  <lan set-lan="html:user_profile">User Profile</lan>
                 </li>
                 </li>
               </a>
               </a>
               <li class="nav-list-item pb-1 text-start ps-3" data-bs-toggle="modal" data-bs-target="#history"
               <li class="nav-list-item pb-1 text-start ps-3" data-bs-toggle="modal" data-bs-target="#history"
                 onclick="openNav()">
                 onclick="openNav()">
                 <i class="fas fa-history me-2"></i>
                 <i class="fas fa-history me-2"></i>
-                <lan>History</lan>
+                <lan set-lan="html:history">History</lan>
               </li>
               </li>
               <div class="Mobile-nav">
               <div class="Mobile-nav">
                 <hr>
                 <hr>
                 <li class="nav-item text-start">
                 <li class="nav-item text-start">
-                  <a style="font-size: 18px;" class="nav-link active text-white" aria-current="page" href="pricing.html"><i class='fas fa-tags me-2'></i>Pricing</a>
+                  <a style="font-size: 18px;" class="nav-link active text-white" aria-current="page" href="pricing.html"><lan set-lan="html:pricing-m">Pricing</lan></a>
                 </li>
                 </li>
                 <li class="nav-item text-start">
                 <li class="nav-item text-start">
-                  <a style="font-size: 18px;" class="nav-link active btn-login text-white" aria-current="page" href="login.html"><i class="fas fa-sign-in-alt text-white me-3"></i>Login</a>
+                  <a style="font-size: 18px;" class="nav-link active btn-login text-white" aria-current="page" href="login.html"><i class="fas fa-sign-in-alt text-white me-3"></i><lan set-lan="html:login">Login</lan></a>
                 </li>
                 </li>
                 <!-- <li class="nav-item text-start">
                 <!-- <li class="nav-item text-start">
                   <a style="font-size: 18px;" class="nav-link btn-userProfile text-white" aria-current="page" href="user_profile2.html">User
                   <a style="font-size: 18px;" class="nav-link btn-userProfile text-white" aria-current="page" href="user_profile2.html">User
                     Profile</a>
                     Profile</a>
                 </li> -->
                 </li> -->
+                <div id="lang-manu">
+                  <li><button class="nav-link lan-swtich bg-transparent text-white border-0 mx-auto" aria-current="page"
+                          set-lan="html:en" onclick="changeLan(this)"
+                          value="en">English</button></li>
+                  <li><button class="nav-link lan-switch bg-transparent text-white border-0 mx-auto" aria-current="page"
+                          set-lan="html:zh" onclick="changeLan(this)" value="zh">中文</button>
+                  </li>
+                </div>
                 <li class="nav-item text-start">
                 <li class="nav-item text-start">
-                  <a style="font-size: 18px;" class="nav-link btn-logout text-white" aria-current="page"><i class='fas fa-sign-out-alt text-white me-3'></i>Log Out</a>
+                  <a style="font-size: 18px;" class="nav-link btn-logout text-white" aria-current="page"><i class='fas fa-sign-out-alt text-white me-3'></i><lan set-lan="html:logout">Log Out</lan></a>
                 </li>
                 </li>
                 
                 
             </div>
             </div>
@@ -153,19 +179,19 @@
             <div class="linker__box">
             <div class="linker__box">
               <p>Preview video</p>
               <p>Preview video</p>
               <i class="fas fa-link"></i>
               <i class="fas fa-link"></i>
-              <a id='linker' style="display: none;" class="ms-2">Video link</a>
+              <a id='linker' style="display: none;" class="ms-2" set-lan="html:preview_videos">Video link</a>
             </div>
             </div>
             <!-- fieldsets -->
             <!-- fieldsets -->
             <fieldset>
             <fieldset>
-              <h3 class="fs-subtitle">Video Title<img class="ms-1" src="static/img/question.png" alt=""
+              <h3 class="fs-subtitle"><lan set-lan="html:video_title">標題</lan><img class="ms-1" src="static/img/question.png" alt=""
                   data-bs-toggle="tooltip" data-bs-placement="right" title="The title of your video"></h3>
                   data-bs-toggle="tooltip" data-bs-placement="right" title="The title of your video"></h3>
               <input id=title type="text" name='t1' class='title_new' placeholder="Video Title" /> <br />
               <input id=title type="text" name='t1' class='title_new' placeholder="Video Title" /> <br />
             </fieldset>
             </fieldset>
             <fieldset>
             <fieldset>
-              <h3 class="fs-subtitle">Choose Character<img class="ms-1" src="static/img/question.png" alt=""
+              <h3 class="fs-subtitle"><lan set-lan="html:choose_character">選擇人物</lan><img class="ms-1" src="static/img/question.png" alt=""
                   data-bs-toggle="tooltip" data-bs-placement="right" title="The spokesgirl of your video"></h3>
                   data-bs-toggle="tooltip" data-bs-placement="right" title="The spokesgirl of your video"></h3>
               <select id="avatar" class='avatar'>
               <select id="avatar" class='avatar'>
-                <option value="Choose Character" selected="selected" disabled>Choose Character</option>
+                <option set-lan="html:p_choose_character" value="請選擇人物" selected="selected" disabled>請選擇人物</option> 
                 <option value="7">Peggy</option>
                 <option value="7">Peggy</option>
                 <option value="8">Stacy</option>
                 <option value="8">Stacy</option>
                 <option value="11">Summer</option>
                 <option value="11">Summer</option>
@@ -248,14 +274,14 @@
               <span class="add-subline">+</span>
               <span class="add-subline">+</span>
             </fieldset> -->
             </fieldset> -->
             <fieldset id='imgSrc' style="box-shadow: none;-webkit-box-shadow: none; padding: 0;">
             <fieldset id='imgSrc' style="box-shadow: none;-webkit-box-shadow: none; padding: 0;">
-              <h3 class="fs-subtitle" style="display: inline-block;">Image Links<img class="ms-1"
+              <h3 class="fs-subtitle" style="display: inline-block;"><lan set-lan="html:content">內容素材</lan><img class="ms-1"
                   src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right"
                   src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right"
                   title="Supported File Formats: png, jpg, mp4"></h3><br />
                   title="Supported File Formats: png, jpg, mp4"></h3><br />
               <div class="img-inputTest mt-3 input_eng">
               <div class="img-inputTest mt-3 input_eng">
                 
                 
               </div>
               </div>
               <span class="addsec">+</span>
               <span class="addsec">+</span>
-              <input id="checker" type="button" name="next" class="next action-button" value="Submit" />
+              <input id="checker" type="button" name="next" class="next action-button" set-lan="value:submit" />
             </fieldset>
             </fieldset>
           </form>
           </form>
           <!-- <div style="width: 80%;margin: 0 auto;"><iframe src="http://www.choozmo.com:8168/ai_anchor_video/16250306886652043.mp4" frameborder="0" style="width: 100%;height: 400px;"></iframe></div> -->
           <!-- <div style="width: 80%;margin: 0 auto;"><iframe src="http://www.choozmo.com:8168/ai_anchor_video/16250306886652043.mp4" frameborder="0" style="width: 100%;height: 400px;"></iframe></div> -->
@@ -274,12 +300,9 @@
           <div class="modal-body">
           <div class="modal-body">
             <div class="modal-terms">
             <div class="modal-terms">
               <ol class="ps-0">
               <ol class="ps-0">
-                <li>1. Please Provide an Image Link Corresponding to a Line as a Collocation</li>
-                <li>2. Supported File Format:<stong class="strong">.png, jpg, .mp4</stong>
-                </li>
-                <li>3. After Clicking Submit, You Will Need To Wait For A Period Of Time For The Production Of The
-                  Video. Please Wait Patiently. You Can Check It At The Notification URL When The Production Is
-                  Completed.</li>
+                <li set-lan="html:one_line_to_one_img">1. 一句台詞請對應提供一個影像連結做為搭配</li>
+                <li><lang set-lan="html:sup_img_profile">2. 影像連結檔案格式支援:</lang><stong class="strong">.png, jpg, .mp4</stong></li>
+                <li set-lan="html:submit_to_wait">3. 點選“送出”之後需等待一段影片製作的時間,請您耐心等候,待製作完畢可於通知網址查看</li>
               </ol>
               </ol>
             </div>
             </div>
           </div>
           </div>

+ 27 - 6
html/invite.html

@@ -189,16 +189,32 @@
                         <div class="tab-pane fade p-lg-3 show active" id="register" role="tabpanel" aria-labelledby="register-tab">
                         <div class="tab-pane fade p-lg-3 show active" id="register" role="tabpanel" aria-labelledby="register-tab">
                             <form>
                             <form>
                                 <div class="form-floating mb-3">
                                 <div class="form-floating mb-3">
-                                    <input type="text" class="form-control" id="username" name="username" placeholder="User name" required>
-                                    <label for="username"><i class="fas fa-user me-2"></i>User name</label>
+                                    <input type="text" class="form-control" id="username" name="username" placeholder="User Name" required>
+                                    <label for="username"><i class="fas fa-user me-2"></i><lan set-lan="html:userName">User Name</lan></label>
                                 </div>
                                 </div>
                                 <div class="form-floating mb-3">
                                 <div class="form-floating mb-3">
                                     <input type="email" class="form-control" id="email" name="email" placeholder="name@example.com" required>
                                     <input type="email" class="form-control" id="email" name="email" placeholder="name@example.com" required>
-                                    <label for="email"><i class="fas fa-envelope me-2"></i>Email address</label>
+                                    <label for="email"><i class="fas fa-envelope me-2"></i><lan set-lan="html:emailAddress">Email address</lan></label>
                                 </div>
                                 </div>
-                                <div class="form-floating mb-3">
+                                <div class="form-floating mb-3 position-relative">
                                     <input type="password" class="form-control" id="password" name="password"  placeholder="Password" required>
                                     <input type="password" class="form-control" id="password" name="password"  placeholder="Password" required>
-                                    <label for="password"><i class="fas fa-lock me-2"></i>Password</label>
+                                    <label for="password">
+                                        <i class="fas fa-lock me-2"></i>
+                                        <lan set-lan="html:register_password">Password</lan>
+                                        <lan style="font-size: 12px;" set-lan="html:password_length">(4-12位數密碼)</lan>
+                                    </label>
+                                    <i class="fas fa-eye psd_visible position-absolute"></i>
+                                    <i class="fas fa-eye-slash psd_invisible position-absolute"></i>
+                                </div>
+                                <div class="form-floating mb-3 position-relative">
+                                    <input type="password" class="form-control" id="confirm_password" name="confirm_password"  placeholder="Password" required>
+                                    <label for="confirm_password">
+                                        <i class="fas fa-lock me-2"></i>
+                                        <lan set-lan="html:confirm_password">Password</lan>
+                                        <lan style="font-size: 12px;" set-lan="html:password_confirm_txt">(再次輸入您的密碼)</lan>
+                                    </label>
+                                    <i class="fas fa-eye psd_visible position-absolute"></i>
+                                    <i class="fas fa-eye-slash psd_invisible position-absolute"></i>
                                 </div>
                                 </div>
                                 <!-- <div class="mb-3">
                                 <!-- <div class="mb-3">
                                     <input type="checkbox" id="privacy" name="privacy" checked required>
                                     <input type="checkbox" id="privacy" name="privacy" checked required>
@@ -206,11 +222,16 @@
                                 </div> -->
                                 </div> -->
                                 <div class="d-flex justify-content-center">
                                 <div class="d-flex justify-content-center">
                                     <p set-lan="html:oldHere">已經有帳號?</p>
                                     <p set-lan="html:oldHere">已經有帳號?</p>
-                                    <a class="ms-1" href="login.html" set-lan="html:login">登入</a>
+                                    <a class="ms-1" href="loginB.html" set-lan="html:login">登入</a>
                                 </div>
                                 </div>
                                 <div class="mb-3 d-flex justify-content-center">
                                 <div class="mb-3 d-flex justify-content-center">
                                     <button type="button" class="btn btn-primary align-items-center btn-register" set-lan="html:goRegister_link">立即註冊</button>
                                     <button type="button" class="btn btn-primary align-items-center btn-register" set-lan="html:goRegister_link">立即註冊</button>
                                 </div>
                                 </div>
+                                <small class="register__policies">
+                                    <lan set-lan="html:privacy_term_1">註冊即表示您已閱讀並同意</lan><a href="" onclick="window.open('./privacy.html')"><lan set-lan="html:privacy_term_2">服務條款</lan></a>
+                                    <lan set-lan="html:privacy_term_3">及</lan>
+                                    <a href="" onclick="window.open('./privacy.html')"><lan set-lan="html:privacy_term_4">隱私權政策</lan></a>
+                                </small>
                             </form>
                             </form>
                         </div>
                         </div>
                     </div>
                     </div>

+ 29 - 1
html/invite.js

@@ -6,6 +6,19 @@ const registerPassword = document.querySelector('#register #password');
 const btnLoginPage_d = document.querySelector('.login-top .btn-login');
 const btnLoginPage_d = document.querySelector('.login-top .btn-login');
 const btnUserProfile_d = document.querySelector('.login-top .btn-userProfile');
 const btnUserProfile_d = document.querySelector('.login-top .btn-userProfile');
 const btnLogout_d= document.querySelector('.login-top .btn-logout');
 const btnLogout_d= document.querySelector('.login-top .btn-logout');
+$('.psd_visible').hide();
+
+$('.psd_invisible').click(function(){
+    $(this).prev().toggle();
+    $(this).toggle();
+    $(this).parent().children(':first').attr('type', 'text');
+})
+
+$('.psd_visible').click(function(){
+    $(this).toggle();
+    $(this).next().toggle();
+    $(this).parent().children(':first').attr('type', 'password');
+})
 
 
 registerPassword.addEventListener('keyup', registerByEnter);
 registerPassword.addEventListener('keyup', registerByEnter);
 btnRegister.addEventListener('click', register);
 btnRegister.addEventListener('click', register);
@@ -53,6 +66,20 @@ function validatePassword(psd) {
     }
     }
 }
 }
 
 
+function validateConfirmPsd(psd1, psd2) {
+    if(psd1 == psd2) {
+        $('#register #confirm_password').removeClass('error');
+        $('.error-text').remove();
+        return true;
+    } else {
+        $('#register #confirm_password').addClass('error');
+        if( !$('.error-text').length ) {
+            $('input.error').after('<p class="error-text" set-lan="html:errorConsistentPsd">密碼輸入需一致</p>');
+        } 
+        return false;
+    }
+}
+
 function getpathId() {
 function getpathId() {
     const urlParams = new URLSearchParams(window.location.search);
     const urlParams = new URLSearchParams(window.location.search);
     const id = urlParams.get('code');
     const id = urlParams.get('code');
@@ -66,6 +93,7 @@ function register() {
     let userName = $('#register [name = "username"]').val();
     let userName = $('#register [name = "username"]').val();
     let email = $('#register [name = "email"]').val();
     let email = $('#register [name = "email"]').val();
     let password = $('#register [name = "password"]').val();
     let password = $('#register [name = "password"]').val();
+    let confirm_psd = $('#register #confirm_password').val();
     let code = getpathId();
     let code = getpathId();
 
 
     let userObj = {
     let userObj = {
@@ -104,7 +132,7 @@ function register() {
         return;
         return;
     }
     }
 
 
-    if(userName && validateEmail(email) && validatePassword(password)) {
+    if(userName && validateEmail(email) && validatePassword(password) && validateConfirmPsd(password, confirm_psd)) {
         JsLoadingOverlay.show({
         JsLoadingOverlay.show({
             "overlayBackgroundColor": "#666666",
             "overlayBackgroundColor": "#666666",
             "overlayOpacity": 0.6,
             "overlayOpacity": 0.6,

+ 3 - 3
html/make_video.html

@@ -137,8 +137,8 @@
                             <i class="fas fa-times text-white me-3 mt-3"></i>
                             <i class="fas fa-times text-white me-3 mt-3"></i>
                         </div>
                         </div>
                         <div class="text-start">
                         <div class="text-start">
-                            <h2 class="fw-bold ps-0" href="index.html"><a class="nav-link active ps-3 pt-0"
-                                    aria-current="page" href="index.html">AI Spokesgirl</a></h2>
+                            <h2 class="fw-bold ps-0" href="./user_profile2.html"><a class="nav-link active ps-3 pt-0"
+                                    aria-current="page" href="./user_profile2.html">AI Spokesgirl</a></h2>
                         </div>
                         </div>
                         <div class="choozmologo text-start">
                         <div class="choozmologo text-start">
                             <!-- <a class="navbar-brand pb-0 d-inline" href="index.html"><img class="img-fluid" style="width: 120px;" src="./static/img//contactus/CMM_LOGO.png" alt=""></a> -->
                             <!-- <a class="navbar-brand pb-0 d-inline" href="index.html"><img class="img-fluid" style="width: 120px;" src="./static/img//contactus/CMM_LOGO.png" alt=""></a> -->
@@ -285,7 +285,7 @@
                         <!-- fieldsets -->
                         <!-- fieldsets -->
                         <fieldset>
                         <fieldset>
                             <h3 class="fs-subtitle"><lan set-lan="html:video_title">標題</lan><img class="ms-1" src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" title="將作為影片的內嵌標題 The title of your video"></h3>            
                             <h3 class="fs-subtitle"><lan set-lan="html:video_title">標題</lan><img class="ms-1" src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" title="將作為影片的內嵌標題 The title of your video"></h3>            
-                            <input id=title type="text" name='t1' class='title_new' set-lan="placeholder:video_title" /> <br/>
+                            <input id=title type="text" name='t1' class='title_new' value="" placeholder="標題"/> <br/>
                         </fieldset>
                         </fieldset>
                         <fieldset>
                         <fieldset>
                             <h3  class="fs-subtitle"><lan set-lan="html:choose_character">選擇人物</lan><img class="ms-1" src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" title="將作為影片的講者 The spokesgirl of your video"></h3>            
                             <h3  class="fs-subtitle"><lan set-lan="html:choose_character">選擇人物</lan><img class="ms-1" src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" title="將作為影片的講者 The spokesgirl of your video"></h3>            

+ 14 - 8
html/make_video2.html

@@ -137,8 +137,8 @@
                             <i class="fas fa-times text-white me-3 mt-3"></i>
                             <i class="fas fa-times text-white me-3 mt-3"></i>
                         </div>
                         </div>
                         <div class="text-start">
                         <div class="text-start">
-                            <h2 class="fw-bold ps-0" href="index.html"><a class="nav-link active ps-3 pt-0"
-                                    aria-current="page" href="index.html">AI Spokesgirl</a></h2>
+                            <h2 class="fw-bold ps-0" href="./user_profile2.html"><a class="nav-link active ps-3 pt-0"
+                                    aria-current="page" href="./user_profile2.html">AI Spokesgirl</a></h2>
                         </div>
                         </div>
                         <div class="choozmologo text-start">
                         <div class="choozmologo text-start">
                             <!-- <a class="navbar-brand pb-0 d-inline" href="index.html"><img class="img-fluid" style="width: 120px;" src="./static/img//contactus/CMM_LOGO.png" alt=""></a> -->
                             <!-- <a class="navbar-brand pb-0 d-inline" href="index.html"><img class="img-fluid" style="width: 120px;" src="./static/img//contactus/CMM_LOGO.png" alt=""></a> -->
@@ -189,7 +189,7 @@
                                         <i class="fas fa-globe text-white me-3"></i>中/En<i id="lang-arrow" class="fas fa-angle-down text-white ms-2"></i>
                                         <i class="fas fa-globe text-white me-3"></i>中/En<i id="lang-arrow" class="fas fa-angle-down text-white ms-2"></i>
                                     </a>
                                     </a>
                                 </li>
                                 </li>
-                                <div id="lang-manu">
+                                <div id="lang-manu" class="d-block">
                                         <li><button class="nav-link lan-swtich bg-transparent text-white border-0 mx-auto" aria-current="page"
                                         <li><button class="nav-link lan-swtich bg-transparent text-white border-0 mx-auto" aria-current="page"
                                                 set-lan="html:en" onclick="changeLan(this)"
                                                 set-lan="html:en" onclick="changeLan(this)"
                                                 value="en">English</button></li>
                                                 value="en">English</button></li>
@@ -285,12 +285,12 @@
                         <!-- fieldsets -->
                         <!-- fieldsets -->
                         <fieldset>
                         <fieldset>
                             <h3 class="fs-subtitle"><lan set-lan="html:video_title">標題</lan><img class="ms-1" src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" title="將作為影片的內嵌標題 The title of your video"></h3>            
                             <h3 class="fs-subtitle"><lan set-lan="html:video_title">標題</lan><img class="ms-1" src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" title="將作為影片的內嵌標題 The title of your video"></h3>            
-                            <input id=title type="text" name='t1' class='title_new' value="" set-lan="placeholder:video_title" /> <br/>
+                            <input id=title type="text" name='t1' class='title_new' value="" placeholder="標題" /> <br/>
                         </fieldset>
                         </fieldset>
                         <fieldset>
                         <fieldset>
                             <h3  class="fs-subtitle"><lan set-lan="html:choose_character">選擇人物</lan><img class="ms-1" src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" title="將作為影片的講者 The spokesgirl of your video"></h3>            
                             <h3  class="fs-subtitle"><lan set-lan="html:choose_character">選擇人物</lan><img class="ms-1" src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" title="將作為影片的講者 The spokesgirl of your video"></h3>            
                             <select id="avatar" class='avatar'>
                             <select id="avatar" class='avatar'>
-                                <option set-lan="html:p_choose_character" value="請選擇人物" selected="selected" disabled>>請選擇人物</option>              
+                                <option set-lan="html:p_choose_character" value="請選擇人物" selected="selected" disabled>請選擇人物</option>              
                                 <option value="7">Peggy</option>
                                 <option value="7">Peggy</option>
                                 <option value="8">Stacy</option>
                                 <option value="8">Stacy</option>
                                 <option value="11">Summer韓小夏</option>
                                 <option value="11">Summer韓小夏</option>
@@ -363,14 +363,20 @@
                               <img class="ms-1" src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" 
                               <img class="ms-1" src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" 
                                 title="放入您的台詞及圖片,圖片僅接受png, jpg, mp4格式 Type in your content and images. Supported File Formats: png, jpg, mp4.">
                                 title="放入您的台詞及圖片,圖片僅接受png, jpg, mp4格式 Type in your content and images. Supported File Formats: png, jpg, mp4.">
                             </h3><br/>
                             </h3><br/>
-                            <label for="myCheck" set-lan="html:add_eng">加入英文:</label> 
-                            <input type="checkbox" id="multiLang" > <br/>
+                           
                             <div class="img-inputTest mt-3">
                             <div class="img-inputTest mt-3">
                                 
                                 
                             </div>
                             </div>
-                            <span class="addsec">+</span>
+                            <div>
+                                <span class="addsec">+</span>
+                            </div>
+
+                            <label for="myCheck" set-lan="html:add_eng">加入英文:</label> 
+                            <input type="checkbox" id="multiLang" > <br/>
+
                             <input id="checker" type="button" name="next" class="next action-button" set-lan="value:submit" value="送出" />
                             <input id="checker" type="button" name="next" class="next action-button" set-lan="value:submit" value="送出" />
                             <span class="draft-btn" data-bs-toggle="tooltip" data-bs-placement="right" title="儲存為草稿 Save as draft" set-lan="html:save_draft_btn">存為草稿</span>
                             <span class="draft-btn" data-bs-toggle="tooltip" data-bs-placement="right" title="儲存為草稿 Save as draft" set-lan="html:save_draft_btn">存為草稿</span>
+                      
                             <h3 style="display: none;" class="fs-subtitle"><lan set-lan="html:processing_progress">處理進度</lan></h3>
                             <h3 style="display: none;" class="fs-subtitle"><lan set-lan="html:processing_progress">處理進度</lan></h3>
                             <div style="display: none;" id="myProgress">
                             <div style="display: none;" id="myProgress">
                                 <div style="display: none;" id="myBar">0%</div>
                                 <div style="display: none;" id="myBar">0%</div>

+ 2 - 2
html/make_video_long.html

@@ -137,8 +137,8 @@
                             <i class="fas fa-times text-white me-3 mt-3"></i>
                             <i class="fas fa-times text-white me-3 mt-3"></i>
                         </div>
                         </div>
                         <div class="text-start">
                         <div class="text-start">
-                            <h2 class="fw-bold ps-0" href="index.html"><a class="nav-link active ps-3 pt-0"
-                                    aria-current="page" href="index.html">AI Spokesgirl</a></h2>
+                            <h2 class="fw-bold ps-0" href="./user_profile2.html"><a class="nav-link active ps-3 pt-0"
+                                    aria-current="page" href="./user_profile2.html">AI Spokesgirl</a></h2>
                         </div>
                         </div>
                         <div class="userName"></div>
                         <div class="userName"></div>
                         <img class="user img-fluid rounded-circle" src="./static/img/userprofile/userimg.png" alt="">
                         <img class="user img-fluid rounded-circle" src="./static/img/userprofile/userimg.png" alt="">

+ 4 - 25
html/make_video_slide.html

@@ -137,8 +137,8 @@
                             <i class="fas fa-times text-white me-3 mt-3"></i>
                             <i class="fas fa-times text-white me-3 mt-3"></i>
                         </div>
                         </div>
                         <div class="text-start">
                         <div class="text-start">
-                            <h2 class="fw-bold ps-0" href="index.html"><a class="nav-link active ps-3 pt-0"
-                                    aria-current="page" href="index.html">AI Spokesgirl</a></h2>
+                            <h2 class="fw-bold ps-0" href="./user_profile2.html"><a class="nav-link active ps-3 pt-0"
+                                    aria-current="page" href="./user_profile2.html">AI Spokesgirl</a></h2>
                         </div>
                         </div>
                         <div class="userName"></div>
                         <div class="userName"></div>
                         <img class="user img-fluid rounded-circle" src="./static/img/userprofile/userimg.png" alt="">
                         <img class="user img-fluid rounded-circle" src="./static/img/userprofile/userimg.png" alt="">
@@ -238,7 +238,7 @@
                                     data-bs-placement="right" title="請輸入Google Slides連結 Google Slides Link">
                                     data-bs-placement="right" title="請輸入Google Slides連結 Google Slides Link">
                             </h3>
                             </h3>
                             <input id=slide_raw_url type="text" name='t1' class='title_new' value=""
                             <input id=slide_raw_url type="text" name='t1' class='title_new' value=""
-                                set-lan="placeholder:slide_link" /><label for="myCheck"
+                                placeholder="SLIDE連結(連結須為公開共用)" /><label for="myCheck"
                                 set-lan="html:add_eng">加入英文:</label>
                                 set-lan="html:add_eng">加入英文:</label>
                             <input type="checkbox" id="multiLang"> <br />
                             <input type="checkbox" id="multiLang"> <br />
                         </fieldset>
                         </fieldset>
@@ -249,6 +249,7 @@
                                     data-bs-placement="right" title="將作為影片的講者 The spokesgirl of your video">
                                     data-bs-placement="right" title="將作為影片的講者 The spokesgirl of your video">
                             </h3>
                             </h3>
                             <select id="avatar" class='avatar'>
                             <select id="avatar" class='avatar'>
+                                <option set-lan="html:p_choose_character" value="請選擇人物" selected="selected" disabled>>請選擇人物</option>
                                 <option value="7">Peggy</option>
                                 <option value="7">Peggy</option>
                                 <option value="8">Stacy</option>
                                 <option value="8">Stacy</option>
                                 <option value="11">Summer韓小夏</option>
                                 <option value="11">Summer韓小夏</option>
@@ -416,28 +417,6 @@
     <script type="text/javascript" src="static/lan.js"></script>
     <script type="text/javascript" src="static/lan.js"></script>
     <script src="static/common.js"></script>
     <script src="static/common.js"></script>
     <script>
     <script>
-        $('.owl-carousel').owlCarousel({
-            loop: true,
-            margin: 10,
-            nav: false,
-            mouseDrag: true,
-            touchDrag: true,
-            smartSpeed: 1000,
-            autoplay: true,
-            autoplayTimeout: 8000,
-            autoplayHoverPause: false,
-            responsive: {
-                0: {
-                    items: 1
-                },
-                600: {
-                    items: 2
-                },
-                1000: {
-                    items: 4
-                }
-            }
-        });
         $(".menu-bar").click(function () {
         $(".menu-bar").click(function () {
             $(".sidenav").show();
             $(".sidenav").show();
         });
         });

+ 31 - 46
html/make_video_slide_eng.html

@@ -103,40 +103,46 @@
                             <i class="fas fa-times text-white me-3 mt-3"></i>
                             <i class="fas fa-times text-white me-3 mt-3"></i>
                         </div>
                         </div>
                         <div class="text-start">
                         <div class="text-start">
-                            <h2 class="fw-bold ps-0" href="index.html"><a class="nav-link active ps-3 pt-0"
-                                    aria-current="page" href="index.html">AI Spokesgirl</a></h2>
+                            <h2 class="fw-bold ps-0" href="./user_profile2.html"><a class="nav-link active ps-3 pt-0"
+                                    aria-current="page" href="./user_profile2.html">AI Spokesgirl</a></h2>
                         </div>
                         </div>
                         <div class="userName"></div>
                         <div class="userName"></div>
                         <img class="user img-fluid rounded-circle" src="./static/img/userprofile/userimg.png" alt="">
                         <img class="user img-fluid rounded-circle" src="./static/img/userprofile/userimg.png" alt="">
-                        <p class="text-white my-3 text-center">Create something today!</p>
+                        <p class="text-white my-3 text-center" set-lan="html:Createsthtoday">Create something today!</p>
                         <div class="navbar-nav mb-2 mb-lg-0 px-3 pe-4">
                         <div class="navbar-nav mb-2 mb-lg-0 px-3 pe-4">
-                            <a class="nav-link btn-gocreate text-white col-6" aria-current="page" href="./index_eng.html">Make
+                          <a class="nav-link btn-gocreate text-white col-6 btn-makev" aria-current="page"
+                              href="./make_video2.html" set-lan="html:make_video">影片製作</a>
+                          <a class="nav-link btn-gocreate text-white col-6 btn-makelong" aria-current="page"
+                              href="./make_video_long.html" set-lan="html:make_video_long">長影片製作</a>
+                        </div>
+                        <div class="navbar-nav mb-2 mb-lg-0 px-3 pe-4">
+                            <a class="nav-link btn-gocreate text-white col-6" aria-current="page" href="./index_eng.html" set-lan="html:make_video_eng">Make
                                 English<br>Videos</a>
                                 English<br>Videos</a>
                             <a class="nav-link btn-gocreate text-white col-6" aria-current="page"
                             <a class="nav-link btn-gocreate text-white col-6" aria-current="page"
-                                href="./make_video_slide_eng.html">Make Videos <br>By Slides</a>
+                                href="./make_video_slide_eng.html" set-lan="html:make_slides">Make Videos <br>By Slides</a>
                         </div>
                         </div>
                         <hr>
                         <hr>
                         <ul class="nav-list ps-0">
                         <ul class="nav-list ps-0">
                             <li class="nav-list-item pb-1 mb-3 text-start ps-3" data-bs-toggle="modal" data-bs-target="#howto"><i
                             <li class="nav-list-item pb-1 mb-3 text-start ps-3" data-bs-toggle="modal" data-bs-target="#howto"><i
                                 class="fas fa-book-open me-2"></i>
                                 class="fas fa-book-open me-2"></i>
-                              <lan>Usage Introduction</lan>
+                              <lan set-lan="html:usage_intro">Usage Introduction</lan>
                             </li>
                             </li>
                             <a style="text-decoration: none;color:white;" href="./user_profile2.html">
                             <a style="text-decoration: none;color:white;" href="./user_profile2.html">
                               <li class="nav-list-item pb-1 mb-3 text-start ps-3" data-bs-toggle="modal">
                               <li class="nav-list-item pb-1 mb-3 text-start ps-3" data-bs-toggle="modal">
                                 <i class="fas fa-user me-2"></i>
                                 <i class="fas fa-user me-2"></i>
-                                <lan>User Profile</lan>
+                                <lan set-lan="html:user_profile">User Profile</lan>
                               </li>
                               </li>
                             </a>
                             </a>
                             <li class="nav-list-item pb-1 text-start ps-3" data-bs-toggle="modal" data-bs-target="#history"
                             <li class="nav-list-item pb-1 text-start ps-3" data-bs-toggle="modal" data-bs-target="#history"
                               onclick="openNav()">
                               onclick="openNav()">
                               <i class="fas fa-history me-2"></i>
                               <i class="fas fa-history me-2"></i>
-                              <lan>History</lan>
+                              <lan set-lan="html:history">History</lan>
                             </li>
                             </li>
                             <div class="Mobile-nav">
                             <div class="Mobile-nav">
                               <hr>
                               <hr>
                               <li class="nav-item text-start">
                               <li class="nav-item text-start">
-                                <a style="font-size: 18px;" class="nav-link active text-white" aria-current="page" href="pricing.html"><i class='fas fa-tags me-2'></i>Pricing</a>
-                              </li>
+                                <a style="font-size: 18px;" class="nav-link active text-white" aria-current="page" href="pricing.html">Pricing</lan></a>
+                              </li><lan set-lan="html:pricing-m"
                               <!-- <li class="nav-item text-start">
                               <!-- <li class="nav-item text-start">
                                 <a style="font-size: 18px;" class="nav-link active btn-login text-white" aria-current="page" href="login.html"><i class="fas fa-sign-in-alt text-white me-3"></i>Login</a>
                                 <a style="font-size: 18px;" class="nav-link active btn-login text-white" aria-current="page" href="login.html"><i class="fas fa-sign-in-alt text-white me-3"></i>Login</a>
                               </li> -->
                               </li> -->
@@ -145,7 +151,7 @@
                                   Profile</a>
                                   Profile</a>
                               </li> -->
                               </li> -->
                               <li class="nav-item text-start">
                               <li class="nav-item text-start">
-                                <a style="font-size: 18px;" class="nav-link btn-logout text-white" aria-current="page"><i class='fas fa-sign-out-alt text-white me-3'></i>Log Out</a>
+                                <a style="font-size: 18px;" class="nav-link btn-logout text-white" aria-current="page" set-lan="html:logout-m">Log Out</a>
                               </li>
                               </li>
                               
                               
                           </div>
                           </div>
@@ -174,19 +180,19 @@
                 <div>
                 <div>
                     <form id="msform">
                     <form id="msform">
                         <div class="linker__box">
                         <div class="linker__box">
-                            <p>Preview Video</p>
+                            <p set-lan="html:preview_videos">Preview Video</p>
                             <i class="fas fa-link"></i>
                             <i class="fas fa-link"></i>
-                            <a id='linker' style="display: none;" class="ms-2">Video link</a>
+                            <a id='linker' style="display: none;" class="ms-2" set-lan="html:video_link">Video link</a>
                         </div>
                         </div>
                         <!-- fieldsets -->
                         <!-- fieldsets -->
                         <fieldset>
                         <fieldset>
-                            <h3 class="fs-subtitle"><lan">SLIDE Link</lan><img class="ms-1" src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" title="請輸入Google Slides連結 Google Slides Link"></h3>
-                            <input id=slide_raw_url type="text" name='t1' class='title_new' value="" set-lan="placeholder:slide_link"/>
+                            <h3 class="fs-subtitle"><lan set-lan="html:slide_link">SLIDE Link</lan><img class="ms-1" src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" title="請輸入Google Slides連結 Google Slides Link"></h3>
+                            <input id=slide_raw_url type="text" name='t1' class='title_new' value="" placeholder="SLIDE Link (Slides must be Shared With Everyone)"/>
                             <!-- <label for="myCheck">Allow English Lines::</label> 
                             <!-- <label for="myCheck">Allow English Lines::</label> 
                             <input type="checkbox" id="multiLang" > <br/> -->
                             <input type="checkbox" id="multiLang" > <br/> -->
                         </fieldset>
                         </fieldset>
                         <fieldset>
                         <fieldset>
-                            <h3 class="fs-subtitle">Choose Character<img class="ms-1" src="static/img/question.png" alt=""
+                            <h3 class="fs-subtitle" ><lan set-lan="html:choose_character">選擇人物</lan><img class="ms-1" src="static/img/question.png" alt=""
                                 data-bs-toggle="tooltip" data-bs-placement="right" title="The spokesgirl of your video"></h3>
                                 data-bs-toggle="tooltip" data-bs-placement="right" title="The spokesgirl of your video"></h3>
                             <select id="avatar" class='avatar'>
                             <select id="avatar" class='avatar'>
                               <option value="Choose Character" selected="selected" disabled>Choose Character</option>
                               <option value="Choose Character" selected="selected" disabled>Choose Character</option>
@@ -200,7 +206,7 @@
                               <option value="17">Kristina</option>
                               <option value="17">Kristina</option>
                               <option value="18">Paula</option>
                               <option value="18">Paula</option>
                             </select>
                             </select>
-                            <div class="d-flex row row-cols-2 row-cols-lg-6">
+                            <div class="d-flex row row-cols-2 row-cols-lg-6 avatar-cards" id="avatar-cards">
                               <div class="card col" data-avatar="Peggy" data-img="peggy">
                               <div class="card col" data-avatar="Peggy" data-img="peggy">
                                 <div class="imgfr"><img src="static/img/peggy.webp" class="card-img-top" alt="..."></div>
                                 <div class="imgfr"><img src="static/img/peggy.webp" class="card-img-top" alt="..."></div>
                                 <div class="card-body">
                                 <div class="card-body">
@@ -257,7 +263,7 @@
                               </div>
                               </div>
                             </div>
                             </div>
                           </fieldset>
                           </fieldset>
-                        <input id="send_slide" type="button" name="next" class="action-button" value="Submit" />
+                        <input id="send_slide" type="button" name="next" class="action-button" set-lan="value:submit" />
                     </form>
                     </form>
                     <!-- <div style="width: 80%;margin: 0 auto;"><iframe src="http://www.choozmo.com:8168/ai_anchor_video/16250306886652043.mp4" frameborder="0" style="width: 100%;height: 400px;"></iframe></div> -->
                     <!-- <div style="width: 80%;margin: 0 auto;"><iframe src="http://www.choozmo.com:8168/ai_anchor_video/16250306886652043.mp4" frameborder="0" style="width: 100%;height: 400px;"></iframe></div> -->
                 </div>
                 </div>
@@ -278,15 +284,16 @@
                 <div class="modal-dialog">
                 <div class="modal-dialog">
                     <div class="modal-content">
                     <div class="modal-content">
                         <div class="modal-header">
                         <div class="modal-header">
-                            <h5 class="modal-title" id="staticBackdropLabel">Usage Introduction</h5>
+                            <h5 class="modal-title" id="staticBackdropLabel" set-lan="html:usage_intro">Usage Introduction</h5>
                             <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                             <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                         </div>
                         </div>
                         <div class="modal-body">
                         <div class="modal-body">
                             <div class="modal-terms">
                             <div class="modal-terms">
                                 <ol class="ps-0">
                                 <ol class="ps-0">
-                                    <li>1. Please Provide an Image Link Corresponding to a Line as a Collocation</li>
-                                    <li>2. Supported File Format:<stong class="strong">.png, jpg, .mp4</stong></li>
-                                    <li>3. After Clicking Submit, You Will Need To Wait For A Period Of Time For The Production Of The Video. Please Wait Patiently. You Can Check It At The Notification URL When The Production Is Completed.</li>
+                                  <li set-lan="html:slide_howto_use">1. 投影片將作為背景圖,備註中的文字則為虛擬主播的講稿內容。</li>
+                                  <li><lang set-lan="html:sup_img_profile">2. 影像連結檔案格式支援:</lang><stong class="strong">.png, jpg, .mp4</stong>
+                                  </li>
+                                  <li set-lan="html:submit_to_wait">3. 點選“送出”之後需等待一段影片製作的時間,請您耐心等候,待製作完畢可於通知網址查看</li>
                                 </ol>
                                 </ol>
                             </div>
                             </div>
                         </div>
                         </div>
@@ -338,33 +345,11 @@
     <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
     <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
     <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.min.js" integrity="sha384-Atwg2Pkwv9vp0ygtn1JAojH0nYbwNJLPhwyoVbhoPwBhjQPR5VtM2+xf0Uwh9KtT" crossorigin="anonymous"></script> 
     <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.min.js" integrity="sha384-Atwg2Pkwv9vp0ygtn1JAojH0nYbwNJLPhwyoVbhoPwBhjQPR5VtM2+xf0Uwh9KtT" crossorigin="anonymous"></script> 
     <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.0.18/dist/sweetalert2.all.min.js"></script>
     <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.0.18/dist/sweetalert2.all.min.js"></script>
-    <script src="static/owl.carousel.min.js"></script>
-    <script src="static/script_slides_eng.js"></script>
     <script type="text/javascript" src="static/lan.js"></script>
     <script type="text/javascript" src="static/lan.js"></script>
+    <script src="static/loading-overlay.js"></script>
+    <script src="static/script_slides_eng.js"></script>
     <script src="static/common.js"></script>
     <script src="static/common.js"></script>
 <script>
 <script>
-    $('.owl-carousel').owlCarousel({
-        loop: true,
-        margin: 10,
-        nav: false,
-        mouseDrag: true,
-        touchDrag: true,
-        smartSpeed: 1000,
-        autoplay: true,
-        autoplayTimeout: 8000,
-        autoplayHoverPause: false,
-        responsive: {
-            0: {
-                items: 1
-            },
-            600: {
-                items: 2
-            },
-            1000: {
-                items: 4
-            }
-        }
-    });
     $(".menu-bar").click(function () {
     $(".menu-bar").click(function () {
         $(".sidenav").show();
         $(".sidenav").show();
     });
     });

+ 31 - 1
html/script_eng.js

@@ -46,6 +46,27 @@ function loginControl() {
 
 
 loginControl();
 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 client_id = Date.now();
 var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
 var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
@@ -440,6 +461,9 @@ function renderInputSec(i) {
   subtitleinput.classList.add('subsrc', `subsrc${i}`);
   subtitleinput.classList.add('subsrc', `subsrc${i}`);
   subtitleinput.value = "";
   subtitleinput.value = "";
   subtitleinput.setAttribute('placeholder', `Subtitle`);
   subtitleinput.setAttribute('placeholder', `Subtitle`);
+  if(lan == 'zh') {
+    subtitleinput.setAttribute('placeholder', '副標題');
+  }
   input_sec.appendChild(subtitleinput);
   input_sec.appendChild(subtitleinput);
 
 
   // text input
   // text input
@@ -449,6 +473,9 @@ function renderInputSec(i) {
   txtinput.classList.add('txtsrc', `txtsrc${i}`);
   txtinput.classList.add('txtsrc', `txtsrc${i}`);
   txtinput.value = "";
   txtinput.value = "";
   txtinput.setAttribute('placeholder', `Line`);
   txtinput.setAttribute('placeholder', `Line`);
+  if(lan == 'zh') {
+    txtinput.setAttribute('placeholder', `台詞`);
+  }
   input_sec.appendChild(txtinput);
   input_sec.appendChild(txtinput);
 
 
   // img url input
   // img url input
@@ -457,7 +484,10 @@ function renderInputSec(i) {
   imginput.setAttribute('name', `m${i}`);
   imginput.setAttribute('name', `m${i}`);
   imginput.classList.add('imgsrc', `imgsrc${i}`);
   imginput.classList.add('imgsrc', `imgsrc${i}`);
   imginput.value = "";
   imginput.value = "";
-  imginput.setAttribute('placeholder', 'https://example.com/4VKBo9w.png');
+  imginput.setAttribute('placeholder', 'Type in image link or upload image');
+  if(lan == 'zh') {
+    imginput.setAttribute('placeholder', '輸入圖片網址或上傳圖片');
+  }
   img_box.appendChild(imginput);
   img_box.appendChild(imginput);
 
 
   // img upload input
   // img upload input

+ 52 - 3
html/script_profile.js

@@ -49,6 +49,24 @@ function renderView() {
     if(!token) {
     if(!token) {
         window.location.replace("login.html");
         window.location.replace("login.html");
     }
     }
+    JsLoadingOverlay.show({
+      "overlayBackgroundColor": "#666666",
+      "overlayOpacity": 1,
+      "spinnerIcon": "ball-circus",
+      "spinnerColor": "#000",
+      "spinnerSize": "3x",
+      "overlayIDName": "overlay",
+      "spinnerIDName": "spinner",
+      "offsetX": 0,
+      "offsetY": 0,
+      "containerID": null,
+      "lockScroll": false,
+      "overlayZIndex": 99,
+      "spinnerZIndex": 100
+    });
+    window.setTimeout(function () {
+      JsLoadingOverlay.hide()
+    }, 2000)
     axios({
     axios({
         method: 'post',
         method: 'post',
         url: 'https://www.choozmo.com:8887/user_profile',
         url: 'https://www.choozmo.com:8887/user_profile',
@@ -82,7 +100,7 @@ function renderView() {
                 confirmButtonText
                 confirmButtonText
             }).then(result => {
             }).then(result => {
               if (result.isConfirmed) {
               if (result.isConfirmed) {
-                location.href = "pricing.html";
+                window.open('pricing.html');
               }
               }
             });
             });
           }
           }
@@ -91,6 +109,8 @@ function renderView() {
         `https://twitter.com/intent/tweet?text=I%20just%20created%20a%20video%20in%205%20minutes.%20Check%20it%20out%20%F0%9F%91%89%20https%3A%2F%2Fvideo.choozmo.com/invite.html?code=${userInfo.user_info.invite_code}&related=ai_cmm`)
         `https://twitter.com/intent/tweet?text=I%20just%20created%20a%20video%20in%205%20minutes.%20Check%20it%20out%20%F0%9F%91%89%20https%3A%2F%2Fvideo.choozmo.com/invite.html?code=${userInfo.user_info.invite_code}&related=ai_cmm`)
         
         
         inviteCode = userInfo.user_info.invite_code;
         inviteCode = userInfo.user_info.invite_code;
+        invitelink=`https://video.choozmo.com/invite.html?code=${userInfo.user_info.invite_code}`
+        $('.invite-link').val(invitelink)
         const str = `<img src="static/img/undraw_male_avatar_323b.svg" alt="">
         const str = `<img src="static/img/undraw_male_avatar_323b.svg" alt="">
         <p class="card-profile-txt">User Profile</p>
         <p class="card-profile-txt">User Profile</p>
         <p class="card-profile-cnt">${userInfo.user_info.userName}</p>
         <p class="card-profile-cnt">${userInfo.user_info.userName}</p>
@@ -166,8 +186,11 @@ function renderView() {
         $('.used-time').html(usedtime);
         $('.used-time').html(usedtime);
         $('.not-used-time').html(NotUsedTime);
         $('.not-used-time').html(NotUsedTime);
         $('.card-profile').html(str);
         $('.card-profile').html(str);
-            $('.card-profile').html(str);
+        $('.card-profile').html(str);
+
+        JsLoadingOverlay.hide();
     }).catch(err => {
     }).catch(err => {
+        JsLoadingOverlay.hide();
         console.log(err);
         console.log(err);
         //window.location.replace("login.html");
         //window.location.replace("login.html");
     })
     })
@@ -472,4 +495,30 @@ $("#lang-manu").hide();
 $( "#changeLanguage" ).click(function() {
 $( "#changeLanguage" ).click(function() {
   $("#lang-manu").slideToggle();
   $("#lang-manu").slideToggle();
   $("#lang-arrow").toggleClass("arrowdoup");
   $("#lang-arrow").toggleClass("arrowdoup");
-});
+});
+
+function copyEvent(id) {
+  var Url = document.getElementById("invite-link");
+  Url.select();
+  // window.getSelection().selectAllChildren(str);
+  document.execCommand("Copy");
+  toastr.options = {
+    // 參數設定[註1]
+    "closeButton": false, // 顯示關閉按鈕
+    "debug": false, // 除錯
+    "newestOnTop": false,  // 最新一筆顯示在最上面
+    "progressBar": false, // 顯示隱藏時間進度條
+    "positionClass": "toast-top-center", // 位置的類別
+    "preventDuplicates": false, // 隱藏重覆訊息
+    "onclick": null, // 當點選提示訊息時,則執行此函式
+    "showDuration": "300", // 顯示時間(單位: 毫秒)
+    "hideDuration": "1000", // 隱藏時間(單位: 毫秒)
+    "timeOut": "1000", // 當超過此設定時間時,則隱藏提示訊息(單位: 毫秒)
+    "extendedTimeOut": "1000", // 當使用者觸碰到提示訊息時,離開後超過此設定時間則隱藏提示訊息(單位: 毫秒)
+    "showEasing": "swing", // 顯示動畫時間曲線
+    "hideEasing": "linear", // 隱藏動畫時間曲線
+    "showMethod": "fadeIn", // 顯示動畫效果
+    "hideMethod": "fadeOut" // 隱藏動畫效果
+  }
+  toastr.success("複製成功");
+}

+ 3 - 1
html/static/lan.js

@@ -74,6 +74,7 @@ var zh = {
     "video_title": "標題",
     "video_title": "標題",
     "p_choose_character": "請選擇人物",
     "p_choose_character": "請選擇人物",
     "lines": "台詞",
     "lines": "台詞",
+    "content": "內容素材",
     "img_link": "影像連結",
     "img_link": "影像連結",
     "processing_progress": "處理進度",
     "processing_progress": "處理進度",
     "usage_intro": "使用說明",
     "usage_intro": "使用說明",
@@ -188,6 +189,7 @@ var en = {
     "video_title": "Video Title",
     "video_title": "Video Title",
     "p_choose_character": "Choose Character",
     "p_choose_character": "Choose Character",
     "lines": "Lines",
     "lines": "Lines",
+    "content": "Content",
     "img_link": "Image Link",
     "img_link": "Image Link",
     "processing_progress": "Processing Progress",
     "processing_progress": "Processing Progress",
     "usage_intro": "Usage Introduction",
     "usage_intro": "Usage Introduction",
@@ -198,7 +200,7 @@ var en = {
     "add_eng": "Allow English Lines:",
     "add_eng": "Allow English Lines:",
     "submit": "Submit",
     "submit": "Submit",
     "privacy_term": "I Agree to privacy policy and terms of use.",
     "privacy_term": "I Agree to privacy policy and terms of use.",
-    "privacy_term_1": "Registeration implies acception of ",
+    "privacy_term_1": "Registeration implies acception of",
     "privacy_term_2": "terms of use",
     "privacy_term_2": "terms of use",
     "privacy_term_3": "and",
     "privacy_term_3": "and",
     "privacy_term_4": "privacy policy",
     "privacy_term_4": "privacy policy",

+ 25 - 1
html/static/script_slides.js

@@ -46,6 +46,7 @@ function checkLan() {
   if(lan == 'en') {
   if(lan == 'en') {
     $('.btn-makev').css('display', 'none');
     $('.btn-makev').css('display', 'none');
     $('.btn-makelong').css('display', 'none');
     $('.btn-makelong').css('display', 'none');
+    $('#slide_raw_url').attr('placeholder', 'Slides Link (slides must be public)')
   } else {
   } else {
     $('.btn-makev').css('display', 'block');
     $('.btn-makev').css('display', 'block');
     $('.btn-makelong').css('display', 'block');
     $('.btn-makelong').css('display', 'block');
@@ -64,6 +65,26 @@ function loginControl() {
 loginControl();
 loginControl();
 
 
 
 
+JsLoadingOverlay.show({
+  "overlayBackgroundColor": "#FFFFFF",
+  "overlayOpacity": "1",
+  "spinnerIcon": "ball-circus",
+  "spinnerColor": "#B9DDF3",
+  "spinnerSize": "1x",
+  "overlayIDName": "overlay",
+  "spinnerIDName": "spinner",
+  "offsetX": 0,
+  "offsetY": 0,
+  "containerID": "avatar-cards",
+  "lockScroll": false,
+  "overlayZIndex": 9998,
+  "spinnerZIndex": 9999
+});
+
+window.setTimeout(() => {
+  JsLoadingOverlay.hide()
+}, 5000)
+
 function getAvatar() {
 function getAvatar() {
   let jwt_token = get_jwt_token();
   let jwt_token = get_jwt_token();
   if(jwt_token == undefined) {
   if(jwt_token == undefined) {
@@ -95,7 +116,10 @@ function getAvatar() {
     }
     }
     $('#avatar').html(`<option set-lan="html:p_choose_character" value="請選擇人物" selected="selected" disabled>請選擇人物</option>${str}`);
     $('#avatar').html(`<option set-lan="html:p_choose_character" value="請選擇人物" selected="selected" disabled>請選擇人物</option>${str}`);
     $('.avatar-cards').html(carStr);
     $('.avatar-cards').html(carStr);
-    
+    if(lan = 'en') {
+      $('#avatar option:disabled').val('Choose Character')
+      $('#avatar option:disabled').text('Choose Character')
+    }
     card = document.getElementsByClassName('card');
     card = document.getElementsByClassName('card');
     console.log(card);
     console.log(card);
     addCardListener(card);
     addCardListener(card);

+ 34 - 8
html/static/script_slides_eng.js

@@ -1,4 +1,5 @@
 checkRoute();
 checkRoute();
+let card;
 
 
 let userBasics = JSON.parse(localStorage.getItem('user_profile')) || [];
 let userBasics = JSON.parse(localStorage.getItem('user_profile')) || [];
 
 
@@ -50,6 +51,7 @@ function checkLan() {
   } else {
   } else {
     $('.btn-makev').css('display', 'block');
     $('.btn-makev').css('display', 'block');
     $('.btn-makelong').css('display', 'block');
     $('.btn-makelong').css('display', 'block');
+    $('#slide_raw_url').attr('placeholder', 'SLIDE連結(連結須為公開)')
   }
   }
 }
 }
 
 
@@ -64,6 +66,26 @@ function loginControl() {
 
 
 loginControl();
 loginControl();
 
 
+JsLoadingOverlay.show({
+  "overlayBackgroundColor": "#FFFFFF",
+  "overlayOpacity": "1",
+  "spinnerIcon": "ball-circus",
+  "spinnerColor": "#B9DDF3",
+  "spinnerSize": "1x",
+  "overlayIDName": "overlay",
+  "spinnerIDName": "spinner",
+  "offsetX": 0,
+  "offsetY": 0,
+  "containerID": "avatar-cards",
+  "lockScroll": false,
+  "overlayZIndex": 9998,
+  "spinnerZIndex": 9999
+});
+
+window.setTimeout(() => {
+  JsLoadingOverlay.hide()
+}, 5000)
+
 
 
 function getAvatar() {
 function getAvatar() {
   let jwt_token = get_jwt_token();
   let jwt_token = get_jwt_token();
@@ -94,16 +116,21 @@ function getAvatar() {
                 </div>`;
                 </div>`;
     }
     }
     $('#avatar').html(`<option value="Choose Character" selected="selected" disabled>Choose Character</option>${str}`);
     $('#avatar').html(`<option value="Choose Character" selected="selected" disabled>Choose Character</option>${str}`);
-    $('.owl-carousel').html(carStr);
+    $('.avatar-cards').html(carStr);
+    if(lan = 'en') {
+      $('#avatar option:disabled').val('請選擇人物')
+      $('#avatar option:disabled').text('請選擇人物')
+    }
     card = document.getElementsByClassName('card');
     card = document.getElementsByClassName('card');
     console.log(card);
     console.log(card);
     addCardListener(card);
     addCardListener(card);
+    avatarChange()
   }).catch(err => {
   }).catch(err => {
     console.log(err);
     console.log(err);
   });
   });
 }
 }
 
 
-//getAvatar();
+getAvatar();
 
 
 
 
 var client_id = Date.now();
 var client_id = Date.now();
@@ -120,22 +147,21 @@ var avatarModal = new bootstrap.Modal(document.getElementById('avatarmega'), {
 var modalImg = document.querySelector("#avatarmega .modal-img");
 var modalImg = document.querySelector("#avatarmega .modal-img");
 var modalTitle = document.querySelector("#avatarmega .modal-title");
 var modalTitle = document.querySelector("#avatarmega .modal-title");
 var avatarSelector = document.getElementById("avatar");
 var avatarSelector = document.getElementById("avatar");
-var card = document.getElementsByClassName('card');
-card = [...card];
+// var card = document.getElementsByClassName('card');
+// card = [...card];
 avatarSelector.addEventListener('change', avatarChange);
 avatarSelector.addEventListener('change', avatarChange);
-avatarChange();
+// avatarChange();
 
 
-function addCardListener() {
+function addCardListener(card) {
   for (let i = 0; i < card.length; i++) {
   for (let i = 0; i < card.length; i++) {
     card[i].addEventListener('click', openavatarModel);
     card[i].addEventListener('click', openavatarModel);
   }
   }
 }
 }
 
 
-addCardListener();
+// addCardListener();
 
 
 function avatarChange() {
 function avatarChange() {
   var value = avatarSelector.options[avatarSelector.selectedIndex].text;
   var value = avatarSelector.options[avatarSelector.selectedIndex].text;
-  $('.owl-carousel').trigger('to.owl.carousel', avatarSelector.selectedIndex);
   for (let i = 0; i < card.length; i++) {
   for (let i = 0; i < card.length; i++) {
     card[i].classList.remove('active');
     card[i].classList.remove('active');
     if (card[i].dataset.avatar == value) {
     if (card[i].dataset.avatar == value) {

+ 12 - 2
html/static/script_util2.js

@@ -61,6 +61,7 @@ function checkLan() {
   if(lan == 'en') {
   if(lan == 'en') {
     $('.btn-makev').css('display', 'none');
     $('.btn-makev').css('display', 'none');
     $('.btn-makelong').css('display', 'none');
     $('.btn-makelong').css('display', 'none');
+    $('.title_new').attr('placeholder', 'Title')
   } else {
   } else {
     $('.btn-makev').css('display', 'block');
     $('.btn-makev').css('display', 'block');
     $('.btn-makelong').css('display', 'block');
     $('.btn-makelong').css('display', 'block');
@@ -437,7 +438,10 @@ function load_data(tid, loaded_data, draft = false) {
           if(!historyItem.image_urls[i]) {
           if(!historyItem.image_urls[i]) {
             imginput.value = "";
             imginput.value = "";
           }
           }
-          imginput.setAttribute('placeholder', 'https://example.com/4VKBo9w.png');
+          imginput.setAttribute('placeholder', '輸入圖片網址或上傳圖片');
+          if(lan == 'en') {
+            imginput.setAttribute('placeholder', 'Type in image link or upload image');
+          }
           img_box.appendChild(imginput);
           img_box.appendChild(imginput);
 
 
           // img upload input
           // img upload input
@@ -624,6 +628,9 @@ function renderInputSec(i) {
   txtinput.classList.add('txtsrc', `txtsrc${i}`);
   txtinput.classList.add('txtsrc', `txtsrc${i}`);
   txtinput.value = "";
   txtinput.value = "";
   txtinput.setAttribute('placeholder', `台詞`);
   txtinput.setAttribute('placeholder', `台詞`);
+  if(lan == 'en') {
+    txtinput.setAttribute('placeholder', `Line`);
+  }
   input_sec.appendChild(txtinput);
   input_sec.appendChild(txtinput);
 
 
   // img url input
   // img url input
@@ -632,7 +639,10 @@ function renderInputSec(i) {
   imginput.setAttribute('name', `m${i}`);
   imginput.setAttribute('name', `m${i}`);
   imginput.classList.add('imgsrc', `imgsrc${i}`);
   imginput.classList.add('imgsrc', `imgsrc${i}`);
   imginput.value = "";
   imginput.value = "";
-  imginput.setAttribute('placeholder', 'https://example.com/4VKBo9w.png');
+  imginput.setAttribute('placeholder', '輸入圖片網址或上傳圖片');
+  if(lan == 'en') {
+    imginput.setAttribute('placeholder', 'Type in image link or upload image');
+  }
   img_box.appendChild(imginput);
   img_box.appendChild(imginput);
 
 
   // img upload input
   // img upload input

+ 18 - 1
html/static/scss/style.css

@@ -190,6 +190,7 @@ body {
   border-radius: 50%;
   border-radius: 50%;
   overflow: hidden;
   overflow: hidden;
   margin: 1rem auto 0 auto;
   margin: 1rem auto 0 auto;
+  cursor: pointer;
 }
 }
 
 
 .card-title {
 .card-title {
@@ -1245,7 +1246,7 @@ body {
 
 
 .psd_visible,
 .psd_visible,
 .psd_invisible {
 .psd_invisible {
-  right: .5rem;
+  right: 0.5rem;
   top: 50%;
   top: 50%;
   -webkit-transform: translateY(-50%);
   -webkit-transform: translateY(-50%);
           transform: translateY(-50%);
           transform: translateY(-50%);
@@ -1591,6 +1592,22 @@ body {
   cursor: pointer;
   cursor: pointer;
 }
 }
 
 
+.userprofile .userprofile-content .user-information .share .form-control:hover,
+.userprofile .userprofile-content .user-information .share .form-control:focus,
+.userprofile .userprofile-content .user-information .share .form-control:active {
+  outline: none !important;
+  -webkit-box-shadow: none;
+          box-shadow: none;
+}
+
+.userprofile .userprofile-content .user-information .share .btn:hover,
+.userprofile .userprofile-content .user-information .share .btn:focus,
+.userprofile .userprofile-content .user-information .share .btn:active {
+  outline: none !important;
+  -webkit-box-shadow: none;
+          box-shadow: none;
+}
+
 .sidenav {
 .sidenav {
   width: 250px;
   width: 250px;
   position: fixed;
   position: fixed;

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
html/static/scss/style.css.map


+ 48 - 31
html/static/scss/style.scss

@@ -182,6 +182,7 @@ body {
 	border-radius: 50%;
 	border-radius: 50%;
 	overflow: hidden;
 	overflow: hidden;
 	margin: 1rem auto 0 auto;
 	margin: 1rem auto 0 auto;
+	cursor: pointer;
 }
 }
 
 
 .card-title {
 .card-title {
@@ -790,20 +791,20 @@ footer {
 
 
 #msform .img-inputTest .upload-btn {
 #msform .img-inputTest .upload-btn {
 	display: inline-block;
 	display: inline-block;
-  position: absolute;
-  left: 0;
-  top: 0;
-  width: 20%;
-  height: 100%;
-  background-color: #75a7dd;
-  background-position: center;
-  background-size: cover;
-  background-image: url(../img/upload_img.png);
-  color: white;
-  padding: 0.4rem 0.5rem;
-  font-size: 0.9rem;
-  -webkit-transition: all 0.3s;
-  transition: all 0.3s;
+	position: absolute;
+	left: 0;
+	top: 0;
+	width: 20%;
+	height: 100%;
+	background-color: #75a7dd;
+	background-position: center;
+	background-size: cover;
+	background-image: url(../img/upload_img.png);
+	color: white;
+	padding: 0.4rem 0.5rem;
+	font-size: 0.9rem;
+	-webkit-transition: all 0.3s;
+	transition: all 0.3s;
 	cursor: pointer;
 	cursor: pointer;
 	border-radius: 0;
 	border-radius: 0;
 }
 }
@@ -903,22 +904,22 @@ body {
 		width: 100%;
 		width: 100%;
 	}
 	}
 
 
-	#msform .input-sec>input[type="text"]:nth-of-type(1) {
-    margin-top: 77%;
-  }
+	#msform .input-sec > input[type="text"]:nth-of-type(1) {
+		margin-top: 77%;
+	}
+
+	#msform .input_eng .input-sec > input[type="text"]:nth-of-type(1) {
+		margin-top: 80%;
+	}
 
 
-  #msform .input_eng .input-sec>input[type="text"]:nth-of-type(1) {
-    margin-top: 80%;
-  }
-  
-  #msform .input-sec .upload-btn {
-    width: 100%;
-    height: 60%;
-  }
+	#msform .input-sec .upload-btn {
+		width: 100%;
+		height: 60%;
+	}
 
 
-  #msform .input_eng .input-sec .upload-btn {
-    height: 45%;
-  }
+	#msform .input_eng .input-sec .upload-btn {
+		height: 45%;
+	}
 }
 }
 
 
 .container-login {
 .container-login {
@@ -1164,7 +1165,7 @@ body {
 
 
 .psd_visible,
 .psd_visible,
 .psd_invisible {
 .psd_invisible {
-	right: .5rem;
+	right: 0.5rem;
 	top: 50%;
 	top: 50%;
 	transform: translateY(-50%);
 	transform: translateY(-50%);
 }
 }
@@ -1452,6 +1453,23 @@ body {
 					}
 					}
 				}
 				}
 			}
 			}
+			.share {
+				.form-control{
+
+				}
+				.form-control:hover,
+				.form-control:focus,
+				.form-control:active {
+					outline: none !important;
+					box-shadow:none;
+				}
+				.btn:hover,
+				.btn:focus,
+				.btn:active {
+					outline: none !important;
+					box-shadow:none;
+				}
+			}
 		}
 		}
 	}
 	}
 }
 }
@@ -1484,7 +1502,6 @@ body {
 		// 	transform: scale(0.85);
 		// 	transform: scale(0.85);
 		// }
 		// }
 		.close-btn {
 		.close-btn {
-
 			@media screen and(min-width:$desktop) {
 			@media screen and(min-width:$desktop) {
 				display: none;
 				display: none;
 				// opacity: 0;
 				// opacity: 0;
@@ -1985,7 +2002,7 @@ body {
 	z-index: 20;
 	z-index: 20;
 	overflow: hidden;
 	overflow: hidden;
 	display: none;
 	display: none;
-	top:0px;
+	top: 0px;
 	@media screen and(min-width:$desktop) {
 	@media screen and(min-width:$desktop) {
 		display: none;
 		display: none;
 	}
 	}

+ 47 - 24
html/user_profile2.html

@@ -18,6 +18,7 @@
     <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet"
     <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet"
         integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
         integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/sweetalert2@11.0.18/dist/sweetalert2.min.css">
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/sweetalert2@11.0.18/dist/sweetalert2.min.css">
+    <link href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.css" rel="stylesheet"  />
     <link rel="stylesheet" href="static/owl.carousel.min.css">
     <link rel="stylesheet" href="static/owl.carousel.min.css">
     <link rel="stylesheet" href="static/owl.theme.default.min.css">
     <link rel="stylesheet" href="static/owl.theme.default.min.css">
     <link rel="stylesheet" href="static/scss/style.css">
     <link rel="stylesheet" href="static/scss/style.css">
@@ -25,20 +26,23 @@
     <script async defer crossorigin="anonymous"
     <script async defer crossorigin="anonymous"
         src="https://connect.facebook.net/zh_TW/sdk.js#xfbml=1&version=v12.0&appId=831591714123614&autoLogAppEvents=1"
         src="https://connect.facebook.net/zh_TW/sdk.js#xfbml=1&version=v12.0&appId=831591714123614&autoLogAppEvents=1"
         nonce="lDAd6vGz"></script>
         nonce="lDAd6vGz"></script>
-    
+
     <!-- Google Tag Manager -->
     <!-- Google Tag Manager -->
-    <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
-    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
-    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
-    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
-    })(window,document,'script','dataLayer','GTM-5M8S4GH');</script>
+    <script>(function (w, d, s, l, i) {
+            w[l] = w[l] || []; w[l].push({
+                'gtm.start':
+                    new Date().getTime(), event: 'gtm.js'
+            }); var f = d.getElementsByTagName(s)[0],
+                j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
+                    'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
+        })(window, document, 'script', 'dataLayer', 'GTM-5M8S4GH');</script>
     <!-- End Google Tag Manager -->
     <!-- End Google Tag Manager -->
 </head>
 </head>
 
 
 <body>
 <body>
     <!-- Google Tag Manager (noscript) -->
     <!-- Google Tag Manager (noscript) -->
-    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5M8S4GH"
-    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
+    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5M8S4GH" height="0" width="0"
+            style="display:none;visibility:hidden"></iframe></noscript>
     <!-- End Google Tag Manager (noscript) -->
     <!-- End Google Tag Manager (noscript) -->
 
 
     <div class="body-content" style="overflow-x: hidden;">
     <div class="body-content" style="overflow-x: hidden;">
@@ -65,9 +69,11 @@
                                 </a>
                                 </a>
                                 <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
                                 <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
                                     <li><button class="nav-link lan-swtich" aria-current="page" set-lan="html:en"
                                     <li><button class="nav-link lan-swtich" aria-current="page" set-lan="html:en"
-                                            onclick="changeLan(this);window.location.reload();" value="en">English</button></li>
+                                            onclick="changeLan(this);window.location.reload();"
+                                            value="en">English</button></li>
                                     <li><button class="nav-link lan-switch" aria-current="page" set-lan="html:zh"
                                     <li><button class="nav-link lan-switch" aria-current="page" set-lan="html:zh"
-                                            onclick="changeLan(this);window.location.reload();" value="zh">中文</button></li>
+                                            onclick="changeLan(this);window.location.reload();" value="zh">中文</button>
+                                    </li>
                                 </ul>
                                 </ul>
                             </li>
                             </li>
                             <li class="nav-item me-2 me-lg-1">
                             <li class="nav-item me-2 me-lg-1">
@@ -104,8 +110,8 @@
                                 <i class="fas fa-times text-white me-3 mt-3"></i>
                                 <i class="fas fa-times text-white me-3 mt-3"></i>
                             </div>
                             </div>
                             <div class="text-start mt-3">
                             <div class="text-start mt-3">
-                                <h2 class="fw-bold ps-0" href="index.html"><a class="nav-link active ps-3 pt-0"
-                                        aria-current="page" href="index.html">AI Spokesgirl</a></h2>
+                                <h2 class="fw-bold ps-0" href="./user_profile2.html"><a class="nav-link active ps-3 pt-0"
+                                        aria-current="page" href="./user_profile2.html">AI Spokesgirl</a></h2>
                             </div>
                             </div>
                             <div class="choozmologo text-start">
                             <div class="choozmologo text-start">
                                 <!-- <a class="navbar-brand pb-0 d-inline" href="index.html"><img class="img-fluid" style="width: 120px;" src="./static/img//contactus/CMM_LOGO.png" alt=""></a> -->
                                 <!-- <a class="navbar-brand pb-0 d-inline" href="index.html"><img class="img-fluid" style="width: 120px;" src="./static/img//contactus/CMM_LOGO.png" alt=""></a> -->
@@ -146,23 +152,29 @@
 
 
                                 <div class="Mobile-nav">
                                 <div class="Mobile-nav">
                                     <hr>
                                     <hr>
-                                    <a style="font-size: 18px;" class="text-white"
-                                    aria-current="page" href="pricing.html" set-lan="html:pricing-m">早鳥方案</a>
+                                    <a style="font-size: 18px;" class="text-white" aria-current="page"
+                                        href="pricing.html" set-lan="html:pricing-m">早鳥方案</a>
 
 
                                     <li id="changeLanguage" class="nav-list-item me-lg-1">
                                     <li id="changeLanguage" class="nav-list-item me-lg-1">
                                         <a style="font-size: 18px;" class="nav-link text-white" href="#"
                                         <a style="font-size: 18px;" class="nav-link text-white" href="#"
                                             id="navbarDropdownM" role="button" data-bs-toggle="dropdown"
                                             id="navbarDropdownM" role="button" data-bs-toggle="dropdown"
                                             aria-expanded="false">
                                             aria-expanded="false">
-                                            <i class="fas fa-globe text-white me-3"></i>中/En<i id="lang-arrow" class="fas fa-angle-down text-white ms-2"></i>
+                                            <i class="fas fa-globe text-white me-3"></i>中/En<i id="lang-arrow"
+                                                class="fas fa-angle-down text-white ms-2"></i>
                                         </a>
                                         </a>
                                     </li>
                                     </li>
                                     <div id="lang-manu">
                                     <div id="lang-manu">
-                                            <li><button class="nav-link lan-swtich bg-transparent text-white border-0 mx-auto" aria-current="page"
-                                                    set-lan="html:en" onclick="changeLan(this);window.location.reload();"
-                                                    value="en">English</button></li>
-                                            <li><button class="nav-link lan-switch bg-transparent text-white border-0 mx-auto" aria-current="page"
-                                                    set-lan="html:zh" onclick="changeLan(this);window.location.reload();" value="zh">中文</button>
-                                            </li>
+                                        <li><button
+                                                class="nav-link lan-swtich bg-transparent text-white border-0 mx-auto"
+                                                aria-current="page" set-lan="html:en"
+                                                onclick="changeLan(this);window.location.reload();"
+                                                value="en">English</button></li>
+                                        <li><button
+                                                class="nav-link lan-switch bg-transparent text-white border-0 mx-auto"
+                                                aria-current="page" set-lan="html:zh"
+                                                onclick="changeLan(this);window.location.reload();"
+                                                value="zh">中文</button>
+                                        </li>
                                     </div>
                                     </div>
                                     <li class="nav-item text-white  me-lg-1">
                                     <li class="nav-item text-white  me-lg-1">
                                         <a style="font-size: 18px;" class="nav-link btn-logout text-white"
                                         <a style="font-size: 18px;" class="nav-link btn-logout text-white"
@@ -311,9 +323,16 @@
                                             <div class="share col-12 order-5 col-lg-12 order-lg-5 mb-5">
                                             <div class="share col-12 order-5 col-lg-12 order-lg-5 mb-5">
                                                 <div class="card mt-3 p-3 p-lg-4">
                                                 <div class="card mt-3 p-3 p-lg-4">
                                                     <h3 set-lan="html:trial_title">Want to get more minutes?</h3>
                                                     <h3 set-lan="html:trial_title">Want to get more minutes?</h3>
-                                                    <p class="mb-4" set-lan="html:trial_txt">Invite your friends to AI
+                                                    <p class="mb-4"  set-lan="html:trial_txt">Invite your friends to AI
                                                         Spokesgirl and for each eligible one that signs up from your
                                                         Spokesgirl and for each eligible one that signs up from your
                                                         referral, we'll give you 3 more minutes free!</p>
                                                         referral, we'll give you 3 more minutes free!</p>
+                                                    <div class="input-group mb-4">
+                                                        <input type="text" id="invite-link" class="invite-link form-control"
+                                                            aria-label="Recipient's username"
+                                                            aria-describedby="button-addon2">
+                                                        <button class="copybutton btn btn-outline-secondary" type="button"
+                                                            id="button-addon2" onclick="copyEvent('copy')"><i class="fas fa-copy"></i></button>
+                                                    </div>
                                                     <div class="d-flex">
                                                     <div class="d-flex">
                                                         <p style="color:#183790; font-size: 20px;"
                                                         <p style="color:#183790; font-size: 20px;"
                                                             class="d-inline fw-bold" set-lan="html:share">Share:</p>
                                                             class="d-inline fw-bold" set-lan="html:share">Share:</p>
@@ -328,7 +347,8 @@
                                                                 style="position: relative; bottom:2px;">Facebook</span>
                                                                 style="position: relative; bottom:2px;">Facebook</span>
                                                         </div> -->
                                                         </div> -->
                                                         <a class="mx-2 mx-lg-4 share-fb text-center"
                                                         <a class="mx-2 mx-lg-4 share-fb text-center"
-                                                            href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fvideo.choozmo.com">
+                                                            href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fvideo.choozmo.com"
+                                                            target="_blank">
                                                             <img width="28" class="me-2"
                                                             <img width="28" class="me-2"
                                                                 src="./static/img/userprofile/Icon awesome-facebook-square.png"
                                                                 src="./static/img/userprofile/Icon awesome-facebook-square.png"
                                                                 alt="">
                                                                 alt="">
@@ -380,7 +400,9 @@
                         <div class="modal-terms">
                         <div class="modal-terms">
                             <ol class="ps-0">
                             <ol class="ps-0">
                                 <li set-lan="html:one_line_to_one_img">1. 一句台詞請對應提供一個影像連結做為搭配</li>
                                 <li set-lan="html:one_line_to_one_img">1. 一句台詞請對應提供一個影像連結做為搭配</li>
-                                <li><lang set-lan="html:sup_img_profile">2. 影像連結檔案格式支援:</lang><stong class="strong">.png, jpg, .mp4</stong>
+                                <li>
+                                    <lang set-lan="html:sup_img_profile">2. 影像連結檔案格式支援:</lang>
+                                    <stong class="strong">.png, jpg, .mp4</stong>
                                 </li>
                                 </li>
                                 <li set-lan="html:submit_to_wait">3. 點選“送出”之後需等待一段影片製作的時間,請您耐心等候,待製作完畢可於通知網址查看</li>
                                 <li set-lan="html:submit_to_wait">3. 點選“送出”之後需等待一段影片製作的時間,請您耐心等候,待製作完畢可於通知網址查看</li>
                             </ol>
                             </ol>
@@ -427,6 +449,7 @@
         integrity="sha384-Atwg2Pkwv9vp0ygtn1JAojH0nYbwNJLPhwyoVbhoPwBhjQPR5VtM2+xf0Uwh9KtT"
         integrity="sha384-Atwg2Pkwv9vp0ygtn1JAojH0nYbwNJLPhwyoVbhoPwBhjQPR5VtM2+xf0Uwh9KtT"
         crossorigin="anonymous"></script>
         crossorigin="anonymous"></script>
     <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.0.18/dist/sweetalert2.all.min.js"></script>
     <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.0.18/dist/sweetalert2.all.min.js"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.js"></script>
     <script src="static/owl.carousel.min.js"></script>
     <script src="static/owl.carousel.min.js"></script>
     <script src="static/loading-overlay.js"></script>
     <script src="static/loading-overlay.js"></script>
     <script type="text/javascript" src="static/lan.js"></script>
     <script type="text/javascript" src="static/lan.js"></script>

Некоторые файлы не были показаны из-за большого количества измененных файлов