login-page.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. const app = require('../app')
  2. app.component('appLoginPage', {
  3. template: html`
  4. <app-home-area>
  5. <form name="form" ng-submit="login.submit(form)" class="md-inline-form" layout-align="center" layout="column" novalidate>
  6. <md-input-container>
  7. <label>Email</label>
  8. <input type="email" required md-no-asterisk="true" ng-model="login.model.email" />
  9. </md-input-container>
  10. <md-input-container>
  11. <label>Password</label>
  12. <input type="password" required md-no-asterisk="true" ng-model="login.model.password" />
  13. </md-input-container>
  14. <md-button type="submit" class="md-raised md-primary">Login</md-button>
  15. <md-button class="" href="/forgot-password">Forgot password</md-button>
  16. </form>
  17. </app-home-area>
  18. `,
  19. controllerAs: 'login',
  20. controller: function(api, $mdToast, $location) {
  21. api.get('/api/auth/check').then(() => {
  22. $location.url('/dashboard')
  23. }, err => {
  24. console.info('Not logged in: ', err)
  25. })
  26. this.submit = async form => {
  27. try {
  28. const res = await api.login(this.model)
  29. $location.url('/dashboard')
  30. } catch (err) {
  31. $mdToast.showSimple(`Login failed`)
  32. }
  33. }
  34. }
  35. })