1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <meta charset="utf-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 7 <meta name="viewport" content="width=device-width,initial-scale=1.0"> 8 <meta name="csrf-token" content="J25SbNf3Ojg98rXnAG55hq4F2IqQkr4mj92EXWUP"> 9 <meta name="app-platform" content=""> 10 <meta name="theme-color" content="#f9278e"> 11 <meta name="apple-mobile-web-app-capable" content="yes"> 12 <meta name="apple-mobile-web-app-status-bar-style" content="default"> 13 <link rel="apple-touch-icon" sizes="180x180" href="https://app.easyparcel.com/icons/icon-192.png"> 14 <link rel="manifest" href="https://app.easyparcel.com/build/manifest.webmanifest" crossorigin="use-credentials"> 15 <meta property="og:url" content="https://easyparcel.com/"> 16 <meta property="og:title" content="Compare 60+ Couriers & Send At The Best Rate"> 17 <meta property="og:description" 18 content="Book for Pos Laju, J&T, Pgeon, FedEx, TNT and many other couriers in EasyParcel. Book in 5 minutes and enjoy free pick up from your doorstep."> 19 <meta property="og:image" 20 content="https://easyparcel.s3.amazonaws.com/Public/source/general/img/general/2022-01/easyparcel-my-og-2.png"> 21 <!-- <link rel="icon" href="<%= BASE_URL %>favicon.ico"> --> 22 <link rel="shortcut icon" href="https://app.easyparcel.com/favicon.ico"> 23 <link rel="icon" href="./favicon.ico"> 24 25 <title>EasyParcel | Delivery Made Easy</title> 26 <!-- Styles --> 27 <!-- Close this as npm run dev do not generate this file anymore and .scss public/css --> 28 29 <!-- Favicon --> 30 <link rel="shortcut icon" href="https://app.easyparcel.com/images/logo/favicon.ico"> 31 <link href="https://fonts.googleapis.com/css?family=Lato:300,400,700,900" rel="stylesheet" type="text/css" /> 32 <link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap" 33 rel="stylesheet" /> 34 35 <link href='https://api.mapbox.com/mapbox-gl-js/v2.9.1/mapbox-gl.css' rel='stylesheet' /> 36 <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css"> 37 38</head> 39 40<body> 41 <style> 42 #router-loading-overlay { 43 position: fixed; inset: 0; z-index: 9999; 44 display: flex; align-items: center; justify-content: center; 45 background: #fff; 46 opacity: 1; 47 } 48 #router-loading-overlay.rlo-hiding { 49 animation: rloFadeOut 0.3s ease forwards; 50 /* Never intercept clicks while hiding: the SPA removes this on 51 animationend, which does not fire in a background tab or under 52 prefers-reduced-motion. */ 53 pointer-events: none; 54 } 55 .rlo-content { 56 display: flex; flex-direction: column; align-items: center; gap: 32px; 57 } 58 .rlo-logo-wrap { 59 } 60 .rlo-logo { display: block; } 61 .rlo-bar-track { 62 width: 200px; height: 3px; 63 background: #fce7f3; border-radius: 3px; overflow: hidden; 64 } 65 .rlo-bar-fill { 66 height: 100%; width: 40%; border-radius: 3px; 67 background: linear-gradient(90deg, #f952a4, #f9278e, #d80e80); 68 background-size: 200% 100%; 69 animation: rloSlide 1.5s ease-in-out infinite, rloGradient 3s linear infinite; 70 } 71 @keyframes rloFadeOut { from { opacity: 1 } to { opacity: 0 } } 72 @keyframes rloPulse { 73 0%, 100% { opacity: 0.6; transform: scale(1) } 74 50% { opacity: 1; transform: scale(1.03) } 75 } 76 @keyframes rloSlide { 77 0% { transform: translateX(-150%) } 78 100% { transform: translateX(400%) } 79 } 80 @keyframes rloGradient { 81 0% { background-position: 0% 50% } 82 50% { background-position: 100% 50% } 83 100% { background-position: 0% 50% } 84 } 85 </style> 86 <div id="router-loading-overlay"> 87 <div class="rlo-content"> 88 <div class="rlo-logo-wrap"> 89 <img class="rlo-logo" src="/images/eppy-loading.webp" alt="" width="160" height="160" decoding="async"> 90 </div> 91 <div class="rlo-bar-track"> 92 <div class="rlo-bar-fill"></div> 93 </div> 94 </div> 95 </div> 96 <noscript> 97 <strong>We're sorry but EasyParcel dashboard doesn't work properly without JavaScript enabled. Please enable it to 98 continue.</strong> 99 </noscript>
100 <div id="app"> 101 </div> 102 <template id="confirmation-template"> 103 <swal-icon></swal-icon> 104 <swal-title></swal-title> 105 <swal-button type="confirm"></swal-button> 106 <swal-button type="cancel"></swal-button> 107 </template> 108 109
109<script src='https://api.mapbox.com/mapbox-gl-js/v2.9.1/mapbox-gl.js'></script>
109 110 111
111<script type="module"> 112 import Toastify from 'https://cdn.jsdelivr.net/npm/toastify-js@latest/src/toastify-es.min.js'; 113 // Import the functions you need from the SDKs you need 114 import { initializeApp } from "https://www.gstatic.com/firebasejs/11.4.0/firebase-app.js"; 115 import { getFirestore, onSnapshot, doc, getDoc } from "https://www.gstatic.com/firebasejs/11.4.0/firebase-firestore.js"; 116 // TODO: Add SDKs for Firebase products that you want to use 117 // https://firebase.google.com/docs/web/setup#available-libraries 118 119 // Your web app's Firebase configuration 120 // For Firebase JS SDK v7.20.0 and later, measurementId is optional 121 const firebaseConfig = { 122 apiKey: "AIzaSyBNylkUBC4_1JxOIka2pSyVdCpSGw3Dyb4", 123 authDomain: "easyparcel-326603.firebaseapp.com", 124 projectId: "easyparcel-326603", 125 storageBucket: "easyparcel-326603.firebasestorage.app", 126 messagingSenderId: "302405251625", 127 appId: "1:302405251625:web:4eeb0608ca6b82ad4ca238", 128 measurementId: "G-8D70RQSJWJ" 129 }; 130 131 // Initialize Firebase 132 const app = initializeApp(firebaseConfig); 133 const db = getFirestore(app); 134 135 // Reference to a document 136 const docRef = doc(db, 'portal-laravel', window.location.host); 137 138 // Listen for real-time updates 139 onSnapshot(docRef, async (docSnapshot) => { 140 let temp = docSnapshot.data(); 141 let portal_version = localStorage.getItem('portal_version'); 142 if (portal_version) { 143 // fetch all js to refresh cache 144 if (portal_version !== temp?.v) { 145 // Toastify({ 146 // text: "New version of website has been release!", 147 // duration: 5000, 148 // gravity: "top", 149 // position: "right", 150 // close: true, 151 // style: { 152 // background: "linear-gradient(to right, #00b09b, #96c93d)", 153 // }, 154 // destination: window.location.href, 155 // }).showToast(); 156 console.log('New version found'); 157 } 158 } 159 if (temp?.v) localStorage.setItem('portal_version', temp?.v); 160 }); 161 162 if (false) { 163 clearTimeout(window.versionChecker); 164 window.versionChecker = setInterval(() => { 165 fetch('/buildMode.json') 166 .then(response => response.json()) 167 .then(latestVersion => { 168 console.log(latestVersion) 169 // if (latestVersion !== currentVersion) { 170 // console.log('New version detected! Reloading...'); 171 // } 172 }) 173 .catch(error => console.error('Error checking version:', error)); 174 }, 5000); 175 } 176 177 </script>
177 178 179
179<script type='module' src='/build/1790905447354/app-vue3.js'></script>
179<link href='/build/1790905447354/assets/app-vue3.css' rel='stylesheet' /> 180</body> 181 182</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.