37 changed files with 204 additions and 187 deletions
@ -0,0 +1,9 @@ |
|||
<div class="component-detail container"> |
|||
<div class="row"> |
|||
<div class="col-11 col-md-10 col-lg-12 content mx-auto"> |
|||
<button class="back icon-back" (click)="back()"></button> |
|||
<h2 class="title">{{details.title}}</h2> |
|||
<div class="text" [innerHTML]="details.text"></div> |
|||
<span class="tags"><b>Tags:</b> {{details.tags}}</span> |
|||
</div> |
|||
</div> |
@ -0,0 +1,63 @@ |
|||
@import "../../assets/scss/variables"; |
|||
|
|||
.component-detail { |
|||
z-index: 0; |
|||
|
|||
.content { |
|||
position: relative; |
|||
margin: 150px auto 80px auto; |
|||
padding: 40px 50px; |
|||
background: $white-alpha; |
|||
color: $black; |
|||
box-shadow: 0px 0px 25px $white-alpha; |
|||
border-radius: 10px; |
|||
|
|||
.title { |
|||
margin-top: 0; |
|||
font-size: $font-34; |
|||
font-weight: bold; |
|||
text-transform: uppercase; |
|||
} |
|||
|
|||
.text { |
|||
font-size: $font-18; |
|||
text-align: justify; |
|||
} |
|||
|
|||
.tags { |
|||
display: block; |
|||
font-size: $font-12; |
|||
text-transform: uppercase; |
|||
padding-top: 40px; |
|||
} |
|||
|
|||
.back { |
|||
position: absolute; |
|||
top: -40px; |
|||
left: 0px; |
|||
height: 40px; |
|||
width: 60px; |
|||
appearance: none; |
|||
border: none; |
|||
padding: 0; |
|||
font-size: $font-40; |
|||
color: $white-alpha; |
|||
background: transparent; |
|||
cursor: pointer; |
|||
transition: transform .3s; |
|||
-webkit-backface-visibility: hidden; |
|||
|
|||
&:hover { |
|||
transform: scale(1.1) translateX(-10px); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
@media (min-width: map-get($grid-breakpoints, 'md')) { |
|||
.component-detail { |
|||
.content { |
|||
transform: rotate(2deg) skew(0deg, -6deg); |
|||
} |
|||
} |
|||
} |
@ -1,20 +1,20 @@ |
|||
import { async, ComponentFixture, TestBed } from '@angular/core/testing'; |
|||
|
|||
import { ExhibitionsComponent } from './exhibitions.component'; |
|||
import { DetailComponent } from './detail.component'; |
|||
|
|||
describe('ExhibitionsComponent', () => { |
|||
let component: ExhibitionsComponent; |
|||
let fixture: ComponentFixture<ExhibitionsComponent>; |
|||
describe('DetailComponent', () => { |
|||
let component: DetailComponent; |
|||
let fixture: ComponentFixture<DetailComponent>; |
|||
|
|||
beforeEach(async(() => { |
|||
TestBed.configureTestingModule({ |
|||
declarations: [ ExhibitionsComponent ] |
|||
declarations: [ DetailComponent ] |
|||
}) |
|||
.compileComponents(); |
|||
})); |
|||
|
|||
beforeEach(() => { |
|||
fixture = TestBed.createComponent(ExhibitionsComponent); |
|||
fixture = TestBed.createComponent(DetailComponent); |
|||
component = fixture.componentInstance; |
|||
fixture.detectChanges(); |
|||
}); |
@ -0,0 +1,38 @@ |
|||
import { Component, OnInit } from '@angular/core' |
|||
import { Router, NavigationEnd } from '@angular/router' |
|||
import { Location } from '@angular/common' |
|||
import { ApisService } from '../services/apis.service' |
|||
|
|||
@Component({ |
|||
selector: 'app-detail', |
|||
templateUrl: './detail.component.html', |
|||
styleUrls: ['./detail.component.scss'] |
|||
}) |
|||
export class DetailComponent implements OnInit { |
|||
|
|||
public details: any = {} |
|||
|
|||
constructor( |
|||
private apisService: ApisService, |
|||
private router: Router, |
|||
private location: Location |
|||
){ } |
|||
|
|||
ngOnInit(): void { |
|||
this.showDetails(this.router.url.split('/')[2]) |
|||
} |
|||
|
|||
showDetails(id): void { |
|||
this.apisService.getDetails(id).toPromise().then((response) => { |
|||
this.details = response.item |
|||
},(error) => { |
|||
console.error('getPortfolio ERROR', error) |
|||
}).catch((e) => { |
|||
console.error('getPortfolio CATCH', e) |
|||
}) |
|||
} |
|||
|
|||
back() { |
|||
this.location.back() |
|||
} |
|||
} |
@ -1 +0,0 @@ |
|||
<p>entertainment works!</p> |
@ -1,25 +0,0 @@ |
|||
import { async, ComponentFixture, TestBed } from '@angular/core/testing'; |
|||
|
|||
import { EntertainmentComponent } from './entertainment.component'; |
|||
|
|||
describe('EntertainmentComponent', () => { |
|||
let component: EntertainmentComponent; |
|||
let fixture: ComponentFixture<EntertainmentComponent>; |
|||
|
|||
beforeEach(async(() => { |
|||
TestBed.configureTestingModule({ |
|||
declarations: [ EntertainmentComponent ] |
|||
}) |
|||
.compileComponents(); |
|||
})); |
|||
|
|||
beforeEach(() => { |
|||
fixture = TestBed.createComponent(EntertainmentComponent); |
|||
component = fixture.componentInstance; |
|||
fixture.detectChanges(); |
|||
}); |
|||
|
|||
it('should create', () => { |
|||
expect(component).toBeTruthy(); |
|||
}); |
|||
}); |
@ -1,15 +0,0 @@ |
|||
import { Component, OnInit } from '@angular/core'; |
|||
|
|||
@Component({ |
|||
selector: 'app-entertainment', |
|||
templateUrl: './entertainment.component.html', |
|||
styleUrls: ['./entertainment.component.scss'] |
|||
}) |
|||
export class EntertainmentComponent implements OnInit { |
|||
|
|||
constructor() { } |
|||
|
|||
ngOnInit(): void { |
|||
} |
|||
|
|||
} |
@ -1 +0,0 @@ |
|||
<p>exhibitions works!</p> |
@ -1,15 +0,0 @@ |
|||
import { Component, OnInit } from '@angular/core'; |
|||
|
|||
@Component({ |
|||
selector: 'app-exhibitions', |
|||
templateUrl: './exhibitions.component.html', |
|||
styleUrls: ['./exhibitions.component.scss'] |
|||
}) |
|||
export class ExhibitionsComponent implements OnInit { |
|||
|
|||
constructor() { } |
|||
|
|||
ngOnInit(): void { |
|||
} |
|||
|
|||
} |
@ -1 +0,0 @@ |
|||
<p>installations works!</p> |
@ -1,25 +0,0 @@ |
|||
import { async, ComponentFixture, TestBed } from '@angular/core/testing'; |
|||
|
|||
import { InstallationsComponent } from './installations.component'; |
|||
|
|||
describe('InstallationsComponent', () => { |
|||
let component: InstallationsComponent; |
|||
let fixture: ComponentFixture<InstallationsComponent>; |
|||
|
|||
beforeEach(async(() => { |
|||
TestBed.configureTestingModule({ |
|||
declarations: [ InstallationsComponent ] |
|||
}) |
|||
.compileComponents(); |
|||
})); |
|||
|
|||
beforeEach(() => { |
|||
fixture = TestBed.createComponent(InstallationsComponent); |
|||
component = fixture.componentInstance; |
|||
fixture.detectChanges(); |
|||
}); |
|||
|
|||
it('should create', () => { |
|||
expect(component).toBeTruthy(); |
|||
}); |
|||
}); |
@ -1,15 +0,0 @@ |
|||
import { Component, OnInit } from '@angular/core'; |
|||
|
|||
@Component({ |
|||
selector: 'app-installations', |
|||
templateUrl: './installations.component.html', |
|||
styleUrls: ['./installations.component.scss'] |
|||
}) |
|||
export class InstallationsComponent implements OnInit { |
|||
|
|||
constructor() { } |
|||
|
|||
ngOnInit(): void { |
|||
} |
|||
|
|||
} |
@ -1 +0,0 @@ |
|||
<p>performances works!</p> |
@ -1,25 +0,0 @@ |
|||
import { async, ComponentFixture, TestBed } from '@angular/core/testing'; |
|||
|
|||
import { PerformancesComponent } from './performances.component'; |
|||
|
|||
describe('PerformancesComponent', () => { |
|||
let component: PerformancesComponent; |
|||
let fixture: ComponentFixture<PerformancesComponent>; |
|||
|
|||
beforeEach(async(() => { |
|||
TestBed.configureTestingModule({ |
|||
declarations: [ PerformancesComponent ] |
|||
}) |
|||
.compileComponents(); |
|||
})); |
|||
|
|||
beforeEach(() => { |
|||
fixture = TestBed.createComponent(PerformancesComponent); |
|||
component = fixture.componentInstance; |
|||
fixture.detectChanges(); |
|||
}); |
|||
|
|||
it('should create', () => { |
|||
expect(component).toBeTruthy(); |
|||
}); |
|||
}); |
@ -1,15 +0,0 @@ |
|||
import { Component, OnInit } from '@angular/core'; |
|||
|
|||
@Component({ |
|||
selector: 'app-performances', |
|||
templateUrl: './performances.component.html', |
|||
styleUrls: ['./performances.component.scss'] |
|||
}) |
|||
export class PerformancesComponent implements OnInit { |
|||
|
|||
constructor() { } |
|||
|
|||
ngOnInit(): void { |
|||
} |
|||
|
|||
} |
Binary file not shown.
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 18 KiB |
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue