diff options
Diffstat (limited to 'ufund-ui/src/app/components/cupboard')
-rw-r--r-- | ufund-ui/src/app/components/cupboard/cupboard.component.html | 6 | ||||
-rw-r--r-- | ufund-ui/src/app/components/cupboard/cupboard.component.ts | 14 |
2 files changed, 16 insertions, 4 deletions
diff --git a/ufund-ui/src/app/components/cupboard/cupboard.component.html b/ufund-ui/src/app/components/cupboard/cupboard.component.html index c055c31..71c258e 100644 --- a/ufund-ui/src/app/components/cupboard/cupboard.component.html +++ b/ufund-ui/src/app/components/cupboard/cupboard.component.html @@ -18,7 +18,7 @@ {{SortingAlgorithms[algorithm].display[sortMode === 'Ascending' ? 0 : 1]}} </option> </select> - <button (click)="toggleSortMode(searchForm.value)"> + <button (click)="toggleSortMode(searchForm.value)" [title]="sortMode"> <span class="icon">{{sortMode === 'Ascending' ? 'arrow_upward': 'arrow_downward'}}</span> </button> <label>Needs per page: </label> @@ -30,8 +30,8 @@ <h2 *ngIf="searchResults.length == 0"> No Results Found </h2> <ng-template let-need #NLActions> - <button *ngIf="isHelper()" (click)="addToBasket(need)"> - <span class="icon">add</span>Add To Basket + <button *ngIf="isHelper()" (click)="addToBasket(need)" [disabled]="inBasket(usersService.getBasket() | async, need)"> + <span class="icon">{{inBasket(usersService.getBasket() | async, need)? "check": "add" }}</span>Add To Basket </button> <button *ngIf="isManager()" (click)="select(need)"> <span class="icon">edit</span>Edit Need diff --git a/ufund-ui/src/app/components/cupboard/cupboard.component.ts b/ufund-ui/src/app/components/cupboard/cupboard.component.ts index a4f8db2..bde8e27 100644 --- a/ufund-ui/src/app/components/cupboard/cupboard.component.ts +++ b/ufund-ui/src/app/components/cupboard/cupboard.component.ts @@ -8,6 +8,7 @@ import {AuthService} from '../../services/auth.service'; import {ToastsService, ToastType} from '../../services/toasts.service'; import {UsersService} from '../../services/users.service'; import {SortingAlgoArrays} from './sorting'; +import {Router} from '@angular/router'; @Component({ selector: 'app-cupboard', @@ -33,7 +34,8 @@ export class CupboardComponent implements OnInit { private cupboardService: CupboardService, private authService: AuthService, private toastService: ToastsService, - private usersService: UsersService + protected usersService: UsersService, + private router: Router ) {} ngOnInit(): void { @@ -42,6 +44,8 @@ export class CupboardComponent implements OnInit { // this.refresh() this.search(null) }); + this.authService.getCurrentUserSubject().subscribe( + () => this.usersService.refreshBasket()) } refresh() { @@ -121,6 +125,8 @@ export class CupboardComponent implements OnInit { return of(); })) .subscribe(() => { + let action = {label: "View Basket", onAction: () => this.router.navigate(['/basket'])} + this.toastService.sendToast(ToastType.INFO, `"${need.name}" Added to basket`, action) this.usersService.refreshBasket(); }); } else { @@ -137,6 +143,12 @@ export class CupboardComponent implements OnInit { return this.authService.getCurrentUser()?.type === userType.HELPER } + inBasket(basket: Need[] | null, need: Need) { + console.log(basket) + console.log(need) + return basket?.map(r => r.id).includes(need.id); + } + // --------------- FORM STUFF NOT IMPLEMENTED YET --------------- // // async updateSearchResults() { |