Guest User

Untitled

a guest
Nov 4th, 2017
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.38 KB | None | 0 0
  1. <template>
  2. <div class="row">
  3. <div class="display-block">
  4. <div class="row">
  5. <div class="input-field col s12">
  6. <input id="email" type="email" v-model="email" class="validate email-input-field" placeholder="Email Address">
  7. <i class="material-icons prefix">email</i>
  8. </div>
  9. </div>
  10. <div class="row">
  11. <div class="input-field col s12">
  12. <input type="password" v-model="password" class="validate password-input-field password-sign-up" placeholder="Password">
  13. <i class="material-icons prefix">lock</i>
  14. </div>
  15. </div>
  16. <div class="row">
  17. <div class="col s12 padding-right-0">
  18. <button class="btn waves-effect waves-light btn-sign-up" v-on:click="signUp" @keyup.enter>Sign Up
  19. </button>
  20. </div>
  21. </div>
  22. <div class="row">
  23. <div class="col s12">
  24. <a href="#modal-forgot-passoword" class="modal-trigger">Forgot password ?</a>
  25. </div>
  26. </div>
  27. <p class="light special-text-sign-up">or continue with</p>
  28. <div class="social-container">
  29. <a href="#" class="facebook" v-on:click="facebookSignin"><i class="fa fa-facebook"></i>Facebook</a>
  30. <a href="#" class="googleplus color-googleplus" v-on:click="googleSignin"><i class="fa fa-google-plus"></i>Google</a>
  31. </div>
  32. </div>
  33. <!-- end display block -->
  34. </div>
  35. </template>
  36. <script>
  37. import firebase from 'firebase'
  38. import axios from 'axios'
  39.  
  40.  
  41. var googleProvider = new firebase.auth.GoogleAuthProvider();
  42. var facebookProvider = new firebase.auth.FacebookAuthProvider();
  43. export default {
  44. name: 'signUp',
  45. data: function() {
  46. return {
  47. email: '',
  48. password: '',
  49. credential: {}
  50. }
  51. },
  52. methods: {
  53. signUp: function(provider) {
  54. var self = this;
  55. firebase.auth().createUserWithEmailAndPassword(this.email, this.password).then(
  56. (user) => {
  57.  
  58. self.registerProfile()
  59. user.sendEmailVerification()
  60. Materialize.toast('Email verification sent to: ' + this.email, 5000)
  61. },
  62. (err) => {
  63. console.log("Error Code: " + err.code)
  64. if (err.code == 'auth/email-already-in-use') {
  65. var credential = firebase.auth.EmailAuthProvider.credential(self.email, self.password)
  66. self.credential = credential
  67. //check if google-link with facebook or if facebook link with google
  68. self.googleSignin().then(function() {
  69. firebase.auth().currentUser.link(self.credential).then(function(user) {
  70. console.log("Account Linking success: " + user)
  71. }, function(error) {
  72. console.log("Error on linking accounts" + error)
  73. })
  74. })
  75. } else {
  76. Materialize.toast('Uppss: ' + err.message, 5000)
  77. user.sendEmailVerification()
  78. }
  79.  
  80. }
  81. );
  82. },
  83. googleSignin: function() {
  84. var self = this
  85. firebase.auth().signInWithPopup(googleProvider).then(function(result) {
  86. var token = result.credential.accessToken;
  87. var user = result.user;
  88. }).catch(function(error) {
  89. var errorCode = error.code;
  90. var errorMessage = error.message;
  91. console.log(error.code)
  92. console.log(error.message)
  93. });
  94. },
  95. facebookSignin: function() {
  96. firebase.auth().signInWithPopup(facebookProvider).then(function(result) {
  97. var token = result.credential.accessToken;
  98. var user = result.user;
  99. }).catch(function(error) {
  100. var errorCode = error.code;
  101. var errorMessage = error.message;
  102. console.log("error code:" + error.code)
  103. console.log("error msg:" + error.message)
  104. });
  105. },
  106. },
  107.  
  108. }
  109. </script>
Add Comment
Please, Sign In to add comment