Compare commits

...

16 Commits

Author SHA1 Message Date
Patrick 0f19bd77cd Merge branch 'develop' into BETTERZON-78 2021-05-11 21:59:02 +02:00
Patrick 536acc06ee Merge branch 'develop' into BETTERZON-78 2021-05-08 20:01:12 +02:00
Patrick ac237a6ba1 Apply suggestions from code review
Switching from single to double quotes
2021-05-08 20:00:30 +02:00
Patrick 058230e9a9 Merge branch 'develop' into BETTERZON-78 2021-05-06 22:47:22 +02:00
Paddy f71f53c869 Adding cookieconsent as dependency again since it was removed by a merge 2021-05-05 19:59:02 +02:00
Paddy 6982a139af Adding cookieconsent as dependency again since it was removed by a merge 2021-05-05 18:48:53 +02:00
illumizoldyck b0158198d4 Merge branch 'BETTERZON-78' of https://github.com/Mueller-Patrick/Betterzon into BETTERZON-78 2021-05-05 18:42:52 +02:00
illumizoldyck 7e5ef71924 BETTERZON-78 adding bottom bar and top bar 2021-05-05 18:40:22 +02:00
Paddy b17b92fcc3 Merge remote-tracking branch 'origin/develop' into BETTERZON-78
# Conflicts:
#	Frontend/angular.json
#	Frontend/package-lock.json
#	Frontend/src/app/app.module.ts
#	Frontend/src/styles.css
2021-05-05 18:39:04 +02:00
illumizoldyck 0c50162fdf WIP: creating footer using grid. 2021-05-04 22:17:15 +02:00
illumizoldyck 825f744af9 BETTERZON-74
simple top-bar has been created.
2021-04-28 17:53:56 +02:00
Paddy e0f1724d95 Merge remote-tracking branch 'origin/develop' into BETTERZON-52
# Conflicts:
#	Frontend/angular.json
#	Frontend/package-lock.json
#	Frontend/package.json
#	Frontend/src/app/app.module.ts
#	Frontend/src/index.html
2021-04-08 10:52:52 +02:00
illumizoldyck 93b17bc65f BETTERZON-31,
BETTERZON-50

info popover and footer had been changed.
2021-04-08 10:42:45 +02:00
Paddy 64074b48e8 Merge remote-tracking branch 'origin/develop' into BETTERZON-31
# Conflicts:
#	Frontend/src/app/app.module.ts
2021-04-06 20:19:40 +02:00
Paddy ee50296dc9 BETTERZON-31: Fixing dependencies 2021-04-06 20:18:17 +02:00
illumizoldyck 57c3f521d1 BETTERZON-31, dependencies. 2021-04-06 20:14:10 +02:00
22 changed files with 16889 additions and 570 deletions
+9 -1
View File
@@ -24,6 +24,9 @@
"src/assets"
],
"styles": [
{
"input": "src/themes.scss"
},
"./node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css",
"src/styles.css",
"./node_modules/cookieconsent/build/cookieconsent.min.css"
@@ -88,13 +91,18 @@
"tsConfig": "tsconfig.spec.json",
"karmaConfig": "karma.conf.js",
"codeCoverage": true,
"codeCoverageExclude": ["src/app/mocks/mock.service.ts"],
"codeCoverageExclude": [
"src/app/mocks/mock.service.ts"
],
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"./node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css",
{
"input": "src/themes.scss"
},
"src/styles.css",
"./node_modules/cookieconsent/build/cookieconsent.min.css"
],
+16563 -551
View File
File diff suppressed because it is too large Load Diff
+5 -1
View File
@@ -18,15 +18,19 @@
"@angular/compiler": "^10.2.3",
"@angular/core": "^10.2.3",
"@angular/forms": "^10.2.3",
"@angular/localize": "^10.2.3",
"@angular/material": "~10.2.7",
"@angular/platform-browser": "^10.2.3",
"@angular/platform-browser-dynamic": "^10.2.3",
"@angular/router": "^10.2.3",
"@ng-bootstrap/ng-bootstrap": "^8.0.4",
"apexcharts": "^3.22.3",
"bootstrap": "^4.5.0",
"cookieconsent": "^3.1.1",
"karma-firefox-launcher": "^2.1.0",
"ng": "0.0.0",
"ng-apexcharts": "^1.5.6",
"ngx-bootstrap": "^6.2.0",
"ngx-cookieconsent": "^2.2.3",
"rxjs": "~6.6.0",
"tslib": "^2.0.3",
@@ -42,7 +46,7 @@
"codelyzer": "^6.0.0",
"jasmine-core": "~3.6.0",
"jasmine-spec-reporter": "~5.0.0",
"karma": "~5.0.0",
"karma": "^6.3.2",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage-istanbul-reporter": "~3.0.2",
"karma-jasmine": "~4.0.0",
+1
View File
@@ -0,0 +1 @@
+6
View File
@@ -1 +1,7 @@
<app-top-bar></app-top-bar>
<router-outlet></router-outlet>
<app-bottom-bar></app-bottom-bar>
+25 -3
View File
@@ -16,10 +16,20 @@ import {NewestPricesListComponent} from './components/newest-prices-list/newest-
import {FormsModule} from '@angular/forms';
import {PageNotFoundPageComponent} from './pages/page-not-found-page/page-not-found-page.component';
import {MatMenuModule} from '@angular/material/menu';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {ImprintComponent} from './pages/imprint/imprint.component';
import {PrivacyComponent} from './pages/privacy/privacy.component';
import {NgcCookieConsentModule, NgcCookieConsentConfig} from 'ngx-cookieconsent';
import {MatSlideToggleModule} from '@angular/material/slide-toggle';
import {TopBarComponent} from './components/top-bar/top-bar.component';
import {RouterModule} from '@angular/router';
import {MatButtonModule} from "@angular/material/button";
import {MatToolbarModule} from '@angular/material/toolbar';
import {MatIconModule} from '@angular/material/icon';
import {MatSidenavModule} from '@angular/material/sidenav';
import {MatListModule} from "@angular/material/list";
import {BottomBarComponent} from './components/bottom-bar/bottom-bar.component';
// For cookie popup
const cookieConfig: NgcCookieConsentConfig = {
@@ -73,7 +83,9 @@ const cookieConfig: NgcCookieConsentConfig = {
NewestPricesListComponent,
PageNotFoundPageComponent,
ImprintComponent,
PrivacyComponent
PrivacyComponent,
TopBarComponent,
BottomBarComponent
],
imports: [
BrowserModule,
@@ -83,7 +95,17 @@ const cookieConfig: NgcCookieConsentConfig = {
FormsModule,
MatMenuModule,
BrowserAnimationsModule,
NgcCookieConsentModule.forRoot(cookieConfig)
NgcCookieConsentModule.forRoot(cookieConfig),
MatSlideToggleModule,
MatButtonModule,
MatToolbarModule,
MatSidenavModule,
MatListModule,
MatButtonModule,
MatIconModule,
RouterModule.forRoot([
{path: '', component: LandingpageComponent},
]),
],
providers: [],
bootstrap: [AppComponent]
@@ -0,0 +1,28 @@
.bottom-bar-container {
background-color: black
;
width: 100%;
height: 68px;
position: fixed;
padding: 16px;
align-items: center;
bottom: 0;
display: grid;
grid-template-columns: 100px auto 100px;
}
.betterzonlogo {
grid-column-start: 1;
grid-column-end: 2;
}
.references {
grid-column-start: 2;
grid-column-end: 3;
align-items: center;
}
.copyright {
grid-column-start: 3;
grid-column-end: 4;
}
@@ -0,0 +1,14 @@
<div class="bottom-bar-container">
<div class="betterzonlogo">
<a>
<img src="assets/images/Betterzon.svg" [routerLink]="''" alt="Betterzon Logo" width="50px">
</a>
</div>
<div class="references">
<mat-icon aria-hidden="false" aria-label="Example home icon" [routerLink]="''">home</mat-icon>
</div>
<div class="copyright">
Betterzon ©2020
</div>
</div>
@@ -0,0 +1,25 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { BottomBarComponent } from "./bottom-bar.component";
describe("BottomBarComponent", () => {
let component: BottomBarComponent;
let fixture: ComponentFixture<BottomBarComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ BottomBarComponent ]
})
.compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(BottomBarComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-bottom-bar',
templateUrl: "./bottom-bar.component.html",
styleUrls: ["./bottom-bar.component.css"]
})
export class BottomBarComponent implements OnInit {
constructor() { }
ngOnInit(): void {
}
}
@@ -3,7 +3,7 @@
left: 0;
bottom: 0;
width: 100%;
background-color: dimgrey;
background-color: #1976d2;
color: white;
}
@@ -30,5 +30,3 @@
text-decoration: none;
}
@@ -48,3 +48,8 @@
padding: 10px;
color: #fff;
}
.slider {
position: relative;
margin: auto;
}
@@ -7,6 +7,9 @@
<div class="searchBox">
<input *ngIf="showSearch===true" type="text" [(ngModel)]="searchInput" placeholder="Search" (keyup.enter)="startedSearch()">
</div>
<div class="slider">
<mat-slide-toggle color="primary">dark me</mat-slide-toggle>
</div>
<div class="profileIcon">
<button mat-button [matMenuTriggerFor]="menu">Menu</button>
<mat-menu #menu="matMenu">
@@ -0,0 +1,3 @@
.column {
width: 33.33%;
}
@@ -0,0 +1,4 @@
<a>
<img src="assets/images/Betterzon.svg" [routerLink]="''" alt="Betterzon Logo" width="50px">
</a>
<a class="button fancy-button"><i class="material-icons">shopping_cart</i>Checkout</a>
@@ -0,0 +1,25 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { TopBarComponent } from './top-bar.component';
describe('TopBarComponent', () => {
let component: TopBarComponent;
let fixture: ComponentFixture<TopBarComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ TopBarComponent ]
})
.compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(TopBarComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -0,0 +1,17 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-top-bar',
templateUrl: './top-bar.component.html',
styleUrls: ['./top-bar.component.css']
})
export class TopBarComponent implements OnInit {
sidenav: any;
constructor() { }
ngOnInit(): void {
}
}
@@ -1,4 +1,4 @@
<app-header [showSearch]="false"></app-header>
<div id="mainComponents">
<div id="searchContainer">
<input type="text" [(ngModel)]="searchInput" placeholder="Search" (keyup.enter)="startedSearch()">
@@ -1,4 +1,3 @@
<app-header [showSearch]="true"></app-header>
<div id="mainComponents">
<app-product-details [productId]="productId"></app-product-details>
<app-newest-prices-list [productId]="productId"></app-newest-prices-list>
@@ -1,6 +1,6 @@
<app-header [showSearch]="true"></app-header>
<div id="mainComponents">
<app-product-list numberOfProducts="20" [showProductPicture]="true" searchQuery="{{searchTerm}}"
type="search"></app-product-list>
</div>
<app-footer></app-footer>
+122 -7
View File
@@ -1,9 +1,124 @@
/* You can add global styles to this file, and also import other style files */
body {
margin: 0;
font-family: sans-serif;
margin-bottom: 10em;
* {
font-family: 'Roboto', Arial, sans-serif;
color: #616161;
box-sizing: border-box;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
html, body { height: 100%; }
body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; }
body {
margin: 0;
}
.container {
display: flex;
flex-direction: row;
}
router-outlet + * {
padding: 0 16px;
}
/* Text */
h1 {
font-size: 32px;
}
h2 {
font-size: 20px;
}
h1, h2 {
font-weight: lighter;
}
p {
font-size: 14px;
}
/* Hyperlink */
a {
cursor: pointer;
color: #1976d2;
text-decoration: none;
}
a:hover {
opacity: 0.8;
}
/* Input */
input {
font-size: 14px;
border-radius: 2px;
padding: 8px;
margin-bottom: 16px;
border: 1px solid #BDBDBD;
}
label {
font-size: 12px;
font-weight: bold;
margin-bottom: 4px;
display: block;
text-transform: uppercase;
}
/* Button */
.button, button {
display: inline-flex;
align-items: center;
padding: 8px 16px;
border-radius: 2px;
font-size: 14px;
cursor: pointer;
background-color: #1976d2;
color: white;
border: none;
}
.button:hover, button:hover {
opacity: 0.8;
font-weight: normal;
}
.button:disabled, button:disabled {
opacity: 0.5;
cursor: auto;
}
/* Fancy Button */
.fancy-button {
background-color: white;
color: #1976d2;
}
.fancy-button i.material-icons {
color: #1976d2;
padding-right: 4px;
}
/* Top Bar */
app-top-bar {
width: 100%;
height: 68px;
background-color: #1976d2;
padding: 16px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
box-shadow: 0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)
}
app-top-bar, app-bottom-bar h1 {
color: white;
margin: 0;
}
+15
View File
@@ -0,0 +1,15 @@
@import '~@angular/material/theming';
@include mat-core();
$themes_primary: mat-palette($mat-green);
$themes_accent: mat-palette($mat-pink, A200, A100, A400);
$themes_theme: mat-light-theme((
color: (
primary: $themes_primary,
accent: $themes_accent,
)
));
@include angular-material-theme($themes_theme);