diff --git a/src/app/app.component.html b/src/app/app.component.html index e0b5d4e..b187592 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,24 +1,24 @@ - +
- @for(card of cards; track cards) { + @for(card of cardService.cardsInCurrentSet; track card) { }
- @for(card of cards; track cards) { + @for(card of cardService.cardsInCurrentSet;; track card) { }
- @for(card of cards; track cards) { + @for(card of cardService.cardsInCurrentSet;; track card) { }
diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 4cc40b4..4d02950 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -28,8 +28,7 @@ export class AppComponent { constructor( private sheets: googleSheetService, private setService: SetService, - private cardService: CardService, - private httpClient: HttpClient, + public cardService: CardService, @Inject(DOCUMENT) private document: Document ) {} @@ -41,7 +40,8 @@ export class AppComponent { windowScrolled = false; - ngOnInit() { + ngOnInit() + { window.addEventListener('scroll', () => { this.windowScrolled = window.scrollY !== 0; }); @@ -52,7 +52,7 @@ export class AppComponent { if(this.sets != undefined) { this.selectedSet = this.sets[0] - this.sheets.getSet(this.sets[0]).subscribe( values => { + this.sheets.getSet(this.selectedSet).subscribe( values => { let bob = values as any; this.selectedSet.total = bob.values.length; this.cards = this.cardService.convertToCardInfo(this.selectedSet, bob.values as Array) @@ -60,8 +60,14 @@ export class AppComponent { } }); } - - scrollToTop(): void { + + ngOnChanges() + { + console.log(this.selectedSet); + } + + scrollToTop(): void + { this.document.body.scrollIntoView({ behavior: 'smooth', block: 'start', diff --git a/src/app/components/card-display/card-display.component.ts b/src/app/components/card-display/card-display.component.ts index 3d9a023..f468039 100644 --- a/src/app/components/card-display/card-display.component.ts +++ b/src/app/components/card-display/card-display.component.ts @@ -44,6 +44,11 @@ export class CardDisplayComponent { if(this.displayHyperspace) { + if(this.card.hyperspaceSetNumber == undefined) + { + return false; + } + if(this.set.noHypers.includes(this.card.setNumber)) { return false; diff --git a/src/app/components/top-bar/top-bar.component.html b/src/app/components/top-bar/top-bar.component.html index 4b3a7b0..d7ea224 100644 --- a/src/app/components/top-bar/top-bar.component.html +++ b/src/app/components/top-bar/top-bar.component.html @@ -2,9 +2,9 @@ @if(sets) { - + @for(set of sets; track set) { - {{set.name}} + {{set.name}} } diff --git a/src/app/components/top-bar/top-bar.component.ts b/src/app/components/top-bar/top-bar.component.ts index eb292ff..1cc3ef0 100644 --- a/src/app/components/top-bar/top-bar.component.ts +++ b/src/app/components/top-bar/top-bar.component.ts @@ -1,7 +1,7 @@ import { Component, Input, OnChanges } from '@angular/core'; import { MatToolbarModule } from '@angular/material/toolbar'; -import { MatSelectModule } from '@angular/material/select'; +import { MatSelectChange, MatSelectModule } from '@angular/material/select'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatMenuModule } from '@angular/material/menu'; import { MatButtonModule } from '@angular/material/button'; @@ -10,6 +10,8 @@ import { MatIconModule } from '@angular/material/icon'; import { SetInfo } from '../../models/setInfo.model'; import { FilterService } from '../../services/filter.service'; +import { CardService } from '../../services/card.service'; +import { googleSheetService } from '../../services/googleSheets.service'; @Component({ selector: 'app-top-bar', @@ -27,11 +29,13 @@ import { FilterService } from '../../services/filter.service'; styleUrl: './top-bar.component.scss' }) export class TopBarComponent { - selected!: SetInfo; + @Input() selected!: SetInfo; @Input() sets!: Array; constructor( private filterService: FilterService, + private sheets: googleSheetService, + private cardService: CardService, ) {} @@ -39,8 +43,7 @@ export class TopBarComponent { { if(this.sets) { - this.selected = this.sets[0] - console.log("onInit") + this.selected = Object.assign(this.sets[0]); } } @@ -63,4 +66,15 @@ export class TopBarComponent { { this.filterService.setFilter(true, false, false, false); } + + onSetSelectionChanged(data: MatSelectChange) + { + this.selected = data.value; + this.sheets.getSet(this.selected).subscribe( values => { + let bob = values as any; + this.selected.total = bob.values.length; + this.cardService.convertToCardInfo(this.selected, bob.values as Array) + }) + console.log(data) + } } diff --git a/src/app/services/card.service.ts b/src/app/services/card.service.ts index 125b9f4..1096cb2 100644 --- a/src/app/services/card.service.ts +++ b/src/app/services/card.service.ts @@ -8,8 +8,10 @@ import { CardInfo } from '../models/card.model'; export class CardService { + cardsInCurrentSet!: Array; + convertToCardInfo(set: SetInfo, data : Array) : Array { - let cards = new Array; + this.cardsInCurrentSet = new Array; let hypercount = 0; for (let index in data) @@ -30,10 +32,10 @@ export class CardService { } } - cards.push(info); + this.cardsInCurrentSet.push(info); } - return cards; + return this.cardsInCurrentSet; } convertStandardCard(set: SetInfo, data : Array, hypercount: number) : CardInfo { @@ -81,7 +83,7 @@ export class CardService { info.isBase = types.includes("Base"); info.standardQuantity = data[1] ? parseInt(data[1].toString()) : 0; - info.name = data[10] as string; + info.name = data[7] as string; return info; } diff --git a/src/app/services/googleSheets.service.ts b/src/app/services/googleSheets.service.ts index ced0ea5..314d32e 100644 --- a/src/app/services/googleSheets.service.ts +++ b/src/app/services/googleSheets.service.ts @@ -16,6 +16,8 @@ export class googleSheetService { private http: HttpClient ) {} + + getSet(setToFetch: SetInfo) { let bottom_right = setToFetch.typesColumn + setToFetch.sheetRange[1].slice(1); diff --git a/src/assets/GC23/001-small-portrait.webp b/src/assets/GC23/001-small-portrait.webp new file mode 100644 index 0000000..04e1e4c Binary files /dev/null and b/src/assets/GC23/001-small-portrait.webp differ diff --git a/src/assets/GC23/002-small-portrait.webp b/src/assets/GC23/002-small-portrait.webp new file mode 100644 index 0000000..f75da7d Binary files /dev/null and b/src/assets/GC23/002-small-portrait.webp differ diff --git a/src/assets/SOROP/001-small.webp b/src/assets/SOROP/001-small.webp new file mode 100644 index 0000000..693043b Binary files /dev/null and b/src/assets/SOROP/001-small.webp differ diff --git a/src/assets/SOROP/002-small.webp b/src/assets/SOROP/002-small.webp new file mode 100644 index 0000000..b9e40e7 Binary files /dev/null and b/src/assets/SOROP/002-small.webp differ diff --git a/src/assets/SOROP/003-small.webp b/src/assets/SOROP/003-small.webp new file mode 100644 index 0000000..01b8daa Binary files /dev/null and b/src/assets/SOROP/003-small.webp differ diff --git a/src/assets/SOROP/004-small.webp b/src/assets/SOROP/004-small.webp new file mode 100644 index 0000000..2f6d7fa Binary files /dev/null and b/src/assets/SOROP/004-small.webp differ diff --git a/src/assets/SOROP/005-small.webp b/src/assets/SOROP/005-small.webp new file mode 100644 index 0000000..0983dee Binary files /dev/null and b/src/assets/SOROP/005-small.webp differ diff --git a/src/assets/SOROP/006-small-portrait.webp b/src/assets/SOROP/006-small-portrait.webp new file mode 100644 index 0000000..e37d9fd Binary files /dev/null and b/src/assets/SOROP/006-small-portrait.webp differ diff --git a/src/assets/SOROP/006-small.webp b/src/assets/SOROP/006-small.webp new file mode 100644 index 0000000..e37d9fd Binary files /dev/null and b/src/assets/SOROP/006-small.webp differ diff --git a/src/assets/SOROP/007-small.webp b/src/assets/SOROP/007-small.webp new file mode 100644 index 0000000..b67e037 Binary files /dev/null and b/src/assets/SOROP/007-small.webp differ diff --git a/src/assets/SOROP/008-small.webp b/src/assets/SOROP/008-small.webp new file mode 100644 index 0000000..3e3cda0 Binary files /dev/null and b/src/assets/SOROP/008-small.webp differ diff --git a/src/assets/SOROP/009-small.webp b/src/assets/SOROP/009-small.webp new file mode 100644 index 0000000..ed66898 Binary files /dev/null and b/src/assets/SOROP/009-small.webp differ diff --git a/src/assets/SOROP/010-small.webp b/src/assets/SOROP/010-small.webp new file mode 100644 index 0000000..ff64360 Binary files /dev/null and b/src/assets/SOROP/010-small.webp differ diff --git a/src/assets/SOROP/011-small.webp b/src/assets/SOROP/011-small.webp new file mode 100644 index 0000000..fd02ecc Binary files /dev/null and b/src/assets/SOROP/011-small.webp differ diff --git a/src/assets/SOROP/012-small.webp b/src/assets/SOROP/012-small.webp new file mode 100644 index 0000000..318f4e0 Binary files /dev/null and b/src/assets/SOROP/012-small.webp differ diff --git a/src/assets/SOROP/013-small.webp b/src/assets/SOROP/013-small.webp new file mode 100644 index 0000000..4fefd69 Binary files /dev/null and b/src/assets/SOROP/013-small.webp differ diff --git a/src/assets/SOROP/014-small.webp b/src/assets/SOROP/014-small.webp new file mode 100644 index 0000000..9e14ea6 Binary files /dev/null and b/src/assets/SOROP/014-small.webp differ diff --git a/src/assets/SOROP/015-small.webp b/src/assets/SOROP/015-small.webp new file mode 100644 index 0000000..72946ae Binary files /dev/null and b/src/assets/SOROP/015-small.webp differ diff --git a/src/assets/SOROP/016-small.webp b/src/assets/SOROP/016-small.webp new file mode 100644 index 0000000..0578c6b Binary files /dev/null and b/src/assets/SOROP/016-small.webp differ diff --git a/src/assets/SOROP/017-small.webp b/src/assets/SOROP/017-small.webp new file mode 100644 index 0000000..b17f394 Binary files /dev/null and b/src/assets/SOROP/017-small.webp differ diff --git a/src/assets/SOROP/018-small.webp b/src/assets/SOROP/018-small.webp new file mode 100644 index 0000000..d3bf6d6 Binary files /dev/null and b/src/assets/SOROP/018-small.webp differ diff --git a/src/assets/SOROP/019-small.webp b/src/assets/SOROP/019-small.webp new file mode 100644 index 0000000..395d50c Binary files /dev/null and b/src/assets/SOROP/019-small.webp differ diff --git a/src/assets/SOROP/020-small.webp b/src/assets/SOROP/020-small.webp new file mode 100644 index 0000000..a34bb0c Binary files /dev/null and b/src/assets/SOROP/020-small.webp differ diff --git a/src/assets/SORPR/001-small-portrait.webp b/src/assets/SORPR/001-small-portrait.webp new file mode 100644 index 0000000..2d631b0 Binary files /dev/null and b/src/assets/SORPR/001-small-portrait.webp differ diff --git a/src/assets/SORPR/002-small-portrait.webp b/src/assets/SORPR/002-small-portrait.webp new file mode 100644 index 0000000..9f31bc0 Binary files /dev/null and b/src/assets/SORPR/002-small-portrait.webp differ diff --git a/src/assets/sets.json b/src/assets/sets.json index 84de777..9662049 100644 --- a/src/assets/sets.json +++ b/src/assets/sets.json @@ -19,7 +19,7 @@ "sheetRange": ["A4", "D5"], "typesColumn" : "N", "isPromo": true, - "code": "SOR", + "code": "GC23", "total": 2, "leaders": 2, "bases": 0, @@ -33,26 +33,26 @@ "sheetRange": ["A6", "D7"], "typesColumn" : "N", "isPromo": true, - "code": "SOR", + "code": "SORPR", "total": 2, "leaders": 2, "bases": 0, "showcaseStart": -1, "numShowcase": 0, - "noHypers" : [1,2] + "noHypers" : [] }, { "name": "OP Promo Set 1", "sheetName": "Promo Cards", - "sheetRange": ["A11", "D32"], + "sheetRange": ["A13", "D32"], "typesColumn" : "N", "isPromo": true, - "code": "SOR", + "code": "SOROP", "total": 2, "leaders": 2, "bases": 0, "showcaseStart": -1, "numShowcase": 0, - "noHypers" : [1,2] + "noHypers" : [] } ]