Final tweaks

This commit is contained in:
Kaloian Venkov 2021-03-14 03:09:10 +02:00
parent 970e13681c
commit 07be9e1300
26 changed files with 237 additions and 15 deletions

View File

@ -1,7 +1,21 @@
<div [class]="{ container: true, dialog: true, mini: mini }" #container> <div [class]="{ container: true, dialog: true, mini: mini }" #container>
<div class="tags"> <div class="tags">
<div class="contents" *ngFor="let type of card.types" > <div class="contents" *ngFor="let type of card.types" >
<div [class]="[type, 'icon']" *ngIf="type !== 'normal'"></div> <div [class]="[type, 'icon']" *ngIf="type === 'endangered'"></div>
<div [class]="[type, 'icon']" *ngIf="type === 'recycle'">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 380.477 380.477" xml:space="preserve">
<g>
<polygon points="327.713,145.251 266.734,178.233 313.709,265.247 282.199,264.756 283.13,237.175 218.117,295.995
278.434,361.755 279.577,332.674 324.343,332.674 368.884,259.75 380.477,240.048 "/>
<path d="M271.105,128.63l24.788-85.721l-25.432,14.151l-23.287-38.232l-106.014-0.107l-0.446,0.667
c-0.037,0.054-3.702,5.542-8.239,13.285l-47.138,80.762l59.903,34.932l49.879-85.382l15.972,27.167l-24.04,13.551L271.105,128.63z"
/>
<polygon points="83.151,242.314 106.861,256.434 86.7,171.113 0,192.224 24.922,207.254 3.328,246.467 45.729,320.675
56.94,339.097 165.875,339.847 166.401,270.505 67.521,269.679 "/>
</g>
</svg>
</div>
</div> </div>
</div> </div>
<div class="main" *ngIf="!flipped"> <div class="main" *ngIf="!flipped">

View File

@ -44,6 +44,25 @@
background-image: url('/assets/icons/risk-skull.svg'); background-image: url('/assets/icons/risk-skull.svg');
background-color: red; background-color: red;
} }
position: relative;
&.endangered:hover {
&::after {
position: absolute;
opacity: 0.99999;
bottom: 0;
content: 'Череп на червен фон означава, че следната карта е на застрашен вид';
background-color: white;
max-width: 100px;
z-index: 9999999;
}
}
&.recycle {
background-color: green;
fill: white;
display: flex;
justify-content: center;
align-items: center;
}
} }
} }
.info { .info {

View File

@ -11,6 +11,7 @@ export class DashboardCardsComponent implements OnInit {
constructor( constructor(
private userdata: UserdataService, private userdata: UserdataService,
private db: DbService,
) { } ) { }
ngOnInit(): void { ngOnInit(): void {

View File

@ -17,7 +17,7 @@ export interface Card {
info: CardParagraph[]; info: CardParagraph[];
imageUrl: string; imageUrl: string;
name: string; name: string;
types: Array<"endangered" | "normal">; types: Array<"endangered" | "normal" | "recycle">;
} }
export interface Answer { export interface Answer {
choises: string[]; choises: string[];

View File

@ -15,9 +15,8 @@
<igx-linear-bar [max]="questions.length" [value]="currQuestionN - 1" class="progress"></igx-linear-bar> <igx-linear-bar [max]="questions.length" [value]="currQuestionN - 1" class="progress"></igx-linear-bar>
<div class="container2" *ngIf="currQuestion.photoUrlsAbove.length > 0"> <div class="container2" *ngIf="currQuestion.photoUrlsAbove.length > 0">
<div class="photos"> <div class="photos">
<div *ngFor="let photo of currQuestion.photoUrlsAbove" <img *ngFor="let photo of currQuestion.photoUrlsAbove"
class="photo" [style.background-image]="'url(\'' + photo + '\')'"> class="photo" [src]="photo">
</div>
</div> </div>
<h6>{{currQuestion.question}}</h6> <h6>{{currQuestion.question}}</h6>

View File

@ -70,7 +70,6 @@
gap: .5em; gap: .5em;
margin: 1em 0; margin: 1em 0;
.photo { .photo {
flex: 0 0 150px;
height: 150px; height: 150px;
background-size: cover; background-size: cover;
background-position: center; background-position: center;

View File

@ -140,7 +140,8 @@ export class MinigameConveyorRecyclingComponent implements AfterViewInit, OnInit
throwOutSounds: HTMLAudioElement[] = []; throwOutSounds: HTMLAudioElement[] = [];
backgroundMusic: HTMLAudioElement; backgroundMusic: HTMLAudioElement;
trashSpeed = 1000; trashSpeed = 200;
nextTrasgSpeedDecrease = 55;
simulationSpeed = 10; simulationSpeed = 10;
friction = 5; friction = 5;
gravitation = 9; gravitation = 9;
@ -156,13 +157,7 @@ export class MinigameConveyorRecyclingComponent implements AfterViewInit, OnInit
milliseconds = 0; milliseconds = 0;
won = false; won = false;
wonCard: Card = { wonCard: Card = null;
imageUrl: '',
info: [],
name: 'test',
types: ['endangered'],
};
timeMax = 1; timeMax = 1;
time = 0; time = 0;
@ -295,6 +290,10 @@ export class MinigameConveyorRecyclingComponent implements AfterViewInit, OnInit
const pointX = (trash.el.rect.left + trash.el.rect.right) / 2; const pointX = (trash.el.rect.left + trash.el.rect.right) / 2;
const pointY = trash.el.rect.bottom; const pointY = trash.el.rect.bottom;
this.trashSpeed -= this.nextTrasgSpeedDecrease;
this.milliseconds = 0;
this.nextTrasgSpeedDecrease = Math.round(this.nextTrasgSpeedDecrease / 2);
if (newPos.bin.acceptedTypes.includes(trash.el.type)) { if (newPos.bin.acceptedTypes.includes(trash.el.type)) {
this.points++; this.points++;
this.showPoint(1, pointX, pointY); this.showPoint(1, pointX, pointY);
@ -354,7 +353,7 @@ export class MinigameConveyorRecyclingComponent implements AfterViewInit, OnInit
this.conveyor.speed = 2; this.conveyor.speed = 2;
this.mainLoopID = setInterval(() => { this.mainLoopID = setInterval(() => {
if (!this.suspended) { if (!this.suspended) {
if (this.milliseconds % (this.simulationSpeed * 100) === 0) { if (this.milliseconds % (this.simulationSpeed * this.trashSpeed) === 0) {
this.spawnTrash(); this.spawnTrash();
} }
@ -431,8 +430,11 @@ export class MinigameConveyorRecyclingComponent implements AfterViewInit, OnInit
restart(): void { restart(): void {
this.points = 0; this.points = 0;
this.mistakes = 0;
this.ended = false; this.ended = false;
this.backgroundMusic.currentTime = 0; this.backgroundMusic.currentTime = 0;
this.trashSpeed = 200;
this.nextTrasgSpeedDecrease = 50;
this.time = 0; this.time = 0;
this.trashes.forEach(v => v.el.element.remove()); this.trashes.forEach(v => v.el.element.remove());
this.trashes = []; this.trashes = [];

View File

@ -553,4 +553,88 @@ export const mock_card_types: Saved<Card>[] = [
], ],
}, },
}, },
{
id: "34",
el: {
name: "Кенчета",
types: ['recycle'],
imageUrl: "/assets/images/cards/tincan.png",
info: [
{
heading: "До луната и обратно... 20 пъти",
content: "Американците изхвърлят всяка година кутиики от сода или бутилки, които са достатъчни да стигнат до Луната и да се върнат около 20 пъти.",
},
],
},
},
{
id: "35",
el: {
name: "Тоалетна хартия",
types: ['recycle'],
imageUrl: "/assets/images/cards/toilet-paper.jpg",
info: [
{
heading: "Тоалетна-o-ception",
content: "27,000 дървета се отсичат всеки ден за направата на тоалетна хартия.",
},
],
},
},
{
id: "36",
el: {
name: "Хартия",
types: ['recycle'],
imageUrl: "/assets/images/cards/image_19.jpg",
info: [
{
heading: "Интересно",
content: "1 тон рециклирана хартия спасява около 13 дървета и 32 000 литра вода.",
},
],
},
},
{
id: "37",
el: {
name: "Пластмаса",
types: ['recycle'],
imageUrl: "/assets/images/cards/image_20.jpg",
info: [
{
heading: "Интересно",
content: "На сметището пластмасата се разпада 400 години.",
},
],
},
},
{
id: "38",
el: {
name: "Пластмаса",
types: ['recycle'],
imageUrl: "/assets/images/cards/image_21.jpg",
info: [
{
heading: "Интересно",
content: "Спестената енергия от рециклирането на 1 пластмасова бутилка ще захрани компютър за 25 минути.",
},
],
},
},
{
id: "39",
el: {
name: "Стъкло",
types: ['recycle'],
imageUrl: "/assets/images/cards/image_22.jpg",
info: [
{
heading: "Интересно",
content: "1 рециклирана стъклена бутилка спестява електричеството, нужно на телевизора ви да работи 1.5 часа.",
},
],
},
},
]; ];

View File

@ -253,4 +253,62 @@ export const mock_questions: Saved<Question>[] = [
} }
} }
}, },
{
id: '16',
el: {
category: 'plants',
photoUrlsAbove: [
'/assets/images/questions/izcheznali-1.png',
'/assets/images/questions/izcheznali-2.png',
'/assets/images/questions/izcheznali-3.png',
],
question: 'Кое от тези растения е изчезнало в България?',
answer: {
choises: [
'Еделвайс',
'Източна тинтява',
'Бардуче',
],
correctChoise: 'Източна тинтява',
}
}
},
{
id: '17',
el: {
category: 'plants',
photoUrlsAbove: [
'/assets/images/questions/nartsisova-susunka.png',
'/assets/images/questions/damsko-surce.png',
],
question: 'Кое от тези растения е защитено?',
answer: {
choises: [
'Нарцисоцветна съсънка',
'Дамско сърце',
],
correctChoise: 'Нарцисоцветна съсънка',
}
}
},
{
id: '18',
el: {
category: 'plants',
photoUrlsAbove: [
'/assets/images/questions/grebenat-na-petela.png',
'/assets/images/questions/cveteto-prilep.png',
'/assets/images/questions/liliq-kobra.png',
],
question: 'Кое от тези растения се среща в България?',
answer: {
choises: [
'Гребенът на петела',
'Цветето лилия',
'Лилия кобра',
],
correctChoise: 'Гребенът на петела',
}
}
},
]; ];

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 380.477 380.477" xml:space="preserve">
<g>
<polygon points="327.713,145.251 266.734,178.233 313.709,265.247 282.199,264.756 283.13,237.175 218.117,295.995
278.434,361.755 279.577,332.674 324.343,332.674 368.884,259.75 380.477,240.048 "/>
<path d="M271.105,128.63l24.788-85.721l-25.432,14.151l-23.287-38.232l-106.014-0.107l-0.446,0.667
c-0.037,0.054-3.702,5.542-8.239,13.285l-47.138,80.762l59.903,34.932l49.879-85.382l15.972,27.167l-24.04,13.551L271.105,128.63z"
/>
<polygon points="83.151,242.314 106.861,256.434 86.7,171.113 0,192.224 24.922,207.254 3.328,246.467 45.729,320.675
56.94,339.097 165.875,339.847 166.401,270.505 67.521,269.679 "/>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -41,4 +41,5 @@ $my-color-palette: igx-palette($primary: $company-color,
background-color: #f8f8f855; background-color: #f8f8f855;
backdrop-filter: blur(10px); backdrop-filter: blur(10px);
box-shadow: #0004 3px 3px 5px; box-shadow: #0004 3px 3px 5px;
z-index: -1 ;
} }