mirror of
https://github.com/Mueller-Patrick/Betterzon.git
synced 2024-11-25 15:33:56 +00:00
Some fancy changes
This commit is contained in:
parent
deec125242
commit
b1db97af87
|
@ -11,7 +11,7 @@
|
||||||
<!-- About Section Content-->
|
<!-- About Section Content-->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-4 ms-auto"><p class="lead">You follow the same passion as we do and you want to find alternatives to the de-facto monopolist Amazon?</p></div>
|
<div class="col-lg-4 ms-auto"><p class="lead">You follow the same passion as we do and you want to find alternatives to the de-facto monopolist Amazon?</p></div>
|
||||||
<div class="col-lg-4 me-auto"><p class="lead">In this case, welcome aboard! We’re happy that you share our passion and hope that we can help you achieving this goal with the website</p></div>
|
<div class="col-lg-4 me-auto"><p class="lead">In this case, welcome aboard! We’re happy that you share our passion and hope that we can help you achieving this goal with the website.</p></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
import { Component, OnInit } from '@angular/core';
|
import {Component, OnInit} from '@angular/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-about-us',
|
selector: 'app-about-us',
|
||||||
templateUrl: './about-us.component.html',
|
templateUrl: './about-us.component.html',
|
||||||
styleUrls: ['./about-us.component.css']
|
styleUrls: ['./about-us.component.css']
|
||||||
})
|
})
|
||||||
export class AboutUsComponent implements OnInit {
|
export class AboutUsComponent implements OnInit {
|
||||||
|
|
||||||
constructor() { }
|
constructor() {
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,44 +1,47 @@
|
||||||
import { Component, OnInit } from '@angular/core';
|
import {Component, OnInit} from '@angular/core';
|
||||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
import {FormBuilder, FormGroup, Validators} from '@angular/forms';
|
||||||
import {ApiService} from "../../../services/api.service";
|
import {ApiService} from '../../../services/api.service';
|
||||||
import {Router} from "@angular/router";
|
import {Router} from '@angular/router';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-registration',
|
selector: 'app-registration',
|
||||||
templateUrl: './registration.component.html',
|
templateUrl: './registration.component.html',
|
||||||
styleUrls: ['./registration.component.css']
|
styleUrls: ['./registration.component.css']
|
||||||
})
|
})
|
||||||
export class RegistrationComponent implements OnInit {
|
export class RegistrationComponent implements OnInit {
|
||||||
form: any;
|
form: any;
|
||||||
loading = false;
|
loading = false;
|
||||||
submitted = false;
|
submitted = false;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private formBuilder: FormBuilder,
|
private formBuilder: FormBuilder,
|
||||||
private api : ApiService,
|
private api: ApiService,
|
||||||
private router: Router
|
private router: Router
|
||||||
) { }
|
) {
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.form = this.formBuilder.group({
|
this.form = this.formBuilder.group({
|
||||||
username: ['', Validators.required],
|
username: ['', Validators.required],
|
||||||
email: ['', Validators.required],
|
email: ['', Validators.required],
|
||||||
password: ['', [
|
password: ['', [
|
||||||
Validators.required,
|
Validators.required,
|
||||||
Validators.minLength(8)]
|
Validators.minLength(8)]
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
get me() { return this.form.controls; }
|
get me() {
|
||||||
|
return this.form.controls;
|
||||||
|
}
|
||||||
|
|
||||||
onSubmit() {
|
onSubmit(): void {
|
||||||
this.api.registerUser(this.form.value.username, this.form.value.password, this.form.value.email).subscribe(
|
this.api.registerUser(this.form.value.username, this.form.value.password, this.form.value.email).subscribe(
|
||||||
res=> {
|
res => {
|
||||||
this.api.saveSessionInfoToLocalStorage(res);
|
this.api.saveSessionInfoToLocalStorage(res);
|
||||||
this.router.navigate(['/']);
|
this.router.navigate(['/']);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
import { Component, OnInit } from '@angular/core';
|
import {Component, OnInit} from '@angular/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-resetpasswort',
|
selector: 'app-resetpasswort',
|
||||||
templateUrl: './resetpasswort.component.html',
|
templateUrl: './resetpasswort.component.html',
|
||||||
styleUrls: ['./resetpasswort.component.css']
|
styleUrls: ['./resetpasswort.component.css']
|
||||||
})
|
})
|
||||||
export class ResetpasswortComponent implements OnInit {
|
export class ResetpasswortComponent implements OnInit {
|
||||||
|
|
||||||
constructor() { }
|
constructor() {
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
import { Component, OnInit } from '@angular/core';
|
import {Component, OnInit} from '@angular/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-bottom-bar',
|
selector: 'app-bottom-bar',
|
||||||
templateUrl: "./bottom-bar.component.html",
|
templateUrl: './bottom-bar.component.html',
|
||||||
styleUrls: ["./bottom-bar.component.css"]
|
styleUrls: ['./bottom-bar.component.css']
|
||||||
})
|
})
|
||||||
export class BottomBarComponent implements OnInit {
|
export class BottomBarComponent implements OnInit {
|
||||||
|
|
||||||
constructor() { }
|
constructor() {
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
import { Component, OnInit } from '@angular/core';
|
import {Component, OnInit} from '@angular/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-copyright',
|
selector: 'app-copyright',
|
||||||
templateUrl: './copyright.component.html',
|
templateUrl: './copyright.component.html',
|
||||||
styleUrls: ['./copyright.component.css']
|
styleUrls: ['./copyright.component.css']
|
||||||
})
|
})
|
||||||
export class CopyrightComponent implements OnInit {
|
export class CopyrightComponent implements OnInit {
|
||||||
|
|
||||||
constructor() { }
|
constructor() {
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +1,24 @@
|
||||||
import { Component, OnInit } from '@angular/core';
|
import {Component, OnInit} from '@angular/core';
|
||||||
import {ActivatedRoute, Router} from '@angular/router';
|
import {ActivatedRoute, Router} from '@angular/router';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-footer',
|
selector: 'app-footer',
|
||||||
templateUrl: './footer.component.html',
|
templateUrl: './footer.component.html',
|
||||||
styleUrls: ['./footer.component.css']
|
styleUrls: ['./footer.component.css']
|
||||||
})
|
})
|
||||||
export class FooterComponent implements OnInit {
|
export class FooterComponent implements OnInit {
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private router: Router,
|
private router: Router,
|
||||||
private route: ActivatedRoute
|
private route: ActivatedRoute
|
||||||
) {}
|
) {
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
}
|
}
|
||||||
|
|
||||||
navigateImprint(): void {
|
navigateImprint(): void {
|
||||||
this.router.navigate([('/impressum')]);
|
this.router.navigate([('/impressum')]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
import { Component, OnInit } from '@angular/core';
|
import {Component, OnInit} from '@angular/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-greeting-info-slider',
|
selector: 'app-greeting-info-slider',
|
||||||
templateUrl: './greeting-info-slider.component.html',
|
templateUrl: './greeting-info-slider.component.html',
|
||||||
styleUrls: ['./greeting-info-slider.component.css']
|
styleUrls: ['./greeting-info-slider.component.css']
|
||||||
})
|
})
|
||||||
export class GreetingInfoSliderComponent implements OnInit {
|
export class GreetingInfoSliderComponent implements OnInit {
|
||||||
|
|
||||||
constructor() { }
|
constructor() {
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,9 +4,9 @@ import {Product} from '../../models/product';
|
||||||
import {ActivatedRoute, Router} from '@angular/router';
|
import {ActivatedRoute, Router} from '@angular/router';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-hot-deals-widget',
|
selector: 'app-hot-deals-widget',
|
||||||
templateUrl: './hot-deals-widget.component.html',
|
templateUrl: './hot-deals-widget.component.html',
|
||||||
styleUrls: ['./hot-deals-widget.component.css']
|
styleUrls: ['./hot-deals-widget.component.css']
|
||||||
})
|
})
|
||||||
export class HotDealsWidgetComponent implements OnInit {
|
export class HotDealsWidgetComponent implements OnInit {
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ export class HotDealsWidgetComponent implements OnInit {
|
||||||
default: {
|
default: {
|
||||||
this.getProductsByIds();
|
this.getProductsByIds();
|
||||||
this.getAmazonPricesForBestDeals();
|
this.getAmazonPricesForBestDeals();
|
||||||
this.getVendors()
|
this.getVendors();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -73,7 +73,7 @@ export class HotDealsWidgetComponent implements OnInit {
|
||||||
deals => {
|
deals => {
|
||||||
deals.forEach(deal => {
|
deals.forEach(deal => {
|
||||||
this.bestDealsProductIds.push(deal.product_id);
|
this.bestDealsProductIds.push(deal.product_id);
|
||||||
this.productsPricesMap [deal.product_id] = {lowestPrice: deal}
|
this.productsPricesMap [deal.product_id] = {lowestPrice: deal};
|
||||||
});
|
});
|
||||||
this.loadParams();
|
this.loadParams();
|
||||||
}
|
}
|
||||||
|
@ -92,7 +92,7 @@ export class HotDealsWidgetComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
getAmazonPricesForBestDeals(): void{
|
getAmazonPricesForBestDeals(): void {
|
||||||
this.bestDealsProductIds.forEach(id => {
|
this.bestDealsProductIds.forEach(id => {
|
||||||
this.apiService.getAmazonPrice(id).subscribe(
|
this.apiService.getAmazonPrice(id).subscribe(
|
||||||
price => {
|
price => {
|
||||||
|
|
|
@ -4,9 +4,9 @@ import {Product} from '../../models/product';
|
||||||
import {ActivatedRoute, Router} from '@angular/router';
|
import {ActivatedRoute, Router} from '@angular/router';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-kunden',
|
selector: 'app-kunden',
|
||||||
templateUrl: './kunden.component.html',
|
templateUrl: './kunden.component.html',
|
||||||
styleUrls: ['./kunden.component.css']
|
styleUrls: ['./kunden.component.css']
|
||||||
})
|
})
|
||||||
export class KundenComponent implements OnInit {
|
export class KundenComponent implements OnInit {
|
||||||
products: Product[] = [];
|
products: Product[] = [];
|
||||||
|
|
|
@ -46,7 +46,7 @@ export class ProductDetailsComponent implements OnInit {
|
||||||
this.getProduct();
|
this.getProduct();
|
||||||
this.getVendors();
|
this.getVendors();
|
||||||
this.getPrices();
|
this.getPrices();
|
||||||
if (this.apiService.getSessionInfoFromLocalStorage().session_id != "") {
|
if (this.apiService.getSessionInfoFromLocalStorage().session_id != '') {
|
||||||
this.isLoggedIn = true;
|
this.isLoggedIn = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -123,10 +123,10 @@ export class ProductDetailsComponent implements OnInit {
|
||||||
return Math.round(percentage);
|
return Math.round(percentage);
|
||||||
}
|
}
|
||||||
|
|
||||||
setPriceAlarm() {
|
setPriceAlarm(): void {
|
||||||
this.apiService.createPriceAlarms(this.productId, this.price*100).subscribe(
|
this.apiService.createPriceAlarms(this.productId, this.price * 100).subscribe(
|
||||||
alarms => console.log(alarms)
|
alarms => console.log(alarms)
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -19,3 +19,8 @@ table, th, td {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: #0d5a4b;
|
color: #0d5a4b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.edit {
|
||||||
|
width: 5%;
|
||||||
|
height: 5%;
|
||||||
|
}
|
||||||
|
|
|
@ -89,7 +89,7 @@
|
||||||
{{alarm.defined_price/100}}€
|
{{alarm.defined_price/100}}€
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<img class="delete" src="../assets/images/Delete_icon-icons.com_55931.png" (click)="delete(alarm.alarm_id)">
|
<img class="delete" src="../assets/images/pencil.png">
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<img class="delete" src="../assets/images/Delete_icon-icons.com_55931.png" (click)="delete(alarm.alarm_id)">
|
<img class="delete" src="../assets/images/Delete_icon-icons.com_55931.png" (click)="delete(alarm.alarm_id)">
|
||||||
|
|
|
@ -1,25 +1,26 @@
|
||||||
import { Component, OnInit } from '@angular/core';
|
import {Component, OnInit} from '@angular/core';
|
||||||
import {ApiService} from "../../services/api.service";
|
import {ApiService} from '../../services/api.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-profile',
|
selector: 'app-profile',
|
||||||
templateUrl: './profile.component.html',
|
templateUrl: './profile.component.html',
|
||||||
styleUrls: ['./profile.component.css']
|
styleUrls: ['./profile.component.css']
|
||||||
})
|
})
|
||||||
export class ProfileComponent implements OnInit {
|
export class ProfileComponent implements OnInit {
|
||||||
|
|
||||||
currentUser: any;
|
currentUser: any;
|
||||||
obj:any;
|
obj: any;
|
||||||
alarms: any [];
|
alarms: any [];
|
||||||
productsMap: any = {};
|
productsMap: any = {};
|
||||||
|
|
||||||
constructor(private api: ApiService ) { }
|
constructor(private api: ApiService) {
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
|
|
||||||
this.api.getUserInfo().subscribe(
|
this.api.getUserInfo().subscribe(
|
||||||
user=> {
|
user => {
|
||||||
this.currentUser = user
|
this.currentUser = user;
|
||||||
console.log(this.currentUser);
|
console.log(this.currentUser);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
@ -30,29 +31,33 @@ export class ProfileComponent implements OnInit {
|
||||||
getPriceAlarms(): void {
|
getPriceAlarms(): void {
|
||||||
this.api.getPriceAlarms().subscribe(
|
this.api.getPriceAlarms().subscribe(
|
||||||
alarms => {
|
alarms => {
|
||||||
this.alarms = alarms
|
this.alarms = alarms;
|
||||||
this.getProductsByIds()
|
this.getProductsByIds();
|
||||||
}
|
}
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
getProductsByIds(): void {
|
getProductsByIds(): void {
|
||||||
let productIds: number [] = [];
|
const productIds: number [] = [];
|
||||||
this.alarms.forEach(
|
this.alarms.forEach(
|
||||||
alarm => {productIds.push(alarm.product_id)}
|
alarm => {
|
||||||
|
productIds.push(alarm.product_id);
|
||||||
|
}
|
||||||
);
|
);
|
||||||
this.api.getProductsByIds(productIds).subscribe(
|
this.api.getProductsByIds(productIds).subscribe(
|
||||||
products => {
|
products => {
|
||||||
products.forEach(
|
products.forEach(
|
||||||
product => {this.productsMap[product.product_id] = product}
|
product => {
|
||||||
)
|
this.productsMap[product.product_id] = product;
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
delete(id:number): void {
|
delete(id: number): void {
|
||||||
this.api.deletePriceAlarm(id).subscribe(
|
this.api.deletePriceAlarm(id).subscribe(
|
||||||
res => window.location.reload()
|
res => window.location.reload()
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
import { Component, OnInit } from '@angular/core';
|
import {Component, OnInit} from '@angular/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-slider-for-products',
|
selector: 'app-slider-for-products',
|
||||||
templateUrl: './slider-for-products.component.html',
|
templateUrl: './slider-for-products.component.html',
|
||||||
styleUrls: ['./slider-for-products.component.css']
|
styleUrls: ['./slider-for-products.component.css']
|
||||||
})
|
})
|
||||||
export class SliderForProductsComponent implements OnInit {
|
export class SliderForProductsComponent implements OnInit {
|
||||||
|
|
||||||
constructor() { }
|
constructor() {
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import {Component, Input, OnInit} from '@angular/core';
|
import {Component, Input, OnInit} from '@angular/core';
|
||||||
import {ApiService} from "../../services/api.service";
|
import {ApiService} from '../../services/api.service';
|
||||||
import {Router} from "@angular/router";
|
import {NavigationEnd, Router} from '@angular/router';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
@ -20,13 +20,12 @@ export class TopBarComponent implements OnInit {
|
||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit(): void {
|
||||||
|
|
||||||
this.api.getUserInfo().subscribe(data => {
|
this.api.getUserInfo().subscribe(data => {
|
||||||
console.log(data)
|
console.log(data);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (this.api.getSessionInfoFromLocalStorage().session_id != "") {
|
if (this.api.getSessionInfoFromLocalStorage().session_id !== '') {
|
||||||
this.isLoggedIn = true;
|
this.isLoggedIn = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,7 +33,11 @@ export class TopBarComponent implements OnInit {
|
||||||
logout(): void {
|
logout(): void {
|
||||||
localStorage.setItem('session_id', '');
|
localStorage.setItem('session_id', '');
|
||||||
localStorage.setItem('session_key', '');
|
localStorage.setItem('session_key', '');
|
||||||
this.router.navigate(['/']);
|
if (this.router.url === '/profile') {
|
||||||
|
this.router.navigate(['/']);
|
||||||
|
} else {
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getSearchedProducts(): void {
|
getSearchedProducts(): void {
|
||||||
|
|
BIN
Frontend/src/assets/images/pencil.png
Normal file
BIN
Frontend/src/assets/images/pencil.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
Loading…
Reference in New Issue
Block a user