fix armory
This commit is contained in:
@@ -27,13 +27,14 @@ export class FrontcraftArmoryComponent implements OnInit {
|
||||
|
||||
fetch(dataLink).then(raw => raw.json().then(async (json: any[]) => {
|
||||
if (json.length < 1) return
|
||||
let min = -1
|
||||
let data
|
||||
let min = -1
|
||||
|
||||
for (let i = json.length - 1; i > 0; i--) {
|
||||
if (json[i].startTime > min && json[i].gear[0].name != "Unknown Item") {
|
||||
const start = Number.parseInt(json[i].startTime)
|
||||
if (start > min && json[i].gear[0].name != "Unknown Item") {
|
||||
min = start
|
||||
data = json[i]
|
||||
break
|
||||
}
|
||||
}
|
||||
if (!data) {
|
||||
@@ -59,7 +60,7 @@ export class FrontcraftArmoryComponent implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
function sumStats(stat1: Stats, stat2: Stats):Stats{
|
||||
function sumStats(stat1: Stats, stat2: Stats): Stats {
|
||||
const ret = {} as any
|
||||
Object.keys(stat1).forEach(key => {
|
||||
ret[key] = stat1[key] + stat2[key]
|
||||
|
||||
@@ -9,70 +9,65 @@ import { IApiService } from '../../services/ApiService';
|
||||
selector: 'character',
|
||||
templateUrl: './character.component.html',
|
||||
})
|
||||
export class FrontcraftCharacterComponent implements OnInit{
|
||||
export class FrontcraftCharacterComponent implements OnInit {
|
||||
|
||||
@Input() name?: string
|
||||
@Input() link?: "owner" | "character" = 'owner'
|
||||
@Input() name?: string
|
||||
@Input() link?: "owner" | "character" = 'owner'
|
||||
|
||||
char : (Character & User & Spec) = {
|
||||
race: 'Human',
|
||||
class: 'Warrior'
|
||||
} as any
|
||||
color : string
|
||||
tokens
|
||||
dataLink = ""
|
||||
boss1 = {}
|
||||
gear1:string[] = []
|
||||
char: (Character & User & Spec) = {
|
||||
race: 'Human',
|
||||
class: 'Warrior'
|
||||
} as any
|
||||
color: string
|
||||
tokens
|
||||
dataLink = ""
|
||||
boss1 = {}
|
||||
gear1: string[] = []
|
||||
|
||||
boss2= {name: undefined, date:undefined}
|
||||
gear2:string[] = []
|
||||
boss2 = { name: undefined, date: undefined }
|
||||
gear2: Item[] = []
|
||||
|
||||
constructor(
|
||||
private api: IApiService,
|
||||
private route: ActivatedRoute,
|
||||
){}
|
||||
constructor(
|
||||
private api: IApiService,
|
||||
private route: ActivatedRoute,
|
||||
) { }
|
||||
|
||||
async ngOnInit(){
|
||||
const param = this.name || this.route.snapshot.paramMap.get('name');
|
||||
if(!param) return
|
||||
async ngOnInit() {
|
||||
const param = this.name || this.route.snapshot.paramMap.get('name');
|
||||
if (!param) return
|
||||
|
||||
this.api.get('CharacterManager')
|
||||
.getCharacterByName(param)
|
||||
.then((char) => {
|
||||
if(char){
|
||||
this.color = getClassColor(char.class)
|
||||
this.char = char
|
||||
this.api.get('ItemManager').getTokens(this.char, _Tiers, true).then(tokens => {
|
||||
this.tokens = tokens
|
||||
})
|
||||
|
||||
this.dataLink = "https://classic.warcraftlogs.com:443/v1/parses/character/"+this.char.charactername.replace(/^\w/, c => c.toUpperCase())+"/Gandling/EU?api_key=c698515ab4f592cdb848d80b3abe616c&metric=dps"
|
||||
|
||||
fetch(this.dataLink).then(raw => raw.json().then((json:any[]) => {
|
||||
if(json.length < 1) return
|
||||
let data
|
||||
let min = -1
|
||||
|
||||
for(let i = json.length-1; i > 0; i--){
|
||||
if(json[i].startTime > min && json[i].gear[0].name != "Unknown Item"){
|
||||
data = json[i]
|
||||
break
|
||||
}
|
||||
}
|
||||
if(!data) return
|
||||
|
||||
this.boss2 = {
|
||||
name: data.encounterName,
|
||||
date: data.startTime
|
||||
}
|
||||
this.gear2 = data.gear.map(item => {return <Item>{
|
||||
itemname: item.name,
|
||||
iconname: item.icon.replace('.jpg', ''),
|
||||
quality: item.quality.replace(/^\w/, c => c.toUpperCase()),
|
||||
url: "https://classic.wowhead.com/item="+item.id,
|
||||
}}).filter(item => item.itemname != "Unknown Item")
|
||||
}))
|
||||
}
|
||||
const char = await this.api.get('CharacterManager').getCharacterByName(param)
|
||||
if (char) {
|
||||
this.color = getClassColor(char.class)
|
||||
this.char = char
|
||||
this.api.get('ItemManager').getTokens(this.char, _Tiers, true).then(tokens => {
|
||||
this.tokens = tokens
|
||||
})
|
||||
|
||||
this.dataLink = "https://classic.warcraftlogs.com:443/v1/parses/character/" + this.char.charactername.replace(/^\w/, c => c.toUpperCase()) + "/Gandling/EU?api_key=c698515ab4f592cdb848d80b3abe616c&metric=dps"
|
||||
|
||||
const json: any[] = await fetch(this.dataLink).then(raw => raw.json())
|
||||
if (json.length < 1) return
|
||||
let data
|
||||
let min = -1
|
||||
|
||||
for (let i = json.length - 1; i > 0; i--) {
|
||||
const start = Number.parseInt(json[i].startTime)
|
||||
if (start > min && json[i].gear[0].name != "Unknown Item") {
|
||||
min = start
|
||||
data = json[i]
|
||||
}
|
||||
}
|
||||
if (!data) return
|
||||
|
||||
this.boss2 = {
|
||||
name: data.encounterName,
|
||||
date: data.startTime
|
||||
}
|
||||
|
||||
const maybeItems: (Item | undefined)[] = await Promise.all(data.gear.filter(item => item.name != "Unknown Item").map(async item => await this.api.get('ItemManager').getItem(item.name)))
|
||||
const geardata = maybeItems.filter(maybeItem => maybeItem != null)
|
||||
this.gear2 = geardata
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user