diff --git a/src/404.html b/src/404.html deleted file mode 100644 index 644e4bb2c..000000000 --- a/src/404.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - MifosX - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
-
- - diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 032e1ca58..2608b930a 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -2,14 +2,16 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; +// Not Found Component +import {NotFoundComponent} from './not-found/not-found.component'; + /** * Fallback to this route when no prior route is matched. */ const routes: Routes = [ { path: '**', - redirectTo: '', - pathMatch: 'full' + component: NotFoundComponent } ]; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 587e1a89c..b13273e48 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -17,6 +17,9 @@ import { environment } from 'environments/environment'; /** Main Component */ import { WebAppComponent } from './web-app.component'; +/** Not Found Component */ +import { NotFoundComponent } from './not-found/not-found.component'; + /** Custom Modules */ import { CoreModule } from './core/core.module'; import { HomeModule } from './home/home.module'; @@ -59,7 +62,7 @@ import { AppRoutingModule } from './app-routing.module'; SystemModule, AppRoutingModule ], - declarations: [WebAppComponent], + declarations: [WebAppComponent, NotFoundComponent], providers: [], bootstrap: [WebAppComponent] }) diff --git a/src/app/not-found/not-found.component.html b/src/app/not-found/not-found.component.html new file mode 100644 index 000000000..268aa4c08 --- /dev/null +++ b/src/app/not-found/not-found.component.html @@ -0,0 +1,5 @@ +
+
+

404

+

Something went wrong.

+
diff --git a/src/app/not-found/not-found.component.scss b/src/app/not-found/not-found.component.scss new file mode 100644 index 000000000..2a5026932 --- /dev/null +++ b/src/app/not-found/not-found.component.scss @@ -0,0 +1,28 @@ +#particles-js { + position: absolute; + width: 100%; + height: 100%; + background: cornflowerblue; +} + +.text { + position: absolute; + top: 50%; + right: 50%; + transform: translate(50%,-50%); + max-width: 90%; + padding: 2em 3em; + color: white; + font-family: 'Raleway', sans-serif; + display: flex; + flex-direction: column; + align-items: center; +} + +#title { + font-size: 120pt; +} + +#subtitle { + font-size: 12pt; +} diff --git a/src/app/not-found/not-found.component.spec.ts b/src/app/not-found/not-found.component.spec.ts new file mode 100644 index 000000000..35189ed0b --- /dev/null +++ b/src/app/not-found/not-found.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { NotFoundComponent } from './not-found.component'; + +describe('NotFoundComponent', () => { + let component: NotFoundComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ NotFoundComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(NotFoundComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/not-found/not-found.component.ts b/src/app/not-found/not-found.component.ts new file mode 100644 index 000000000..e0029b9fd --- /dev/null +++ b/src/app/not-found/not-found.component.ts @@ -0,0 +1,17 @@ +import { Component, OnInit } from '@angular/core'; +declare var particlesJS: any; + +@Component({ + selector: 'mifosx-not-found', + templateUrl: './not-found.component.html', + styleUrls: ['./not-found.component.scss'] +}) +export class NotFoundComponent implements OnInit { + + constructor() { } + + ngOnInit() { + particlesJS.load('particles-js', '/assets/particles.json'); + } + +} diff --git a/src/assets/particles.json b/src/assets/particles.json new file mode 100644 index 000000000..f4cc6ff19 --- /dev/null +++ b/src/assets/particles.json @@ -0,0 +1,110 @@ +{ + "particles": { + "number": { + "value": 80, + "density": { + "enable": true, + "value_area": 800 + } + }, + "color": { + "value": "#ffffff" + }, + "shape": { + "type": "circle", + "stroke": { + "width": 0, + "color": "#000000" + }, + "polygon": { + "nb_sides": 5 + }, + "image": { + "src": "img/github.svg", + "width": 100, + "height": 100 + } + }, + "opacity": { + "value": 0.5, + "random": false, + "anim": { + "enable": false, + "speed": 1, + "opacity_min": 0.1, + "sync": false + } + }, + "size": { + "value": 3, + "random": true, + "anim": { + "enable": false, + "speed": 40, + "size_min": 0.1, + "sync": false + } + }, + "line_linked": { + "enable": true, + "distance": 150, + "color": "#ffffff", + "opacity": 0.4, + "width": 1 + }, + "move": { + "enable": true, + "speed": 6, + "direction": "none", + "random": false, + "straight": false, + "out_mode": "out", + "bounce": false, + "attract": { + "enable": false, + "rotateX": 600, + "rotateY": 1200 + } + } + }, + "interactivity": { + "detect_on": "canvas", + "events": { + "onhover": { + "enable": true, + "mode": "repulse" + }, + "onclick": { + "enable": true, + "mode": "push" + }, + "resize": true + }, + "modes": { + "grab": { + "distance": 400, + "line_linked": { + "opacity": 1 + } + }, + "bubble": { + "distance": 400, + "size": 40, + "duration": 2, + "opacity": 8, + "speed": 3 + }, + "repulse": { + "distance": 200, + "duration": 0.4 + }, + "push": { + "particles_nb": 4 + }, + "remove": { + "particles_nb": 2 + } + } + }, + "retina_detect": true +} diff --git a/src/index.html b/src/index.html index f08528771..412caf2fd 100644 --- a/src/index.html +++ b/src/index.html @@ -15,6 +15,7 @@ + +