Browse Source

usecase, steps, make video template

huaisianhuang 3 năm trước cách đây
mục cha
commit
2af3012ffc

BIN
img/Angela.webp


BIN
img/A短影片_1.png


BIN
img/IG.png


BIN
img/LINE_logo.svg.png


BIN
img/aigirls.png


BIN
img/bx_loader.gif


BIN
img/facebook_logos_PNG19753.png


BIN
img/imagesgrp.png


BIN
img/jocelyn.webp


BIN
img/linkedin-logo-copy.png


BIN
img/nina黑.webp


BIN
img/peggy.webp


BIN
img/question.png


BIN
img/stacy.webp


BIN
img/summer韓小夏.webp


BIN
img/textgrp.png


BIN
img/twitter.png


BIN
img/userimg.png


BIN
img/youtube.png


BIN
img/內容創作.png


BIN
img/官網1_加速.mp4


BIN
img/導覽.png


BIN
img/教育.png


BIN
img/產品介紹.png


+ 683 - 0
make_video.html

@@ -0,0 +1,683 @@
+<!DOCTYPE html>
+<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>
+</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">
+                <!-- <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">
+                        <a class="nav-link dropdown-toggle" 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)" value="en">English</button></li>
+                            <li><button class="nav-link lan-switch" aria-current="page" set-lan="html:zh" onclick="changeLan(this)" value="zh">中文</button></li>
+                        </ul>
+                    </li>
+                    <li class="nav-item">
+                        <a class="nav-link active btn-login" aria-current="page" href="login.html" set-lan="html:login">登入</a>
+                    </li>
+                    <li class="nav-item">
+                        <a class="nav-link btn-userProfile" aria-current="page" href="./user_profile2.html" set-lan="html:user_profile">會員資料</a>
+                    </li>
+                    <li class="nav-item">
+                        <a class="nav-link btn-logout" aria-current="page" set-lan="html:logout">登出</a>
+                    </li>
+                </ul> -->
+            </div>
+        </div>
+    </nav>
+    <!-- ================================================================= -->
+
+
+    <!-- ================================================================= -->
+    <!-- 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">
+                    <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>
+                </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">
+                    <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" 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 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">
+                        <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" /> <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>
+                        </select>
+                        <div class="owl-carousel owl-theme d-flex row">
+                            <div class="card item col" 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" 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" 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" 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" data-avatar="Jocelyn" data-img="Jocelyn">
+                                <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>
+                            </div>
+                            <div class="card item col" 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>
+                    </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格式 Support 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="送出" />
+                        <!-- <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="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 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>
+    <!-- ================================================================= -->
+
+
+    <!-- ================================================================= -->
+    <!-- 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');
+          }
+        }
+      }
+
+      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="static/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('圖片錯誤');
+          }
+        });
+      }
+      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)
+        jwt_token =  get_jwt_token()
+        var xhr = new XMLHttpRequest();
+        xhr.open("POST", "https://www.choozmo.com:8887/make_anchor_video");
+        xhr.setRequestHeader("accept", "application/json");
+        xhr.setRequestHeader("Authorization","Bearer "+jwt_token)
+        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";
+        let jwt_token = get_jwt_token();
+        axios({
+          method: 'post',
+          url: 'https://www.choozmo.com:8887/history_input',
+          headers: { 
+              'accept': 'application/json',
+              'Authorization': `Bearer ${jwt_token}`
+          }
+        }).then(res => {
+          console.log(res.data);
+          loaded_data = res.data;
+          var historyList = document.querySelector('.historyList');
+          historyList.innerHTML = '';
+          for (var obj of loaded_data) {
+            var list = document.createElement('li');
+            list.id = obj.id;
+            // div-imgfr
+            var divImgfr = document.createElement('div');
+            divImgfr.classList.add('item_imgfr');
+            var img = document.createElement('img');
+            img.setAttribute('src', obj['image_urls'][0]);
+            divImgfr.appendChild(img);
+            // div-content
+            var contentBox = document.createElement('div');
+            contentBox.classList.add('content-box');
+            var boxTitle = document.createElement('p');
+            boxTitle.classList.add('box-title');
+            boxTitle.textContent = obj.name;
+            boxTitle.id = obj.id;
+            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);
+        });
+      }
+      function closeNav() {
+        document.getElementById("mySidenav").style.width = "250px";
+      }
+
+      function view() {
+        event.stopPropagation();
+        console.log(event.target);
+        if (event.target.nodeName === 'I') {
+          return;
+        } else {
+          window.open(`http://${event.target.dataset.url}`, '_blank');
+        }
+      }
+
+      function renderXHR_data(jsonObj) {
+        XHRstring = ''
+        for (const [key, value] of Object.entries(jsonObj)) {
+          console.log(value)
+          if (typeof (value) == "object") {
+            XHRstring += (key+'=['+value.join(',')+']&')
+          }
+          else {
+            XHRstring += (key + '=' + value + '&')
+          }
+        }
+        XHRstring = XHRstring.substring(0, XHRstring.length - 1);
+        return XHRstring
+      }
+
+      function get_jwt_token(){
+        jwt_raw = document.cookie.split(';').filter(s=>s.includes('jwt_token'))[0];
+        if(!jwt_raw) {return}
+        return jwt_raw.split('=')[1];
+      }
+
+      function direct(id) {
+        location.href = `make_video.html?id=${id}`;
+      }
+
+
+      function load_data(tid, loaded_data, draft = false) {
+        if(!tid) {
+          return;
+        }
+        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.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);
+        }
+
+        let txtlength = historyItem.text_content.length;
+        let imglength = historyItem.image_urls.length;
+
+        subtitleInputs.innerHTML = '';
+        imgInputs.innerHTML = '';
+        for (let i = 0; i < txtlength; i++) {
+          var txtinput = document.createElement("input");
+          txtinput.setAttribute('type', 'text');
+          txtinput.setAttribute('name', `t${i + 1}`);
+          txtinput.value = historyItem.text_content[i];
+          txtinput.setAttribute('placeholder', `${i + 1}`);
+          txtinput.classList.add('txtsrc', `txtsrc${i + 1}`)
+          subtitleInputs.appendChild(txtinput);
+        }
+        for (let i = 0; i < imglength; i++) {
+          var imginput = document.createElement("input");
+          imginput.setAttribute('type', 'text');
+          imginput.setAttribute('name', `m${i + 1}`);
+          imginput.classList.add('imgsrc', `imgsrc${i + 1}`);
+          imginput.value = historyItem.image_urls[i];
+          imginput.setAttribute('placeholder', `${i + 1}`);
+          imgInputs.appendChild(imginput);
+
+          var imgupload = document.createElement("input");
+          imgupload.setAttribute('id', `img${i + 1}`);
+          imgupload.setAttribute('type', `file`);
+          imgupload.classList.add('img_uploader', 'img_up');
+          imgInputs.appendChild(imgupload);
+          var imguploadlabel = document.createElement("label");
+          imguploadlabel.setAttribute('for', `img${i + 1}`);
+          imguploadlabel.classList.add('upload-btn');
+          imguploadlabel.textContent = '上傳檔案';
+          if(lan == 'en') {
+            imguploadlabel.textContent = 'Upload';
+          }
+          imguploadlabel.setAttribute('set-lan', `html:upload_file`);
+          imgInputs.appendChild(imguploadlabel);
+        }
+        setTimeout(() => {
+          JsLoadingOverlay.hide();
+        }, 0);
+      }
+
+      getpathId();
+
+      function getpathId(){
+        let id = window.location.search.split('?').pop();
+        return id.split('=')[1];
+      }
+
+      function getData() {
+        let jwt_token = get_jwt_token();
+        axios({
+          method: 'post',
+          url: 'https://www.choozmo.com:8887/history_input',
+          headers: { 
+              'accept': 'application/json',
+              'Authorization': `Bearer ${jwt_token}`
+          }
+        }).then(res => {
+          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();
+
+      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);
+}
+
+    </script>
+</body>
+
+</html>

+ 685 - 0
make_video_eng.html

@@ -0,0 +1,685 @@
+<!DOCTYPE html>
+<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>
+</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">
+                <!-- <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">
+                        <a class="nav-link dropdown-toggle" 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)" value="en">English</button></li>
+                            <li><button class="nav-link lan-switch" aria-current="page" set-lan="html:zh" onclick="changeLan(this)" value="zh">中文</button></li>
+                        </ul>
+                    </li>
+                    <li class="nav-item">
+                        <a class="nav-link active btn-login" aria-current="page" href="login.html" set-lan="html:login">登入</a>
+                    </li>
+                    <li class="nav-item">
+                        <a class="nav-link btn-userProfile" aria-current="page" href="./user_profile2.html" set-lan="html:user_profile">會員資料</a>
+                    </li>
+                    <li class="nav-item">
+                        <a class="nav-link btn-logout" aria-current="page" set-lan="html:logout">登出</a>
+                    </li>
+                </ul> -->
+            </div>
+        </div>
+    </nav>
+    <!-- ================================================================= -->
+
+
+    <!-- ================================================================= -->
+    <!-- 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">
+                    <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>
+                </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">
+                    <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">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 btn-makev" aria-current="page" href="./make_video.html" set-lan="html:make_video">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 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">Usage Introduction</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">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">Preview video</p>
+                        <i class="fas fa-link copy"></i>
+                        <a id='linker' style="display: none;" class="ms-2" set-lan="html:video_link">Video Link</a>
+                    </div>
+                    <!-- fieldsets -->
+                    <fieldset>
+                        <h3 class="fs-subtitle"><lan set-lan="html:video_title">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" /> <br/>
+                    </fieldset>
+                    <fieldset>
+                        <h3  class="fs-subtitle"><lan set-lan="html:choose_character">Video Title</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>Choose Character</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>
+                        </select>
+                        <div class="owl-carousel owl-theme d-flex row">
+                            <div class="card item col" 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" 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" 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" 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" data-avatar="Jocelyn" data-img="Jocelyn">
+                                <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>
+                            </div>
+                            <div class="card item col" 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>
+                    </fieldset>
+                    <fieldset>
+                      <h3 class="fs-subtitle">Lines</h3>
+                      <div class="subtitle-inputs">
+                                    
+                      </div>
+                      <span class="add">+</span>
+                    </fieldset>
+                    <fieldset id="Subline">
+                      <h3 class="fs-subtitle">Subtitles</h3>
+                      <div class="subline-inputs">
+                                    
+                      </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格式 Support 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>
+                </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">Usage Introduction</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>1. Please Provide an Image Link Corresponding to a Line as a Collocation</li>
+                              <li>2. Support 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>
+                            </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">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 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>
+    <!-- ================================================================= -->
+
+
+    <!-- ================================================================= -->
+    <!-- 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');
+          }
+        }
+      }
+
+      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="static/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('圖片錯誤');
+          }
+        });
+      }
+
+
+      const button = document.querySelector('.next');
+
+      $(".next").click(function () {
+        button.setAttribute('disabled', '');
+        setTimeout(function () {
+          button.removeAttribute('disabled')
+        }, 8000);
+        avatar = $('.avatar').val();
+        name_title = $('.title_new').val();
+        txtARR = [];
+        imgARR = [];
+        sublineARR = [];
+        var step;
+        let contentIdx = document.querySelectorAll(".txtsrc").length;
+        for (let i = 1; i < (contentIdx + 1); i++) {
+          if ($(`.txtsrc${i}`).val() != "") {
+            txtARR.push($(`.txtsrc${i}`).val())
+          }
+        }
+        let sublineIdx = document.querySelectorAll(".subsrc").length;
+        for (let i = 1; i < (sublineIdx + 1); i++) {
+          if ($(`.subsrc${i}`).val() != "") {
+              sublineARR.push($(`.subsrc${i}`).val())
+          }
+        }
+        let imgIdx = document.querySelectorAll(".imgsrc").length;
+        for (let i = 1; i < (imgIdx + 1); i++) {
+          if ($(`.imgsrc${i}`).val() != "") {
+            imgARR.push($(`.imgsrc${i}`).val())
+          }
+        }
+        dataOBJ = { "name": name_title, "text_content": txtARR, "image_urls": imgARR, "sub_titles": sublineARR, "avatar": avatar };
+        objstr = JSON.stringify(dataOBJ);
+        console.log(dataOBJ);
+        jwt_token =  get_jwt_token();
+        var xhr = new XMLHttpRequest();
+        xhr.open("POST", "https://www.choozmo.com:8887/make_anchor_video_eng");
+        xhr.setRequestHeader("accept", "application/json");
+        xhr.setRequestHeader("Authorization","Bearer "+jwt_token)
+        xhr.setRequestHeader("Content-Type", "application/json");
+        xhr.onreadystatechange = function () {
+          if (xhr.readyState === 4) {
+            responseOBJ = JSON.parse(xhr.responseText);
+            if (responseOBJ.msg=='ok')
+            {
+              Swal.fire({
+                title: "Data Submitted Successfully!",
+                icon: 'success',
+                text: 'We are working on your video! It might take minutes to get your video.',
+                confirmButtonColor: '#3085d6',
+              });
+            }
+            else{
+              Swal.fire({
+                title: "Oops! Some error occurred!",
+                icon: 'error',
+                text: responseOBJ.msg,
+                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";
+        let jwt_token = get_jwt_token();
+        axios({
+          method: 'post',
+          url: 'https://www.choozmo.com:8887/history_input',
+          headers: { 
+              'accept': 'application/json',
+              'Authorization': `Bearer ${jwt_token}`
+          }
+        }).then(res => {
+          console.log(res.data);
+          loaded_data = res.data;
+          var historyList = document.querySelector('.historyList');
+          historyList.innerHTML = '';
+          for (var obj of loaded_data) {
+            var list = document.createElement('li');
+            list.id = obj.id;
+            // div-imgfr
+            var divImgfr = document.createElement('div');
+            divImgfr.classList.add('item_imgfr');
+            var img = document.createElement('img');
+            img.setAttribute('src', obj['image_urls'][0]);
+            divImgfr.appendChild(img);
+            // div-content
+            var contentBox = document.createElement('div');
+            contentBox.classList.add('content-box');
+            var boxTitle = document.createElement('p');
+            boxTitle.classList.add('box-title');
+            boxTitle.textContent = obj.name;
+            boxTitle.id = obj.id;
+            boxTitle.setAttribute('onclick', 'load_data()');
+
+            var boxLink = document.createElement('span');
+            boxLink.classList.add('box-link');
+            boxLink.setAttribute("data-url", obj.link);
+            boxLink.setAttribute('onclick', 'view()');
+            boxLink.innerHTML = '<i class="fas fa-play-circle me-1"></i>觀看影片';
+            contentBox.appendChild(boxTitle);
+            contentBox.appendChild(boxLink);
+            list.classList.add("historyList-item");
+            list.setAttribute('onclick', 'load_data()');
+            list.appendChild(divImgfr);
+            list.appendChild(contentBox);
+            historyList.appendChild(list);
+          }
+          document.querySelector('.loader').style.display = "none";
+        
+        }).catch(err => {
+          console.log(err);
+        });
+      }
+      function closeNav() {
+        document.getElementById("mySidenav").style.width = "250px";
+      }
+
+      function view() {
+        event.stopPropagation();
+        console.log(event.target);
+        if (event.target.nodeName === 'I') {
+          return;
+        } else {
+          window.open(`http://${event.target.dataset.url}`, '_blank');
+        }
+      }
+
+      function renderXHR_data(jsonObj) {
+        XHRstring = ''
+        for (const [key, value] of Object.entries(jsonObj)) {
+          console.log(value)
+          if (typeof (value) == "object") {
+            XHRstring += (key+'=['+value.join(',')+']&')
+          }
+          else {
+            XHRstring += (key + '=' + value + '&')
+          }
+        }
+        XHRstring = XHRstring.substring(0, XHRstring.length - 1);
+        return XHRstring
+      }
+
+      function get_jwt_token(){
+        jwt_raw = document.cookie.split(';').filter(s=>s.includes('jwt_token'))[0];
+        if(!jwt_raw) {return}
+        return jwt_raw.split('=')[1];
+      }
+
+      function load_data() {
+        var title = document.getElementById("title");
+        var linker = document.getElementById("linker");
+
+        myModal.hide()
+        tid = event.srcElement.id
+        console.log(tid);
+        linker.setAttribute('href', `http://${loaded_data.find(item => item.id == tid).link}`)
+        linker.setAttribute('target', '_blank')
+        $("#linker").html(`http://${loaded_data.find(item => item.id == tid).link}`)
+        $("#linker").show();
+        $(".linker__box").show();
+
+        let historyItem = loaded_data.filter(item => item.id == tid)[0];
+        console.log(historyItem);
+        $(".title_new").val(loaded_data.find(item => item.id == tid).name);
+
+        let txtlength = historyItem.text_content.length;
+        let imglength = historyItem.image_urls.length;
+        let sublinelength = historyItem.sub_titles.length;
+
+        subtitleInputs.innerHTML = '';
+        imgInputs.innerHTML = '';
+        sublineInputs.innerHTML = '';
+
+        for (let i = 0; i < txtlength; i++) {
+          var txtinput = document.createElement("input");
+          txtinput.setAttribute('type', 'text');
+          txtinput.setAttribute('name', `t${i + 1}`);
+          txtinput.value = historyItem.text_content[i];
+          txtinput.setAttribute('placeholder', `${i + 1}`);
+          txtinput.classList.add('txtsrc', `txtsrc${i + 1}`)
+          subtitleInputs.appendChild(txtinput);
+        }
+        for (let i = 0; i < sublinelength; i++) {
+          var txtinput = document.createElement("input");
+          txtinput.setAttribute('type', 'text');
+          txtinput.setAttribute('name', `s${i + 1}`);
+          txtinput.value = historyItem.sub_titles[i];
+          txtinput.setAttribute('placeholder', `${i + 1}`);
+          txtinput.classList.add('subsrc', `subsrc${i + 1}`)
+          sublineInputs.appendChild(txtinput);
+        }
+        for (let i = 0; i < imglength; i++) {
+          var imginput = document.createElement("input");
+          imginput.setAttribute('type', 'text');
+          imginput.setAttribute('name', `m${i + 1}`);
+          imginput.classList.add('imgsrc', `imgsrc${i + 1}`);
+          imginput.value = historyItem.image_urls[i];
+          imginput.setAttribute('placeholder', `${i + 1}`);
+          imgInputs.appendChild(imginput);
+
+          var imgupload = document.createElement("input");
+          imgupload.setAttribute('id', `img${i + 1}`);
+          imgupload.setAttribute('type', `file`);
+          imgupload.classList.add('img_uploader', 'img_up');
+          imgInputs.appendChild(imgupload);
+          var imguploadlabel = document.createElement("label");
+          imguploadlabel.setAttribute('for', `img${i + 1}`);
+          imguploadlabel.classList.add('upload-btn');
+          imguploadlabel.textContent = 'Upload';
+          imgInputs.appendChild(imguploadlabel);
+        }
+
+      }
+
+      var subtitleInputs = document.querySelector(".subtitle-inputs");
+      var sublineInputs = document.querySelector(".subline-inputs");
+      var imgInputs = document.querySelector(".img-inputs");
+      let length = 5;
+      function initial() {
+        for (let i = 0; i < length; i++) {
+          rendertxtBlock(i + 1);
+          renderimgBlock(i + 1);
+          renderSublineBlock(i +1);
+        }
+        console.log(document.querySelectorAll(".txtsrc").length + 1);
+      }
+
+      initial();
+
+      var addbtn = document.querySelector(".add");
+      var addimgbtn = document.querySelector(".addimg");
+      var addSubline = document.querySelector('.add-subline');
+
+      addbtn.addEventListener('click', addtxtBlock);
+      addimgbtn.addEventListener('click', addimgBlock);
+      addSubline.addEventListener('click', addsubBlock);
+
+
+      function addtxtBlock() {
+        let newIdx = document.querySelectorAll(".txtsrc").length + 1;
+        rendertxtBlock(newIdx);
+      }
+
+      function addsubBlock() {
+          let newIdx = document.querySelectorAll(".subsrc").length + 1;
+          renderSublineBlock(newIdx);
+        }
+
+      function addimgBlock() {
+        let newimgIdx = document.querySelectorAll(".imgsrc").length + 1;
+        renderimgBlock(newimgIdx);
+      }
+
+      function rendertxtBlock(i) {
+        var txtinput = document.createElement("input");
+        txtinput.setAttribute('type', 'text');
+        txtinput.setAttribute('name', `t${i}`);
+        txtinput.value = "";
+        txtinput.setAttribute('placeholder', `${i}`);
+        txtinput.classList.add('txtsrc', `txtsrc${i}`)
+        subtitleInputs.appendChild(txtinput);
+      }
+
+      function renderSublineBlock(i) {
+          var txtinput = document.createElement("input");
+        txtinput.setAttribute('type', 'text');
+        txtinput.setAttribute('name', `s${i}`);
+        txtinput.value = "";
+        txtinput.setAttribute('placeholder', `${i}`);
+        txtinput.classList.add('subsrc', `subsrc${i}`)
+        sublineInputs.appendChild(txtinput);
+      }
+
+      function renderimgBlock(i) {
+  var imginput = document.createElement("input");
+  imginput.setAttribute('type', 'text');
+  imginput.setAttribute('name', `m${i}`);
+  imginput.classList.add('imgsrc', `imgsrc${i}`);
+  imginput.value = "";
+  imginput.setAttribute('placeholder', `${i}`);
+  imgInputs.appendChild(imginput);
+
+  var imgupload = document.createElement("input");
+  imgupload.setAttribute('id', `img${i}`);
+  imgupload.setAttribute('type', `file`);
+  imgupload.classList.add('img_uploader', 'img_up');
+  imgInputs.appendChild(imgupload);
+  var imguploadlabel = document.createElement("label");
+  imguploadlabel.setAttribute('for', `img${i}`);
+  imguploadlabel.classList.add('upload-btn');
+  imguploadlabel.textContent = 'Upload';
+  imgInputs.appendChild(imguploadlabel);
+  $('input[type=file]').on('change', prepareUpload);
+}
+
+    </script>
+</body>
+
+</html>

+ 75 - 0
steps.html

@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>glass-property</title>
+    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp"
+      crossorigin="anonymous">
+    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" rel="stylesheet"
+        integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">
+    <link rel="stylesheet" href="./style.css">
+</head>
+
+<body>
+    <section class="sec-steps my-5">
+      <div class="container text-center">
+        <h2 class="steps-title mb-5"><strong>3</strong>步驟快速合成影片</h2>
+        <div class="row">
+            <div class="col-12 col-sm-4 my-4">
+                <div class="steps-block">
+                    <div class="steps-imgfr" style="background-image: url('img/aigirls.png');"></div>
+                    <div class="steps-txt">
+                        <span>1</span>
+                        <h3 class="steps-sub">選擇AI人物</h3>
+                    </div>
+                </div>
+            </div>
+            <div class="col-12 col-sm-4 my-4">
+                <div class="steps-block">
+                    <div class="steps-imgfr" style="background-image: url('img/textgrp.png');"></div>
+                    <div class="steps-txt">
+                        <span>2</span>
+                        <h3 class="steps-sub">輸入腳本文字</h3>
+                    </div>
+                </div>
+            </div>
+            <div class="col-12 col-sm-4 my-4">
+                <div class="steps-block">
+                    <div class="steps-imgfr" style="background-image: url('img/imagesgrp.png');"></div>
+                    <div class="steps-txt">
+                        <span>3</span>
+                        <h3 class="steps-sub">輸入圖片素材</h3>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <button class="btn-dark" onclick="window.location.href=`https://video.choozmo.com/register.html`">立即開始</button>
+        <div class="row my-5">
+          <div class="col-12">
+            <div class="step-videofr">
+              <video autoplay muted loop>
+                  <source src="img/官網1_加速.mp4" type="video/mp4">
+              </video>
+          </div>
+          </div>
+        </div>
+      </div>
+
+    </section>
+
+
+
+    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.3/dist/umd/popper.min.js"
+        integrity="sha384-W8fXfP3gkOKtndU4JGtKDvXbO53Wy8SZCQHczT5FMiiqmQfUpWbYdTil/SxwZgAN"
+        crossorigin="anonymous"></script>
+    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/js/bootstrap.min.js"
+        integrity="sha384-skAcpIdS7UcVUC05LJ9Dxay8AXcDYfBJqt1CJ85S/CFujBsIzCIv+l9liuYLaMQ/"
+        crossorigin="anonymous"></script>
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
+</body>
+
+</html>

+ 185 - 0
style.css

@@ -7,6 +7,51 @@
   font-family: 微軟正黑體;
 }
 
+html {
+  min-height: 100%;
+  height: auto;
+  /*Image only BG fallback*/
+  /*background = gradient + image pattern combo*/
+  /* background: 
+		linear-gradient(rgba(196, 102, 0, 0.6), rgba(155, 89, 182, 0.6)); */
+}
+
+body {
+  font-family: "Montserrat", sans-serif;
+  background-color: white;
+  font-size: 1.05rem;
+}
+
+.ml {
+  margin-left: 10px;
+}
+
+.mr {
+  margin-right: 10px;
+}
+
+.mb {
+  margin-bottom: 12px;
+}
+
+.top {
+  margin-top: 20px;
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  left: 50%;
+  z-index: 20;
+  background-color: inherit;
+}
+
+.copy {
+  cursor: pointer;
+}
+
+.navbar {
+  background-color: white;
+}
+
 .propertytitle {
   -webkit-text-stroke: 0.7px #fff;
   -moz-text-stroke: 0.7px #fff;
@@ -156,4 +201,144 @@ ul > li:nth-child(1) {
     opacity: 1;
   }
 }
+
+.sec-usecase .usecase-block {
+  border: none;
+  position: relative;
+  background-color: transparent;
+}
+
+.sec-usecase .usecase-block::after {
+  position: absolute;
+  bottom: -1rem;
+  left: 5%;
+  width: 90%;
+  height: 8rem;
+  background-color: #FFEBE2;
+  content: " ";
+  z-index: -1;
+  border-radius: 2rem;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.sec-usecase .usecase-block .usecase-imgfr {
+  width: 85%;
+  margin: 0 auto;
+  height: 45vh;
+  background-position: center center;
+  background-size: contain;
+  background-repeat: no-repeat;
+  margin-bottom: 1.5rem;
+}
+
+.sec-usecase .usecase-block .usecase-sub {
+  background-color: transparent;
+}
+
+.sec-usecase .usecase-block .usecase-sub i {
+  color: #EA5413;
+}
+
+.sec-steps .container {
+  width: 100%;
+}
+
+.sec-steps .steps-title {
+  font-size: 3rem;
+  text-align: center;
+  letter-spacing: 1px;
+}
+
+.sec-steps .steps-title strong {
+  font-size: 5rem;
+}
+
+.sec-steps .steps-block {
+  padding: 0 1rem;
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-orient: vertical;
+  -webkit-box-direction: normal;
+      -ms-flex-direction: column;
+          flex-direction: column;
+  -webkit-box-align: center;
+      -ms-flex-align: center;
+          align-items: center;
+  -webkit-box-pack: center;
+      -ms-flex-pack: center;
+          justify-content: center;
+  position: relative;
+}
+
+.sec-steps .steps-block::after {
+  position: absolute;
+  bottom: -1rem;
+  left: 0;
+  width: 100%;
+  height: 15rem;
+  background-color: #FFEBE2;
+  content: " ";
+  z-index: -1;
+  border-radius: 2rem;
+}
+
+.sec-steps .steps-block .steps-imgfr {
+  width: 85%;
+  margin: 0 auto;
+  height: 45vh;
+  background-position: center center;
+  background-size: contain;
+  background-repeat: no-repeat;
+  margin-bottom: 1.5rem;
+}
+
+.sec-steps .steps-block .steps-txt {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: center;
+      -ms-flex-align: center;
+          align-items: center;
+}
+
+.sec-steps .steps-block .steps-txt span {
+  display: inline-block;
+  width: 35px;
+  height: 35px;
+  background-color: #EA5413;
+  color: white;
+  font-size: 1.4rem;
+  line-height: 35px;
+  border-radius: 50%;
+  text-align: center;
+  margin-right: .6rem;
+}
+
+.sec-steps .steps-block .steps-txt .steps-sub {
+  font-size: 1.6rem;
+}
+
+.sec-steps .step-videofr {
+  width: 100%;
+}
+
+.sec-steps .step-videofr video {
+  width: 100%;
+}
+
+.btn-dark {
+  text-decoration: none;
+  color: white;
+  border: 1px solid #EA5413;
+  padding: 1rem 2.5rem;
+  outline: none;
+  background-color: #EA5413;
+  margin-top: 4rem;
+  border-radius: 3rem;
+  font-size: 1.8rem;
+  -webkit-box-shadow: 1px 1px 5px 1px rgba(201, 201, 201, 0.637);
+          box-shadow: 1px 1px 5px 1px rgba(201, 201, 201, 0.637);
+}
 /*# sourceMappingURL=style.css.map */

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 1
style.css.map


+ 167 - 0
style.scss

@@ -6,6 +6,56 @@
 }
 
 
+$moblie: 767px;
+$desktop: 1025px;
+
+html {
+	min-height: 100%;
+	height: auto;
+	/*Image only BG fallback*/
+
+	/*background = gradient + image pattern combo*/
+	/* background: 
+		linear-gradient(rgba(196, 102, 0, 0.6), rgba(155, 89, 182, 0.6)); */
+}
+// basic reset
+body {
+	font-family: "Montserrat", sans-serif;
+	background-color: white;
+	font-size: 1.05rem;
+}
+
+.ml {
+	margin-left: 10px;
+}
+
+.mr {
+	margin-right: 10px;
+}
+
+.mb {
+	margin-bottom: 12px;
+}
+
+.top {
+	margin-top: 20px;
+	position: sticky;
+	top: 0;
+	left: 50%;
+	z-index: 20;
+	background-color: inherit;
+}
+
+.copy {
+	cursor: pointer;
+}
+
+.navbar {
+	background-color: white;
+}
+
+
+
 .propertytitle{
   -webkit-text-stroke:0.7px #fff;
   -moz-text-stroke:0.7px #fff;
@@ -118,3 +168,120 @@ ul>li:nth-child(1){
 
 }
 
+// sec-usecase
+.sec-usecase {
+  .usecase-block {
+    border: none;
+    position: relative;
+    background-color: transparent;
+    &::after {
+      position: absolute;
+      bottom: -1rem;
+      left: 5%;
+      width: 90%;
+      height: 8rem;
+      background-color: #FFEBE2;
+      content: " ";
+      z-index: -1;
+      border-radius: 2rem;
+      margin-left: auto;
+      margin-right: auto;
+    }
+    .usecase-imgfr {
+      width: 85%;
+      margin: 0 auto;
+      height: 45vh;
+      background-position: center center;
+      background-size: contain;
+      background-repeat: no-repeat;
+      margin-bottom: 1.5rem;
+    }
+    .usecase-sub {
+      background-color: transparent;
+      i {
+        color: #EA5413;
+      }
+    }
+  }
+}
+
+.sec-steps {
+  .container {
+    width: 100%;
+  }
+  .steps-title {
+    font-size: 3rem;
+    text-align: center;
+    letter-spacing: 1px;
+  }
+  .steps-title strong {
+    font-size: 5rem;
+  }
+  .steps-block {
+    padding: 0 1rem;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    justify-content: center;
+    position: relative;
+    &::after {
+      position: absolute;
+      bottom: -1rem;
+      left: 0;
+      width: 100%;
+      height: 15rem;
+      background-color: #FFEBE2;
+      content: " ";
+      z-index: -1;
+      border-radius: 2rem;
+    }
+    .steps-imgfr {
+      width: 85%;
+      margin: 0 auto;
+      height: 45vh;
+      background-position: center center;
+      background-size: contain;
+      background-repeat: no-repeat;
+      margin-bottom: 1.5rem;
+    }
+    .steps-txt {
+      display: flex;
+      align-items: center;
+      span {
+        display: inline-block;
+        width: 35px;
+        height: 35px;
+        background-color: #EA5413;
+        color: white;
+        font-size: 1.4rem;
+        line-height: 35px;
+        border-radius: 50%;
+        text-align: center;
+        margin-right: .6rem;
+      }
+      .steps-sub {
+        font-size: 1.6rem;
+      }
+    }
+  }
+  .step-videofr {
+    width: 100%;
+  }
+  .step-videofr video {
+    width: 100%;
+  }
+}
+
+
+.btn-dark {
+  text-decoration: none;
+  color: white;
+  border: 1px solid #EA5413;
+  padding: 1rem 2.5rem;
+  outline: none;
+  background-color: #EA5413;
+  margin-top: 4rem;
+  border-radius: 3rem;
+  font-size: 1.8rem;
+  box-shadow: 1px 1px 5px 1px rgba(201, 201, 201, 0.637);
+}

+ 1286 - 0
styleMV.css

@@ -0,0 +1,1286 @@
+
+/*basic reset*/
+* {
+  margin: 0;
+  padding: 0;
+}
+
+html {
+  min-height: 100%;
+  height: auto;
+  /*Image only BG fallback*/
+  /*background = gradient + image pattern combo*/
+  /* background: 
+		linear-gradient(rgba(196, 102, 0, 0.6), rgba(155, 89, 182, 0.6)); */
+}
+
+body {
+  font-family: "Montserrat", sans-serif;
+  background-color: white;
+  font-size: 1.05rem;
+}
+
+.ml {
+  margin-left: 10px;
+}
+
+.mr {
+  margin-right: 10px;
+}
+
+.mb {
+  margin-bottom: 12px;
+}
+
+.top {
+  margin-top: 20px;
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  left: 50%;
+  z-index: 20;
+  background-color: inherit;
+}
+
+.copy {
+  cursor: pointer;
+}
+
+.navbar {
+  background-color: white;
+}
+
+/* .imf {
+	position: fixed;
+	top: 0;
+	left: 50%;
+	transform: translateX(-50%);
+	z-index: 3;
+} */
+.img_banner {
+  background-image: url("images/banner_top1.jpg");
+  background-repeat: no-repeat;
+  background-size: contain;
+  background-position: center;
+  width: 100%;
+  height: 65px;
+}
+
+/*form styles*/
+.img_logo {
+  display: inline-block;
+  margin: 0 auto;
+  margin-bottom: 10px;
+}
+
+.title__block {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+      -ms-flex-pack: center;
+          justify-content: center;
+  -webkit-box-align: center;
+      -ms-flex-align: center;
+          align-items: center;
+  margin: 0px auto;
+}
+
+.sub-logo {
+  display: inline-block;
+  font-weight: 700;
+  font-size: 1.4rem;
+  color: white;
+}
+
+.slogan {
+  display: block;
+  font-weight: 700;
+  font-size: 1.2rem;
+  color: white;
+}
+
+.notice_card {
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+  width: 80%;
+  margin: 0 10%;
+  margin-bottom: 1.5rem;
+  background: white;
+  border: 0 none;
+  border-radius: 3px;
+  -webkit-box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4);
+          box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4);
+  padding: 10px 20px;
+  line-height: 1.5rem;
+}
+
+#myProgress {
+  width: 100%;
+  background-color: #ddd;
+}
+
+#myBar {
+  width: 10%;
+  height: 30px;
+  background-color: #1c7ce0;
+  text-align: center;
+  line-height: 30px;
+  color: white;
+}
+
+.go_title {
+  color: white;
+  font-family: "Montserrat", sans-serif;
+  padding: 1rem;
+}
+
+.nav-list {
+  color: white;
+  margin-top: 1.5rem;
+}
+
+.nav-list-item {
+  font-size: 1.2rem;
+  cursor: pointer;
+  position: relative;
+}
+
+.nav-list-item::after {
+  content: " ";
+  position: absolute;
+  width: 100%;
+  height: 100%;
+  left: 0;
+  top: 0;
+  border-bottom: 1px solid white;
+  opacity: 0;
+  -webkit-transition: all 0.4s;
+  transition: all 0.4s;
+}
+
+.nav-list-item:hover::after {
+  opacity: 1;
+}
+
+.loader {
+  position: absolute;
+  top: 30%;
+  left: 45%;
+}
+
+.imgfr {
+  width: 90px;
+  height: 90px;
+  border-radius: 50%;
+  overflow: hidden;
+  margin: 1rem auto 0 auto;
+}
+
+.card-title {
+  font-family: "Montserrat", sans-serif;
+  font-size: 1rem;
+}
+
+.strong {
+  font-weight: 600;
+}
+
+.card {
+  border: none;
+  position: relative;
+}
+
+.card.active {
+  border: 1px solid gray;
+}
+
+.card.active::before {
+  position: absolute;
+  content: "✓";
+  bottom: 0;
+  right: 5px;
+}
+
+.zoomin {
+  display: none;
+  position: absolute;
+  bottom: 0;
+  left: 0;
+}
+
+.script_err {
+  display: none;
+}
+
+/* .history-modal {
+	height: 80vh;
+}
+.history-modal .modal-content{
+	height: 80vh;
+	
+}
+.history-modal .modal-conten .modal-terms {
+	height: 90%;
+	overflow: scroll;
+} */
+.history {
+  height: 75vh;
+  overflow: scroll;
+}
+
+.historyList-item {
+  padding: 1rem;
+  display: block;
+  width: 80%;
+  margin: 1rem auto;
+  border-radius: 10px;
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  font-size: 0.9rem;
+  -webkit-box-shadow: 1px 1px 4px 1px #cfcfcf;
+          box-shadow: 1px 1px 4px 1px #cfcfcf;
+  background-color: white;
+}
+
+.historyList-link {
+  text-decoration: none;
+  color: #494949;
+}
+
+.historyList-link:hover {
+  color: #7c7c7c;
+}
+
+.listimg__fr {
+  width: 50px;
+  height: 50px;
+  border-radius: 50%;
+  overflow: hidden;
+  margin: auto .5rem;
+}
+
+.listimg__fr img {
+  width: 100%;
+  height: 100%;
+}
+
+.content {
+  width: calc(100% - 250px);
+}
+
+/*form styles*/
+#msform {
+  max-width: 1000px;
+  min-width: 370px;
+  margin: 50px auto;
+  margin-bottom: 20px;
+  text-align: center;
+  position: relative;
+}
+
+#msform fieldset {
+  background: white;
+  border: 0 none;
+  border-radius: 3px;
+  -webkit-box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4);
+          box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4);
+  padding: 20px 30px;
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+  width: 80%;
+  margin: 3rem 10%;
+  /*stacking fieldsets above each other*/
+  position: relative;
+}
+
+/*Hide all except first fieldset*/
+/*inputs*/
+#msform input[type="text"],
+#msform textarea,
+#msform input[type="email"] {
+  padding: 15px;
+  border: 1px solid #ccc;
+  border-radius: 3px;
+  margin-bottom: 16px;
+  width: 100%;
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+  font-family: montserrat;
+  color: #2c3e50;
+  font-size: 14px;
+}
+
+/*buttons*/
+#msform .action-button {
+  width: 100px;
+  background: #1c7ce0;
+  font-weight: bold;
+  color: white;
+  border: 0 none;
+  border-radius: 1px;
+  cursor: pointer;
+  padding: 10px 5px;
+  margin: 10px auto;
+  display: block;
+}
+
+#msform .action-button:hover,
+#msform .action-button:focus {
+  -webkit-box-shadow: 0 0 0 2px white, 0 0 0 3px #1c7ce0;
+          box-shadow: 0 0 0 2px white, 0 0 0 3px #1c7ce0;
+}
+
+#msform .next[disabled] {
+  background-color: grey;
+}
+
+.draft-btn {
+  padding: 10px 5px;
+  background-color: #d1d1d1;
+  display: inline-block;
+  position: absolute;
+  left: 1rem;
+  bottom: 1rem;
+  font-size: 1rem;
+  -webkit-transition: all .3s;
+  transition: all .3s;
+  cursor: pointer;
+}
+
+.draft-btn:hover {
+  background-color: #aaaaaa;
+}
+
+/*headings*/
+.fs-title {
+  font-size: 15px;
+  text-transform: uppercase;
+  color: #2c3e50;
+  margin-bottom: 10px;
+}
+
+.fs-subtitle {
+  display: inline-block;
+  font-weight: normal;
+  font-size: 18px;
+  color: #666;
+  margin-bottom: 20px;
+  padding-bottom: 3px;
+  border-bottom: 2px solid #1c7ce0;
+  margin-left: 2rem;
+  margin-right: 2rem;
+}
+
+.fs-label {
+  display: block;
+  text-align: left;
+  margin-bottom: 8px;
+}
+
+.fs-label > i {
+  margin-right: 3px;
+}
+
+p.error-text {
+  bottom: -23px;
+  left: 24px;
+  color: rgba(255, 0, 0, 0.7);
+  font-size: 0.8em;
+  margin-bottom: 0;
+}
+
+#term-error {
+  color: rgba(255, 0, 0, 0.7);
+  font-size: 0.8em;
+  bottom: -23px;
+  left: 24px;
+}
+
+select {
+  padding: 15px;
+  border: 1px solid #ccc;
+  border-radius: 3px;
+  margin-bottom: 10px;
+  width: 100%;
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+  font-family: montserrat;
+  color: #2c3e50;
+  font-size: 13px;
+  background-color: transparent;
+}
+
+.pl-0 {
+  padding-left: 0;
+}
+
+.terms {
+  font-size: 0.9rem;
+  width: 95%;
+  min-width: 250px;
+  height: auto;
+  overflow: scroll;
+  margin-bottom: 1rem;
+  margin-left: auto;
+  margin-right: auto;
+  border: 1px solid #a3a3a3;
+  line-height: 1.5rem;
+}
+
+.term-link a {
+  text-decoration: none;
+  color: black;
+}
+
+.h2 {
+  text-align: center;
+  font-size: 1.2rem;
+  font-weight: 500;
+  margin-top: 2rem;
+}
+
+.left_align {
+  font-size: 18px;
+  text-align: left;
+}
+
+#overlay {
+  position: fixed;
+  /* Sit on top of the page content */
+  display: none;
+  width: 100%;
+  height: 100%;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background-color: rgba(0, 0, 0, 0.5);
+  z-index: 2;
+  cursor: pointer;
+}
+
+.thankyou {
+  margin: auto;
+  min-width: 350px;
+  height: 250px;
+  margin-top: 190px;
+  background: #fff;
+  padding: 15px 20px;
+  line-height: 25px;
+  border-radius: 4px;
+  text-align: center;
+}
+
+.thankyou input {
+  margin-top: 40px;
+}
+
+.thankyou h3 {
+  font-size: 2rem;
+  font-weight: 700;
+  color: #21ba45;
+  line-height: 2.5rem;
+  margin-bottom: 1.5rem;
+}
+
+.check_button {
+  display: none;
+}
+
+.fs-label-type {
+  background: transparent;
+  padding: 5px;
+  border: 1px solid black;
+  border-radius: 5px;
+  display: inline-block;
+}
+
+.check_button:checked + .fs-label-type {
+  background-color: #27ae60;
+  color: white;
+  padding: 5px;
+  border: 1px solid #27ae60;
+  border-radius: 5px;
+}
+
+#checker1,
+#checker2 {
+  display: inline;
+}
+
+.fs-label-info {
+  background: transparent;
+  padding: 5px;
+  border: 1px solid black;
+  border-radius: 5px;
+  display: inline-block;
+  margin-bottom: 8px;
+}
+
+input[type="radio"] {
+  display: none;
+}
+
+input[type="radio"]:checked + .fs-label-info {
+  background-color: #27ae60;
+  color: white;
+  padding: 5px;
+  border: 1px solid #27ae60;
+  border-radius: 5px;
+}
+
+input[type="checkbox"]:checked + .fs-label-info {
+  background-color: #27ae60;
+  color: white;
+  padding: 5px;
+  border: 1px solid #27ae60;
+  border-radius: 5px;
+}
+
+.btn-exit {
+  padding: 0.5rem 0.75rem;
+  background-color: transparent;
+  border: 1px solid black;
+  margin-top: 0.3rem;
+}
+
+.btn-term-exit {
+  padding: 0.5rem 0.75rem;
+  background-color: transparent;
+  border: 1px solid black;
+  margin-top: 0.3rem;
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+  margin-bottom: 2rem;
+}
+
+footer {
+  padding: 2rem;
+  padding-top: 0.5rem;
+}
+
+.footer {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+      -ms-flex-pack: center;
+          justify-content: center;
+}
+
+.img_fr {
+  width: 80%;
+  max-width: 850px;
+  min-width: 300px;
+  height: 60px;
+  -o-object-fit: contain;
+     object-fit: contain;
+  -o-object-position: center;
+     object-position: center;
+}
+
+.img_fr img {
+  width: 100%;
+  height: 90%;
+}
+
+#msform #userid,
+#msform #area {
+  height: 0;
+  padding: 0;
+  margin: 0;
+  border: none;
+}
+
+#msform input[type="text"].error {
+  border-color: red;
+}
+
+.modal-header {
+  border-bottom: none;
+}
+
+.btn-dismiss {
+  background: -webkit-gradient(linear, left top, right top, from(#0162c8), to(#55e7fc));
+  background: linear-gradient(90deg, #0162c8, #55e7fc);
+  font-weight: bold;
+  color: white;
+  border: 0 none;
+  border-radius: 20px;
+  cursor: pointer;
+  padding: 10px 35px;
+  margin: 10px auto;
+  display: block;
+}
+
+#avatarmega .modal-content {
+  background-color: transparent;
+  border: none;
+}
+
+#avatarmega .modal-title {
+  color: white;
+}
+
+#avatarmega .modal-header {
+  position: absolute;
+  top: -0.5rem;
+  right: 1.5rem;
+}
+
+.linker__box {
+  padding: 0.5rem 1rem;
+  border-radius: 1rem;
+  -webkit-box-shadow: 1px 1px 5px 1px #c9c9c9;
+          box-shadow: 1px 1px 5px 1px #c9c9c9;
+  width: -webkit-max-content;
+  width: -moz-max-content;
+  width: max-content;
+  margin: 0 auto;
+  display: none;
+}
+
+.linker__box p {
+  margin-bottom: 0;
+  color: gray;
+}
+
+.linker__box i {
+  color: gray;
+  position: relative;
+}
+
+.linker__box i::after {
+  position: absolute;
+  content: " ";
+  right: -5px;
+  top: -10%;
+  border-right: 2px solid #a3a3a3;
+  width: 1px;
+  height: 120%;
+}
+
+.item_imgfr {
+  width: 15%;
+  height: 50px;
+  border-radius: 50%;
+  overflow: hidden;
+  margin: auto 0.5rem;
+}
+
+.item_imgfr img {
+  height: 100%;
+  width: 100%;
+}
+
+.content-box {
+  width: 75%;
+}
+
+.box-title {
+  margin-bottom: 0.2rem;
+  cursor: pointer;
+}
+
+.box-title:hover {
+  color: grey;
+  text-decoration: underline;
+}
+
+.box-link {
+  cursor: pointer;
+}
+
+.img_uploader {
+  display: none;
+}
+
+#msform input[type="text"].imgsrc {
+  width: calc(100% - 8rem);
+  margin-right: 5px;
+}
+
+.upload-btn {
+  display: inline-block;
+  width: 6rem;
+  background-color: #75a7dd;
+  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;
+}
+
+.upload-btn img {
+  width: 30px;
+  height: 30px;
+}
+
+.upload-btn:hover {
+  background-color: #3b86d6;
+}
+
+.add,
+.add-subline,
+.addimg {
+  cursor: pointer;
+  display: inline-block;
+  width: 2rem;
+  height: 2rem;
+  background-color: #67abf3;
+  font-size: 1.2rem;
+  color: white;
+  border-radius: 50%;
+  -webkit-transition: all 0.3s;
+  transition: all 0.3s;
+}
+
+.add:hover,
+.add-subline:hover,
+.addimg:hover {
+  background-color: #398ee9;
+}
+
+body {
+  font-family: "Lato", sans-serif;
+}
+
+.sidenav {
+  height: 100%;
+  width: 250px;
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  background: -webkit-gradient(linear, left top, left bottom, from(#1c7ce0), to(#150051));
+  background: linear-gradient(to bottom, #1c7ce0, #150051);
+  overflow-x: hidden;
+  -webkit-transition: 0.5s;
+  transition: 0.5s;
+}
+
+.sidenav a {
+  text-decoration: none;
+  font-size: 25px;
+  color: #818181;
+  display: block;
+  -webkit-transition: 0.3s;
+  transition: 0.3s;
+}
+
+.sidenav a:hover {
+  color: #f1f1f1;
+}
+
+.sidenav .closebtn {
+  position: absolute;
+  top: 0;
+  right: 25px;
+  font-size: 36px;
+  margin-left: 50px;
+}
+
+.navbar-nav button {
+  background: white;
+  border: none;
+  outline: none;
+}
+
+.img-wave {
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  height: 100%;
+  z-index: -1;
+}
+
+.img-wave-profile {
+  height: 80%;
+}
+
+.row-img {
+  position: relative;
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+      -ms-flex-pack: center;
+          justify-content: center;
+  -webkit-box-align: center;
+      -ms-flex-align: center;
+          align-items: center;
+  background-image: -webkit-gradient(linear, left top, right bottom, from(rgba(16, 68, 142, 0.7)), to(rgba(16, 68, 142, 0.7)));
+  background-image: linear-gradient(to right bottom, rgba(16, 68, 142, 0.7), rgba(16, 68, 142, 0.7));
+  background-size: cover;
+  background-position: center;
+  overflow: hidden;
+}
+
+.row-img .video {
+  height: 100%;
+  z-index: -1;
+  position: absolute;
+  left: -10%;
+  top: 0;
+}
+
+.row-img .row-img-box {
+  color: white;
+}
+
+.row-img .row-img-txt {
+  position: absolute;
+  bottom: 2rem;
+  color: white;
+  left: 2rem;
+  font-size: 1.3rem;
+}
+
+.row-login {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: start;
+      -ms-flex-pack: start;
+          justify-content: flex-start;
+  -webkit-box-align: center;
+      -ms-flex-align: center;
+          align-items: center;
+  text-align: center;
+  position: relative;
+}
+
+.row-login .title {
+  position: relative;
+  color: #052859;
+}
+
+.row-login .title::after {
+  position: absolute;
+  content: "";
+  left: 45%;
+  top: 20%;
+  width: 10%;
+  height: 100%;
+  border-bottom: 4px solid #052859;
+}
+
+.row-login .login-top {
+  position: absolute;
+  right: 1rem;
+  top: 1rem;
+}
+
+.row-login .login-top .navbar-nav {
+  -webkit-box-orient: horizontal;
+  -webkit-box-direction: normal;
+      -ms-flex-direction: row;
+          flex-direction: row;
+}
+
+.row-login .login-top .navbar-nav .nav-item {
+  margin: 0 0.5rem;
+}
+
+.row-login .login-top .navbar-nav .nav-item a {
+  color: black;
+}
+.navbar .btn-gocreate {
+  background: -webkit-gradient(linear, left top, right top, from(#0162c8), to(#55e7fc));
+  background: linear-gradient(90deg, #0162c8, #55e7fc);
+  color: white;
+  border: 0 none;
+  border-radius: 40px;
+  cursor: pointer;
+  padding: 10px 50px;
+}
+
+.container-bg {
+  position: absolute;
+  width: 600px;
+  height: 400px;
+  right: 0;
+  bottom: 0;
+  z-index: -1;
+}
+
+.container-profile .card-profile {
+  margin-top: 4rem;
+  border-radius: 10px;
+  padding: 2rem;
+  text-align: center;
+  -webkit-box-shadow: 0px 0px 20px 1px #b4b4b4;
+          box-shadow: 0px 0px 20px 1px #b4b4b4;
+}
+
+.container-profile .card-profile img {
+  width: 120px;
+  margin: 1rem auto;
+}
+
+.card-profile-txt {
+  color: #6d6d6d;
+  font-size: 1.2rem;
+  font-weight: 500;
+}
+
+.card-profile-cnt {
+  font-size: 1.5rem;
+  font-weight: 700;
+}
+
+@media screen and (max-width: 900px) {
+  .container-login {
+    -ms-grid-columns: 1fr;
+        grid-template-columns: 1fr;
+  }
+  .row-img {
+    display: none;
+  }
+  .img-wave {
+    display: none;
+  }
+  .row-login {
+    -webkit-box-pack: center;
+        -ms-flex-pack: center;
+            justify-content: center;
+  }
+  .container-bg {
+    width: 400px;
+    height: 300px;
+    right: 0;
+    bottom: 0;
+  }
+}
+
+@media screen and (max-height: 450px) {
+  .sidenav {
+    padding-top: 15px;
+  }
+  .sidenav a {
+    font-size: 18px;
+  }
+}
+
+@media screen and (max-width: 767px) {
+  .profile-bgimg {
+    width: 100%;
+    height: 300px;
+    -o-object-fit: cover;
+       object-fit: cover;
+    display: none;
+  }
+}
+
+@media screen and (min-width: 1025px) {
+  .profile-bgimg-m {
+    display: none;
+  }
+}
+
+.navbar {
+  background: none !important;
+}
+
+.arrowdoup {
+  -webkit-transform: rotate(180deg);
+          transform: rotate(180deg);
+}
+
+.arrowdown {
+  cursor: pointer;
+}
+
+.userprofile {
+  position: relative;
+  top: -80px;
+  z-index: 20;
+}
+
+@media screen and (max-width: 767px) {
+  .userprofile {
+    top: 10px;
+    z-index: 0;
+  }
+}
+
+.userprofile .userprofile-content {
+  width: 83vw;
+}
+
+@media screen and (max-width: 767px) {
+  .userprofile .userprofile-content {
+    width: 95vw;
+  }
+}
+
+.userprofile .userprofile-content .user-information .information {
+  width: 50%;
+  margin: 0 auto;
+}
+
+.sidenav {
+  width: 250px;
+  height: 100%;
+  z-index: 50;
+  top: 0;
+  left: 0;
+  overflow-x: hidden;
+  -webkit-transition: 0.5s;
+  transition: 0.5s;
+  text-align: center;
+}
+
+@media screen and (max-width: 767px) {
+  .sidenav {
+    display: none;
+  }
+}
+
+@media only screen and (min-width: 1439px) {
+  .sidenav .sidenav-content {
+    -webkit-transform: scale(1);
+            transform: scale(1);
+  }
+}
+
+@media only screen and (max-width: 1280px) {
+  .sidenav .sidenav-content {
+    margin-top: -50px;
+    -webkit-transform: scale(0.85);
+            transform: scale(0.85);
+  }
+}
+
+@media screen and (max-width: 767px) {
+  .sidenav .sidenav-content .choozmologo {
+    margin-top: 10px;
+  }
+}
+
+.sidenav .sidenav-content .reply {
+  margin-left: 70px;
+}
+
+@media screen and (min-width: 1025px) {
+  .sidenav .sidenav-content .reply {
+    display: none;
+  }
+}
+
+.sidenav hr {
+  background: #fff;
+  opacity: 1 !important;
+  height: 1px;
+  width: 85%;
+  margin: 15px auto;
+}
+
+.sidenav .sidebar {
+  width: 80%;
+  margin: 0 auto;
+}
+
+.sidenav .user {
+  -o-object-fit: cover;
+     object-fit: cover;
+  width: 8vw;
+}
+
+@media screen and (max-width: 767px) {
+  .sidenav .user {
+    width: 30vw;
+  }
+}
+
+.sidenav .user-name {
+  font-size: 1.5rem;
+}
+
+.sidenav .navbar-nav {
+  -webkit-box-orient: horizontal;
+  -webkit-box-direction: normal;
+      -ms-flex-direction: row;
+          flex-direction: row;
+}
+
+.sidenav .navbar-nav .btn-gocreate {
+  font-size: 1.7vmin;
+  background: -webkit-gradient(linear, left top, right top, from(#0162c8), to(#55e7fc));
+  background: linear-gradient(90deg, #0162c8, #55e7fc);
+  color: white;
+  border: 0 none;
+  border-radius: 10px;
+  cursor: pointer;
+  margin: 10px 3px;
+  display: inline;
+}
+
+@media screen and (max-width: 767px) {
+  .sidenav .navbar-nav .btn-gocreate {
+    font-size: 3.5vmin;
+  }
+}
+
+.sidenav .navbar-nav .active {
+  background: -webkit-gradient(linear, left top, right top, from(#0162c8), to(#55e7fc));
+  background: linear-gradient(90deg, #0162c8, #55e7fc);
+}
+
+.sidenav a {
+  text-decoration: none;
+  font-size: 32px;
+  color: #f1f1f1;
+  display: block;
+  -webkit-transition: 0.3s;
+  transition: 0.3s;
+}
+
+.sidenav a:hover {
+  color: #818181;
+}
+
+.sidenav .sidenav .closebtn {
+  position: absolute;
+  top: 0;
+  right: 25px;
+  font-size: 36px;
+  margin-left: 50px;
+}
+
+.sidenav .nav-list {
+  color: white;
+  list-style: none;
+  text-align: center;
+}
+
+.sidenav .nav-list .nav-list-item {
+  font-size: 18px;
+  cursor: pointer;
+  position: relative;
+}
+
+.sidenav .nav-list .nav-list-item::after {
+  content: " ";
+  position: absolute;
+  width: 50%;
+  height: 100%;
+  left: 25%;
+  top: 5px;
+  border-bottom: 1px solid white;
+  opacity: 0;
+  -webkit-transition: all 0.4s;
+  transition: all 0.4s;
+}
+
+.sidenav .nav-list .nav-list-item:hover::after {
+  opacity: 1;
+}
+
+.sidenav .right-text {
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  color: #fff;
+}
+
+@media only screen and (max-width: 1280px) {
+  .sidenav .right-text {
+    left: 10px;
+  }
+}
+
+.sidenav .right-text a {
+  font-size: 16px;
+  display: inline;
+  margin: 2px;
+}
+
+.sidenav .right-text a img {
+  -webkit-filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(102deg) brightness(102%) contrast(101%);
+          filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(102deg) brightness(102%) contrast(101%);
+}
+
+@media only screen and (max-width: 1280px) {
+  .sidenav .right-text p {
+    font-size: 16px;
+  }
+}
+
+.footer {
+  background-color: #F0F0F0;
+  padding: 3rem;
+  padding-left: 13rem;
+}
+
+@media screen and (max-width: 767px) {
+  .footer {
+    padding: 0.5rem;
+    text-align: center;
+    padding-top: 3rem;
+    padding-left: 0;
+  }
+}
+
+.footer h5 {
+  font-size: 16px;
+  font-weight: 700;
+  color: #555555;
+}
+
+.footer .row {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: center;
+      -ms-flex-align: center;
+          align-items: center;
+}
+
+.footer .footer-aigirl {
+  font-weight: 600;
+  font-size: 1.5rem;
+  margin-top: 1rem;
+  margin-bottom: 2.5rem;
+  color: #555555;
+}
+
+@media screen and (max-width: 767px) {
+  .footer .footer-aigirl {
+    font-size: 1.3rem;
+    margin-bottom: 2rem;
+  }
+}
+
+.footer .footer-follow {
+  font-size: 1rem;
+  margin-bottom: 1rem;
+}
+
+@media screen and (max-width: 767px) {
+  .footer-socials {
+    margin-bottom: 2rem;
+  }
+}
+
+.footer .footer-socials a {
+  margin-right: 5px;
+}
+
+@media screen and (max-width: 767px) {
+  .footer .footer-socials a {
+    margin-right: 10px;
+  }
+}
+
+@media screen and (max-width: 767px) {
+  .footer-contacts {
+    font-size: 14px;
+  }
+}
+/*# sourceMappingURL=style.css.map */

+ 91 - 0
usecases.html

@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>glass-property</title>
+    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" rel="stylesheet"
+        integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">
+    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp"
+      crossorigin="anonymous">
+    <link rel="stylesheet" href="./style.css">
+</head>
+
+<body>
+    <section class="sec-usecase">
+      <div class="container">
+          <div class="row my-5">
+              <div class="col-12 col-md-6 my-4">
+                <div class="usecase-block card text-center">
+                    <div class="usecase-imgfr" style="background-image: url('img/產品介紹.png');"></div>
+                    <h3 class="usecase-sub"><i class="fas fa-circle"></i> 產品介紹</h3>
+                </div>
+              </div>
+              <div class="col-12 col-md-6 my-4">
+                <div class="usecase-block card text-center">
+                    <div class="usecase-imgfr" style="background-image: url('img/教育.png');"></div>
+                    <h3 class="usecase-sub"><i class="fas fa-circle"></i> 教育培訓</h3>
+                </div>
+              </div>
+              <div class="col-12 col-md-6 my-4">
+                <div class="usecase-block card text-center">
+                    <div class="usecase-imgfr" style="background-image: url('img/產品介紹.png');"></div>
+                    <h3 class="usecase-sub"><i class="fas fa-circle"></i> 氣象播報</h3>
+                </div>
+              </div>
+              <div class="col-12 col-md-6 my-4">
+                <div class="usecase-block card text-center">
+                    <div class="usecase-imgfr" style="background-image: url('img/產品介紹.png');"></div>
+                    <h3 class="usecase-sub"><i class="fas fa-circle"></i> 新聞播報</h3>
+                </div>
+              </div>
+              <div class="col-12 col-md-6 my-4">
+                <div class="usecase-block card text-center">
+                    <div class="usecase-imgfr" style="background-image: url('img/內容創作.png');"></div>
+                    <h3 class="usecase-sub"><i class="fas fa-circle"></i> 個人內容創作</h3>
+                </div>
+              </div>
+              <div class="col-12 col-md-6 my-4">
+                <div class="usecase-block card text-center">
+                    <div class="usecase-imgfr" style="background-image: url('img/A短影片_1.png');"></div>
+                    <h3 class="usecase-sub"><i class="fas fa-circle"></i> 觀光導覽</h3>
+                </div>
+              </div>
+              <div class="col-12 col-md-6 my-4">
+                <div class="usecase-block card text-center">
+                    <div class="usecase-imgfr" style="background-image: url('img/A短影片_1.png');"></div>
+                    <h3 class="usecase-sub"><i class="fas fa-circle"></i> 展覽導覽</h3>
+                </div>
+              </div>
+              <div class="col-12 col-md-6 my-4">
+                <div class="usecase-block card text-center">
+                    <div class="usecase-imgfr" style="background-image: url('img/A短影片_1.png');"></div>
+                    <h3 class="usecase-sub"><i class="fas fa-circle"></i> 廣告行銷</h3>
+                </div>
+              </div>
+              <div class="col-12 col-md-6 my-4">
+                <div class="usecase-block card text-center">
+                    <div class="usecase-imgfr" style="background-image: url('img/A短影片_1.png');"></div>
+                    <h3 class="usecase-sub"><i class="fas fa-circle"></i> 機構資訊宣導</h3>
+                </div>
+              </div>
+          </div>
+      </div>
+
+    </section>
+
+
+
+    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.3/dist/umd/popper.min.js"
+        integrity="sha384-W8fXfP3gkOKtndU4JGtKDvXbO53Wy8SZCQHczT5FMiiqmQfUpWbYdTil/SxwZgAN"
+        crossorigin="anonymous"></script>
+    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/js/bootstrap.min.js"
+        integrity="sha384-skAcpIdS7UcVUC05LJ9Dxay8AXcDYfBJqt1CJ85S/CFujBsIzCIv+l9liuYLaMQ/"
+        crossorigin="anonymous"></script>
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
+</body>
+
+</html>

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác