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> wipeCurrencyAndItems: () => Promise<void>
decayTokens: (tier: Tiers, amount?:number) => Promise<void> decayTokens: (tier: Tiers, amount?:number) => Promise<void>
decayTokensOfCharacter: (tier: Tiers, character:Character, 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: () => [ RPCs: () => [
this.decayTokensOfCharacter this.decayTokensOfCharacter
] ]
}, {
name: 'changeReserve' as 'changeReserve',
RPCs: () => [
this.decreaseReserve,
this.increaseReserve
]
}] }]
notifyRaid = async (raid: Raid | { id: number }) => { 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){ function toStats(obj:any){
@@ -23,4 +23,8 @@ export type ItemManagerFeatureIfc = {
decay: { decay: {
decayTokensOfCharacter: IItemManager['decayTokensOfCharacter'] decayTokensOfCharacter: IItemManager['decayTokensOfCharacter']
} }
changeReserve: {
increaseReserve: IItemManager['increaseReserve']
decreaseReserve: IItemManager['decreaseReserve']
}
} }
@@ -257,7 +257,6 @@
<tr> <tr>
<td> <td>
<wowhead [item]="item.value[0]"></wowhead><br /> <wowhead [item]="item.value[0]"></wowhead><br />
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -267,7 +266,15 @@
<span <span
[ngStyle]="{'text-decoration': token.rank=='Trial'? 'line-through' : 'none currentcolor solid' }"> [ngStyle]="{'text-decoration': token.rank=='Trial'? 'line-through' : 'none currentcolor solid' }">
<span style="text-transform: capitalize;"> <span style="text-transform: capitalize;">
<button (click)="decreaseReserve(token)" *ngIf="changeReserve" nbButton
outline status="warning" size="tiny">
-
</button>
[ {{token.level}} ]&nbsp; [ {{token.level}} ]&nbsp;
<button (click)="increaseReserve(token)" *ngIf="changeReserve" nbButton
outline status="warning" size="tiny">
+
</button>
<a [routerLink]="'/frontcraft/character/'+token.charactername" <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'}"> [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}} {{token.charactername}}
@@ -26,6 +26,7 @@ export class FrontcraftRaidComponent
isTier = false isTier = false
reservesShown = true reservesShown = true
manageRaid manageRaid
changeReserve
mySignup: (Signup & Character & Spec) mySignup: (Signup & Character & Spec)
raid: RaidData = <any>{ raid: RaidData = <any>{
@@ -64,6 +65,7 @@ export class FrontcraftRaidComponent
ngOnInit() { ngOnInit() {
this.manageRaid = this.api.get('manageRaid') this.manageRaid = this.api.get('manageRaid')
this.changeReserve = this.api.get('changeReserve')
const signupFeature = this.api.get('signup') const signupFeature = this.api.get('signup')
if (signupFeature) { 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())
}
} }