Login.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <template>
  2. <div class='modal is-active'>
  3. <div class='modal-background'></div>
  4. <div class='modal-card'>
  5. <header class='modal-card-head'>
  6. <p class='modal-card-title'>Login</p>
  7. <button class='delete' @click='toggleModal()'></button>
  8. </header>
  9. <section class='modal-card-body'>
  10. <!-- validation to check if exists http://bulma.io/documentation/elements/form/ -->
  11. <label class='label'>Email</label>
  12. <p class='control'>
  13. <input class='input' type='text' placeholder='Email...' v-model='$parent.login.email'>
  14. </p>
  15. <label class='label'>Password</label>
  16. <p class='control'>
  17. <input class='input' type='password' placeholder='Password...' v-model='$parent.login.password' v-on:keypress='$parent.submitOnEnter(submitModal, $event)'>
  18. </p>
  19. <p>By logging in/registering you agree to our <a href="/terms" v-link="{ path: '/terms' }">Terms of Service</a> and <a href="/privacy" v-link="{ path: '/privacy' }">Privacy Policy</a>.</p>
  20. </section>
  21. <footer class='modal-card-foot'>
  22. <a class='button is-primary' href='#' @click='submitModal("login")'>Submit</a>
  23. <a class='button is-github' :href='$parent.serverDomain + "/auth/github/authorize"'>
  24. <div class='icon'>
  25. <img class='invert' src='/assets/social/github.svg'/>
  26. </div>
  27. &nbsp;&nbsp;Login with GitHub
  28. </a>
  29. <a href='#' @click='resetPassword()'>Forgot password?</a>
  30. </footer>
  31. </div>
  32. </div>
  33. </template>
  34. <script>
  35. export default {
  36. methods: {
  37. toggleModal: function () {
  38. if (this.$router._currentRoute.path === '/login') {
  39. location.href = '/';
  40. } else {
  41. this.$dispatch('toggleModal', 'login');
  42. }
  43. },
  44. submitModal: function () {
  45. this.$dispatch('login');
  46. this.toggleModal();
  47. },
  48. resetPassword: function () {
  49. this.toggleModal();
  50. this.$router.go('/reset_password');
  51. }
  52. },
  53. events: {
  54. closeModal: function() {
  55. this.$dispatch('toggleModal', 'login');
  56. }
  57. }
  58. }
  59. </script>
  60. <style type='scss' scoped>
  61. .button.is-github {
  62. background-color: #333;
  63. color: #fff !important;
  64. }
  65. .is-github:focus { background-color: #1a1a1a; }
  66. .is-primary:focus { background-color: #029ce3 !important; }
  67. .invert { filter: brightness(5); }
  68. </style>