diff options
| author | Gunther6070 <haydenhartman10@yahoo.com> | 2025-04-05 13:44:33 -0400 | 
|---|---|---|
| committer | Gunther6070 <haydenhartman10@yahoo.com> | 2025-04-05 13:44:33 -0400 | 
| commit | ef52495d781a3adcec79bfbc9067f70f5ec3c8ab (patch) | |
| tree | e16e8cf36f1cafcf198d21d57a0b3a908116b3df /ufund-ui/src/app/components/funding-basket | |
| parent | d7c974a98de42f41f3ca16f961d2dee96a3c4313 (diff) | |
| parent | 0103ffc6f84d04433943c644ab759c1d04b5e681 (diff) | |
| download | JellySolutions-ef52495d781a3adcec79bfbc9067f70f5ec3c8ab.tar.gz JellySolutions-ef52495d781a3adcec79bfbc9067f70f5ec3c8ab.tar.bz2 JellySolutions-ef52495d781a3adcec79bfbc9067f70f5ec3c8ab.zip  | |
Merge branch 'main' into checkout-improvement
# Conflicts:
#	ufund-ui/src/app/components/funding-basket/funding-basket.component.html
#	ufund-ui/src/app/components/funding-basket/funding-basket.component.ts
Diffstat (limited to 'ufund-ui/src/app/components/funding-basket')
| -rw-r--r-- | ufund-ui/src/app/components/funding-basket/funding-basket.component.html | 62 | ||||
| -rw-r--r-- | ufund-ui/src/app/components/funding-basket/funding-basket.component.ts | 13 | 
2 files changed, 27 insertions, 48 deletions
diff --git a/ufund-ui/src/app/components/funding-basket/funding-basket.component.html b/ufund-ui/src/app/components/funding-basket/funding-basket.component.html index 67e1083..7b1a933 100644 --- a/ufund-ui/src/app/components/funding-basket/funding-basket.component.html +++ b/ufund-ui/src/app/components/funding-basket/funding-basket.component.html @@ -1,45 +1,25 @@  <div id="box"> -    <h1>Funding Basket</h1> -    <ng-template [ngIf]="usersService.getBasket().getValue().length"> -        <div id="needList"> -            <div *ngFor="let need of usersService.getBasket().getValue()" class="needEntry"> -                <div [routerLink]="'/need/' + need.id" class="clickable"> -                    <div class="split"> -                        <div class="left"> -                            <span class="needName">{{need.name}}</span> -                            <span class="needType">{{need.type}}</span> -                        </div> - -                        <div class="right"> -                            <span *ngIf="need.urgent" class="urgent">URGENT</span> -                            <span *ngIf="need.location"><span class="icon">location_on</span>{{need.location}}</span> -                        </div> -                    </div> - -                    <br> - -                    <div class="prog"> -                        <span id="hover-status-label-{{need.id}}"> </span> -                        <span>{{need.current}}/{{need.maxGoal}} ({{((need.current / need.maxGoal) * 100).toFixed(0)}}%)</span> -                        <progress [value]="need.current" [max]="need.maxGoal"></progress> -                    </div> -                </div> - -                <div class="actionArea"> -                    <input type="number" placeholder="Quantity" min="1" [id]="need.id" class="contribution" (input)="resetColor($event)"> -                    <button class="removeNeed" title="delete need" (click)="this.usersService.removeNeed(need.id)"> -                        <span class="icon">delete</span> Remove from Basket -                    </button> -                </div> +    @if ((authService.getCurrentUserSubject() | async)?.type === userType.HELPER) { +        <h1>Funding Basket</h1> +        <ng-template [ngIf]="(usersService.getBasket() | async)?.length"> +            <ng-template let-need #NLActions> +                <input type="number" placeholder="Quantity" min="1" [id]="need?.id" class="contribution" (input)="resetColor($event)"> +                <button class="removeNeed" (click)="this.usersService.removeNeed(need.id)"> +                    <span class="icon">delete</span>Remove from Basket +                </button> +            </ng-template> +            <app-need-list [actionArea]="NLActions" [needs]="(usersService.getBasket() | async)!"/> +            <br> +            <div id="footer"> +                <button class="button2" title="checkout" (click)="checkout()">Checkout</button> +                <span id="running-total">Your current running total is: ${{runningTotal | async}}</span>              </div> +        </ng-template> +        <div *ngIf="!usersService.getBasket().getValue().length"> +            <span>There are no needs in your basket! </span><a routerLink="/cupboard">Browse the cupboard</a>          </div> -        <br> -        <div id="footer"> -            <button class="button2" title="checkout" (click)="checkout()">Checkout</button> -            <span id="running-total">Your current running total is: ${{runningTotal | async}}</span> -        </div> -    </ng-template> -    <div *ngIf="!usersService.getBasket().getValue().length"> -        <span>There are no needs in your basket! </span><a routerLink="/cupboard">Browse the cupboard</a> -    </div> +    } @else { +        <h1>Unauthorized</h1> +        <span>This page requires you to be logged in as a user! <a routerLink="/login">Log In</a></span> +    }  </div> diff --git a/ufund-ui/src/app/components/funding-basket/funding-basket.component.ts b/ufund-ui/src/app/components/funding-basket/funding-basket.component.ts index a0ba609..78ce958 100644 --- a/ufund-ui/src/app/components/funding-basket/funding-basket.component.ts +++ b/ufund-ui/src/app/components/funding-basket/funding-basket.component.ts @@ -2,9 +2,10 @@ import {Component, Input, OnInit, ViewChild} from '@angular/core';  import {UsersService} from '../../services/users.service';  import {Router} from '@angular/router';  import {CupboardService} from '../../services/cupboard.service'; -import {BehaviorSubject, firstValueFrom} from 'rxjs'; +import {BehaviorSubject, firstValueFrom, of} from 'rxjs';  import {AuthService} from '../../services/auth.service';  import {ToastsService, ToastType} from '../../services/toasts.service'; +import {userType} from '../../models/User';  import {GoalType} from '../../models/Need';  @Component({ @@ -19,19 +20,14 @@ export class FundingBasketComponent implements OnInit {          private router: Router,          protected cupboardService: CupboardService,          protected usersService: UsersService, -        private authService: AuthService, +        protected authService: AuthService,          private toastService: ToastsService      ) {}      public runningTotal = new BehaviorSubject(0)      @ViewChild("contribution") contribution?: Input; -    // this is for login rerouting      ngOnInit(): void { -        if (!this.authService.getCurrentUser()) { -            this.router.navigate(['/login'], {queryParams: {redir: this.router.url}}); -            return; -        }          this.usersService.refreshBasket();      } @@ -78,4 +74,7 @@ export class FundingBasketComponent implements OnInit {          (ev.target as HTMLInputElement).setAttribute("style", "border-color: unset")      } + +    protected readonly of = of; +    protected readonly userType = userType;  }  | 
