HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/dev/nowruzgan/id/public/javascripts/main.js
var instance = M.Tabs.init(document.querySelector('.tabs'), {swipeable: true});

const params = new Proxy(new URLSearchParams(window.location.search), {
  get: (searchParams, prop) => searchParams.get(prop),
});
var redirectionUri = params.redirect || '';
if(redirectionUri)
  document.querySelector('#google-login-trigger').href += `?redirect=${encodeURIComponent(redirectionUri)}`;
console.log(redirectionUri)

async function login() {
  document.querySelector('#local-login-trigger').classList.add('spinning');
  document.querySelector('#local-login-trigger').setAttribute('disabled', true);
  let email = document.querySelector('#login #email').value;
  let password = document.querySelector('#login #password').value;
  
  let response = await fetch('/r1/login/local', {
    method: 'POST',
    cache: 'no-cache',
    headers: {
      'content-type': 'application/json'
    },
    body: JSON.stringify({email, password})
  }).catch(error => loginError());

  if(response.status != 200)
    loginError();
  else {
    response = await response.json();
    if(!response.token)
      loginError();
    else
      loginResponse(response.token);
  }
}

function loginError() {
  document.querySelector('#local-login-trigger').classList.remove('spinning');
  document.querySelector('#local-login-trigger').removeAttribute('disabled');
  M.toast({html: 'آدرس ایمیل یا کلمه عبور اشتباه است.'});
}

function loginResponse(token) {
  document.querySelector('#local-login-trigger').classList.remove('spinning');

  if(!redirectionUri)
    return window.location = '/logged.html';

  if(/\/[^/]*\?/.exec(redirectionUri))
    window.location = redirectionUri + `&token=${token}`;
  else
    window.location = redirectionUri + `?token=${token}`;
}