|
478 | 478 | </ion-button> |
479 | 479 | </div> |
480 | 480 | </app-bottom-action-bar> |
| 481 | + |
| 482 | + <!-- standalone pagination for completed reviews (bottom action bar hidden) --> |
| 483 | + <ion-footer class="standalone-pagination-footer" |
| 484 | + *ngIf="action === 'review' |
| 485 | + && submission?.status === 'feedback available' |
| 486 | + && review?.status === 'done' |
| 487 | + && isPaginationEnabled |
| 488 | + && pageCount > 1"> |
| 489 | + <div class="pagination-container" |
| 490 | + [class.few-pages]="pageCount < manyPages"> |
| 491 | + <ion-button fill="clear" |
| 492 | + class="nav-button prev-button" |
| 493 | + (click)="prevPage()" |
| 494 | + [disabled]="pageIndex === 0"> |
| 495 | + <ion-icon name="chevron-back-outline"></ion-icon> |
| 496 | + <span>Prev</span> |
| 497 | + </ion-button> |
| 498 | + |
| 499 | + <div class="page-indicators" |
| 500 | + [class.many-pages]="pageCount > manyPages" |
| 501 | + *ngIf="pageCount > 1" |
| 502 | + #pageIndicatorsContainer> |
| 503 | + <ng-container *ngFor="let page of pages; trackBy: trackById; let i = index"> |
| 504 | + <div class="page-indicator" |
| 505 | + [class.active]="pageIndex === page" |
| 506 | + [class.incompleted]="!pageRequiredCompletion[page]" |
| 507 | + [id]="'page-indicator-' + page" |
| 508 | + (click)="goToPage(page)" |
| 509 | + tabindex="0" |
| 510 | + role="button" |
| 511 | + [attr.aria-label]="'Page ' + (i + 1)" |
| 512 | + (keydown.enter)="goToPage(page)" |
| 513 | + (keydown.space)="goToPage(page); $event.preventDefault()"> |
| 514 | + |
| 515 | + <div class="progress-ring"> |
| 516 | + <span class="page-number">{{ i + 1 }}</span> |
| 517 | + </div> |
| 518 | + |
| 519 | + <ion-icon *ngIf="pageRequiredCompletion[page]" |
| 520 | + name="checkmark-circle" |
| 521 | + class="completion-icon completed"> |
| 522 | + </ion-icon> |
| 523 | + <ion-icon *ngIf="!pageRequiredCompletion[page]" |
| 524 | + name="close-circle-outline" |
| 525 | + class="completion-icon"> |
| 526 | + </ion-icon> |
| 527 | + </div> |
| 528 | + </ng-container> |
| 529 | + </div> |
| 530 | + |
| 531 | + <ion-button fill="clear" |
| 532 | + class="nav-button next-button" |
| 533 | + (click)="nextPage()" |
| 534 | + [disabled]="pageIndex >= pageCount - 1"> |
| 535 | + <span>Next</span> |
| 536 | + <ion-icon name="chevron-forward-outline"></ion-icon> |
| 537 | + </ion-button> |
| 538 | + </div> |
| 539 | + </ion-footer> |
481 | 540 | </ng-container> |
482 | 541 |
|
483 | 542 | <ng-template #blocked> |
|
0 commit comments