aboutsummaryrefslogtreecommitdiff
path: root/ufund-ui/src/app/components/need-page/need-page.component.html
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-04-04 21:55:12 -0400
committersowgro <tpoke.ferrari@gmail.com>2025-04-04 21:55:12 -0400
commitb578584a1208178100bf90e8b06971772c7fc00f (patch)
tree6c2e5ee5fd3cc7e96e036704ebe3b1ba7cbfc9f5 /ufund-ui/src/app/components/need-page/need-page.component.html
parent03431245f71385c5d641f66a7f63c1a22ab65210 (diff)
downloadJellySolutions-b578584a1208178100bf90e8b06971772c7fc00f.tar.gz
JellySolutions-b578584a1208178100bf90e8b06971772c7fc00f.tar.bz2
JellySolutions-b578584a1208178100bf90e8b06971772c7fc00f.zip
Fix many bugs and code clean up
Diffstat (limited to 'ufund-ui/src/app/components/need-page/need-page.component.html')
-rw-r--r--ufund-ui/src/app/components/need-page/need-page.component.html96
1 files changed, 50 insertions, 46 deletions
diff --git a/ufund-ui/src/app/components/need-page/need-page.component.html b/ufund-ui/src/app/components/need-page/need-page.component.html
index aed3e95..592a71e 100644
--- a/ufund-ui/src/app/components/need-page/need-page.component.html
+++ b/ufund-ui/src/app/components/need-page/need-page.component.html
@@ -1,48 +1,52 @@
<div id="box">
- <h1>{{need.name}}</h1>
- <span class="needType">{{need.type}} GOAL</span>
-
- <img *ngIf="need.image" alt="Need image" [src]="need.image"/>
-
- <p>{{need.description}}</p>
- <div class="prog">
-<!-- <span>{{need?.current}} / {{need?.maxGoal}}</span>-->
- <progress [value]="need.current" [max]="need.maxGoal"></progress>
- <span>This goal is <strong>{{(((need.current)*100) / (need.maxGoal)).toFixed(0)}}%</strong> complete!</span>
- </div>
-
- <span><strong>Target Goal:</strong> {{need.maxGoal}}</span>
-
- <span><strong>Amount Currently Collected:</strong> {{need.current}}</span>
-
- <span><strong>Location:</strong> {{need.location}}</span>
-
- <span><strong>Urgency: </strong>
- <span *ngIf="!need.urgent">Not urgent</span>
- <span *ngIf="need.urgent" class="urgent">URGENT</span>
- </span>
-
- <div *ngIf="need.filterAttributes.length > 0">
- <strong>Tags:</strong>
- <ul style="display: flex; column-gap: 24px;">
- <li *ngFor="let tag of need?.filterAttributes">
- <p>{{tag}}</p>
- </li>
- </ul>
- </div>
-
- <div class="actionArea">
- <button *ngIf="isHelper()" (click)="add(need!)">
- <span class="icon">add</span>Add To Basket
- </button>
- <ng-template #edit>
- <app-need-edit [mode]="'Edit'" *ngIf="need" [need]="need" (refreshNeedList)="ngOnInit()"></app-need-edit>
- </ng-template>
- <button *ngIf="isManager()" (click)="modalService.showModal(edit)">
- <span class="icon">edit</span>Edit Need
- </button>
- <button *ngIf="isManager()" (click)="delete(need!.id)" >
- <span class="icon">delete</span>Delete Need
- </button>
- </div>
+ @if (need) {
+ <h1>{{need.name}}</h1>
+ <span class="needType">{{need.type}} GOAL</span>
+
+ <img *ngIf="need.image" alt="Need image" [src]="need.image"/>
+
+ <p>{{need.description}}</p>
+ <div class="prog">
+ <progress [value]="need.current" [max]="need.maxGoal"></progress>
+ <span>This goal is <strong>{{(((need.current)*100) / (need.maxGoal)).toFixed(0)}}%</strong> complete!</span>
+ </div>
+
+ <span><strong>Target Goal:</strong> {{need.maxGoal}}</span>
+
+ <span><strong>Amount Currently Collected:</strong> {{need.current}}</span>
+
+ <span><strong>Location:</strong> {{need.location}}</span>
+
+ <span><strong>Urgency: </strong>
+ <span *ngIf="!need.urgent">Not urgent</span>
+ <span *ngIf="need.urgent" class="urgent">URGENT</span>
+ </span>
+
+ <div *ngIf="need.filterAttributes?.length">
+ <strong>Tags:</strong>
+ <ul style="display: flex; column-gap: 24px;">
+ <li *ngFor="let tag of need?.filterAttributes">
+ <p>{{tag}}</p>
+ </li>
+ </ul>
+ </div>
+
+ <div class="actionArea">
+ <button *ngIf="usersService.isHelper()" (click)="add(need)" [disabled]="usersService.inBasket(usersService.getBasket() | async, need)">
+ <span class="icon">{{usersService.inBasket(usersService.getBasket() | async, need)? "check": "add" }}</span>Add To Basket
+ </button>
+ <ng-template #edit>
+ <app-need-edit [mode]="'Edit'" *ngIf="need" [need]="need" (refreshNeedList)="ngOnInit()"></app-need-edit>
+ </ng-template>
+ <button *ngIf="usersService.isManager()" (click)="modalService.showModal(edit)">
+ <span class="icon">edit</span>Edit Need
+ </button>
+ <button *ngIf="usersService.isManager()" (click)="delete(need!.id)" >
+ <span class="icon">delete</span>Delete Need
+ </button>
+ </div>
+ } @else {
+ <h1>Need not found</h1>
+ <span>The requested need does not exist. <a routerLink="/cupboard">Browse the cupboard</a></span>
+ }
</div>