Skip to content

Commit d06f331

Browse files
authored
Merge pull request #5 from Babali42/amelioration-style-et-navigation
amélioration style et navigation
2 parents 10ef33a + c158177 commit d06f331

File tree

3 files changed

+48
-26
lines changed

3 files changed

+48
-26
lines changed

src/app/app.component.html

+10-7
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
<div class="main-container" [ngClass]="{'flex': !isMobileDisplay}">
22
<div class="flex column left-menu" *ngIf="!isMobileDisplay">
33
<div class="header"> DRUMS<br> PATTERN<br> LIBRARY</div>
4-
<div class="flex menu genre">
5-
<h2>1 - Choisir un genre</h2>
6-
<div class="button pointer" *ngFor="let genre of musicGenres; let i = index;" (click)="selectGenre(i)" [ngClass]="{'selected':i==selectedGenreIndex}">{{ genre.label }}</div>
4+
<div class="flex menu genre mt-40">
5+
<h2>1 - Choisir un genre</h2>
6+
<div class="button pointer" *ngFor="let genre of musicGenres; let i = index;" (click)="selectGenre(i)"
7+
[ngClass]="{'selected':i==selectedGenreIndex}">{{ genre.label }}
78
</div>
8-
<div class="flex menu">
9-
<h2>2 - Choisir un sous-genre</h2>
10-
<div class="button pointer" [routerLink]="subgenre.link"
11-
*ngFor="let subgenre of musicGenres[selectedGenreIndex].subGenres; let i = index;" (click)="selectSubGenre(i)" [ngClass]="{'selected':i==selectedSubGenreIndex}">{{ subgenre.label }}</div>
9+
</div>
10+
<div class="flex menu mt-40">
11+
<h2>2 - Choisir un sous-genre</h2>
12+
<div class="button pointer" *ngFor="let subgenre of musicGenres[selectedGenreIndex].subGenres; let i = index;"
13+
(click)="selectSubGenre(i)" [ngClass]="{'selected':i==selectedSubGenreIndex}">{{ subgenre.label }}
1214
</div>
15+
</div>
1316
</div>
1417
<div *ngIf="isMobileDisplay">
1518
<div class="header-mobile">DRUMS PATTERN LIBRARY</div>

src/app/app.component.scss

+14-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
1+
.main-container {
2+
height: 100%;
3+
}
4+
15
.flex {
26
display: flex;
3-
height: 100%;
7+
}
8+
9+
.mt-40 {
10+
margin-top: 40px;
411
}
512

613
.menu {
@@ -12,15 +19,19 @@
1219
justify-content: flex-end;
1320
}
1421

15-
.button{
22+
.button {
1623
border-radius: 5px;
1724
width: 90%;
1825
padding: 5px;
1926

20-
&.selected{
27+
&.selected {
2128
background-color: black;
2229
color: white;
2330
}
31+
32+
&:hover:not(.selected) {
33+
background-color: #cecece;
34+
}
2435
}
2536
}
2637

src/app/app.component.ts

+24-16
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import {Component, OnInit} from '@angular/core';
22
import {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';
3-
import {Subgenre} from "./models/subgenre";
4-
import {Genre} from "./models/genre";
3+
import {Subgenre} from './models/subgenre';
4+
import {Genre} from './models/genre';
5+
import {Router} from '@angular/router';
56

67
@Component({
78
selector: 'app-root',
@@ -13,28 +14,27 @@ export class AppComponent implements OnInit {
1314
selectedGenreIndex: number = 0;
1415
selectedSubGenreIndex: number = 0;
1516
musicGenres: Genre[] = [
16-
new Genre("Metal",
17+
new Genre('Metal',
1718
[
18-
new Subgenre("Metal", "/metal"),
19-
new Subgenre("Rock", "/rock"),
20-
new Subgenre("Rock variation", "/rock-variation"),
21-
new Subgenre("Half time groove", "/half-time-groove"),
19+
new Subgenre('Metal', '/metal'),
20+
new Subgenre('Rock', '/rock'),
21+
new Subgenre('Rock variation', '/rock-variation'),
22+
new Subgenre('Half time groove', '/half-time-groove'),
2223
]),
23-
new Genre("Techno", [
24-
new Subgenre("Basique", "/techno"),
24+
new Genre('Techno', [
25+
new Subgenre('Basique', '/techno'),
2526
]),
26-
new Genre("Garage", [
27-
new Subgenre("Drum & Bass", "/drum-n-bass"),
28-
new Subgenre("Garage - 2 step", "/garage"),
27+
new Genre('Garage', [
28+
new Subgenre('Drum & Bass', '/drum-n-bass'),
29+
new Subgenre('Garage - 2 step', '/garage'),
2930
]),
30-
new Genre("Trance", [
31-
new Subgenre("Psytrance", "/psytrance"),
31+
new Genre('Trance', [
32+
new Subgenre('Psytrance', '/psytrance'),
3233
])
3334
];
3435

3536

36-
37-
constructor(private responsive: BreakpointObserver) {
37+
constructor(private responsive: BreakpointObserver, private router: Router) {
3838
}
3939

4040
ngOnInit(): void {
@@ -48,9 +48,17 @@ export class AppComponent implements OnInit {
4848

4949
selectGenre(i: number) {
5050
this.selectedGenreIndex = i;
51+
this.router.navigate([this.musicGenres[this.selectedGenreIndex].subGenres[0].link]).then(
52+
() => {},
53+
() => {},
54+
);
5155
}
5256

5357
selectSubGenre(i: number) {
5458
this.selectedSubGenreIndex = i;
59+
this.router.navigate([this.musicGenres[this.selectedGenreIndex].subGenres[this.selectedSubGenreIndex].link]).then(
60+
() => {},
61+
() => {},
62+
);
5563
}
5664
}

0 commit comments

Comments
 (0)