@@ -18,7 +18,8 @@ | |||
"polyfills": "src/polyfills.ts", | |||
"assets": [ | |||
"src/assets", | |||
"src/favicon.ico" | |||
"src/favicon.ico", | |||
"src/manifest.webmanifest" | |||
], | |||
"styles": [ | |||
"node_modules/bootstrap/dist/css/bootstrap.min.css", | |||
@@ -45,7 +46,9 @@ | |||
"fileReplacements": [{ | |||
"replace": "src/environments/environment.ts", | |||
"with": "src/environments/environment.prod.ts" | |||
}] | |||
}], | |||
"serviceWorker": true, | |||
"ngswConfigPath": "ngsw-config.json" | |||
} | |||
} | |||
}, | |||
@@ -85,7 +88,8 @@ | |||
], | |||
"assets": [ | |||
"src/assets", | |||
"src/favicon.ico" | |||
"src/favicon.ico", | |||
"src/manifest.webmanifest" | |||
] | |||
} | |||
}, |
@@ -0,0 +1,29 @@ | |||
{ | |||
"$schema": "./node_modules/@angular/service-worker/config/schema.json", | |||
"index": "/index.html", | |||
"assetGroups": [ | |||
{ | |||
"name": "app", | |||
"installMode": "prefetch", | |||
"resources": { | |||
"files": [ | |||
"/favicon.ico", | |||
"/index.html", | |||
"/manifest.webmanifest", | |||
"/*.css", | |||
"/*.js" | |||
] | |||
} | |||
}, { | |||
"name": "assets", | |||
"installMode": "lazy", | |||
"updateMode": "prefetch", | |||
"resources": { | |||
"files": [ | |||
"/assets/**", | |||
"/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)" | |||
] | |||
} | |||
} | |||
] | |||
} |
@@ -21,6 +21,7 @@ | |||
"@angular/platform-browser": "9.0.6", | |||
"@angular/platform-browser-dynamic": "9.0.6", | |||
"@angular/router": "9.0.6", | |||
"@angular/service-worker": "9.0.6", | |||
"@fortawesome/fontawesome-free": "^5.13.0", | |||
"@ng-bootstrap/ng-bootstrap": "6.0.0", | |||
"bootstrap": "^4.5.0", |
@@ -25,6 +25,8 @@ import { MusicComponent } from './pages/music/music.component'; | |||
import { ResumePdfComponent } from './pages/resume-pdf/resume-pdf.component'; | |||
import { PdfHeaderComponent } from './page-header/pdf-header/pdf-header.component'; | |||
import { MusicHeaderComponent } from './page-header/music-header/music-header.component'; | |||
import { ServiceWorkerModule } from '@angular/service-worker'; | |||
import { environment } from '../environments/environment'; | |||
@NgModule({ | |||
@@ -55,6 +57,7 @@ import { MusicHeaderComponent } from './page-header/music-header/music-header.co | |||
AppRoutingModule, | |||
ComponentsModule, | |||
PageHeaderModule, | |||
ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production }), | |||
], | |||
providers: [], | |||
bootstrap: [AppComponent] |
@@ -304,72 +304,15 @@ | |||
<div class="row"> | |||
<div class="col-md-8 mr-auto ml-auto"> | |||
<h2 class="text-center">Keep in touch?</h2> | |||
<form class="contact-form"> | |||
<div class="row"> | |||
<div class="col-md-6"> | |||
<label>Name</label> | |||
<div | |||
class="input-group" | |||
[ngClass]="{ 'input-group-focus': focus === true }" | |||
> | |||
<div class="input-group-prepend"> | |||
<span class="input-group-text" | |||
><i class="nc-icon nc-single-02"></i | |||
></span> | |||
</div> | |||
<input | |||
type="text" | |||
class="form-control" | |||
placeholder="Name" | |||
(focus)="focus = true" | |||
(blur)="focus = false" | |||
/> | |||
</div> | |||
</div> | |||
<div class="col-md-6"> | |||
<label>Email</label> | |||
<div | |||
class="input-group" | |||
[ngClass]="{ 'input-group-focus': focus1 === true }" | |||
> | |||
<div class="input-group-prepend"> | |||
<span class="input-group-text"> | |||
<i class="nc-icon nc-email-85"></i | |||
></span> | |||
</div> | |||
<input | |||
type="text" | |||
class="form-control" | |||
placeholder="Email" | |||
(focus)="focus1 = true" | |||
(blur)="focus1 = false" | |||
/> | |||
</div> | |||
</div> | |||
</div> | |||
<label>Message</label> | |||
<textarea | |||
class="form-control" | |||
rows="6" | |||
placeholder="Tell us your thoughts and feelings..." | |||
></textarea> | |||
<div class="row"> | |||
<div class="col-md-4 mr-auto ml-auto"> | |||
<button class="btn btn-danger btn-lg btn-fill" disabled> | |||
Send Message | |||
</button> | |||
</div> | |||
</div> | |||
<div class="row text-center"> | |||
<div class="col-md-5 mr-auto ml-auto"> | |||
<a | |||
class="btn btn-warning btn-lg btn-fill" | |||
href="mailto:cziermann@mailbox.org" | |||
>cziermann@mailbox.org</a | |||
> | |||
</div> | |||
<div class="row text-center"> | |||
<div class="col-md-5 mr-auto ml-auto"> | |||
<a | |||
class="btn btn-warning btn-lg btn-fill" | |||
href="mailto:cziermann@mailbox.org" | |||
>cziermann@mailbox.org</a | |||
> | |||
</div> | |||
</form> | |||
</div> | |||
</div> | |||
</div> | |||
</div> |
@@ -21,14 +21,17 @@ | |||
<link rel="icon" type="image/png" href="assets/img/favicon.ico"> | |||
<link rel="apple-touch-icon" sizes="76x76" href="assets/img/apple-icon.png"> | |||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> | |||
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' /> | |||
<meta name="viewport" content="width=device-width" /> | |||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> | |||
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"/> | |||
<meta name="viewport" content="width=device-width"/> | |||
<!-- Fonts and icons --> | |||
<link href='https://fonts.googleapis.com/css?family=Montserrat:400,300,700' rel='stylesheet' type='text/css'> | |||
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,300,700" rel="stylesheet" type="text/css"> | |||
<link rel="manifest" href="manifest.webmanifest"> | |||
<meta name="theme-color" content="#1976d2"> | |||
</head> | |||
<body> | |||
<app-root></app-root> | |||
<noscript>Please enable JavaScript to continue using this application.</noscript> | |||
</body> | |||
</html> |
@@ -0,0 +1,59 @@ | |||
{ | |||
"name": "pk2-angular", | |||
"short_name": "pk2-angular", | |||
"theme_color": "#1976d2", | |||
"background_color": "#fafafa", | |||
"display": "standalone", | |||
"scope": "./", | |||
"start_url": "./", | |||
"icons": [ | |||
{ | |||
"src": "assets/icons/icon-72x72.png", | |||
"sizes": "72x72", | |||
"type": "image/png", | |||
"purpose": "maskable any" | |||
}, | |||
{ | |||
"src": "assets/icons/icon-96x96.png", | |||
"sizes": "96x96", | |||
"type": "image/png", | |||
"purpose": "maskable any" | |||
}, | |||
{ | |||
"src": "assets/icons/icon-128x128.png", | |||
"sizes": "128x128", | |||
"type": "image/png", | |||
"purpose": "maskable any" | |||
}, | |||
{ | |||
"src": "assets/icons/icon-144x144.png", | |||
"sizes": "144x144", | |||
"type": "image/png", | |||
"purpose": "maskable any" | |||
}, | |||
{ | |||
"src": "assets/icons/icon-152x152.png", | |||
"sizes": "152x152", | |||
"type": "image/png", | |||
"purpose": "maskable any" | |||
}, | |||
{ | |||
"src": "assets/icons/icon-192x192.png", | |||
"sizes": "192x192", | |||
"type": "image/png", | |||
"purpose": "maskable any" | |||
}, | |||
{ | |||
"src": "assets/icons/icon-384x384.png", | |||
"sizes": "384x384", | |||
"type": "image/png", | |||
"purpose": "maskable any" | |||
}, | |||
{ | |||
"src": "assets/icons/icon-512x512.png", | |||
"sizes": "512x512", | |||
"type": "image/png", | |||
"purpose": "maskable any" | |||
} | |||
] | |||
} |