Skip to content

Commit e1c3660

Browse files
committed
Merge branch 'shared-layouts' of https://github.com/Stivin/angular-universal-starter into Stivin-shared-layouts
2 parents 0c71aa5 + 4fa20fe commit e1c3660

40 files changed

+1015
-108
lines changed

.angular-cli.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020
"testTsconfig": "tsconfig.spec.json",
2121
"prefix": "app",
2222
"styles": [
23-
"styles.scss"
23+
"styles.scss",
24+
"styles/main.scss"
2425
],
2526
"scripts": [],
2627
"environmentSource": "environments/environment.ts",
@@ -47,7 +48,8 @@
4748
"testTsconfig": "tsconfig.spec.json",
4849
"prefix": "app",
4950
"styles": [
50-
"styles.scss"
51+
"styles.scss",
52+
"styles/main.scss"
5153
],
5254
"scripts": [],
5355
"environmentSource": "environments/environment.ts",

src/app/app.component.html

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1 @@
1-
<nav>
2-
<ul>
3-
<li><button (click)="changeLang('en')">EN</button></li>
4-
<li><button (click)="changeLang('ru')">RU</button></li>
5-
</ul>
6-
<ul>
7-
<li><a [routerLink]="['']" [routerLinkActive]="['router-link-active']">home</a></li>
8-
<li><a [routerLink]="['/mock']" [routerLinkActive]="['router-link-active']">mock</a></li>
9-
<li><a [routerLink]="['/back']" [routerLinkActive]="['router-link-active']">back http</a></li>
10-
</ul>
11-
</nav>
121
<router-outlet></router-outlet>

src/app/app.component.ts

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { Component } from '@angular/core';
22
import { MetaService } from '@ngx-meta/core';
3-
import { TranslateService } from '@ngx-translate/core';
43

54
@Component({
65
selector: 'app-root',
@@ -9,13 +8,7 @@ import { TranslateService } from '@ngx-translate/core';
98
})
109
export class AppComponent {
1110

12-
constructor(private readonly meta: MetaService,
13-
private translate: TranslateService) {
14-
this.translate.setDefaultLang('en');
11+
constructor(private readonly meta: MetaService) {
1512
this.meta.setTag('og:title', 'home ctor');
1613
}
17-
18-
changeLang(lang: string): void {
19-
this.translate.use(lang);
20-
}
2114
}

src/app/app.module.ts

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,13 @@ import { BrowserModule } from '@angular/platform-browser';
66
import { NgModule } from '@angular/core';
77
import { AppComponent } from './app.component';
88
import { CookieService } from 'ngx-cookie-service';
9-
import { HttpClient, HttpClientModule } from '@angular/common/http';
9+
import { HttpClientModule } from '@angular/common/http';
1010
import { MetaModule, MetaSettings } from '@ngx-meta/core';
1111
import { MetaLoader } from '@ngx-meta/core';
1212
import { MetaStaticLoader } from '@ngx-meta/core';
1313
import { PageTitlePositioning } from '@ngx-meta/core';
14-
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
15-
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
1614
import { PrebootModule } from 'preboot';
15+
import { SharedModule } from '@shared/shared.module';
1716

1817
export function metaFactory(): MetaLoader {
1918
const setting: MetaSettings = {
@@ -34,10 +33,6 @@ export function metaFactory(): MetaLoader {
3433
return new MetaStaticLoader(setting);
3534
}
3635

37-
export function httpLoaderFactory(http: HttpClient) {
38-
return new TranslateHttpLoader(http, './assets/i18n/', '.json');
39-
}
40-
4136
@NgModule({
4237
declarations: [
4338
AppComponent,
@@ -50,19 +45,12 @@ export function httpLoaderFactory(http: HttpClient) {
5045
AppRoutes,
5146
TransferHttpModule,
5247
BrowserAnimationsModule,
48+
SharedModule.forRoot(),
5349
MetaModule.forRoot({
5450
provide: MetaLoader,
5551
useFactory: metaFactory,
5652
deps: []
57-
}),
58-
TranslateModule.forRoot({
59-
loader: {
60-
provide: TranslateLoader,
61-
useFactory: httpLoaderFactory,
62-
deps: [HttpClient]
63-
}
64-
}
65-
)
53+
})
6654
],
6755
providers: [CookieService],
6856
bootstrap: [AppComponent]

src/app/app.routing.ts

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,33 @@
11
import { Routes, RouterModule } from '@angular/router';
22
import { MetaGuard } from '@ngx-meta/core';
33

4+
import { WrapperComponent } from '@shared/layouts/wrapper/wrapper.component';
5+
46
const routes: Routes = [
7+
{ path: '', redirectTo: 'home', pathMatch: 'full' },
58
{
6-
path: '', loadChildren: './home/home.module#HomeModule',
7-
data: {
8-
// for override default meta
9-
meta: {
10-
title: 'home title',
11-
override: true,
12-
description: 'home description'
13-
}
14-
},
15-
// need for default meta
16-
canActivateChild: [MetaGuard],
17-
},
18-
// without meta
19-
{ path: 'mock', loadChildren: './mock-server-browser/mock-server-browser.module#MockServerBrowserModule' },
20-
// with meta
21-
{ path: 'back', loadChildren: './transfer-back/transfer-back.module#TransferBackModule', canActivateChild: [MetaGuard]},
22-
// 404
23-
{ path: '**', loadChildren: './not-found/not-found.module#NotFoundModule' },
9+
path: '', component: WrapperComponent, children: [
10+
{
11+
path: 'home', loadChildren: './home/home.module#HomeModule',
12+
data: {
13+
// for override default meta
14+
meta: {
15+
title: 'home title',
16+
override: true,
17+
description: 'home description'
18+
}
19+
},
20+
// need for default meta
21+
canActivateChild: [MetaGuard],
22+
},
23+
// without meta
24+
{ path: 'mock', loadChildren: './mock-server-browser/mock-server-browser.module#MockServerBrowserModule' },
25+
// with meta
26+
{ path: 'back', loadChildren: './transfer-back/transfer-back.module#TransferBackModule', canActivateChild: [MetaGuard] },
27+
// 404
28+
{ path: '**', loadChildren: './not-found/not-found.module#NotFoundModule' },
29+
]
30+
}
2431
];
2532
// must use {initialNavigation: 'enabled'}) - for one load page, without reload
2633
export const AppRoutes = RouterModule.forRoot(routes, { initialNavigation: 'enabled' });

src/app/home/home.component.html

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
<p>
2-
home works!
3-
</p>
4-
<p>
5-
{{"home" | translate}}
6-
</p>
1+
<h1>{{ "home.title" | translate }}</h1>
2+
<p>{{ "home.text" | translate }}</p>
73

src/app/home/home.module.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
import { HomeRoutes } from './home.routing';
21
import { NgModule } from '@angular/core';
32
import { CommonModule } from '@angular/common';
4-
import { HomeComponent } from './home.component';
53
import { TranslateModule } from '@ngx-translate/core';
64

5+
import { HomeRoutes } from './home.routing';
6+
import { HomeComponent } from './home.component';
7+
78
@NgModule({
89
imports: [
910
CommonModule,
1011
HomeRoutes,
11-
TranslateModule
12+
TranslateModule.forChild()
1213
],
1314
declarations: [HomeComponent]
1415
})
Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
<p>
2-
mock-server-browser works!
3-
</p>
4-
<p>
5-
{{"mock" | translate}}
6-
</p>
1+
<h1>{{ "mock.title" | translate }}</h1>
2+
<p>{{ "mock.text" | translate }}</p>
73
<app-mock></app-mock>

src/app/mock-server-browser/mock-server-browser.module.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
1-
import { MockBrowserComponent } from './mock-browser/mock-browser.component';
21
import { NgModule } from '@angular/core';
32
import { CommonModule } from '@angular/common';
3+
import { TranslateModule } from '@ngx-translate/core';
4+
5+
import { environment } from '../../environments/environment';
6+
7+
import { MockBrowserComponent } from './mock-browser/mock-browser.component';
48
import { MockServerBrowserComponent } from './mock-server-browser.component';
59
import { MockServerBrowserRoutes } from './mock-server-browser.routing';
610
import { MockBrowserModule } from './mock-browser/mock-browser.module';
711
import { MockServerModule } from './mock-server/mock-server.module';
8-
import { environment } from '../../environments/environment';
9-
import { TranslateModule } from '@ngx-translate/core';
1012

1113
@NgModule({
1214
imports: [
1315
CommonModule,
1416
MockServerBrowserRoutes,
1517
environment.isServer ? [MockServerModule] : [MockBrowserModule],
16-
TranslateModule
18+
TranslateModule.forChild()
1719
],
1820
declarations: [MockServerBrowserComponent]
1921
})
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
<p>
2-
not-found works!
3-
</p>
1+
<h1>{{ "not-found.title" | translate }}</h1>
2+
<p>404</p>

0 commit comments

Comments
 (0)