Advertisement
Guest User

Untitled

a guest
Jan 2nd, 2019
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. <template>
  2. <div>
  3. <form class="jumbotron" @submit.prevent="login">
  4. <h2>Login</h2>
  5.  
  6. <div class="alert" :class="typeofmsg" v-if="showMessage">
  7. <button type="button" class="close-btn" v-on:click="showMessage=false">&times;</button>
  8. <strong>{{ message }}</strong>
  9. </div>
  10.  
  11. <div v-if="!loginByUsername" class="form-group">
  12. <label for="inputEmail">Email</label>
  13. <input
  14. type="email"
  15. class="form-control"
  16. v-model.trim="email"
  17. name="email"
  18. id="inputEmail"
  19. placeholder="Email address"
  20. >
  21. </div>
  22.  
  23. <div v-if="loginByUsername" class="form-group">
  24. <label for="inputUsername">Username</label>
  25. <input
  26. type="username"
  27. class="form-control"
  28. v-model.trim="username"
  29. name="username"
  30. id="inputUsername"
  31. placeholder="Username"
  32. >
  33. </div>
  34.  
  35. <div class="form-group">
  36. <label for="inputPassword">Password</label>
  37. <input
  38. type="password"
  39. class="form-control"
  40. v-model="password"
  41. name="password"
  42. id="inputPassword"
  43. >
  44. </div>
  45.  
  46. <div class="form-group">
  47. <button class="btn btn-primary" type="submit">Login</button>
  48. </div>
  49.  
  50. <div class="form-group">
  51. <a href="#" v-if="!loginByUsername" @click="changeLoginType">Login By Username</a>
  52. </div>
  53.  
  54. <div class="form-group">
  55. <a href="#" v-if="loginByUsername" @click="changeLoginType">Login By Email</a>
  56. </div>
  57. </form>
  58. </div>
  59. </template>
  60.  
  61. <script type="text/javascript">
  62. export default {
  63. data: function() {
  64. return {
  65. email: "",
  66. username: "",
  67. password: "",
  68. loginByUsername: false,
  69. typeofmsg: 'alert-success',
  70. showMessage: false,
  71. message: ''
  72. };
  73. },
  74. methods: {
  75. login() {
  76. this.$store
  77. .dispatch("retrieveToken", {
  78. username: this.username,
  79. email: this.email,
  80. password: this.password
  81. })
  82. .then(response => {
  83. this.$store.dispatch("setUser");
  84. this.$router.push("/");
  85. })
  86. .catch(err => {
  87. this.typeofmsg = 'alert-danger';
  88. this.message = 'Invalid Credentials';
  89. this.showMessage = true;
  90. });
  91. },
  92. changeLoginType() {
  93. this.loginByUsername = !this.loginByUsername;
  94. }
  95. }
  96. };
  97. </s
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement