import { Component, OnInit }        from "@angular/core";
import { Router }                   from '@angular/router';
import { Location }                 from '@angular/common';

import { DesignerService }          from '../../../services/svc.designer';

import { PageService }              from '../../../services/svc.page';
import { PageType }                 from '../../../types/page';
import { SeoService }               from '../../../services/svc.seo';
import { HelperService }            from '../../../services/svc.helper'

@Component({
    moduleId: module.id+ '',
    selector: 'designer-view',
    templateUrl: './tpl.designer-page.pug',
    styleUrls: ['./sty.designer-page.scss'],
    providers: [DesignerService]
})

export class DesignerPageView {
   
    constructor(
        private _designerService: DesignerService,
        private _location: Location,
        private _page: PageService,
        private _helper: HelperService,
        private _seo : SeoService
    ) {}

    server: string = this._helper.server

    designers: any;
    pageContent: PageType;

    ngOnInit(): void {
        this._location.go('/designers'); // TODO: remove hack
        this._designerService.httpGetDesigners('').then((response) => {
            this.designers = response
        });


        // Get current location, strip first occurrence of `/`
        let urlKey:string = this._location.path();
        if(urlKey.match(/\/.+/)){
            urlKey = urlKey.replace('/', '');
        }

        // Get page content
        this._page.getPageContent(urlKey)
        .then((content) => {
            this.pageContent = content;

            // Set SEO
            this._seo.setTitle(content.meta.title);
            this._seo.updateTag('description', content.meta.description);
        });
   }

}