Ver código fonte

update index terbaru

Masarifyuli 3 meses atrás
pai
commit
39f6913713
4 arquivos alterados com 465 adições e 182 exclusões
  1. 1 1
      lib/src/api/api_auth_provider.dart
  2. 2 2
      pubspec.yaml
  3. 231 179
      web/index.html
  4. 231 0
      web/indexX.html

+ 1 - 1
lib/src/api/api_auth_provider.dart

@@ -26,7 +26,7 @@ class ApiAuthProvider {
 
   final String displayVersion = '4.0.16'; //versi aplikasi untuk di tampilkan
   final int currentVersion = 40; //versi aplikasi yang digunakan untuk pengecekan versi
-  final String buildNumber = '2525.02';
+  final String buildNumber = '2526.01';
 
 //  final String companyName = '999';
 //  final String _baseUrl = 'http://139.162.7.140:9090/';

+ 2 - 2
pubspec.yaml

@@ -16,8 +16,8 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
 # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
 # In Windows, build-name is used as the major, minor, and patch parts
 # of the product and file versions while build-number is used as the build suffix.
-#version: 4.0.15+48
-version: 4.0.16+49
+#version: 4.0.16+49
+version: 4.0.16+50
 
 environment:
   sdk: ^3.6.1

+ 231 - 179
web/index.html

@@ -1,165 +1,231 @@
 <!DOCTYPE html>
 <html>
+
 <head>
-  <!--
-    If you are serving your web app in a path other than the root, change the
-    href value below to reflect the base path you are serving from.
-
-    The path provided below has to start and end with a slash "/" in order for
-    it to work correctly.
-
-    For more details:
-    * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
-
-    This is a placeholder for base href that will be replaced by the value of
-    the `--base-href` argument provided to `flutter build`.
-  -->
-  <base href="$FLUTTER_BASE_HREF">
-
-  <meta charset="UTF-8">
-  <meta content="IE=Edge" http-equiv="X-UA-Compatible">
-  <meta name="description" content="Datacom Solusindo">
-
-  <!-- iOS meta tags & icons -->
-  <meta name="mobile-web-app-capable" content="yes">
-  <meta name="apple-mobile-web-app-status-bar-style" content="black">
-  <meta name="apple-mobile-web-app-title" content="TelNow Application">
-  <link rel="apple-touch-icon" href="icons/Icon-192.png">
-
-  <!-- Favicon -->
-  <link rel="icon" type="image/png" href="favicon.ico"/>
-
-  <title>TelNow Application</title>
-  <link rel="manifest" href="manifest.json">
-  <style>
-    .loader {
-      border: 5px solid #f3f3f3;
-      border-radius: 50%;
-      border-top: 5px solid #01beb5;
-      width: 40px;
-      height: 40px;
-      -webkit-animation: spin 2s linear infinite; /* Safari */
-      animation: spin 2s linear infinite;
-    }
+    <!--
+      If you are serving your web app in a path other than the root, change the
+      href value below to reflect the base path you are serving from.
 
-    .center {
-      position: absolute;
-      top: 50%;
-      left: 50%;
-      margin-top: -60px;
-      margin-left: -120px;
-      width: 240px;
-      height: 40px;
-      text-align: center;
-      font-family: Arial, Helvetica, sans-serif;
-    }
+      The path provided below has to start and end with a slash "/" in order for
+      it to work correctly.
 
-    .center-align {
-      position: absolute;
-      top: 50%;
-      left: 50%;
-      margin-top: 20px;
-      margin-left: -60px;
-      width: 40px;
-      height: 40px;
-    }
+      For more details:
+      * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
 
-    .center-count {
-      position: absolute;
-      top: 50%;
-      left: 50%;
-      margin-top: -30px;
-      margin-left: -120px;
-      width: 240px;
-      height: 40px;
-      font-size: 20px;
-      font-weight: bold;
-      text-align: center;
-      font-family: Arial, Helvetica, sans-serif;
-    }
+      This is a placeholder for base href that will be replaced by the value of
+      the `--base-href` argument provided to `flutter build`.
+    -->
+    <base href="$FLUTTER_BASE_HREF">
 
-    /* Safari */
-    @-webkit-keyframes spin {
-      0% { -webkit-transform: rotate(0deg); }
-      100% { -webkit-transform: rotate(360deg); }
-    }
+    <meta charset="UTF-8">
+    <meta content="IE=Edge" http-equiv="X-UA-Compatible">
+    <meta name="description" content="Aplikasi Telnow Web">
 
-    @keyframes spin {
-      0% { transform: rotate(0deg); }
-      100% { transform: rotate(360deg); }
-    }
+    <!-- iOS meta tags & icons -->
+    <meta name="mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <meta name="apple-mobile-web-app-title" content="TelNow Application">
+    <link rel="apple-touch-icon" href="icons/Icon-192.png">
+    <!-- Favicon -->
+    <link rel="icon" type="image/png" href="icons/launcher_icon.png" />
 
-    .countdown {
-        display: inline-block;
-        text-indent: -100vw;
-        position:relative;
-        width: 1ch;
-    }
+    <title>TelNow Application</title>
+    <link rel="manifest" href="manifest.json">
+    <style>
+        .loader {
+          border: 5px solid #f3f3f3;
+          border-radius: 50%;
+          border-top: 5px solid #01beb5;
+          width: 40px;
+          height: 40px;
+          -webkit-animation: spin 2s linear infinite;
+          /* Safari */
+          animation: spin 2s linear infinite;
+        }
 
-    .countdown::after {
-        content: '10';
-        position:absolute;
-        top:0;
-        left:0;
-        text-indent: 0;
-        animation: 18s countdown 1s forwards;
-    }
+        .center {
+          position: absolute;
+          top: 50%;
+          left: 50%;
+          margin-top: -60px;
+          margin-left: -120px;
+          width: 240px;
+          height: 40px;
+          text-align: center;
+          font-family: Arial, Helvetica, sans-serif;
+        }
 
-    @keyframes countdown {
-        0% { content: '10'; }
-        10% { content: '9'; }
-        20% { content: '8'; }
-        30% { content: '7'; }
-        35% { content: '7'; }
-        40% { content: '6'; }
-        45% { content: '6'; }
-        50% { content: '5'; }
-        55% { content: '5'; }
-        60% { content: '4'; }
-        65% { content: '4'; }
-        70% { content: '3'; }
-        75% { content: '2'; }
-        80% { content: '2'; }
-        85% { content: '2'; }
-        90% { content: '1'; }
-        95% { content: '1'; }
-        100% { content: '0'; }
-    }
-  </style>
+        .center-align {
+          position: absolute;
+          top: 50%;
+          left: 50%;
+          margin-top: 0px;
+          margin-left: -60px;
+          width: 40px;
+          height: 40px;
+        }
+
+        .center-count {
+          position: absolute;
+          top: 50%;
+          left: 50%;
+          margin-top: -30px;
+          margin-left: -120px;
+          width: 240px;
+          height: 40px;
+          font-size: 20px;
+          font-weight: bold;
+          text-align: center;
+          font-family: Arial, Helvetica, sans-serif;
+        }
+
+        /* Safari */
+        @-webkit-keyframes spin {
+          0% {
+            -webkit-transform: rotate(0deg);
+          }
+
+          100% {
+            -webkit-transform: rotate(360deg);
+          }
+        }
+
+        @keyframes spin {
+          0% {
+            transform: rotate(0deg);
+          }
+
+          100% {
+            transform: rotate(360deg);
+          }
+        }
+
+        .countdown {
+          display: inline-block;
+          text-indent: -100vw;
+          position: relative;
+          width: 1ch;
+        }
+
+        .countdown::after {
+          content: '10';
+          position: absolute;
+          top: 0;
+          left: 0;
+          text-indent: 0;
+          animation: 18s countdown 1s forwards;
+        }
+
+        @keyframes countdown {
+          0% {
+            content: '10';
+          }
+
+          10% {
+            content: '9';
+          }
+
+          20% {
+            content: '8';
+          }
+
+          30% {
+            content: '7';
+          }
+
+          35% {
+            content: '7';
+          }
+
+          40% {
+            content: '6';
+          }
+
+          45% {
+            content: '6';
+          }
+
+          50% {
+            content: '5';
+          }
+
+          55% {
+            content: '5';
+          }
+
+          60% {
+            content: '4';
+          }
+
+          65% {
+            content: '4';
+          }
+
+          70% {
+            content: '3';
+          }
+
+          75% {
+            content: '2';
+          }
+
+          80% {
+            content: '2';
+          }
+
+          85% {
+            content: '2';
+          }
+
+          90% {
+            content: '1';
+          }
+
+          95% {
+            content: '1';
+          }
+
+          100% {
+            content: '0';
+          }
+        }
+    </style>
 </head>
-<body>
-  <script src="flutter_bootstrap.js" async></script>
 
-  <div class="center">
+
+<body>
+<div class="center">
     <h4 id="label">Loading TelNow page</h4>
-  </div>
-  <div class="center-align">
+</div>
+<div class="center-align">
+    <!--<div class="loader"></div>-->
     <img src="cat.gif" width="120" height="120">
-  </div>
-  <div class="center-count">
+</div>
+<div class="center-count">
     <span class="countdown"></span>
-  </div>
-  <!-- This script installs service_worker.js to provide PWA functionality to
-       application. For more information, see:
-       https://developers.google.com/web/fundamentals/primers/service-workers -->
-  <script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-app.js"></script>
-  <script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-auth.js"></script>
-  <script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-messaging.js"></script>
-  <script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-firestore.js"></script>
-
-  <script>
-    var flutter_service_worker_version = null;
-    var scriptLoaded = false;
-    function loadMainDartJs() {
-      if (scriptLoaded) {
-        return;
-      }
-      scriptLoaded = true;
-      var scriptTag = document.createElement('script');
-      scriptTag.src = 'main.dart.js';
-      scriptTag.type = 'application/javascript';
-      document.body.append(scriptTag);
-    }
+</div>
+
+<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-app.js"></script>
+<!--  <script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-auth.js"></script>-->
+<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-messaging.js"></script>
+<!--  <script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-firestore.js"></script>-->
+<script>
+    {{flutter_js}}
+    {{flutter_build_config}}
+
+    var jsPathVersion = "2517.01";
+    _flutter.buildConfig.builds[0].mainJsPath += "?v=" + jsPathVersion;
+    var serviceWorkerVersion = jsPathVersion;
+
+    _flutter.loader.load({
+      onEntrypointLoaded: async function (engineInitializer) {
+        let appRunner = await engineInitializer.initializeEngine({
+          // JsFlutterConfiguration goes here...
+          // canvasKitBaseUrl: "/canvaskit/",
+        });
+        appRunner.runApp();
+      },
+    });
 
     if ('serviceWorker' in navigator) {
       // Service workers are supported. Use them.
@@ -167,14 +233,14 @@
         // Wait for registration to finish before dropping the <script> tag.
         // Otherwise, the browser will load the script multiple times,
         // potentially different versions.
-        var serviceWorkerUrl = 'flutter_service_worker.js?v=' + flutter_service_worker_version;
+        var serviceWorkerUrl = 'flutter_service_worker.js?v=' + serviceWorkerVersion;
         navigator.serviceWorker.register(serviceWorkerUrl)
           .then((reg) => {
             function waitForActivation(serviceWorker) {
               serviceWorker.addEventListener('statechange', () => {
                 if (serviceWorker.state == 'activated') {
                   console.log('Installed new service worker.');
-                  loadMainDartJs();
+                  // loadMainDartJs();
                 }
               });
             }
@@ -182,7 +248,7 @@
               // No active web worker and we have installed or are installing
               // one for the first time. Simply wait for it to activate.
               waitForActivation(reg.installing || reg.waiting);
-            } else if (!reg.active.scriptURL.endsWith(flutter_service_worker_version)) {
+            } else if (!reg.active.scriptURL.endsWith(serviceWorkerVersion)) {
               // When the app updates the serviceWorkerVersion changes, so we
               // need to ask the service worker to update.
               console.log('New service worker available.');
@@ -191,41 +257,27 @@
             } else {
               // Existing service worker is still good.
               console.log('Loading app from service worker.');
-              loadMainDartJs();
+              // loadMainDartJs();
             }
           });
 
-		navigator.serviceWorker.register("firebase-messaging-sw.js").then((reg) => {
-			if (!reg.active && (reg.installing || reg.waiting)) {
-              // No active web worker and we have installed or are installing
-              // one for the first time. Simply wait for it to activate.
-			  console.log('Firebase messaging has been installing.');
-            } else if (!reg.active.scriptURL.endsWith(flutter_service_worker_version)) {
-              // When the app updates the serviceWorkerVersion changes, so we
-              // need to ask the service worker to update.
-              console.log('Firebase messaging is available.');
-            } else {
-              // Existing service worker is still good.
-              console.log('Firebase messaging has been running.');
-            }
-		});
-
-        // If service worker doesn't succeed in a reasonable amount of time,
-        // fallback to plaint <script> tag.
-<!--        setTimeout(() => {-->
-<!--          if (!scriptLoaded) {-->
-<!--            console.warn(-->
-<!--              'Failed to load app from service worker. Falling back to plain <script> tag.',-->
-<!--            );-->
-<!--            loadMainDartJs();-->
-<!--          }-->
-<!--        }, 4000);-->
+        navigator.serviceWorker.register("firebase-messaging-sw.js").then((reg) => {
+          if (!reg.active && (reg.installing || reg.waiting)) {
+            // No active web worker and we have installed or are installing
+            // one for the first time. Simply wait for it to activate.
+            console.log('Firebase messaging has been installing.');
+          } else if (!reg.active.scriptURL.endsWith(serviceWorkerVersion)) {
+            // When the app updates the serviceWorkerVersion changes, so we
+            // need to ask the service worker to update.
+            console.log('Firebase messaging is available.');
+          } else {
+            // Existing service worker is still good.
+            console.log('Firebase messaging has been running.');
+          }
+        });
       });
-    } else {
-      // Service workers not supported. Just drop the <script> tag.
-      loadMainDartJs();
     }
 
-  </script>
+</script>
 </body>
 </html>

+ 231 - 0
web/indexX.html

@@ -0,0 +1,231 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <!--
+    If you are serving your web app in a path other than the root, change the
+    href value below to reflect the base path you are serving from.
+
+    The path provided below has to start and end with a slash "/" in order for
+    it to work correctly.
+
+    For more details:
+    * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
+
+    This is a placeholder for base href that will be replaced by the value of
+    the `--base-href` argument provided to `flutter build`.
+  -->
+  <base href="$FLUTTER_BASE_HREF">
+
+  <meta charset="UTF-8">
+  <meta content="IE=Edge" http-equiv="X-UA-Compatible">
+  <meta name="description" content="Datacom Solusindo">
+
+  <!-- iOS meta tags & icons -->
+  <meta name="mobile-web-app-capable" content="yes">
+  <meta name="apple-mobile-web-app-status-bar-style" content="black">
+  <meta name="apple-mobile-web-app-title" content="TelNow Application">
+  <link rel="apple-touch-icon" href="icons/Icon-192.png">
+
+  <!-- Favicon -->
+  <link rel="icon" type="image/png" href="favicon.ico"/>
+
+  <title>TelNow Application</title>
+  <link rel="manifest" href="manifest.json">
+  <style>
+    .loader {
+      border: 5px solid #f3f3f3;
+      border-radius: 50%;
+      border-top: 5px solid #01beb5;
+      width: 40px;
+      height: 40px;
+      -webkit-animation: spin 2s linear infinite; /* Safari */
+      animation: spin 2s linear infinite;
+    }
+
+    .center {
+      position: absolute;
+      top: 50%;
+      left: 50%;
+      margin-top: -60px;
+      margin-left: -120px;
+      width: 240px;
+      height: 40px;
+      text-align: center;
+      font-family: Arial, Helvetica, sans-serif;
+    }
+
+    .center-align {
+      position: absolute;
+      top: 50%;
+      left: 50%;
+      margin-top: 20px;
+      margin-left: -60px;
+      width: 40px;
+      height: 40px;
+    }
+
+    .center-count {
+      position: absolute;
+      top: 50%;
+      left: 50%;
+      margin-top: -30px;
+      margin-left: -120px;
+      width: 240px;
+      height: 40px;
+      font-size: 20px;
+      font-weight: bold;
+      text-align: center;
+      font-family: Arial, Helvetica, sans-serif;
+    }
+
+    /* Safari */
+    @-webkit-keyframes spin {
+      0% { -webkit-transform: rotate(0deg); }
+      100% { -webkit-transform: rotate(360deg); }
+    }
+
+    @keyframes spin {
+      0% { transform: rotate(0deg); }
+      100% { transform: rotate(360deg); }
+    }
+
+    .countdown {
+        display: inline-block;
+        text-indent: -100vw;
+        position:relative;
+        width: 1ch;
+    }
+
+    .countdown::after {
+        content: '10';
+        position:absolute;
+        top:0;
+        left:0;
+        text-indent: 0;
+        animation: 18s countdown 1s forwards;
+    }
+
+    @keyframes countdown {
+        0% { content: '10'; }
+        10% { content: '9'; }
+        20% { content: '8'; }
+        30% { content: '7'; }
+        35% { content: '7'; }
+        40% { content: '6'; }
+        45% { content: '6'; }
+        50% { content: '5'; }
+        55% { content: '5'; }
+        60% { content: '4'; }
+        65% { content: '4'; }
+        70% { content: '3'; }
+        75% { content: '2'; }
+        80% { content: '2'; }
+        85% { content: '2'; }
+        90% { content: '1'; }
+        95% { content: '1'; }
+        100% { content: '0'; }
+    }
+  </style>
+</head>
+<body>
+  <script src="flutter_bootstrap.js" async></script>
+
+  <div class="center">
+    <h4 id="label">Loading TelNow page</h4>
+  </div>
+  <div class="center-align">
+    <img src="cat.gif" width="120" height="120">
+  </div>
+  <div class="center-count">
+    <span class="countdown"></span>
+  </div>
+  <!-- This script installs service_worker.js to provide PWA functionality to
+       application. For more information, see:
+       https://developers.google.com/web/fundamentals/primers/service-workers -->
+  <script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-app.js"></script>
+  <script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-auth.js"></script>
+  <script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-messaging.js"></script>
+  <script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-firestore.js"></script>
+
+  <script>
+    var flutter_service_worker_version = null;
+    var scriptLoaded = false;
+    function loadMainDartJs() {
+      if (scriptLoaded) {
+        return;
+      }
+      scriptLoaded = true;
+      var scriptTag = document.createElement('script');
+      scriptTag.src = 'main.dart.js';
+      scriptTag.type = 'application/javascript';
+      document.body.append(scriptTag);
+    }
+
+    if ('serviceWorker' in navigator) {
+      // Service workers are supported. Use them.
+      window.addEventListener('load', function () {
+        // Wait for registration to finish before dropping the <script> tag.
+        // Otherwise, the browser will load the script multiple times,
+        // potentially different versions.
+        var serviceWorkerUrl = 'flutter_service_worker.js?v=' + flutter_service_worker_version;
+        navigator.serviceWorker.register(serviceWorkerUrl)
+          .then((reg) => {
+            function waitForActivation(serviceWorker) {
+              serviceWorker.addEventListener('statechange', () => {
+                if (serviceWorker.state == 'activated') {
+                  console.log('Installed new service worker.');
+                  loadMainDartJs();
+                }
+              });
+            }
+            if (!reg.active && (reg.installing || reg.waiting)) {
+              // No active web worker and we have installed or are installing
+              // one for the first time. Simply wait for it to activate.
+              waitForActivation(reg.installing || reg.waiting);
+            } else if (!reg.active.scriptURL.endsWith(flutter_service_worker_version)) {
+              // When the app updates the serviceWorkerVersion changes, so we
+              // need to ask the service worker to update.
+              console.log('New service worker available.');
+              reg.update();
+              waitForActivation(reg.installing);
+            } else {
+              // Existing service worker is still good.
+              console.log('Loading app from service worker.');
+              loadMainDartJs();
+            }
+          });
+
+		navigator.serviceWorker.register("firebase-messaging-sw.js").then((reg) => {
+			if (!reg.active && (reg.installing || reg.waiting)) {
+              // No active web worker and we have installed or are installing
+              // one for the first time. Simply wait for it to activate.
+			  console.log('Firebase messaging has been installing.');
+            } else if (!reg.active.scriptURL.endsWith(flutter_service_worker_version)) {
+              // When the app updates the serviceWorkerVersion changes, so we
+              // need to ask the service worker to update.
+              console.log('Firebase messaging is available.');
+            } else {
+              // Existing service worker is still good.
+              console.log('Firebase messaging has been running.');
+            }
+		});
+
+        // If service worker doesn't succeed in a reasonable amount of time,
+        // fallback to plaint <script> tag.
+<!--        setTimeout(() => {-->
+<!--          if (!scriptLoaded) {-->
+<!--            console.warn(-->
+<!--              'Failed to load app from service worker. Falling back to plain <script> tag.',-->
+<!--            );-->
+<!--            loadMainDartJs();-->
+<!--          }-->
+<!--        }, 4000);-->
+      });
+    } else {
+      // Service workers not supported. Just drop the <script> tag.
+      loadMainDartJs();
+    }
+
+  </script>
+</body>
+</html>