Sfoglia il codice sorgente

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

jeter20131220 3 anni fa
parent
commit
20a4d1ef88
4 ha cambiato i file con 891 aggiunte e 726 eliminazioni
  1. BIN
      img/upload_img.png
  2. 655 631
      make_video.html
  3. 199 90
      make_video_eng.html
  4. 37 5
      styleMV.css

BIN
img/upload_img.png


+ 655 - 631
make_video.html

@@ -2,48 +2,64 @@
 <html lang="zh-TW">
 
 <head>
-  <meta charset="UTF-8">
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <meta http-equiv="X-UA-Compatible" content="ie=edge, Chrome=1">
-  <meta http-equiv="Cache-Control" content="no-cache">
-  <title>AI Spokesgirl</title>
-  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css"
-    integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css"
-    integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">
-  <link rel="preconnect" href="https://fonts.googleapis.com">
-  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
-  <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap" 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">
-  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/sweetalert2@11.0.18/dist/sweetalert2.min.css">
-  <link rel="stylesheet" href="./styleMV.css">
-  <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
-  <title>AI Spokesgirl</title>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge, Chrome=1">
+    <meta http-equiv="Cache-Control" content="no-cache">
+    <title>AI Spokesgirl</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
+    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp"
+      crossorigin="anonymous">
+    <link rel="stylesheet"
+      href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt"
+      crossorigin="anonymous">
+    <link rel="preconnect" href="https://fonts.googleapis.com">
+    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+    <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap" 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">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/sweetalert2@11.0.18/dist/sweetalert2.min.css">
+    <link rel="stylesheet" href="./styleMV.css">
+    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
+    <title>AI Spokesgirl</title>
+
+    <style>
+      .input-sec {
+        box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4);
+        -webkit-box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4);
+        position: relative;
+      }
+      .upload-cta {
+        position: absolute;
+        left: 0;
+        top: 0;
+      }
+      .upload-cta.box-active {
+        height: 80px;
+        width: 80px;
+        background-size: cover !important;
+        background-repeat: no-repeat;
+        border-radius: 1rem;
+      }
+      #msform .img-inputTest {
+        text-align: end;
+      }
+    </style>
 </head>
 
 <body>
-  <!-- ================================================================= -->
-  <!-- navbar -->
-  <nav class="navbar navbar-expand-lg navbar-light">
-    <div class="container-fluid">
-      <a class="navbar-brand" href="index.html">>AI Spokesgirl</a>
-      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent"
-        aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
-        <span class="navbar-toggler-icon"></span>
-      </button>
-      <div class="collapse navbar-collapse" id="navbarSupportedContent" class="d-md-none">
-        <ul class="navbar-nav ms-auto my-2 mb-lg-0">
-          <li class="nav-list-item pb-1 mb-3" data-bs-toggle="modal" data-bs-target="#howto">
-            <i class="fas fa-book-open me-2"></i>
-            <lan set-lan="html:usage_intro">使用說明</lan>
-          </li>
-          <li class="nav-list-item pb-1" data-bs-toggle="modal" data-bs-target="#history" onclick="openNav()">
-            <i class="fas fa-history me-2"></i>
-            <lan set-lan="html:history">歷史紀錄</lan>
-          </li>
-          <!-- <li class="nav-item">
+    <!-- ================================================================= -->
+    <!-- navbar -->
+    <nav class="navbar navbar-expand-lg navbar-light">
+        <div class="container-fluid">
+            <a class="navbar-brand" href="index.html">AI Spokesgirl</a>
+            <button class="navbar-toggler" type="button" data-bs-toggle="collapse"
+                data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
+                aria-label="Toggle navigation">
+                <span class="navbar-toggler-icon"></span>
+            </button>
+            <div class="collapse navbar-collapse" id="navbarSupportedContent">
+                <!-- <ul class="navbar-nav ms-auto mb-2 mb-lg-0">
+                    <li class="nav-item">
                         <a class="nav-link active" aria-current="page" href="pricing.html" set-lan="html:pricing">早鳥方案</a>
                     </li>
                     <li class="nav-item dropdown">
@@ -63,19 +79,19 @@
                     </li>
                     <li class="nav-item">
                         <a class="nav-link btn-logout" aria-current="page" set-lan="html:logout">登出</a>
-                    </li> -->
-        </ul>
-      </div>
-    </div>
-  </nav>
-  <!-- ================================================================= -->
+                    </li>
+                </ul> -->
+            </div>
+        </div>
+    </nav>
+    <!-- ================================================================= -->
 
 
-  <!-- ================================================================= -->
-  <!-- content -->
-  <div class="container-fluid px-0">
-    <div class="container-fluid">
-      <!-- <div id="mySidenav" class="sidenav">
+    <!-- ================================================================= -->
+    <!-- content -->
+    <div class="container-fluid px-0">
+        <div class="container-fluid">
+            <!-- <div id="mySidenav" class="sidenav">
                 <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
                 <h2 class="go_title" href="index.html"><a class="nav-link active" aria-current="page" href="index.html">AI Spokesgirl</a></h2>
                 <ul class="nav-list">
@@ -84,639 +100,647 @@
                 </ul>
                 <p class="right-text text-white d-inline-block">Choozmo All Rights Reserved</p>
             </div> -->
-      <div id="mySidenav" class="sidenav">
-        <!-- <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a> -->
-        <div class="sidenav-content">
-          <div class="text-start mt-3">
-            <a style="font-size: 28px;" class="nav-link active ps-1 fw-bold" aria-current="page" href="index.html"> <img style="display: inline;" width="32" class="home-btn me-2 mb-3" src="./img/about/home_黑.png" alt="">AI
-              Spokesgirl</a>
-          </div>
-          <div class="userName"></div>
-          <img class="user img-fluid rounded-circle" src="img/userimg.png" alt="">
-          <p class="text-white my-3 text-center" set-lan="html:Createsthtoday">今天要做甚麼影片呢?</p>
-          <div class="navbar-nav mb-2 mb-lg-0 px-3 pe-4">
-            <a class="nav-link btn-gocreate text-white col btn-makev" aria-current="page"
-              href="./make_video.html">影片製作</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 id="mySidenav" class="sidenav">
+                <!-- <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a> -->
+                <div class="sidenav-content">
+                <div class="text-start mt-3">
+                    <h2 class="fw-bold ps-0" href="index.html"><a class="nav-link active ps-1" aria-current="page" href="index.html">AI Spokesgirl</a></h2>
+                </div>
+                <div class="userName"></div> 
+                <img class="user img-fluid rounded-circle" src="img/userimg.png" alt="">
+                <p class="text-white my-3 text-center" set-lan="html:Createsthtoday">今天要做甚麼影片呢?</p>
+                <div class="navbar-nav mb-2 mb-lg-0 px-3 pe-4">
+                    <a class="nav-link btn-gocreate text-white col btn-makev" aria-current="page" href="./make_video.html" >影片製作</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 btn-makeppt" aria-current="page" href="./make_video_slide.html" set-lan="html:make_slides">投影片影片製作</a>
                     <a class="nav-link btn-gocreate text-white col-6 btn-makeen" aria-current="page" href="./index_eng.html" set-lan="html:make_video_eng">純英文影片製作</a>
                 </div> -->
-          <hr>
-          <ul class="nav-list ps-0">
-            <li class="nav-list-item pb-1 mb-3" data-bs-toggle="modal" data-bs-target="#howto"><i
-                class="fas fa-book-open me-2"></i>
-              <lan set-lan="html:usage_intro">使用說明</lan>
-            </li>
-            <!-- <a style="text-decoration: none;color:white;" href="./user_profile2.html">
+                <hr>
+                <ul class="nav-list ps-0">
+                    <li class="nav-list-item pb-1 mb-3" data-bs-toggle="modal" data-bs-target="#howto"><i
+                            class="fas fa-book-open me-2"></i>
+                        <lan set-lan="html:usage_intro">使用說明</lan>
+                    </li>
+                    <!-- <a style="text-decoration: none;color:white;" href="./user_profile2.html">
                         <li class="nav-list-item pb-1 mb-3" data-bs-toggle="modal">
                             <i class="fas fa-user me-2"></i>
                            <lan set-lan="html:user_profile">會員資料</lan>
                         </li>
                     </a> -->
-            <li class="nav-list-item pb-1" data-bs-toggle="modal" data-bs-target="#history" onclick="openNav()">
-              <i class="fas fa-history me-2"></i>
-              <lan set-lan="html:history">歷史紀錄</lan>
-            </li>
-          </ul>
-        </div>
-        <div class="right-text">
-          <a target="_blank" href="http://www.choozmo.com/">| 官網 |</a>
-          <a target="_blank" href="https://www.linkedin.com/company/choozmo/mycompany/"><img style="width: 20px;"
-              src="img/linkedin-logo-copy.png" alt=""></a>
-          <a target="_blank" href="https://www.facebook.com/choozmo/"><img style="width: 20px;"
-              src="img/facebook_logos_PNG19753.png" alt=""></a>
-          <a target="_blank" href="https://www.instagram.com/choozmo_cmm/"><img style="width: 20px;" src="img/IG.png"
-              alt=""></a>
-          <a target="_blank" href="https://line.me/R/ti/p/@choozmo?from=page"><img style="width: 20px;"
-              src="img/LINE_logo.svg.png" alt=""></a>
-          <a target="_blank" href="https://www.youtube.com/channel/UC2Qda9PhJWuiMTCZ-j7K_hg"><img style="width: 20px;"
-              src="img/youtube.png" alt=""></a>
-          <a target="_blank" href="https://twitter.com/ai_cmm"><img style="width: 20px;" src="img/twitter.png"
-              alt=""></a>
-          <p class="Reserved text-white text-start mt-3 ps-2">Choozmo All Rights Reserved</p>
-        </div>
-      </div>
-      <!-- <span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; 過去紀錄</span> -->
-      <div class="content ms-auto">
-        <form id="msform">
-          <div class="linker__box">
-            <p set-lan="html:preview_videos">預覽影片</p>
-            <i class="fas fa-link copy"></i>
-            <a id='linker' style="display: none;" class="ms-2" set-lan="html:video_link">影片連結</a>
-          </div>
-          <!-- fieldsets -->
-          <fieldset>
-            <h3 class="fs-subtitle">
-              <lan set-lan="html:video_title">標題</lan><img class="ms-1" src="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"
-              placeholder="標題" /> <br />
-          </fieldset>
-          <fieldset>
-            <h3 class="fs-subtitle">
-              <lan set-lan="html:choose_character">選擇人物</lan><img class="ms-1" src="img/question.png" alt=""
-                data-bs-toggle="tooltip" data-bs-placement="right" title="將作為影片的講者 The spokesgirl of your video">
-            </h3>
-            <select id="avatar" class='avatar'>
-              <option set-lan="html:p_choose_character" value="請選擇人物" selected="selected" disabled>請選擇人物</option>
-              <option value="7">Peggy</option>
-              <option value="8">Stacy</option>
-              <option value="11">Summer韓小夏</option>
-              <option value="12">Jocelyn</option>
-              <option value="13">Angela</option>
-              <option value="15">Isabela</option>
-              <option value="16">Sofia</option>
-              <option value="17">Kristina</option>
-              <option value="18">Paula</option>
-            </select>
-            <div class="d-flex row row-cols-2 row-cols-lg-6">
-              <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Peggy" data-img="peggy">
-                <div class="imgfr"><img src="img/peggy.webp" class="card-img-top" alt="..."></div>
-                <div class="card-body">
-                  <h5 class="card-title">Peggy</h5>
-                </div>
-              </div>
-              <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Stacy" data-img="stacy">
-                <div class="imgfr"><img src="img/stacy.webp" class="card-img-top" alt="..."></div>
-                <div class="card-body">
-                  <h5 class="card-title">Stacy</h5>
-                </div>
-              </div>
-              <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Summer韓小夏" data-img="summer韓小夏">
-                <div class="imgfr"><img src="img/summer韓小夏.webp" class="card-img-top" alt="..."></div>
-                <div class="card-body">
-                  <h5 class="card-title">Summer韓小夏</h5>
-                </div>
-              </div>
-              <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Jocelyn" data-img="Jocelyn">
-                <div class="imgfr"><img src="https://i.imgur.com/Jhg4vp6.png" class="card-img-top" alt="..."></div>
-                <div class="card-body">
-                  <h5 class="card-title">Jocelyn</h5>
-                </div>
-              </div>
-              <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Angela" data-img="Angela">
-                <div class="imgfr"><img src="img/Angela.webp" class="card-img-top" alt="..."></div>
-                <div class="card-body">
-                  <h5 class="card-title">Angela</h5>
-                </div>
-              </div>
-              <div class="card col" data-avatar="Isabela" data-img="Isabela">
-                <div class="imgfr"><img src="img/Isabela.webp" class="card-img-top" alt="..."></div>
-                <div class="card-body">
-                  <h5 class="card-title">Isabela</h5>
-                </div>
-              </div>
-              <div class="card col" data-avatar="Sofia" data-img="Sofia">
-                <div class="imgfr"><img src="img/Sofia.webp" class="card-img-top" alt="..."></div>
-                <div class="card-body">
-                  <h5 class="card-title">Sofia</h5>
-                </div>
-              </div>
-              <div class="card col" data-avatar="Kristina" data-img="Kristina">
-                <div class="imgfr"><img src="img/Kristina.webp" class="card-img-top" alt="..."></div>
-                <div class="card-body">
-                  <h5 class="card-title">Kristina</h5>
+                    <li class="nav-list-item pb-1" data-bs-toggle="modal" data-bs-target="#history" onclick="openNav()">
+                        <i class="fas fa-history me-2"></i>
+                        <lan set-lan="html:history">歷史紀錄</lan>
+                    </li>
+                </ul>
                 </div>
-              </div>
-              <div class="card col" data-avatar="Paula" data-img="Paula">
-                <div class="imgfr"><img src="img/Paula.webp" class="card-img-top" alt="..."></div>
-                <div class="card-body">
-                  <h5 class="card-title">Paula</h5>
+                <div class="right-text">
+                    <a target="_blank" href="http://www.choozmo.com/">| 官網 |</a>
+                    <a target="_blank" href="https://www.linkedin.com/company/choozmo/mycompany/"><img
+                            style="width: 20px;" src="img/linkedin-logo-copy.png" alt=""></a>
+                    <a target="_blank" href="https://www.facebook.com/choozmo/"><img style="width: 20px;"
+                            src="img/facebook_logos_PNG19753.png" alt=""></a>
+                    <a target="_blank" href="https://www.instagram.com/choozmo_cmm/"><img style="width: 20px;"
+                            src="img/IG.png" alt=""></a>
+                    <a target="_blank" href="https://line.me/R/ti/p/@choozmo?from=page"><img style="width: 20px;"
+                            src="img/LINE_logo.svg.png" alt=""></a>
+                    <a target="_blank" href="https://www.youtube.com/channel/UC2Qda9PhJWuiMTCZ-j7K_hg"><img
+                            style="width: 20px;" src="img/youtube.png" alt=""></a>
+                    <a target="_blank" href="https://twitter.com/ai_cmm"><img style="width: 20px;"
+                            src="img/twitter.png" alt=""></a>
+                    <p class="Reserved text-white text-start mt-3 ps-2">Choozmo All Rights Reserved</p>
                 </div>
-              </div>
-            </div>
-          </fieldset>
-          <fieldset>
-            <h3 class="fs-subtitle" set-lan="html:lines">台詞</h3>
-            <label for="myCheck" set-lan="html:add_eng">加入英文:</label>
-            <input type="checkbox" id="multiLang"> <br />
-            <div class="subtitle-inputs">
-
             </div>
-            <span class="add">+</span>
-          </fieldset>
-          <fieldset id='imgSrc'>
-            <h3 class="fs-subtitle" style="display: inline-block;">
-              <lan set-lan="html:img_link">影像連結</lan><img class="ms-1" src="img/question.png" alt=""
-                data-bs-toggle="tooltip" data-bs-placement="right"
-                title="僅接受png, jpg, mp4格式 Supported File Formats: png, jpg, mp4">
-            </h3><br />
-            <div class="img-inputs">
-              <!-- <div>
-                                <input type="text" name="t1" placeholder="1" class="txtsrc txtsrc1" style="width:calc(100% - 7rem);">
-                                <span class="img-toggle" style="width:6rem"><i class="fas fa-images"></i></span>
-                                <div class="img-box">
-                                    <input type="text" name="m1" class="imgsrc imgsrc1" placeholder="1">
-                                    <input id="img1" type="file" class="img_uploader img_up" style="display: none;">
-                                    <label for="img1" class="upload-btn" set-lan="html:upload_file">上傳檔案</label>
+            <!-- <span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; 過去紀錄</span> -->
+            <div class="content ms-auto">
+                <form id="msform">
+                    <div class="linker__box">
+                        <p set-lan="html:preview_videos">預覽影片</p>
+                        <i class="fas fa-link copy"></i>
+                        <a id='linker' style="display: none;" class="ms-2" set-lan="html:video_link">影片連結</a>
+                    </div>
+                    <!-- fieldsets -->
+                    <fieldset>
+                        <h3 class="fs-subtitle"><lan set-lan="html:video_title">標題</lan><img class="ms-1" src="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" placeholder="標題"/> <br/>
+                    </fieldset>
+                    <fieldset>
+                        <h3  class="fs-subtitle"><lan set-lan="html:choose_character">選擇人物</lan><img class="ms-1" src="img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" title="將作為影片的講者 The spokesgirl of your video"></h3>            
+                        <select id="avatar" class='avatar'>
+                            <option set-lan="html:p_choose_character" value="請選擇人物" selected="selected" disabled>>請選擇人物</option>              
+                            <option value="7">Peggy</option>
+                            <option value="8">Stacy</option>
+                            <option value="10">Nina</option>
+                            <option value="11">Summer韓小夏</option>
+                            <option value="12">Jocelyn</option>
+                            <option value="13">Angela</option>
+                            <option value="15">Isabela</option>
+                            <option value="16">Sofia</option>
+                            <option value="17">Kristina</option>
+                            <option value="18">Paula</option>
+                        </select>
+                        <div class="d-flex row">
+                            <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Peggy" data-img="peggy">
+                                <div class="imgfr"><img src="img/peggy.webp" class="card-img-top" alt="..."></div>
+                                <div class="card-body">
+                                    <h5 class="card-title">Peggy</h5>
                                 </div>
-                            </div> -->
-            </div>
-            <span class="addimg">+</span>
-            <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> -->
-            <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="myBar">0%</div>
-            </div>
-          </fieldset>
-        </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>
-
-      <div class="modal fade" tabindex="-1" id="howto" aria-labelledby="howto" aria-hidden="true">
-        <div class="modal-dialog">
-          <div class="modal-content">
-            <div class="modal-header">
-              <h5 class="modal-title" id="staticBackdropLabel" set-lan="html:usage_intro">使用說明</h5>
-              <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
-            </div>
-            <div class="modal-body">
-              <div class="modal-terms">
-                <ol class="ps-0">
-                  <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>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="modal" tabindex="-1" id="history" aria-labelledby="history" aria-hidden="true">
-        <div class="modal-dialog modal-dialog-scrollable">
-          <div class="modal-content">
-            <div class="modal-header">
-              <h5 class="modal-title" id="staticBackdropLabel" set-lang="html:history">歷史紀錄</h5>
-              <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
+                            </div>
+                            <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Stacy" data-img="stacy">
+                                <div class="imgfr"><img src="img/stacy.webp" class="card-img-top" alt="..."></div>
+                                <div class="card-body">
+                                    <h5 class="card-title">Stacy</h5>
+                                </div>
+                            </div>
+                            <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Nina" data-img="nina">
+                                <div class="imgfr"><img src="img/nina.webp" class="card-img-top" alt="..."></div>
+                                <div class="card-body">
+                                    <h5 class="card-title">Nina</h5>
+                                </div>
+                            </div>
+                            <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Summer韓小夏" data-img="summer韓小夏">
+                                <div class="imgfr"><img src="img/summer韓小夏.webp" class="card-img-top" alt="..."></div>
+                                <div class="card-body">
+                                    <h5 class="card-title">Summer韓小夏</h5>
+                                </div>
+                            </div>
+                            <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Jocelyn" data-img="Jocelyn">
+                                <div class="imgfr"><img src="img/Jocelyn.png" class="card-img-top" alt="..."></div>
+                                <div class="card-body">
+                                    <h5 class="card-title">Jocelyn</h5>
+                                </div>
+                            </div>
+                            <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Angela" data-img="Angela">
+                                <div class="imgfr"><img src="img/Angela.webp" class="card-img-top" alt="..."></div>
+                                <div class="card-body">
+                                    <h5 class="card-title">Angela</h5>
+                                </div>
+                            </div>
+                            <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Isabela" data-img="Isabela">
+                              <div class="imgfr"><img src="img/Isabela.webp" class="card-img-top" alt="..."></div>
+                              <div class="card-body">
+                                <h5 class="card-title">Isabela</h5>
+                              </div>
+                            </div>
+                            <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Sofia" data-img="Sofia">
+                              <div class="imgfr"><img src="img/Sofia.webp" class="card-img-top" alt="..."></div>
+                              <div class="card-body">
+                                <h5 class="card-title">Sofia</h5>
+                              </div>
+                            </div>
+                            <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Kristina" data-img="Kristina">
+                              <div class="imgfr"><img src="img/Kristina.webp" class="card-img-top" alt="..."></div>
+                              <div class="card-body">
+                                <h5 class="card-title">Kristina</h5>
+                              </div>
+                            </div>
+                            <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Paula" data-img="Paula">
+                              <div class="imgfr"><img src="img/Paula.webp" class="card-img-top" alt="..."></div>
+                              <div class="card-body">
+                                <h5 class="card-title">Paula</h5>
+                              </div>
+                            </div>
+                        </div>
+                    </fieldset>
+                    <fieldset id='imgSrc' style="box-shadow: none;-webkit-box-shadow: none; padding: 0;">
+                      <h3 class="fs-subtitle" style="display: inline-block;"><lan set-lan="html:content">內容素材</lan>
+                        <img class="ms-1" src="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.">
+                      </h3><br/>
+                      <label for="myCheck" set-lan="html:add_eng">加入英文:</label> 
+                      <input type="checkbox" id="multiLang" > <br/>
+                      <div class="img-inputTest mt-3">
+                          
+                      </div>
+                      <span class="addsec">+</span>
+                      <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> -->
+                      <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="myBar">0%</div>
+                      </div>
+                  </fieldset>
+                </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>
-            <div class="modal-body">
-              <div class="modal-terms">
-                <div class="loader"><img src="img/bx_loader.gif" alt=""></div>
-                <ol class="ps-0 historyList">
-                </ol>
-              </div>
+            
+            <div class="modal fade" tabindex="-1" id="howto" aria-labelledby="howto" aria-hidden="true">
+                <div class="modal-dialog">
+                    <div class="modal-content">
+                    <div class="modal-header">
+                        <h5 class="modal-title" id="staticBackdropLabel" set-lan="html:usage_intro">使用說明</h5>
+                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
+                    </div>
+                    <div class="modal-body">
+                        <div class="modal-terms">
+                            <ol class="ps-0">
+                                <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>
+                        </div>
+                    </div>
+                    </div>
+                </div>
+            </div> 
+            <div class="modal" tabindex="-1" id="history" aria-labelledby="history" aria-hidden="true">
+                <div class="modal-dialog modal-dialog-scrollable">
+                    <div class="modal-content">
+                        <div class="modal-header">
+                        <h5 class="modal-title" id="staticBackdropLabel" set-lang="html:history">歷史紀錄</h5>
+                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
+                        </div>
+                        <div class="modal-body">
+                            <div class="modal-terms">
+                            <div class="loader"><img src="img/bx_loader.gif" alt=""></div>
+                            <ol class="ps-0 historyList">
+                            </ol>
+                            </div>
+                        </div>
+                    </div>
+                </div>
             </div>
-          </div>
-        </div>
-      </div>
-      <div class="modal" tabindex="-1" id="avatarmega" aria-labelledby="history" aria-hidden="true">
-        <div class="modal-dialog modal-dialog-centered">
-          <div class="modal-content text-center">
-            <div class="modal-body">
-              <img class="modal-img" src="" alt="">
-              <h5 class="modal-title mt-2"></h5>
-              <button type="button" class="btn btn-secondary btn-dismiss" data-bs-dismiss="modal"
-                set-lan="html:close">Close</button>
+            <div class="modal" tabindex="-1"  id="avatarmega" aria-labelledby="history" aria-hidden="true">
+                <div class="modal-dialog modal-dialog-centered">
+                    <div class="modal-content text-center">
+                        <div class="modal-body">
+                            <img class="modal-img" src="" alt="">
+                            <h5 class="modal-title mt-2"></h5>
+                            <button type="button" class="btn btn-secondary btn-dismiss" data-bs-dismiss="modal" set-lan="html:close">Close</button>
+                        </div>
+                    </div>
+                </div>
             </div>
-          </div>
         </div>
-      </div>
     </div>
-  </div>
-  <!-- ================================================================= -->
-
-
-  <!-- ================================================================= -->
-  <!-- footer -->
-  <footer class="fixed-bottom text-center py-2">
-
-  </footer>
-  <!-- ================================================================= -->
-
-  <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
-  <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js'></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/sweetalert2@11.0.18/dist/sweetalert2.all.min.js"></script>
-  <script>
-    const card = document.getElementsByClassName('card');
-    var client_id = Date.now()
-    var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
-    var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
-      return new bootstrap.Tooltip(tooltipTriggerEl)
-    });
-    var myModal = new bootstrap.Modal(document.getElementById('history'), {
-      keyboard: false
-    })
-    var avatarModal = new bootstrap.Modal(document.getElementById('avatarmega'), {
-      keyboard: false
-    })
-    var modalImg = document.querySelector("#avatarmega .modal-img");
-    var modalTitle = document.querySelector("#avatarmega .modal-title");
-    var avatarSelector = document.getElementById("avatar");
-
-    avatarSelector.addEventListener('change', avatarChange);
-    avatarChange();
-
-    function addCardListener() {
-      for (let i = 0; i < card.length; i++) {
-        card[i].addEventListener('click', openavatarModel);
+    <!-- ================================================================= -->
+
+
+    <!-- ================================================================= -->
+    <!-- footer -->
+    <footer class="fixed-bottom text-center py-2">
+
+    </footer> 
+    <!-- ================================================================= -->
+  
+    <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
+    <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js'></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/sweetalert2@11.0.18/dist/sweetalert2.all.min.js"></script>
+    <script>
+      const card = document.getElementsByClassName('card');
+      var client_id = Date.now()
+      var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
+      var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
+        return new bootstrap.Tooltip(tooltipTriggerEl)
+      });
+      var myModal = new bootstrap.Modal(document.getElementById('history'), {
+        keyboard: false
+      })
+      var avatarModal = new bootstrap.Modal(document.getElementById('avatarmega'), {
+        keyboard: false
+      })
+      var modalImg = document.querySelector("#avatarmega .modal-img");
+      var modalTitle = document.querySelector("#avatarmega .modal-title");
+      var avatarSelector = document.getElementById("avatar");
+
+      avatarSelector.addEventListener('change', avatarChange);
+      avatarChange();
+
+      function addCardListener() {
+        for (let i = 0; i < card.length; i++) {
+          card[i].addEventListener('click', openavatarModel);
+        }
       }
-    }
-
-    addCardListener();
-    function avatarChange() {
-      var value = avatarSelector.options[avatarSelector.selectedIndex].text;
-      for (let i = 0; i < card.length; i++) {
-        card[i].classList.remove('active');
-        if (card[i].dataset.avatar == value) {
-          card[i].classList.add('active');
+
+      addCardListener();
+      function avatarChange() {
+        var value = avatarSelector.options[avatarSelector.selectedIndex].text;
+        for (let i = 0; i < card.length; i++) {
+          card[i].classList.remove('active');
+          if (card[i].dataset.avatar == value) {
+            card[i].classList.add('active');
+          }
         }
       }
-    }
-
-    function openavatarModel() {
-      console.log(this.dataset.img);
-      modalImg.setAttribute("src", `img/${this.dataset.img}.webp`);
-      modalTitle.textContent = `${this.dataset.avatar}`;
-      avatarModal.show();
-    }
-
-    $('input[type=file]').on('change', prepareUpload);
-    function prepareUpload(event) {
-      files = event.target.files;
-      var data = new FormData();
-      //data.append('file', $('.img_up1').prop('files')[0]);
-      data.append('file', files[0]);
-      // append other variables to data if you want: data.append('field_name_x', field_value_x);
-      $(this).next().text('');
-      $(this).next().html('<img src="img/Spinner-1s-181px.gif">');
-      $.ajax({
-        type: 'POST',
-        processData: false, // important
-        contentType: false, // important
-        data: data,
-        url: 'https://www.choozmo.com:8887/uploadfile',
-        dataType: 'json',
-        success: function (jsonData) {
-          event.target.previousSibling.value = jsonData.msg;
-          console.log(jsonData.msg);
-          $(this).prev().val(jsonData.msg);
-          event.target.nextSibling.innerHTML = '';
-          event.target.nextSibling.textContent = '上傳檔案';
-          //console.log($(this).next());
-          //$(this).next().html('上傳檔案');
-          //$(this).next().text('上傳檔案');
-        },
-        error: function (error) {
-          event.target.nextSibling.innerHTML = '';
-          event.target.nextSibling.textContent = '上傳檔案';
-          alert('圖片錯誤');
+
+      function openavatarModel() {
+        console.log(this.dataset.img);
+        modalImg.setAttribute("src", `img/${this.dataset.img}.webp`);
+        modalTitle.textContent = `${this.dataset.avatar}`;
+        avatarModal.show();
+      }
+
+      $('input[type=file]').on('change', prepareUpload);
+      function prepareUpload(event) {
+        files = event.target.files;
+        var data = new FormData();
+        console.log(files);
+        //data.append('file', $('.img_up1').prop('files')[0]);
+        data.append('file', files[0]);
+        // append other variables to data if you want: data.append('field_name_x', field_value_x);
+        //$(this).next().text('上傳中');
+        console.log($(this).next());
+        // $(this).next().html('<img src="img/Spinner-1s-181px.gif">');
+        $.ajax({
+          type: 'POST',
+          processData: false, // important
+          contentType: false, // important
+          data: data,
+          url: 'https://www.choozmo.com:8887/uploadfile',
+          dataType: 'json',
+          success: function (jsonData) {
+            console.log(event.target.previousSibling);
+            event.target.previousSibling.value = jsonData.msg;
+            console.log(jsonData.msg);
+            $(this).prev().val(jsonData.msg);
+            const nextEl = event.target.nextSibling;
+            nextEl.style.backgroundImage = `url(http://${jsonData.msg})`;
+            // nextEl.style.backgroundImage = `url(https://cdn2.ettoday.net/images/6017/d6017847.jpg)`;
+            // nextEl.nextSibling.classList.add('box-active');
+            // nextEl.nextSibling.style.backgroundImage = `url(http://${jsonData.msg})`;
+            //console.log($(this).next());
+            // $(this).next().html('<img class="d-none"src="img/Spinner-1s-181px.gif">');
+            $(this).html('');
+            //$(this).next().text('上傳檔案');
+          },
+          error: function (error) {
+            const nextEl = event.target.nextSibling;
+            nextEl.style.backgroundImage = `url(./img/upload_img.png)`;
+            $(this).html('');
+            alert('圖片錯誤');
+          }
+        });
+      }
+      const button = document.querySelector('.next');
+
+      $(".next").click(function () {
+        button.setAttribute('disabled', '');
+        setTimeout(function () {
+          button.removeAttribute('disabled')
+        }, 10000);
+        avatar = $('.avatar').val();
+        name_title = $('.title_new').val();
+        txtARR = [];
+        imgARR = [];
+        var step;
+        let contentIdx = document.querySelectorAll(".txtsrc").length;
+        for (let i = 1; i < (contentIdx + 1); i++) {
+          if ($(`.txtsrc${i}`).val() != "") {
+            txtARR.push($(`.txtsrc${i}`).val())
+          }
         }
-      });
-    }
-    const button = document.querySelector('.next');
-
-    $(".next").click(function () {
-      button.setAttribute('disabled', '');
-      setTimeout(function () {
-        button.removeAttribute('disabled')
-      }, 10000);
-      avatar = $('.avatar').val();
-      name_title = $('.title_new').val();
-      txtARR = [];
-      imgARR = [];
-      var step;
-      let contentIdx = document.querySelectorAll(".txtsrc").length;
-      for (let i = 1; i < (contentIdx + 1); i++) {
-        if ($(`.txtsrc${i}`).val() != "") {
-          txtARR.push($(`.txtsrc${i}`).val())
+        let imgIdx = document.querySelectorAll(".imgsrc").length;
+        for (let i = 1; i < (imgIdx + 1); i++) {
+          if ($(`.imgsrc${i}`).val() != "") {
+            imgARR.push($(`.imgsrc${i}`).val())
+          }
         }
+        multiLang = 0;
+        if ($('#multiLang').prop("checked")) {multiLang = 1;}
+        dataOBJ = { "name": name_title, "text_content": txtARR, "image_urls": imgARR, "avatar": avatar,"multiLang":multiLang, "client_id": client_id }
+        objstr = JSON.stringify(dataOBJ);
+        console.log(dataOBJ);
+        var xhr = new XMLHttpRequest();
+        xhr.open("POST", "https://www.choozmo.com:8887/make_anchor_video_noAuth2");
+        xhr.setRequestHeader("accept", "application/json");
+        xhr.setRequestHeader("Content-Type", "application/json");
+        xhr.onreadystatechange = function () {
+          if (xhr.readyState === 4) {
+            responseOBJ = JSON.parse(xhr.responseText)
+            console.log(responseOBJ.msg);
+              //let title = "資料已送出";
+              let text;
+              text = responseOBJ.msg.zh;
+              Swal.fire({
+              // title: title,
+                icon: 'info',
+                text: text,
+                confirmButtonColor: '#3085d6',
+              });
+            
+          }
+        };
+        var data = renderXHR_data(dataOBJ)
+        console.log(data)
+        result = xhr.send(objstr); 
+      });
+      
+      var loaded_data = ''
+      function openNav() {
+        document.getElementById("mySidenav").style.width = "250px";
+        document.querySelector('.loader').style.display = "block";
+        axios({
+          method: 'post',
+          url: 'https://www.choozmo.com:8887/history_input_noAuth',
+          headers: { 
+              'accept': 'application/json'
+          },
+          data: ''
+        }).then(res => {
+          console.log(res.data);
+          loaded_data = res.data;
+          var historyList = document.querySelector('.historyList');
+          historyList.innerHTML = '';
+          for (var obj of loaded_data) {
+            var list = document.createElement('li');
+            list.id = obj.id;
+            // div-imgfr
+            var divImgfr = document.createElement('div');
+            divImgfr.classList.add('item_imgfr');
+            var img = document.createElement('img');
+            img.setAttribute('src', obj['image_urls'][0]);
+            divImgfr.appendChild(img);
+            // div-content
+            var contentBox = document.createElement('div');
+            contentBox.classList.add('content-box');
+            var boxTitle = document.createElement('p');
+            boxTitle.classList.add('box-title');
+            boxTitle.textContent = obj.name;
+            boxTitle.id = obj.id;
+            console.log(loaded_data);
+            boxTitle.setAttribute('onclick', `direct(${obj.id})`);
+
+            var boxLink = document.createElement('span');
+            boxLink.classList.add('box-link');
+            boxLink.setAttribute("data-url", obj.link);
+            boxLink.setAttribute('onclick', 'view()');
+            boxLink.innerHTML = '<i class="fas fa-play-circle me-1"></i>觀看影片';
+            contentBox.appendChild(boxTitle);
+            contentBox.appendChild(boxLink);
+            list.classList.add("historyList-item");
+            list.setAttribute('onclick', `direct(${obj.id})`);
+            list.appendChild(divImgfr);
+            list.appendChild(contentBox);
+            historyList.appendChild(list);
+          }
+          document.querySelector('.loader').style.display = "none";
+        
+        }).catch(err => {
+          console.log(err);
+        });
       }
-      let imgIdx = document.querySelectorAll(".imgsrc").length;
-      for (let i = 1; i < (imgIdx + 1); i++) {
-        if ($(`.imgsrc${i}`).val() != "") {
-          imgARR.push($(`.imgsrc${i}`).val())
-        }
+      function closeNav() {
+        document.getElementById("mySidenav").style.width = "250px";
       }
-      multiLang = 0;
-      if ($('#multiLang').prop("checked")) { multiLang = 1; }
-      dataOBJ = { "name": name_title, "text_content": txtARR, "image_urls": imgARR, "avatar": avatar, "multiLang": multiLang, "client_id": client_id }
-      objstr = JSON.stringify(dataOBJ);
-      console.log(dataOBJ);
-      var xhr = new XMLHttpRequest();
-      xhr.open("POST", "https://www.choozmo.com:8887/make_anchor_video_noAuth2");
-      xhr.setRequestHeader("accept", "text/html");
-      xhr.setRequestHeader("Content-Type", "application/json");
-      xhr.onreadystatechange = function () {
-        if (xhr.readyState === 4) {
-          responseOBJ = JSON.parse(xhr.responseText)
-          console.log(responseOBJ.msg);
-          //let title = "資料已送出";
-          let text;
-          text = responseOBJ.msg.zh;
-          Swal.fire({
-            // title: title,
-            icon: 'info',
-            text: text,
-            confirmButtonColor: '#3085d6',
-          });
 
+      function view() {
+        event.stopPropagation();
+        console.log(event.target);
+        if (event.target.nodeName === 'I') {
+          return;
+        } else {
+          window.open(`http://${event.target.dataset.url}`, '_blank');
         }
-      };
-      var data = renderXHR_data(dataOBJ)
-      console.log(data)
-      result = xhr.send(objstr);
-    });
-
-    var loaded_data = ''
-    function openNav() {
-      document.getElementById("mySidenav").style.width = "250px";
-      document.querySelector('.loader').style.display = "block";
-      axios({
-        method: 'post',
-        url: 'https://www.choozmo.com:8887/history_input_noAuth',
-        headers: {
-          'accept': 'application/json'
-        },
-        data: ''
-      }).then(res => {
-        console.log(res.data);
-        loaded_data = res.data;
-        var historyList = document.querySelector('.historyList');
-        historyList.innerHTML = '';
-        for (var obj of loaded_data) {
-          var list = document.createElement('li');
-          list.id = obj.id;
-          // div-imgfr
-          var divImgfr = document.createElement('div');
-          divImgfr.classList.add('item_imgfr');
-          var img = document.createElement('img');
-          img.setAttribute('src', obj['image_urls'][0]);
-          divImgfr.appendChild(img);
-          // div-content
-          var contentBox = document.createElement('div');
-          contentBox.classList.add('content-box');
-          var boxTitle = document.createElement('p');
-          boxTitle.classList.add('box-title');
-          boxTitle.textContent = obj.name;
-          boxTitle.id = obj.id;
-          console.log(loaded_data);
-          boxTitle.setAttribute('onclick', `direct(${obj.id})`);
-
-          var boxLink = document.createElement('span');
-          boxLink.classList.add('box-link');
-          boxLink.setAttribute("data-url", obj.link);
-          boxLink.setAttribute('onclick', 'view()');
-          boxLink.innerHTML = '<i class="fas fa-play-circle me-1"></i>觀看影片';
-          contentBox.appendChild(boxTitle);
-          contentBox.appendChild(boxLink);
-          list.classList.add("historyList-item");
-          list.setAttribute('onclick', `direct(${obj.id})`);
-          list.appendChild(divImgfr);
-          list.appendChild(contentBox);
-          historyList.appendChild(list);
+      }
+
+      function renderXHR_data(jsonObj) {
+        XHRstring = ''
+        for (const [key, value] of Object.entries(jsonObj)) {
+          console.log(value)
+          if (typeof (value) == "object") {
+            XHRstring += (key+'=['+value.join(',')+']&')
+          }
+          else {
+            XHRstring += (key + '=' + value + '&')
+          }
         }
-        document.querySelector('.loader').style.display = "none";
+        XHRstring = XHRstring.substring(0, XHRstring.length - 1);
+        return XHRstring
+      }
 
-      }).catch(err => {
-        console.log(err);
-      });
-    }
-    function closeNav() {
-      document.getElementById("mySidenav").style.width = "250px";
-    }
-
-    function view() {
-      event.stopPropagation();
-      console.log(event.target);
-      if (event.target.nodeName === 'I') {
-        return;
-      } else {
-        window.open(`http://${event.target.dataset.url}`, '_blank');
+      function direct(id) {
+        location.href = `make_video.html?id=${id}`;
       }
-    }
-
-    function renderXHR_data(jsonObj) {
-      XHRstring = ''
-      for (const [key, value] of Object.entries(jsonObj)) {
-        console.log(value)
-        if (typeof (value) == "object") {
-          XHRstring += (key + '=[' + value.join(',') + ']&')
+
+
+      function load_data(tid, loaded_data, draft = false) {
+        if(!tid) {
+          return;
         }
-        else {
-          XHRstring += (key + '=' + value + '&')
+        var title = document.getElementById("title");
+        var linker = document.getElementById("linker");
+        myModal.hide();
+        if(!draft) {
+          linker.setAttribute('href', `http://${loaded_data.find(item => item.id == tid).link}`)
+          linker.setAttribute('target', '_blank')
+          $("#linker").html(`http://${loaded_data.find(item => item.id == tid).link}`)
+          $("#linker").show();
+          $(".linker__box").show();
+        }
+        console.log(loaded_data);
+        let historyItem = loaded_data.filter(item => item.id == tid)[0];
+        console.log(historyItem);
+        if(draft) {
+          $(".title_new").val(historyItem.title);
+          $("#avatar").val(historyItem.avatar);
+        } else {
+          $(".title_new").val(loaded_data.find(item => item.id == tid).name);
+          $("#avatar").val(historyItem.avatar);
         }
-      }
-      XHRstring = XHRstring.substring(0, XHRstring.length - 1);
-      return XHRstring
-    }
 
-    function direct(id) {
-      location.href = `make_video.html?id=${id}`;
-    }
+        let txtlength = historyItem.text_content.length;
+        let imglength = historyItem.image_urls.length;
+        console.log(txtlength);
+
+        $('.img-inputTest').html('');
+        for (let i = 0; i < txtlength; i++) {
+          var input_sec = document.createElement('div');
+          var img_box = document.createElement('div');
+
+          input_sec.classList.add('input-sec', `input-sec${i+1}`, 'p-3', 'mb-3');
+          img_box.classList.add('img-box');
+
+          // text input
+          var txtinput = document.createElement("input");
+          txtinput.setAttribute('type', 'text');
+          txtinput.setAttribute('name', `t${i+1}`);
+          txtinput.classList.add('txtsrc', `txtsrc${i+1}`);
+          txtinput.value = historyItem.text_content[i];
+          txtinput.setAttribute('placeholder', `${i+1}`);
+          input_sec.appendChild(txtinput);
+
+          // img url input
+          var imginput = document.createElement("input");
+          imginput.setAttribute('type', 'text');
+          imginput.setAttribute('name', `m${i+1}`);
+          imginput.classList.add('imgsrc', `imgsrc${i+1}`);
+          imginput.value = historyItem.image_urls[i];
+          imginput.setAttribute('placeholder', 'https://example.com/4VKBo9w.png');
+          img_box.appendChild(imginput);
+
+          // img upload input
+          var imgupload = document.createElement("input");
+          imgupload.setAttribute('id', `img${i+1}`);
+          imgupload.setAttribute('type', `file`);
+          imgupload.classList.add('img_uploader', 'img_up');
+          imgupload.style.display = "none";
+          img_box.appendChild(imgupload);
+
+          // img upload label
+          var imguploadlabel = document.createElement("label");
+          imguploadlabel.setAttribute('for', `img${i+1}`);
+          imguploadlabel.classList.add('upload-btn');
+          // imguploadlabel.textContent = '上傳圖片';
+          imguploadlabel.setAttribute('set-lan', `html:upload_file`);
+          imguploadlabel.style.backgroundImage = `url(${historyItem.image_urls[i]})`;
+          img_box.appendChild(imguploadlabel);
+          imgupload.addEventListener('change', prepareUpload);
+
+          // preview image
+          // var imgPreBox = document.createElement("div");
+          // imgPreBox.classList.add('upload-cta', 'box-active');
+          // imgPreBox.style.backgroundImage = `url(${historyItem.image_urls[i]})`;
+
+          //img_box.appendChild(imgPreBox);
+          input_sec.appendChild(img_box);
+          document.querySelector('.img-inputTest').append(input_sec);
+        }
+
+      }
 
+      getpathId();
 
-    function load_data(tid, loaded_data, draft = false) {
-      if (!tid) {
-        return;
+      function getpathId(){
+        let id = window.location.search.split('?').pop();
+        return id.split('=')[1];
       }
-      var title = document.getElementById("title");
-      var linker = document.getElementById("linker");
-      myModal.hide();
-      if (!draft) {
-        linker.setAttribute('href', `http://${loaded_data.find(item => item.id == tid).link}`)
-        linker.setAttribute('target', '_blank')
-        $("#linker").html(`http://${loaded_data.find(item => item.id == tid).link}`)
-        $("#linker").show();
-        $(".linker__box").show();
+
+      function getData() {
+        axios({
+          method: 'post',
+          url: 'https://www.choozmo.com:8887/history_input_noAuth',
+          headers: { 
+              'accept': 'application/json'
+          },
+          data: ''
+        }).then(res => {
+          loaded_data = res.data;
+          console.log(loaded_data);
+          const id = getpathId();
+          load_data(id, loaded_data);
+        }).catch(err => {
+          console.log(err);
+        });
+      } 
+
+      var subtitleInputs = document.querySelector(".subtitle-inputs");
+      var imgInputs = document.querySelector(".img-inputs");
+      let length = 3;
+      function initial() {
+        for (let i = 0; i < length; i++) {
+         // rendertxtBlock(i + 1);
+          //renderimgBlock(i + 1);
+          renderInputSec(i+1) ;
+        }
+        console.log(document.querySelectorAll(".txtsrc").length + 1);
       }
-      console.log(loaded_data);
-      let historyItem = loaded_data.filter(item => item.id == tid)[0];
-      console.log(historyItem.title);
-      if (draft) {
-        $(".title_new").val(historyItem.title);
-        $("#avatar").val(historyItem.avatar);
-      } else {
-        $(".title_new").val(loaded_data.find(item => item.id == tid).name);
-        $("#avatar").val(historyItem.avatar);
+
+      initial();
+      getData();
+
+      var addbtn = document.querySelector(".add");
+      var addsecbtn = document.querySelector(".addsec");
+
+      addsecbtn.addEventListener('click', addsecBlock);
+
+      function addsecBlock() {
+        let newsecIdx = document.querySelectorAll(".input-sec").length + 1;
+        renderInputSec(newsecIdx);
       }
 
-      let txtlength = historyItem.text_content.length;
-      let imglength = historyItem.image_urls.length;
+      function renderInputSec(i) {
+        var input_sec = document.createElement('div');
+        var img_box = document.createElement('div');
 
-      subtitleInputs.innerHTML = '';
-      imgInputs.innerHTML = '';
-      for (let i = 0; i < txtlength; i++) {
+        input_sec.classList.add('input-sec', `input-sec${i}`, 'p-3', 'mb-3' ,'text-end');
+        img_box.classList.add('img-box');
+
+        // text input
         var txtinput = document.createElement("input");
         txtinput.setAttribute('type', 'text');
-        txtinput.setAttribute('name', `t${i + 1}`);
-        txtinput.value = historyItem.text_content[i];
-        txtinput.setAttribute('placeholder', `${i + 1}`);
-        txtinput.classList.add('txtsrc', `txtsrc${i + 1}`)
-        subtitleInputs.appendChild(txtinput);
-      }
-      for (let i = 0; i < imglength; i++) {
+        txtinput.setAttribute('name', `t${i}`);
+        txtinput.classList.add('txtsrc', `txtsrc${i}`);
+        txtinput.value = "";
+        txtinput.setAttribute('placeholder', `台詞`);
+        input_sec.appendChild(txtinput);
+
+        // img url input
         var imginput = document.createElement("input");
         imginput.setAttribute('type', 'text');
-        imginput.setAttribute('name', `m${i + 1}`);
-        imginput.classList.add('imgsrc', `imgsrc${i + 1}`);
-        imginput.value = historyItem.image_urls[i];
-        imginput.setAttribute('placeholder', `${i + 1}`);
-        imgInputs.appendChild(imginput);
+        imginput.setAttribute('name', `m${i}`);
+        imginput.classList.add('imgsrc', `imgsrc${i}`);
+        imginput.value = "";
+        imginput.setAttribute('placeholder', 'https://example.com/4VKBo9w.png');
+        img_box.appendChild(imginput);
 
+        // img upload input
         var imgupload = document.createElement("input");
-        imgupload.setAttribute('id', `img${i + 1}`);
+        imgupload.setAttribute('id', `img${i}`);
         imgupload.setAttribute('type', `file`);
         imgupload.classList.add('img_uploader', 'img_up');
-        imgInputs.appendChild(imgupload);
+        imgupload.style.display = "none";
+        img_box.appendChild(imgupload);
+
+        // img upload label
         var imguploadlabel = document.createElement("label");
-        imguploadlabel.setAttribute('for', `img${i + 1}`);
+        imguploadlabel.setAttribute('for', `img${i}`);
         imguploadlabel.classList.add('upload-btn');
-        imguploadlabel.textContent = '上傳檔案';
         imguploadlabel.setAttribute('set-lan', `html:upload_file`);
-        $('input[type=file]').on('change', prepareUpload);
-        imgInputs.appendChild(imguploadlabel);
-      }
+        img_box.appendChild(imguploadlabel);
+        imgupload.addEventListener('change', prepareUpload);
 
-    }
-
-    getpathId();
-
-    function getpathId() {
-      let id = window.location.search.split('?').pop();
-      return id.split('=')[1];
-    }
-
-    function getData() {
-      axios({
-        method: 'post',
-        url: 'https://www.choozmo.com:8887/history_input_noAuth',
-        headers: {
-          'accept': 'application/json'
-        },
-        data: ''
-      }).then(res => {
-        loaded_data = res.data;
-        console.log(loaded_data);
-        const id = getpathId();
-        load_data(id, loaded_data);
-      }).catch(err => {
-        console.log(err);
-      });
-    }
-
-    var subtitleInputs = document.querySelector(".subtitle-inputs");
-    var imgInputs = document.querySelector(".img-inputs");
-    let length = 5;
-    function initial() {
-      for (let i = 0; i < length; i++) {
-        rendertxtBlock(i + 1);
-        renderimgBlock(i + 1);
-      }
-      console.log(document.querySelectorAll(".txtsrc").length + 1);
-    }
-
-    initial();
-    getData();
-
-    var addbtn = document.querySelector(".add");
-    var addimgbtn = document.querySelector(".addimg");
-
-    addbtn.addEventListener('click', addtxtBlock);
-    addimgbtn.addEventListener('click', addimgBlock);
-
-    function addtxtBlock() {
-      let newIdx = document.querySelectorAll(".txtsrc").length + 1;
-      rendertxtBlock(newIdx);
-    }
-
-    function addimgBlock() {
-      let newimgIdx = document.querySelectorAll(".imgsrc").length + 1;
-      renderimgBlock(newimgIdx);
-    }
-
-    function rendertxtBlock(i) {
-      var txtinput = document.createElement("input");
-      txtinput.setAttribute('type', 'text');
-      txtinput.setAttribute('name', `t${i}`);
-      txtinput.value = "";
-      txtinput.setAttribute('placeholder', `${i}`);
-      txtinput.classList.add('txtsrc', `txtsrc${i}`)
-      subtitleInputs.appendChild(txtinput);
-    }
-
-    function renderimgBlock(i) {
-      var imginput = document.createElement("input");
-      imginput.setAttribute('type', 'text');
-      imginput.setAttribute('name', `m${i}`);
-      imginput.classList.add('imgsrc', `imgsrc${i}`);
-      imginput.value = "";
-      imginput.setAttribute('placeholder', `${i}`);
-      imgInputs.appendChild(imginput);
-
-      var imgupload = document.createElement("input");
-      imgupload.setAttribute('id', `img${i}`);
-      imgupload.setAttribute('type', `file`);
-      imgupload.classList.add('img_uploader', 'img_up');
-      imgInputs.appendChild(imgupload);
-      var imguploadlabel = document.createElement("label");
-      imguploadlabel.setAttribute('for', `img${i}`);
-      imguploadlabel.classList.add('upload-btn');
-      imguploadlabel.textContent = '上傳檔案';
-      // if(lan == 'en') {
-      //   imguploadlabel.textContent = 'Upload';
-      // }
-      imguploadlabel.setAttribute('set-lan', `html:upload_file`);
-      imgInputs.appendChild(imguploadlabel);
-      $('input[type=file]').on('change', prepareUpload);
-    }
+        // preview image
+        // var imgPreBox = document.createElement("div");
+        // imgPreBox.classList.add('upload-cta');
+        // img_box.appendChild(imgPreBox);
 
-  </script>
+        input_sec.appendChild(img_box);
+        document.querySelector('.img-inputTest').append(input_sec);
+      }
+    </script>
 </body>
 
 </html>

+ 199 - 90
make_video_eng.html

@@ -21,6 +21,23 @@
     <link rel="stylesheet" href="./styleMV.css">
     <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
     <title>AI Spokesgirl</title>
+    <style>
+      .input-sec {
+        box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4);
+        -webkit-box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4);
+        position: relative;
+      }
+      .upload-cta.box-active {
+        height: 80px;
+        width: 80px;
+        background-size: cover !important;
+        background-repeat: no-repeat;
+        border-radius: 1rem;
+      }
+      #msform .img-inputTest {
+        text-align: end;
+      }
+    </style>
 </head>
 
 <body>
@@ -28,8 +45,7 @@
     <!-- navbar -->
     <nav class="navbar navbar-expand-lg navbar-light">
         <div class="container-fluid">
-          
-          <a class="navbar-brand" href="index.html">AI Spokesgirl</a>
+            <a class="navbar-brand" href="index.html">AI Spokesgirl</a>
             <button class="navbar-toggler" type="button" data-bs-toggle="collapse"
                 data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
                 aria-label="Toggle navigation">
@@ -90,9 +106,7 @@
                 <!-- <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a> -->
                 <div class="sidenav-content">
                 <div class="text-start mt-3">
-                  <a style="font-size: 28px;" class="nav-link active ps-1 fw-bold" aria-current="page" href="index.html"> <img style="display: inline;" width="32" class="home-btn me-2 mb-3" src="./img/about/home_黑.png" alt="">AI
-                    Spokesgirl</a>
-                    <!-- <h2 class="fw-bold ps-0" href="index.html"><a class="nav-link active ps-1" aria-current="page" href="index.html">AI Spokesgirl</a></h2> -->
+                    <h2 class="fw-bold ps-0" href="index.html"><a class="nav-link active ps-1" aria-current="page" href="index.html">AI Spokesgirl</a></h2>
                 </div>
                 <div class="userName"></div> 
                 <img class="user img-fluid rounded-circle" src="img/userimg.png" alt="">
@@ -187,7 +201,7 @@
                                 </div>
                             </div>
                             <div class="card item col-6 col-sm-4 col-md-3 col-lg-2" data-avatar="Jocelyn" data-img="Jocelyn">
-                                <div class="imgfr"><img src="https://i.imgur.com/Jhg4vp6.png" class="card-img-top" alt="..."></div>
+                                <div class="imgfr"><img src="img/Jocelyn.webp" class="card-img-top" alt="..."></div>
                                 <div class="card-body">
                                     <h5 class="card-title">Jocelyn</h5>
                                 </div>
@@ -224,10 +238,10 @@
                             </div>
                         </div>
                     </fieldset>
-                    <fieldset>
+                    <!-- <fieldset>
                       <h3 class="fs-subtitle">Lines</h3>
                       <div class="subtitle-inputs">
-                                    
+                        <input type="text" name="s1" placeholder="1" class="subsrc subsrc1">    
                       </div>
                       <span class="add">+</span>
                     </fieldset>
@@ -237,28 +251,34 @@
                                     
                       </div>
                       <span class="add-subline">+</span>
-                    </fieldset>
-                    <fieldset id='imgSrc'>
-                        <h3 class="fs-subtitle" style="display: inline-block;"><lan set-lan="html:img_link">Image Links</lan><img class="ms-1" src="img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" title="僅接受png, jpg, mp4格式 Supported File Formats: png, jpg, mp4"></h3><br/>
-                        <div class="img-inputs">
-                            <!-- <div>
-                                <input type="text" name="t1" placeholder="1" class="txtsrc txtsrc1" style="width:calc(100% - 7rem);">
-                                <span class="img-toggle" style="width:6rem"><i class="fas fa-images"></i></span>
-                                <div class="img-box">
-                                    <input type="text" name="m1" class="imgsrc imgsrc1" placeholder="1">
-                                    <input id="img1" type="file" class="img_uploader img_up" style="display: none;">
-                                    <label for="img1" class="upload-btn" set-lan="html:upload_file">上傳檔案</label>
-                                </div>
-                            </div> -->
-                        </div>
-                        <span class="addimg">+</span>
-                        <input id="checker" type="button" name="next" class="next action-button" set-lan="value:submit" value="Submit" />
-                        <!-- <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>
-                        <div style="display: none;" id="myProgress">
-                            <div style="display: none;" id="myBar">0%</div>
-                        </div>
-                    </fieldset>
+                    </fieldset> -->
+                    
+                    <fieldset id='imgSrc' style="box-shadow: none;">
+                      <h3 class="fs-subtitle" style="display: inline-block;">
+                        <lan set-lan="html:img_link">Your Content</lan>
+                        <img class="ms-1" src="img/question.png" alt="" data-bs-toggle="tooltip"
+                        data-bs-placement="right" title="Type in your content and images. Supported File Formats: png, jpg, mp4.">
+                      </h3>
+                      <br/>
+                      <div class="img-inputTest mt-3 input_eng">
+                        <!-- <div class="input-sec input-sec1 p-3 mb-3">
+                          <input type="text" name="s1" placeholder="Subtitle" class="subsrc subsrc1">   
+                          <input type="text" name="t1" class="txtsrc txtsrc1" placeholder="Line" style="width: 100%;">
+                          <div class="img-box"> 
+                            <input type="text" name="m1" class="imgsrc imgsrc1" placeholder="https://example.com/4VKBo9w.png">
+                            <input id="img1" type="file" class="img_uploader img_up" style="display: none;">
+                            <label for="img1" class="upload-btn" set-lan="html:upload_file">上傳圖片</label>
+                          </div>
+                        </div -->
+                      </div>
+                      <span class="addsec">+</span>
+                      <input id="checker" type="button" name="next" class="next action-button" set-lan="value:submit" value="Submit" />
+                      <!-- <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>
+                      <div style="display: none;" id="myProgress">
+                          <div style="display: none;" id="myBar">0%</div>
+                      </div>
+                  </fieldset>
                 </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>
@@ -313,7 +333,7 @@
         </div>
     </div>
     <!-- ================================================================= -->
-
+    
 
     <!-- ================================================================= -->
     <!-- footer -->
@@ -379,7 +399,7 @@
         data.append('file', files[0]);
         // append other variables to data if you want: data.append('field_name_x', field_value_x);
         $(this).next().text('');
-        $(this).next().html('<img src="img/Spinner-1s-181px.gif">');
+        //$(this).next().html('<img src="img/Spinner-1s-181px.gif">');
         $.ajax({
           type: 'POST',
           processData: false, // important
@@ -391,16 +411,18 @@
             event.target.previousSibling.value = jsonData.msg;
             console.log(jsonData.msg);
             $(this).prev().val(jsonData.msg);
-            event.target.nextSibling.innerHTML = '';
-            event.target.nextSibling.textContent = 'Upload';
+            const nextEl = event.target.nextSibling;
+            nextEl.style.backgroundImage = `url(http://${jsonData.msg})`;
             //console.log($(this).next());
-            //$(this).next().html('上傳檔案');
+            $(this).html('');
+            $(this).next().html('');
             //$(this).next().text('上傳檔案');
           },
           error: function (error) {
-            event.target.nextSibling.innerHTML = '';
-            event.target.nextSibling.textContent = 'Upload';
-            alert('Error');
+            const nextEl = event.target.nextSibling;
+            nextEl.style.backgroundImage = `url(./img/upload_img.png)`;
+            $(this).html('');
+            alert('Image Error');
           }
         });
       }
@@ -506,7 +528,7 @@
             contentBox.appendChild(boxTitle);
             contentBox.appendChild(boxLink);
             list.classList.add("historyList-item");
-            list.setAttribute('onclick', 'load_data()');
+           // list.setAttribute('onclick', 'load_data()');
             list.appendChild(divImgfr);
             list.appendChild(contentBox);
             historyList.appendChild(list);
@@ -578,45 +600,65 @@
         sublineInputs.innerHTML = '';
 
         for (let i = 0; i < txtlength; i++) {
+          var input_sec = document.createElement('div');
+          var img_box = document.createElement('div');
+
+          input_sec.classList.add('input-sec', `input-sec${i+1}`, 'p-3', 'mb-3');
+          img_box.classList.add('img-box');
+
+          // subtitle input
+          var subtitleinput = document.createElement("input");
+          subtitleinput.setAttribute('type', 'text');
+          subtitleinput.setAttribute('name', `s${i+1}`);
+          subtitleinput.classList.add('subsrc', `subsrc${i+1}`);
+          subtitleinput.value = historyItem.text_content[i];
+          subtitleinput.setAttribute('placeholder', `Subtitle`);
+          input_sec.appendChild(subtitleinput);
+
+          // text input
           var txtinput = document.createElement("input");
           txtinput.setAttribute('type', 'text');
-          txtinput.setAttribute('name', `t${i + 1}`);
+          txtinput.setAttribute('name', `t${i+1}`);
+          txtinput.classList.add('txtsrc', `txtsrc${i+1}`);
           txtinput.value = historyItem.text_content[i];
-          txtinput.setAttribute('placeholder', `${i + 1}`);
-          txtinput.classList.add('txtsrc', `txtsrc${i + 1}`)
-          subtitleInputs.appendChild(txtinput);
-        }
-        for (let i = 0; i < sublinelength; i++) {
-          var txtinput = document.createElement("input");
-          txtinput.setAttribute('type', 'text');
-          txtinput.setAttribute('name', `s${i + 1}`);
-          txtinput.value = historyItem.sub_titles[i];
-          txtinput.setAttribute('placeholder', `${i + 1}`);
-          txtinput.classList.add('subsrc', `subsrc${i + 1}`)
-          sublineInputs.appendChild(txtinput);
-        }
-        for (let i = 0; i < imglength; i++) {
+          txtinput.setAttribute('placeholder', `Line`);
+          input_sec.appendChild(txtinput);
+
+          // img url input
           var imginput = document.createElement("input");
           imginput.setAttribute('type', 'text');
-          imginput.setAttribute('name', `m${i + 1}`);
-          imginput.classList.add('imgsrc', `imgsrc${i + 1}`);
+          imginput.setAttribute('name', `m${i+1}`);
+          imginput.classList.add('imgsrc', `imgsrc${i+1}`);
           imginput.value = historyItem.image_urls[i];
-          imginput.setAttribute('placeholder', `${i + 1}`);
-          imgInputs.appendChild(imginput);
+          imginput.setAttribute('placeholder', 'https://example.com/4VKBo9w.png');
+          img_box.appendChild(imginput);
 
+          // img upload input
           var imgupload = document.createElement("input");
-          imgupload.setAttribute('id', `img${i + 1}`);
+          imgupload.setAttribute('id', `img${i+1}`);
           imgupload.setAttribute('type', `file`);
           imgupload.classList.add('img_uploader', 'img_up');
-          imgInputs.appendChild(imgupload);
+          imgupload.style.display = "none";
+          img_box.appendChild(imgupload);
+
+          // img upload label
           var imguploadlabel = document.createElement("label");
-          imguploadlabel.setAttribute('for', `img${i + 1}`);
+          imguploadlabel.setAttribute('for', `img${i+1}`);
           imguploadlabel.classList.add('upload-btn');
           imguploadlabel.textContent = 'Upload';
-          $('input[type=file]').on('change', prepareUpload);
-          imgInputs.appendChild(imguploadlabel);
+          imguploadlabel.setAttribute('set-lan', `html:upload_file`);
+          img_box.appendChild(imguploadlabel);
+          imgupload.addEventListener('change', prepareUpload);
+
+          // preview image
+          // var imgPreBox = document.createElement("div");
+          // imgPreBox.classList.add('upload-cta', 'box-active');
+          // imgPreBox.style.backgroundImage = `url(${historyItem.image_urls[i]})`;
+          // img_box.appendChild(imgPreBox);
+
+          input_sec.appendChild(img_box);
+          document.querySelector('.img-inputTest').append(input_sec);
         }
-
       }
 
       var subtitleInputs = document.querySelector(".subtitle-inputs");
@@ -636,9 +678,10 @@
 
       function initial() {
         for (let i = 0; i < length; i++) {
-          rendertxtBlock(i + 1);
-          renderimgBlock(i + 1);
-          renderSublineBlock(i +1);
+          // rendertxtBlock(i + 1);
+          // renderimgBlock(i + 1);
+          // renderSublineBlock(i +1);
+          renderInputSec(i+1);
         }
         $('#title').val('Brazil touts partnership with SpaceX');
         $('#avatar').val('7');
@@ -652,29 +695,35 @@
 
       initial();
 
-      var addbtn = document.querySelector(".add");
-      var addimgbtn = document.querySelector(".addimg");
-      var addSubline = document.querySelector('.add-subline');
-
-      addbtn.addEventListener('click', addtxtBlock);
-      addimgbtn.addEventListener('click', addimgBlock);
-      addSubline.addEventListener('click', addsubBlock);
-
-
-      function addtxtBlock() {
-        let newIdx = document.querySelectorAll(".txtsrc").length + 1;
-        rendertxtBlock(newIdx);
+      // var addbtn = document.querySelector(".add");
+      // var addimgbtn = document.querySelector(".addimg");
+      // var addSubline = document.querySelector('.add-subline');
+      var addsecbtn = document.querySelector(".addsec");
+
+      addsecbtn.addEventListener('click', addsecBlock);
+      // addbtn.addEventListener('click', addtxtBlock);
+      // addimgbtn.addEventListener('click', addimgBlock);
+      // addSubline.addEventListener('click', addsubBlock);
+      
+      function addsecBlock() {
+        let newsecIdx = document.querySelectorAll(".input-sec").length + 1;
+        renderInputSec(newsecIdx);
       }
 
-      function addsubBlock() {
-          let newIdx = document.querySelectorAll(".subsrc").length + 1;
-          renderSublineBlock(newIdx);
-        }
+      // function addtxtBlock() {
+      //   let newIdx = document.querySelectorAll(".txtsrc").length + 1;
+      //   rendertxtBlock(newIdx);
+      // }
 
-      function addimgBlock() {
-        let newimgIdx = document.querySelectorAll(".imgsrc").length + 1;
-        renderimgBlock(newimgIdx);
-      }
+      // function addsubBlock() {
+      //     let newIdx = document.querySelectorAll(".subsrc").length + 1;
+      //     renderSublineBlock(newIdx);
+      //   }
+
+      // function addimgBlock() {
+      //   let newimgIdx = document.querySelectorAll(".imgsrc").length + 1;
+      //   renderimgBlock(newimgIdx);
+      // }
 
       function rendertxtBlock(i) {
         var txtinput = document.createElement("input");
@@ -687,7 +736,7 @@
       }
 
       function renderSublineBlock(i) {
-          var txtinput = document.createElement("input");
+        var txtinput = document.createElement("input");
         txtinput.setAttribute('type', 'text');
         txtinput.setAttribute('name', `s${i}`);
         txtinput.value = "";
@@ -713,10 +762,70 @@
         var imguploadlabel = document.createElement("label");
         imguploadlabel.setAttribute('for', `img${i}`);
         imguploadlabel.classList.add('upload-btn');
-        imguploadlabel.textContent = 'Upload';
+        // imguploadlabel.textContent = 'Upload';
         imgInputs.appendChild(imguploadlabel);
         $('input[type=file]').on('change', prepareUpload);
-    }
+      }
+
+      function renderInputSec(i) {
+        var input_sec = document.createElement('div');
+        var img_box = document.createElement('div');
+
+        input_sec.classList.add('input-sec', `input-sec${i}`, 'p-3', 'mb-3');
+        img_box.classList.add('img-box');
+
+        // subtitle input
+        var subtitleinput = document.createElement("input");
+        subtitleinput.setAttribute('type', 'text');
+        subtitleinput.setAttribute('name', `s${i}`);
+        subtitleinput.classList.add('subsrc', `subsrc${i}`);
+        subtitleinput.value = "";
+        subtitleinput.setAttribute('placeholder', `Subtitle`);
+        input_sec.appendChild(subtitleinput);
+
+        // text input
+        var txtinput = document.createElement("input");
+        txtinput.setAttribute('type', 'text');
+        txtinput.setAttribute('name', `t${i}`);
+        txtinput.classList.add('txtsrc', `txtsrc${i}`);
+        txtinput.value = "";
+        txtinput.setAttribute('placeholder', `Line`);
+        input_sec.appendChild(txtinput);
+
+        // img url input
+        var imginput = document.createElement("input");
+        imginput.setAttribute('type', 'text');
+        imginput.setAttribute('name', `m${i}`);
+        imginput.classList.add('imgsrc', `imgsrc${i}`);
+        imginput.value = "";
+        imginput.setAttribute('placeholder', 'https://example.com/4VKBo9w.png');
+        img_box.appendChild(imginput);
+
+        // img upload input
+        var imgupload = document.createElement("input");
+        imgupload.setAttribute('id', `img${i}`);
+        imgupload.setAttribute('type', `file`);
+        imgupload.classList.add('img_uploader', 'img_up');
+        imgupload.style.display = "none";
+        img_box.appendChild(imgupload);
+
+        // img upload label
+        var imguploadlabel = document.createElement("label");
+        imguploadlabel.setAttribute('for', `img${i}`);
+        imguploadlabel.classList.add('upload-btn');
+        // imguploadlabel.textContent = 'Upload';
+        imguploadlabel.setAttribute('set-lan', `html:upload_file`);
+        img_box.appendChild(imguploadlabel);
+        imgupload.addEventListener('change', prepareUpload);
+
+        // preview image
+        // var imgPreBox = document.createElement("div");
+        // imgPreBox.classList.add('upload-cta');
+        // img_box.appendChild(imgPreBox);
+
+        input_sec.appendChild(img_box);
+        document.querySelector('.img-inputTest').append(input_sec);
+      }
 
     </script>
 </body>

+ 37 - 5
styleMV.css

@@ -698,19 +698,26 @@ footer {
   display: none;
 }
 
-#msform input[type="text"].imgsrc {
-  width: calc(100% - 7rem);
-  margin-right: 5px;
+#msform input[type="text"].imgsrc,
+#msform input[type="text"].txtsrc,
+#msform input[type="text"].subsrc {
+  width: 80%;
 }
 
 .upload-btn {
   display: inline-block;
-  width: 6rem;
+  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;
-  border-radius: 3px;
   -webkit-transition: all 0.3s;
   transition: all 0.3s;
   cursor: pointer;
@@ -1297,6 +1304,31 @@ body {
   }
 }
 
+@media screen and (max-width: 576px) {
+  #msform input[type="text"].imgsrc,
+  #msform input[type="text"].txtsrc,
+  #msform input[type="text"].subsrc {
+    width: 100%;
+  }
+
+  #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: 90%;
+  }
+  
+  .upload-btn {
+    width: 100%;
+    height: 60%;
+  }
+
+  .input_eng .upload-btn {
+    height: 50%;
+  }
+}
+
 .home-btn {
   filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(108deg) brightness(104%) contrast(104%);
 }