1<!DOCTYPE html> 2<html lang="ar" direction="rtl" dir="rtl"> 3<head> 4 <base href=""> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1"> 7 <title>تسجÙ٠دخÙÙ - Ù ÙØµØ© Ø£ÙØ³Ùر ÙØ¥Ø¯Ø§Ø±Ø© Ø§ÙØ¹Ùارات ÙØªØªØ¨Ø¹ ٠راØÙ Ø§ÙØ¥Ùشاء</title> 8 <meta name="description" content="ÙØ§ تشÙÙ ÙÙ Ø§ÙØ´ØºÙ! Ø®ÙÙÙÙ Ù ÙØµØ© Ø£ÙØ³Ùر ÙØ³Ø§Ø¹Ø¯Ù Ù٠إدارة Ø¹ÙØ§Ø±Ø§ØªÙØ Ù٠ساعدة Ø¹Ù ÙØ§Ø¦Ù عÙ٠تتبع ٠راØÙ Ø§ÙØªÙ ا٠اÙÙ Ø´Ø±ÙØ¹"> 9 <link rel="shortcut icon" href="https://platform.aysar.sa/file/_image17806205791091214852.png"> 10 <link rel="preconnect" href="https://fonts.googleapis.com"> 11 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 12 <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@300;400;500;600;700&display=swap" rel="stylesheet"> 13 <link href="https://platform.aysar.sa/companyAssets/css/company-auth.css?v=1.0.3" rel="stylesheet"> 14 </head> 15<body class="ays-auth-body"> 16<div class="auth-wrap"> 17 <div class="auth-panel"> 18 <img class="auth-panel__bg" src="https://platform.aysar.sa/companyAssets/images/aysar-building.png" alt="" aria-hidden="true"> 19 <div class="auth-panel__overlay" aria-hidden="true"></div> 20 21 <div class="panel-content"> 22 <div class="panel-headline"> 23 Ø§ÙØªÙÙÙØ© Ø§ÙØ¹ÙØ§Ø±ÙØ© 24 ب٠ÙÙÙÙ <span>Ø£ÙØ³Ùر</span> 25 </div> 26 <div class="panel-sub"> 27 Ù ÙØµØ© Ù ØªÙØ§Ù ÙØ© ÙØ¥Ø¯Ø§Ø±Ø© Ø§ÙØ¹Ùارات ÙØ§ÙÙ ÙØ§Ù ÙØ·Ùبات Ø§ÙØµÙØ§ÙØ© Ù Ù Ù ÙØ§Ù ÙØ§ØØ¯. 28 </div> 29 <div class="panel-stats"> 30 <div class="pstat"> 31 <div class="pstat-val">+<span>100</span></div> 32 <div class="pstat-lbl">Ø¹ÙØ§Ø± Ù ÙØ¯Ø§Ø±</div> 33 </div> 34 <div class="pstat"> 35 <div class="pstat-val"><span>98</span>%</div> 36 <div class="pstat-lbl">رضا Ø§ÙØ¹Ù ÙØ§Ø¡</div> 37 </div> 38 <div class="pstat"> 39 <div class="pstat-val">+<span>20</span></div> 40 <div class="pstat-lbl">Ø´Ø±ÙØ© Ù ÙØ«ÙÙØ©</div> 41 </div> 42 </div> 43 </div> 44 45 <div class="panel-footer"> 46 © 2026 Ø£ÙØ³Ùر. Ø¬Ù ÙØ¹ Ø§ÙØÙÙÙ Ù ØÙÙØ¸Ø©. 47 </div> 48</div> 49 50 <div class="auth-form-wrap"> 51 <div class="auth-box auth-page-enter"> 52 <div class="form-logo"> 53 <img alt="Ø£ÙØ³Ùر" src="https://platform.aysar.sa/file/_image17806136201908787405.png"> 54</div> 55 <div class="auth-title">Ø£ÙÙØ§Ù ب٠ð</div> 56 <div class="auth-sub">سجÙ٠دخÙÙÙ ÙÙÙØµÙ٠إÙÙ ÙÙØØ© Ø§ÙØªØÙÙ </div> 57 58 <div id="authFormAlert" class="auth-alert alert-error" role="alert" hidden > 59 <svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.6"><circle cx="10" cy="10" r="8"/><path d="M10 6v5M10 14h.01"/></svg> 60 <span id="authFormAlertText"></span> 61</div> 62 63 <form class="ays-auth-form" method="POST" action="https://platform.aysar.sa/ar/company/dashboard/post/login"> 64 <input type="hidden" name="_token" value="ay8mE7wc2uDUzIW7NA8lZAip0XsZ3jfKW5EzZYH0" autocomplete="off"> 65 <div class="f-group"> 66 <label class="f-label" for="loginEmail">Ø§ÙØ¨Ø±Ùد Ø§ÙØ¥ÙÙØªØ±ÙÙÙ</label> 67 <div class="f-input-wrap"> 68 <input type="email" name="email" id="loginEmail" class="f-input has-icon has-icon-r " 69 value="" placeholder="[email protected]" autocomplete="email" required> 70 <span class="f-icon-r"> 71 <svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.6"><rect x="2" y="4" width="16" height="12" rx="2"/><path d="M2 7l8 5 8-5"/></svg> 72 </span> 73 </div> 74 </div> 75 76 <div class="f-group"> 77 <label class="f-label" for="loginPassword">ÙÙÙ Ø© اÙÙ Ø±ÙØ±</label> 78 <div class="f-input-wrap"> 79 <input type="password" name="password" id="loginPassword" class="f-input has-icon has-icon-r " 80 placeholder="â¢â¢â¢â¢â¢â¢â¢â¢" autocomplete="current-password" required> 81 <button type="button" class="f-eye" onclick="aysAuthTogglePw('loginPassword', this)" aria-label="Ø¥Ø¸ÙØ§Ø±/Ø¥Ø®ÙØ§Ø¡ ÙÙÙ Ø© اÙÙ Ø±ÙØ±"> 82 <svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M1 10s3.5-6 9-6 9 6 9 6-3.5 6-9 6-9-6-9-6z"/><circle cx="10" cy="10" r="2.5"/></svg> 83 </button> 84 </div> 85 </div> 86 87 <div class="forgot-row"> 88 <label class="f-check" style="margin-bottom:0"> 89 <input type="checkbox" name="remember" id="remember" value="1" >
90 <span class="f-check-lbl">تذÙÙØ±ÙÙ</span> 91 </label> 92 <a class="forgot-link" href="https://platform.aysar.sa/ar/company/dashboard/reset-password">ÙÙ ÙØ³Ùت ÙÙÙ Ø© اÙÙ Ø±ÙØ±Ø</a> 93 </div> 94 95 <button type="submit" class="btn-auth" id="loginButton"> 96 <svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 10h14M10 4l6 6-6 6"/></svg> 97 <span class="indicator-label">تسجÙÙ Ø§ÙØ¯Ø®ÙÙ</span> 98 <span class="indicator-progress" style="display:none;">Ø§ÙØ±Ø¬Ø§Ø¡ Ø§ÙØ¥Ùتظار...</span> 99 </button> 100 </form> 101 102 <div class="auth-switch"> 103 ÙÙØ³ ÙØ¯ÙÙ ØØ³Ø§Ø¨Ø 104 <a href="https://platform.aysar.sa/ar/company/dashboard/register">Ø¥ÙØ´Ø§Ø¡ ØØ³Ø§Ø¨ Ø¬Ø¯ÙØ¯</a> 105 </div> 106 <div class="auth-meta"> 107 <span>Ø§ÙØ¥ØµØ¯Ø§Ø± 2.6</span> 108 <div class="auth-lang"> 109 <button type="button" class="auth-lang__btn" id="authLangToggle" aria-expanded="false"> 110 <img src="https://platform.aysar.sa/companyAssets/media/flags/saudi-arabia.svg" alt=""> 111 <span>عربÙ</span> 112 </button> 113 <div class="auth-lang__menu" id="authLangMenu"> 114 <a href="https://platform.aysar.sa/ar/company/dashboard/login"> 115 <img src="https://platform.aysar.sa/companyAssets/media/flags/saudi-arabia.svg" alt=""> 116 <span>عربÙ</span> 117 </a> 118 <a href="https://platform.aysar.sa/en/company/dashboard/login"> 119 <img src="https://platform.aysar.sa/companyAssets/media/flags/united-states.svg" alt=""> 120 <span>Ø§ÙØ¥ÙجÙÙØ²ÙØ©</span> 121 </a> 122 </div> 123 </div> 124</div> 125 </div> 126 </div> 127</div> 128
129<script>var hostUrl = "https://platform.aysar.sa";</script>
vendor: 1 bytes, line 129
129
130<script src="https://platform.aysar.sa/companyAssets/plugins/global/plugins.bundle.js"></script>
vendor: 1 bytes, line 130
130
131<script src="https://platform.aysar.sa/companyAssets/js/scripts.bundle.js"></script>
vendor: 1 bytes, line 131
131
132<script> 133 134 </script>
134 135
136<script> 137 (function () { 138 var btn = document.getElementById('authLangToggle'); 139 var menu = document.getElementById('authLangMenu'); 140 if (!btn || !menu) return; 141 btn.addEventListener('click', function (e) { 142 e.stopPropagation(); 143 var open = menu.classList.toggle('is-open'); 144 btn.setAttribute('aria-expanded', open ? 'true' : 'false'); 145 }); 146 document.addEventListener('click', function () { 147 menu.classList.remove('is-open'); 148 btn.setAttribute('aria-expanded', 'false'); 149 }); 150 })(); 151 152 window.aysAuthTogglePw = function (inputId, btn) { 153 var inp = document.getElementById(inputId); 154 if (!inp) return; 155 var shown = inp.type === 'text'; 156 inp.type = shown ? 'password' : 'text'; 157 btn.innerHTML = shown 158 ? '<svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M1 10s3.5-6 9-6 9 6 9 6-3.5 6-9 6-9-6-9-6z"/><circle cx="10" cy="10" r="2.5"/></svg>' 159 : '<svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M17.94 10A9.58 9.58 0 0 1 10 16c-4.97 0-9-4.48-9-6 0-.67.5-1.87 1.48-3.07M6.11 6.11A5 5 0 0 1 15.9 15.9M3 3l14 14"/></svg>'; 160 }; 161 162 window.aysAuthOtpNext = function (input) { 163 input.value = input.value.replace(/\D/g, '').slice(0, 1); 164 input.classList.toggle('filled', !!input.value); 165 if (input.value) { 166 var next = input.nextElementSibling; 167 if (next && next.classList.contains('otp-input')) { 168 next.focus(); 169 } 170 } 171 }; 172 173 window.aysAuthOtpPrev = function (input, e) { 174 if (e.key === 'Backspace' && !input.value) { 175 var prev = input.previousElementSibling; 176 if (prev && prev.classList.contains('otp-input')) { 177 prev.focus(); 178 } 179 } 180 }; 181 182 window.aysAuthCollectOtp = function (wrap) { 183 var values = []; 184 wrap.querySelectorAll('.otp-input').forEach(function (el) { 185 values.push(el.value || ''); 186 }); 187 return values.join(''); 188 }; 189 190 window.aysAuthShowAlert = function (msg) { 191 var alertEl = document.getElementById('authFormAlert'); 192 var alertText = document.getElementById('authFormAlertText'); 193 if (!alertEl || !alertText) { 194 return; 195 } 196 alertText.textContent = msg; 197 alertEl.hidden = false; 198 alertEl.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); 199 }; 200 201 window.aysAuthHideAlert = function () { 202 var alertEl = document.getElementById('authFormAlert'); 203 if (alertEl) { 204 alertEl.hidden = true; 205 } 206 }; 207 208 window.aysAuthExtractErrorMessage = function (body, fallback) { 209 if (!body || typeof body !== 'object') { 210 return fallback; 211 } 212 if (body.message) { 213 var raw = String(body.message); 214 if (/smtp|authenticate|mailer|transport/i.test(raw)) { 215 return "ØªØ¹Ø°ÙØ± Ø¥Ø±Ø³Ø§Ù Ø§ÙØ¨Ø±Ùد. ÙØ±Ø¬Ù اÙÙ ØØ§ÙÙØ© ÙØ§ØÙØ§Ù Ø£Ù Ø§ÙØªÙاص٠٠ع Ø§ÙØ¯Ø¹Ù ."; 216 } 217 return raw; 218 } 219 if (body.errors && typeof body.errors === 'object') { 220 var firstKey = Object.keys(body.errors)[0]; 221 if (firstKey && body.errors[firstKey] && body.errors[firstKey][0]) { 222 return body.errors[firstKey][0]; 223 } 224 } 225 if (body.errors_object && typeof body.errors_object === 'object') { 226 var errKey = Object.keys(body.errors_object)[0]; 227 if (errKey && body.errors_object[errKey] && body.errors_object[errKey][0]) { 228 return body.errors_object[errKey][0]; 229 } 230 } 231 return fallback; 232 }; 233 234 window.aysAuthParseJsonResponse = function (response) { 235 return response.text().then(function (text) { 236 var body = null; 237 if (text) { 238 try { 239 body = JSON.parse(text); 240 } catch (e) { 241 body = { message: text }; 242 } 243 } 244 return { 245 ok: response.ok, 246 status: response.status, 247 body: body, 248 }; 249 }); 250 }; 251 252 document.addEventListener('DOMContentLoaded', function () { 253 var alertEl = document.getElementById('authFormAlert'); 254 var alertText = document.getElementById('authFormAlertText'); 255 if (alertEl && !alertEl.hidden && alertText && alertText.textContent.trim()) { 256 alertEl.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); 257 } 258 }); 259 260 window.aysAuthCheckStrength = function (inp) { 261 var wrap = document.getElementById('strength-wrap'); 262 if (!wrap) return; 263 var v = inp.value; 264 wrap.style.display = v.length ? 'block' : 'none'; 265 var score = 0; 266 if (v.length >= 8) score++; 267 if (/[A-Z]/.test(v)) score++; 268 if (/[0-9]/.test(v)) score++; 269 if (/[^A-Za-z0-9]/.test(v)) score++; 270 ['sb1', 'sb2', 'sb3', 'sb4'].forEach(function (id, i) { 271 var bar = document.getElementById(id); 272 if (!bar) return; 273 bar.className = 'sbar'; 274 if (score > i) { 275 bar.classList.add(score <= 1 ? 'weak' : score <= 2 ? 'fair' : 'good'); 276 } 277 }); 278 var lbl = document.getElementById('strength-lbl'); 279 if (lbl) { 280 lbl.textContent = score <= 1 281 ? 'ضعÙÙØ©' 282 : score <= 2 283 ? 'Ù ØªÙØ³Ø·Ø©' 284 : 'ÙÙÙØ©'; 285 } 286 ['hint-len', 'hint-upper', 'hint-num'].forEach(function (id) { 287 var el = document.getElementById(id); 288 if (!el) return; 289 var ok = false;
290 if (id === 'hint-len') ok = v.length >= 8; 291 if (id === 'hint-upper') ok = /[A-Z]/.test(v); 292 if (id === 'hint-num') ok = /[0-9]/.test(v); 293 el.classList.toggle('ok', ok); 294 }); 295 }; 296</script>
vendor: 1 bytes, line 296
296
297<script> 298 document.addEventListener('DOMContentLoaded', function () { 299 var form = document.querySelector('.ays-auth-form'); 300 var button = document.getElementById('loginButton'); 301 if (!form || !button) return; 302 var label = button.querySelector('.indicator-label'); 303 var progress = button.querySelector('.indicator-progress'); 304 form.addEventListener('submit', function () { 305 if (label) label.style.display = 'none'; 306 if (progress) progress.style.display = 'inline'; 307 button.disabled = true; 308 }); 309 }); 310</script>
310 311</body> 312</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.