login-page.js 1.1 KB

1234567891011121314151617181920212223242526272829303132
  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. this.submit = async form => {
  22. try {
  23. const res = await api.login(this.model)
  24. api.setToken(res.token)
  25. $location.url('/dashboard')
  26. } catch (err) {
  27. $mdToast.showSimple(`Login failed`)
  28. }
  29. }
  30. }
  31. })