login.html 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <main class="container mt-5" v-scope>
  2. <form action="/action/login.php" method="post" @submit.prevent="login" class="row g-3">
  3. <div class="row">
  4. <div class="col-12">
  5. <h1 class="mb-4">Iniciar Sesión</h1>
  6. <hr class="mb-4">
  7. <div class="d-grid gap-2">
  8. <button type="submit" class="btn btn-primary">Iniciar Sesión</button>
  9. </div>
  10. </div>
  11. </div>
  12. </form>
  13. </main>
  14. <script>
  15. PetiteVue.createApp({
  16. store,
  17. async login() {
  18. const response = await fetch('/action/login.php');
  19. try {
  20. const data = await response.json();
  21. sessionStorage.setItem('token', data.token);
  22. } catch (error) {
  23. store.error = {
  24. title: 'Error al iniciar sesión',
  25. message: 'No se pudo iniciar sesión, intente de nuevo más tarde'
  26. }
  27. }
  28. finally {
  29. // reload
  30. location.reload();
  31. }
  32. }
  33. }).mount()
  34. </script>