import React, { Component } from 'react'; import { GenericComponent } from '@leanup/lib'; import IMG_LEANUP from '../../assets/logo.leanupjs.png'; import IMG_FRAMEWORK from '../../assets/logo.react.png'; import { RouterService } from '../../services/router/service'; import { Filters } from '../../shares/filters'; import { CreateSerieComponent } from '../series/create/component.react'; import { EditSerieComponent } from '../series/edit/component.react'; import { ListSerieComponent } from '../series/list/component.react'; import { AppController, ResolvedRoute } from './controller'; export class AppComponent extends Component implements GenericComponent { private resolvedRoute: ResolvedRoute = { url: 'series', }; public readonly ctrl: AppController; public constructor(props: unknown) { super(props); this.ctrl = new AppController({ hooks: { doRender: this.forceUpdate.bind(this), }, }); RouterService.subscribe( ( route: { url: string; }, data: { id: string; } ) => { this.resolvedRoute = { data, url: route.url, }; this.forceUpdate(); } ); } public render(): JSX.Element { return (
React Framework
+
Leanup Stack

{this.ctrl.framework.name} v{this.ctrl.framework.version}

{this.ctrl.finishedRendering} ms upcomming time {this.resolvedRoute.url === 'series' && } {this.resolvedRoute.url === 'series/create' && } {this.resolvedRoute.url === 'series/:id/edit' && } Used filters: {Filters.date(this.ctrl.dummies.date)} | {Filters.currency(this.ctrl.dummies.price)} €
Build with: {this.ctrl.cli.name} v{this.ctrl.cli.version}
); } }