﻿import { Component } from '@angular/core';
import { Router, ActivatedRoute, Params } from '@angular/router';
import { TfabricaUserData } from '../models/tfabrica.userdata.model';
import { TfabricaLoginService } from '../login/tfabrica.login.service';
import { TfabricaSharedService } from '../main/tfabrica.shared.service';

@Component({
    selector: 't-login',
    template: require('./tfabrica.login.component.html'),
    providers: [TfabricaLoginService]
})
export class TfabricaLoginComponent {

    userData: TfabricaUserData;
    loading: boolean;

    constructor(
        private route: ActivatedRoute,
        private router: Router,
        public tfabricaLoginService: TfabricaLoginService,
        public tfabricaSharedService: TfabricaSharedService
    ) {
    }

    startLogin(username: HTMLInputElement, password: HTMLInputElement): boolean {
        console.log("Start Login");
        console.log("Username: " + username.value);
        this.loading = true;

        localStorage.setItem('username', username.value);

        this.tfabricaLoginService.login(username.value, password.value)
            .subscribe(
            userData => {
                this.userData = userData;

                console.log(this.userData);

                this.loading = false;
                this.tfabricaSharedService.userLogged(this.userData);
                //this.router.navigate(['main']);
                this.router.navigate(['/main', { outlets: { 'main': ['home'] } }]);
            },
            err => {
                // Log errors if any
                console.log(err);
                this.loading = false;
            });


        return false;
    }


}