changereserve buttons

This commit is contained in:
peter
2021-01-31 18:19:33 +01:00
parent 78abe78903
commit c2d2917de3
5 changed files with 51 additions and 1 deletions
+3
View File
@@ -15,4 +15,7 @@ export class IItemManager{
wipeCurrencyAndItems: () => Promise<void>
decayTokens: (tier: Tiers, amount?:number) => Promise<void>
decayTokensOfCharacter: (tier: Tiers, character:Character, amount?:number) => Promise<void>
increaseReserve: (token: Character & SRToken & Item) => Promise<void>
decreaseReserve: (token: Character & SRToken & Item) => Promise<void>
}
@@ -62,6 +62,12 @@ export class ItemManager
RPCs: () => [
this.decayTokensOfCharacter
]
}, {
name: 'changeReserve' as 'changeReserve',
RPCs: () => [
this.decreaseReserve,
this.increaseReserve
]
}]
notifyRaid = async (raid: Raid | { id: number }) => {
@@ -427,6 +433,25 @@ export class ItemManager
)
}
}
increaseReserve = (token: Character & SRToken & Item) : Promise<void> => this.admin
.knex(token.tier+"tokens")
.where({
characterid: token.characterid,
itemname: token.itemname
}).update({
level: token.level+1
})
decreaseReserve = (token: Character & SRToken & Item) : Promise<void> => this.admin
.knex(token.tier+"tokens")
.where({
characterid: token.characterid,
itemname: token.itemname
}).update({
level: Math.max(1, token.level-1)
})
}
function toStats(obj:any){
@@ -23,4 +23,8 @@ export type ItemManagerFeatureIfc = {
decay: {
decayTokensOfCharacter: IItemManager['decayTokensOfCharacter']
}
changeReserve: {
increaseReserve: IItemManager['increaseReserve']
decreaseReserve: IItemManager['decreaseReserve']
}
}
@@ -257,7 +257,6 @@
<tr>
<td>
<wowhead [item]="item.value[0]"></wowhead><br />
</td>
</tr>
<tr>
@@ -267,7 +266,15 @@
<span
[ngStyle]="{'text-decoration': token.rank=='Trial'? 'line-through' : 'none currentcolor solid' }">
<span style="text-transform: capitalize;">
<button (click)="decreaseReserve(token)" *ngIf="changeReserve" nbButton
outline status="warning" size="tiny">
-
</button>
[ {{token.level}} ]&nbsp;
<button (click)="increaseReserve(token)" *ngIf="changeReserve" nbButton
outline status="warning" size="tiny">
+
</button>
<a [routerLink]="'/frontcraft/character/'+token.charactername"
[ngStyle]="{'color':token.level>=10?'#ff8000':token.level>=8?'#a335ee':token.level>=6?'#0070dd':token.level>=4?'#1eff00':token.level>=2?'#ffffff':'#9d9d9d'}">
{{token.charactername}}
@@ -26,6 +26,7 @@ export class FrontcraftRaidComponent
isTier = false
reservesShown = true
manageRaid
changeReserve
mySignup: (Signup & Character & Spec)
raid: RaidData = <any>{
@@ -64,6 +65,7 @@ export class FrontcraftRaidComponent
ngOnInit() {
this.manageRaid = this.api.get('manageRaid')
this.changeReserve = this.api.get('changeReserve')
const signupFeature = this.api.get('signup')
if (signupFeature) {
@@ -267,4 +269,13 @@ export class FrontcraftRaidComponent
}
}
increaseReserve(token: Character & SRToken & Item){
this.changeReserve.increaseReserve(token)
.then(_ => this.refresh())
}
decreaseReserve(token: Character & SRToken & Item){
this.changeReserve.decreaseReserve(token)
.then(_ => this.refresh())
}
}