diff --git a/configuration/prettier-config/package.json b/configuration/prettier-config/package.json index cdcd98a6..17559884 100644 --- a/configuration/prettier-config/package.json +++ b/configuration/prettier-config/package.json @@ -19,6 +19,6 @@ "test": "npx prettier --config index.json --check \"test/*.js\"" }, "peerDependencies": { - "prettier": "3.0.3" + "prettier": "3.1.0" } } diff --git a/frontend/app/.prettierrc.js b/frontend/app/.prettierrc.js index 98114568..5b7911b4 100644 --- a/frontend/app/.prettierrc.js +++ b/frontend/app/.prettierrc.js @@ -17,11 +17,10 @@ module.exports = { ...require('@openstapps/prettier-config'), overrides: [ { - files: 'src/**/*.html', + files: ['*.html'], options: { parser: 'angular', }, }, ], - ignorePath: ['.prettierignore', '../../.gitignore'], }; diff --git a/frontend/app/package.json b/frontend/app/package.json index a40076c6..11753cb8 100644 --- a/frontend/app/package.json +++ b/frontend/app/package.json @@ -184,7 +184,6 @@ "typescript": "5.2.2", "webpack-bundle-analyzer": "4.7.0" }, - "prettier": "@openstapps/prettier-config", "cordova": { "plugins": {}, "platforms": [ diff --git a/frontend/app/src/app/animation/animation-choreographer.ts b/frontend/app/src/app/animation/animation-choreographer.ts index 1bb1fda7..9a68847e 100644 --- a/frontend/app/src/app/animation/animation-choreographer.ts +++ b/frontend/app/src/app/animation/animation-choreographer.ts @@ -49,7 +49,10 @@ export class SharedAxisChoreographer { */ currentValue: T; - constructor(initialValue: T, readonly pages?: T[]) { + constructor( + initialValue: T, + readonly pages?: T[], + ) { this.currentValue = initialValue; this.expectedValue = initialValue; } diff --git a/frontend/app/src/app/modules/about/about-page/about-page-content.html b/frontend/app/src/app/modules/about/about-page/about-page-content.html index 0c837632..68c5f46b 100644 --- a/frontend/app/src/app/modules/about/about-page/about-page-content.html +++ b/frontend/app/src/app/modules/about/about-page/about-page-content.html @@ -14,18 +14,18 @@ -->
- +
- {{ 'title' | translateSimple : content }} + {{ 'title' | translateSimple: content }} -

{{ 'title' | translateSimple : content }}

+

{{ 'title' | translateSimple: content }}

@@ -38,6 +38,6 @@ - {{ 'title' | translateSimple : content }} + {{ 'title' | translateSimple: content }}
diff --git a/frontend/app/src/app/modules/about/about-page/about-page.component.ts b/frontend/app/src/app/modules/about/about-page/about-page.component.ts index abe311a0..10b2b370 100644 --- a/frontend/app/src/app/modules/about/about-page/about-page.component.ts +++ b/frontend/app/src/app/modules/about/about-page/about-page.component.ts @@ -31,7 +31,10 @@ export class AboutPageComponent implements OnInit { version = packageJson.version; - constructor(private readonly route: ActivatedRoute, private readonly configProvider: ConfigProvider) {} + constructor( + private readonly route: ActivatedRoute, + private readonly configProvider: ConfigProvider, + ) {} async ngOnInit() { const route = this.route.snapshot.url.map(it => it.path).join('/'); diff --git a/frontend/app/src/app/modules/about/about-page/about-page.html b/frontend/app/src/app/modules/about/about-page/about-page.html index 166c0655..5226594f 100644 --- a/frontend/app/src/app/modules/about/about-page/about-page.html +++ b/frontend/app/src/app/modules/about/about-page/about-page.html @@ -18,7 +18,7 @@ - {{ 'title' | translateSimple : content }} + {{ 'title' | translateSimple: content }} diff --git a/frontend/app/src/app/modules/assessments/page/assessments-page.html b/frontend/app/src/app/modules/assessments/page/assessments-page.html index 92c89f2c..aaf1b4ad 100644 --- a/frontend/app/src/app/modules/assessments/page/assessments-page.html +++ b/frontend/app/src/app/modules/assessments/page/assessments-page.html @@ -36,7 +36,7 @@ class="ion-text-wrap" *ngIf="assessments[key].courseOfStudy | async as course; else defaultLabel" > - {{ 'name' | thingTranslate : course }} ({{ 'academicDegree' | thingTranslate : course }}) + {{ 'name' | thingTranslate: course }} ({{ 'academicDegree' | thingTranslate: course }}) diff --git a/frontend/app/src/app/modules/assessments/types/assessment/assessment-base-info.html b/frontend/app/src/app/modules/assessments/types/assessment/assessment-base-info.html index ca8073c3..6ab45080 100644 --- a/frontend/app/src/app/modules/assessments/types/assessment/assessment-base-info.html +++ b/frontend/app/src/app/modules/assessments/types/assessment/assessment-base-info.html @@ -14,8 +14,12 @@ --> {{ (_item.grade | isNumeric) ? (_item.grade | numberLocalized : - 'minimumFractionDigits:1,maximumFractionDigits:1') : '' }} {{ 'status' | thingTranslate : _item | titlecase - }}, {{ 'attempt' | propertyNameTranslate : _item }} {{ _item.attempt }} + >{{ + (_item.grade | isNumeric) + ? (_item.grade | numberLocalized: 'minimumFractionDigits:1,maximumFractionDigits:1') + : '' + }} + {{ 'status' | thingTranslate: _item | titlecase }}, {{ 'attempt' | propertyNameTranslate: _item }} + {{ _item.attempt }} - {{ _item.ects }} {{ 'ects' | propertyNameTranslate : _item }} + {{ _item.ects }} {{ 'ects' | propertyNameTranslate: _item }} diff --git a/frontend/app/src/app/modules/assessments/types/assessment/assessment-detail.html b/frontend/app/src/app/modules/assessments/types/assessment/assessment-detail.html index 128d96ca..35e44384 100644 --- a/frontend/app/src/app/modules/assessments/types/assessment/assessment-detail.html +++ b/frontend/app/src/app/modules/assessments/types/assessment/assessment-detail.html @@ -16,8 +16,10 @@ - {{ $any('courseOfStudy' | propertyNameTranslate : item) | titlecase }}: {{ 'name' | thingTranslate : - $any(courseOfStudy) }} ({{ 'academicDegree' | thingTranslate : $any(courseOfStudy) }}) + {{ $any('courseOfStudy' | propertyNameTranslate: item) | titlecase }}: + {{ 'name' | thingTranslate: $any(courseOfStudy) }} ({{ + 'academicDegree' | thingTranslate: $any(courseOfStudy) + }}) diff --git a/frontend/app/src/app/modules/assessments/types/assessment/assessment-list-item.html b/frontend/app/src/app/modules/assessments/types/assessment/assessment-list-item.html index cb76aee5..f3200e0f 100644 --- a/frontend/app/src/app/modules/assessments/types/assessment/assessment-list-item.html +++ b/frontend/app/src/app/modules/assessments/types/assessment/assessment-list-item.html @@ -14,6 +14,6 @@ -->
-

{{ 'name' | thingTranslate : item }} {{ item.date ? (item.date | amDateFormat) : '' }}

+

{{ 'name' | thingTranslate: item }} {{ item.date ? (item.date | amDateFormat) : '' }}

diff --git a/frontend/app/src/app/modules/auth/auth-guard.service.ts b/frontend/app/src/app/modules/auth/auth-guard.service.ts index 5abdf5d7..03a570eb 100644 --- a/frontend/app/src/app/modules/auth/auth-guard.service.ts +++ b/frontend/app/src/app/modules/auth/auth-guard.service.ts @@ -22,7 +22,10 @@ import {AuthHelperService} from './auth-helper.service'; providedIn: 'root', }) export class AuthGuardService implements CanActivate { - constructor(private authHelper: AuthHelperService, private router: Router) {} + constructor( + private authHelper: AuthHelperService, + private router: Router, + ) {} public async canActivate(route: ActivatedProtectedRouteSnapshot, _state: RouterStateSnapshot) { if (route.queryParamMap.get('token')) { diff --git a/frontend/app/src/app/modules/background/schedule/schedule-sync.service.ts b/frontend/app/src/app/modules/background/schedule/schedule-sync.service.ts index 3ceaa38b..1521105b 100644 --- a/frontend/app/src/app/modules/background/schedule/schedule-sync.service.ts +++ b/frontend/app/src/app/modules/background/schedule/schedule-sync.service.ts @@ -134,9 +134,9 @@ export class ScheduleSyncService { private formatChanges(changes: ChangesOf): string[] { return changes.changes.map( change => - `${ - this.translator.translator.translatedPropertyNames(SCThingType.DateSeries)?.[change] - }: ${formatRelevantKeys[change]( + `${this.translator.translator.translatedPropertyNames(SCThingType.DateSeries)?.[ + change + ]}: ${formatRelevantKeys[change]( changes.new[change] as never, this.dateFormatPipe, this.durationFormatPipe, diff --git a/frontend/app/src/app/modules/calendar/add-event-review-modal.html b/frontend/app/src/app/modules/calendar/add-event-review-modal.html index 82a2d674..a978d05a 100644 --- a/frontend/app/src/app/modules/calendar/add-event-review-modal.html +++ b/frontend/app/src/app/modules/calendar/add-event-review-modal.html @@ -34,7 +34,7 @@ - {{ moment(iCalEvent.start) | amDateFormat : 'll, HH:mm' }} + {{ moment(iCalEvent.start) | amDateFormat: 'll, HH:mm' }} {{ iCalEvent.rrule.interval }} {{ iCalEvent.rrule.freq | sentencecase }} @@ -47,9 +47,9 @@
- {{ 'schedule.toCalendar.reviewModal.INCLUDE_CANCELLED' | translate }} + {{ + 'schedule.toCalendar.reviewModal.INCLUDE_CANCELLED' | translate + }}
diff --git a/frontend/app/src/app/modules/calendar/calendar.service.ts b/frontend/app/src/app/modules/calendar/calendar.service.ts index 7627d5bb..ddcd31c5 100644 --- a/frontend/app/src/app/modules/calendar/calendar.service.ts +++ b/frontend/app/src/app/modules/calendar/calendar.service.ts @@ -38,7 +38,10 @@ export class CalendarService { calendarName = 'StApps'; // eslint-disable-next-line @typescript-eslint/no-empty-function - constructor(readonly calendar: Calendar, private readonly configProvider: ConfigProvider) { + constructor( + readonly calendar: Calendar, + private readonly configProvider: ConfigProvider, + ) { this.calendarName = (this.configProvider.getValue('name') as string) ?? 'StApps'; } diff --git a/frontend/app/src/app/modules/dashboard/dashboard.component.html b/frontend/app/src/app/modules/dashboard/dashboard.component.html index 9c989e1b..f5610cf6 100644 --- a/frontend/app/src/app/modules/dashboard/dashboard.component.html +++ b/frontend/app/src/app/modules/dashboard/dashboard.component.html @@ -33,7 +33,7 @@ {{ nextEvent - ? (nextEvent!.dates | nextDateInList | amDateFormat : 'll, HH:mm') + ? (nextEvent!.dates | nextDateInList | amDateFormat: 'll, HH:mm') : ('dashboard.schedule.noEvent' | translate) }} diff --git a/frontend/app/src/app/modules/dashboard/sections/mensa-section/mensa-section.component.html b/frontend/app/src/app/modules/dashboard/sections/mensa-section/mensa-section.component.html index 83103fde..cf55a5c5 100644 --- a/frontend/app/src/app/modules/dashboard/sections/mensa-section/mensa-section.component.html +++ b/frontend/app/src/app/modules/dashboard/sections/mensa-section/mensa-section.component.html @@ -16,7 +16,7 @@ - + diff --git a/frontend/app/src/app/modules/data/chips/action-chip-list.component.ts b/frontend/app/src/app/modules/data/chips/action-chip-list.component.ts index 5ddd985b..a2f7fed8 100644 --- a/frontend/app/src/app/modules/data/chips/action-chip-list.component.ts +++ b/frontend/app/src/app/modules/data/chips/action-chip-list.component.ts @@ -42,8 +42,8 @@ export class ActionChipListComponent { const maybeCoords = isInPlace ? item?.inPlace?.geo.point.coordinates : hasDirectGeo - ? item.geo.point.coordinates - : undefined; + ? item.geo.point.coordinates + : undefined; const isNullIsland = maybeCoords ? maybeCoords[0] === 0 && maybeCoords[1] === 0 : false; this.applicable = { locate: false, // TODO: reimplement this at a later date diff --git a/frontend/app/src/app/modules/data/chips/data/add-event-action-chip.component.ts b/frontend/app/src/app/modules/data/chips/data/add-event-action-chip.component.ts index fdd7a5b6..12faccfc 100644 --- a/frontend/app/src/app/modules/data/chips/data/add-event-action-chip.component.ts +++ b/frontend/app/src/app/modules/data/chips/data/add-event-action-chip.component.ts @@ -13,7 +13,18 @@ * this program. If not, see . */ import {Component, DestroyRef, inject, Input, ViewChild} from '@angular/core'; -import {IonRouterOutlet, ModalController} from '@ionic/angular/standalone'; +import { + IonButton, + IonChip, + IonContent, + IonFooter, + IonIcon, + IonLabel, + IonRouterOutlet, + IonSkeletonText, + IonToolbar, + ModalController, +} from '@ionic/angular/standalone'; import {SCDateSeries, SCThing, SCThingType, SCUuid} from '@openstapps/core'; import {Subscription} from 'rxjs'; import {ScheduleProvider} from '../../../calendar/schedule.provider'; @@ -26,6 +37,11 @@ import {AddEventStates, AddEventStatesMap} from './add-event-action-chip.config' import {EditEventSelectionComponent} from '../edit-event-selection.component'; import {AddEventReviewModalComponent} from '../../../calendar/add-event-review-modal.component'; import {takeUntilDestroyed} from '@angular/core/rxjs-interop'; +import {AsyncPipe, NgIf, TitleCasePipe} from '@angular/common'; +import {DataModule} from '../../data.module'; +import {TranslateModule} from '@ngx-translate/core'; +import {EditModalComponent} from '../../../../util/edit-modal.component'; +import {IonContentParallaxDirective} from '../../../../util/ion-content-parallax.directive'; /** * Shows a horizontal list of action chips @@ -33,8 +49,26 @@ import {takeUntilDestroyed} from '@angular/core/rxjs-interop'; @Component({ selector: 'stapps-add-event-action-chip', templateUrl: 'add-event-action-chip.html', - styleUrls: ['add-event-action-chip.scss'], + styleUrl: 'add-event-action-chip.scss', animations: [chipSkeletonTransition, chipTransition], + standalone: true, + imports: [ + IonChip, + AsyncPipe, + NgIf, + DataModule, + IonContent, + IonIcon, + IonLabel, + TranslateModule, + EditModalComponent, + IonFooter, + IonToolbar, + IonButton, + IonSkeletonText, + TitleCasePipe, + IonContentParallaxDirective, + ], }) export class AddEventActionChipComponent { /** diff --git a/frontend/app/src/app/modules/data/chips/data/locate-action-chip.component.ts b/frontend/app/src/app/modules/data/chips/data/locate-action-chip.component.ts index af4a260e..eb94e23c 100644 --- a/frontend/app/src/app/modules/data/chips/data/locate-action-chip.component.ts +++ b/frontend/app/src/app/modules/data/chips/data/locate-action-chip.component.ts @@ -14,6 +14,7 @@ * this program. If not, see . */ import {Component, Input} from '@angular/core'; +import {IonChip, IonIcon} from '@ionic/angular/standalone'; import {SCThing} from '@openstapps/core'; /** @@ -22,6 +23,8 @@ import {SCThing} from '@openstapps/core'; @Component({ selector: 'stapps-locate-action-chip', templateUrl: 'locate-action-chip.html', + standalone: true, + imports: [IonChip, IonIcon], }) export class LocateActionChipComponent { /** diff --git a/frontend/app/src/app/modules/data/chips/data/navigate-action-chip.component.ts b/frontend/app/src/app/modules/data/chips/data/navigate-action-chip.component.ts index 017f057e..2c6bf523 100644 --- a/frontend/app/src/app/modules/data/chips/data/navigate-action-chip.component.ts +++ b/frontend/app/src/app/modules/data/chips/data/navigate-action-chip.component.ts @@ -18,7 +18,8 @@ import {SCPlaceWithoutReferences, SCThings} from '@openstapps/core'; @Component({ selector: 'stapps-navigate-action-chip', templateUrl: 'navigate-action-chip.html', - styleUrls: ['navigate-action-chip.scss'], + styleUrl: 'navigate-action-chip.scss', + standalone: true, }) export class NavigateActionChipComponent { place: SCPlaceWithoutReferences; diff --git a/frontend/app/src/app/modules/data/chips/data/navigate-action-chip.html b/frontend/app/src/app/modules/data/chips/data/navigate-action-chip.html index d99454a4..b9e2df43 100644 --- a/frontend/app/src/app/modules/data/chips/data/navigate-action-chip.html +++ b/frontend/app/src/app/modules/data/chips/data/navigate-action-chip.html @@ -14,5 +14,5 @@ --> - {{'map.directions.TITLE' | translate}} + {{ 'map.directions.TITLE' | translate }} diff --git a/frontend/app/src/app/modules/data/chips/edit-event-selection.html b/frontend/app/src/app/modules/data/chips/edit-event-selection.html index 22349804..d3ecc525 100644 --- a/frontend/app/src/app/modules/data/chips/edit-event-selection.html +++ b/frontend/app/src/app/modules/data/chips/edit-event-selection.html @@ -31,9 +31,11 @@ (ionChange)="modified.emit(); frequency.click()" > - {{ frequency.children[0].item.repeatFrequency ? (frequency.children[0].item.repeatFrequency | - durationLocalized: true | sentencecase) : ('data.chips.add_events.popover.SINGLE' | translate | - titlecase) }} + {{ + frequency.children[0].item.repeatFrequency + ? (frequency.children[0].item.repeatFrequency | durationLocalized: true | sentencecase) + : ('data.chips.add_events.popover.SINGLE' | translate | titlecase) + }} @@ -44,13 +46,13 @@ > - {{ date.item.dates[0] | amDateFormat: 'dddd, LT' }} - {{ date.item.dates[0] | amAdd: - date.item.duration | amDateFormat: 'LT' }} + {{ date.item.dates[0] | amDateFormat: 'dddd, LT' }} - + {{ date.item.dates[0] | amAdd: date.item.duration | amDateFormat: 'LT' }}
- {{ date.item.dates[0] | amDateFormat: 'LL' }} - {{ date.item.dates[date.item.dates.length - 1] | - amDateFormat: 'LL' }} + {{ date.item.dates[0] | amDateFormat: 'LL' }} - + {{ date.item.dates[date.item.dates.length - 1] | amDateFormat: 'LL' }}
diff --git a/frontend/app/src/app/modules/data/chips/filter/chip-filter.component.html b/frontend/app/src/app/modules/data/chips/filter/chip-filter.component.html index 9d7d00a1..5c219062 100644 --- a/frontend/app/src/app/modules/data/chips/filter/chip-filter.component.html +++ b/frontend/app/src/app/modules/data/chips/filter/chip-filter.component.html @@ -15,7 +15,7 @@ @if (active) { - + } {{ displayValue }} diff --git a/frontend/app/src/app/modules/data/chips/tree-node.ts b/frontend/app/src/app/modules/data/chips/tree-node.ts index dd7bf59f..7191c3c7 100644 --- a/frontend/app/src/app/modules/data/chips/tree-node.ts +++ b/frontend/app/src/app/modules/data/chips/tree-node.ts @@ -44,7 +44,10 @@ export class TreeNode | SelectionValue> { */ parent?: TreeNode>; - constructor(readonly children: T[], readonly ref: ChangeDetectorRef) { + constructor( + readonly children: T[], + readonly ref: ChangeDetectorRef, + ) { this.updateParents(); this.accumulateApplyValues(); } @@ -58,11 +61,11 @@ export class TreeNode | SelectionValue> { ? it.checked ? Selection.ON : it.indeterminate - ? Selection.PARTIAL - : Selection.OFF + ? Selection.PARTIAL + : Selection.OFF : (it as SelectionValue).selected - ? Selection.ON - : Selection.OFF, + ? Selection.ON + : Selection.OFF, ); this.checked = selections.every(it => it === Selection.ON); diff --git a/frontend/app/src/app/modules/data/coordinated-search.provider.ts b/frontend/app/src/app/modules/data/coordinated-search.provider.ts index 299de051..7c4016ea 100644 --- a/frontend/app/src/app/modules/data/coordinated-search.provider.ts +++ b/frontend/app/src/app/modules/data/coordinated-search.provider.ts @@ -29,10 +29,13 @@ async function delay(ms: number): Promise { * ['a', 'b', 'c'] => {0: 'a', 1: 'b', 2: 'c'} */ export function arrayToIndexMap(array: T[]): Record { - return array.reduce((previous, current, index) => { - previous[index] = current; - return previous; - }, {} as Record); + return array.reduce( + (previous, current, index) => { + previous[index] = current; + return previous; + }, + {} as Record, + ); } interface OngoingQuery { diff --git a/frontend/app/src/app/modules/data/data.module.ts b/frontend/app/src/app/modules/data/data.module.ts index 9cb7a899..ff77b4ef 100644 --- a/frontend/app/src/app/modules/data/data.module.ts +++ b/frontend/app/src/app/modules/data/data.module.ts @@ -231,6 +231,7 @@ import {VideoListItemComponent} from './types/video/video-list-item.component'; BookDetailContentComponent, PeriodicalDetailContentComponent, TitleCardComponent, + EditEventSelectionComponent, ], }) export class DataModule {} diff --git a/frontend/app/src/app/modules/data/detail/data-detail-content.html b/frontend/app/src/app/modules/data/detail/data-detail-content.html index 737e6d72..76b0eaff 100644 --- a/frontend/app/src/app/modules/data/detail/data-detail-content.html +++ b/frontend/app/src/app/modules/data/detail/data-detail-content.html @@ -15,7 +15,7 @@ - {{ 'name' | thingTranslate : item }} + {{ 'name' | thingTranslate: item }} {{ 'app.ui.CLOSE' | translate }} @@ -97,8 +97,8 @@
diff --git a/frontend/app/src/app/modules/data/detail/data-path.html b/frontend/app/src/app/modules/data/detail/data-path.html index 896aa6b6..4fe53c21 100644 --- a/frontend/app/src/app/modules/data/detail/data-path.html +++ b/frontend/app/src/app/modules/data/detail/data-path.html @@ -28,13 +28,13 @@ stack.length === 1 ? '100%' : stack.length === 2 - ? '40vw' - : ($width | async) >= 768 - ? '30vw' - : 'calc(100vw - 120px)' + ? '40vw' + : ($width | async) >= 768 + ? '30vw' + : 'calc(100vw - 120px)' " class="crumb-label" - >{{ 'name' | thingTranslate : $any(fragment) }}{{ 'name' | thingTranslate: $any(fragment) }} diff --git a/frontend/app/src/app/modules/data/elements/long-inline-text.html b/frontend/app/src/app/modules/data/elements/long-inline-text.html index 1b0ad343..aac2348e 100644 --- a/frontend/app/src/app/modules/data/elements/long-inline-text.html +++ b/frontend/app/src/app/modules/data/elements/long-inline-text.html @@ -14,14 +14,14 @@ --> - {{ text | slice : 0 : size }} + {{ text | slice: 0 : size }} - {{ text | slice : 0 : size * 2 }} + {{ text | slice: 0 : size * 2 }} - {{ text | slice : 0 : size * 3 }} + {{ text | slice: 0 : size * 3 }} diff --git a/frontend/app/src/app/modules/data/elements/offers-detail.component.ts b/frontend/app/src/app/modules/data/elements/offers-detail.component.ts index e5785e09..b9f7b321 100644 --- a/frontend/app/src/app/modules/data/elements/offers-detail.component.ts +++ b/frontend/app/src/app/modules/data/elements/offers-detail.component.ts @@ -12,24 +12,48 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {Component, Input} from '@angular/core'; +import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; import {SCAcademicPriceGroup, SCThingThatCanBeOfferedOffer} from '@openstapps/core'; +import { + IonCard, + IonCardContent, + IonCardHeader, + IonCol, + IonGrid, + IonIcon, + IonRow, + IonText, +} from '@ionic/angular/standalone'; +import {RouterLink} from '@angular/router'; +import {ThingTranslateModule} from '../../../translation/thing-translate.module'; +import {TranslateModule} from '@ngx-translate/core'; +import {CurrencyPipe, KeyValuePipe, TitleCasePipe} from '@angular/common'; +import {FormatPipeModule, ParseIsoPipeModule} from 'ngx-date-fns'; -/** - * TODO - */ @Component({ selector: 'stapps-offers-detail', templateUrl: 'offers-detail.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [ + IonCard, + IonCardHeader, + IonCardContent, + IonGrid, + IonRow, + IonCol, + IonIcon, + RouterLink, + ThingTranslateModule, + TranslateModule, + TitleCasePipe, + ParseIsoPipeModule, + FormatPipeModule, + IonText, + CurrencyPipe, + KeyValuePipe, + ], }) export class OffersDetailComponent { - /** - * TODO - */ - objectKeys = Object.keys; - - /** - * TODO - */ @Input() offers: Array>; } diff --git a/frontend/app/src/app/modules/data/elements/offers-detail.html b/frontend/app/src/app/modules/data/elements/offers-detail.html index 42620693..a32e4b0a 100644 --- a/frontend/app/src/app/modules/data/elements/offers-detail.html +++ b/frontend/app/src/app/modules/data/elements/offers-detail.html @@ -16,43 +16,51 @@ {{ 'data.detail.offers.TITLE' | translate | titlecase }} -
+ @for (offer of offers; track $index) { - {{ 'name' | thingTranslate : offer.inPlace }} + {{ 'name' | thingTranslate: offer.inPlace }} - - {{ (offer.availabilityRange.gt ? offer.availabilityRange.gt : offer.availabilityRange.gte) | - amDateFormat : 'll' }} - + @if (offer.availabilityRange.gt ? offer.availabilityRange.gt : offer.availabilityRange.gt) { + {{ + (offer.availabilityRange.gt ? offer.availabilityRange.gt : offer.availabilityRange.gte) + | dfnsParseIso + | dfnsFormat: 'PP' + }} + } - - - {{ 'data.detail.offers.' + group | translate }} - -

{{ offer.prices[group] | currency : 'EUR' : 'symbol' : undefined : 'de' }}

-
-
-
- - - - - -

{{ 'data.detail.offers.sold_out' | translate }}

-
-
-
-
-
+ @if (offer.availability === 'out of stock') { + + + + + +

{{ 'data.detail.offers.sold_out' | translate }}

+
+
+
+
+ } @else if (offer.prices) { + + @for (group of offer.prices | keyvalue) { + + @if (group[0] !== 'default') { + {{ 'data.detail.offers.' + group[0] | translate }} + +

{{ offer.prices[group[0]] | currency: 'EUR' : 'symbol' : '' : 'de' }}

+
+ } +
+ } +
+ } + }
diff --git a/frontend/app/src/app/modules/data/elements/offers-in-list.component.ts b/frontend/app/src/app/modules/data/elements/offers-in-list.component.ts index 57281fe8..6ddfb740 100644 --- a/frontend/app/src/app/modules/data/elements/offers-in-list.component.ts +++ b/frontend/app/src/app/modules/data/elements/offers-in-list.component.ts @@ -12,21 +12,21 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {Component, Input} from '@angular/core'; +import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; import {SCAcademicPriceGroup, SCThingThatCanBeOfferedOffer} from '@openstapps/core'; import {SettingsProvider} from '../../settings/settings.provider'; +import {IonIcon, IonText} from '@ionic/angular/standalone'; +import {CurrencyPipe} from '@angular/common'; +import {TranslateModule} from '@ngx-translate/core'; -/** - * TODO - */ @Component({ selector: 'stapps-offers-in-list', templateUrl: 'offers-in-list.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [IonText, CurrencyPipe, TranslateModule, IonIcon], }) export class OffersInListComponent { - /** - * TODO - */ @Input() set offers(it: Array>) { this._offers = it; this.price = it[0].prices?.default; diff --git a/frontend/app/src/app/modules/data/elements/offers-in-list.html b/frontend/app/src/app/modules/data/elements/offers-in-list.html index 72fe6d1e..c8c45092 100644 --- a/frontend/app/src/app/modules/data/elements/offers-in-list.html +++ b/frontend/app/src/app/modules/data/elements/offers-in-list.html @@ -14,15 +14,24 @@ -->
- -

{{ price | currency : 'EUR' : 'symbol' : undefined : 'de' }}

-
- -

{{ 'data.detail.offers.sold_out' | translate }}

-
-

- {{ _offers[0].inPlace.name }}... -

+ @if (soldOut) { + +

{{ 'data.detail.offers.sold_out' | translate }}

+
+ } @else { + @if (price) { + +

{{ price | currency: 'EUR' : 'symbol' : '' : 'de' }}

+
+ } + @if (_offers[0].inPlace) { +

+ + {{ _offers[0].inPlace.name }} + @if (_offers.length > 1) { + ... + } +

+ } + }
diff --git a/frontend/app/src/app/modules/data/elements/origin-detail.component.ts b/frontend/app/src/app/modules/data/elements/origin-detail.component.ts index c9c46647..2a6a0ed5 100644 --- a/frontend/app/src/app/modules/data/elements/origin-detail.component.ts +++ b/frontend/app/src/app/modules/data/elements/origin-detail.component.ts @@ -12,19 +12,30 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {Component, Input} from '@angular/core'; -import {SCThingOrigin} from '@openstapps/core'; +import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; +import {SCThingRemoteOrigin, SCThingUserOrigin} from '@openstapps/core'; +import {IonCard, IonCardContent, IonCardHeader} from '@ionic/angular/standalone'; +import {RouterLink} from '@angular/router'; +import {TranslateModule} from '@ngx-translate/core'; +import {TitleCasePipe} from '@angular/common'; +import {FormatPipeModule, ParseIsoPipeModule} from 'ngx-date-fns'; -/** - * TODO - */ @Component({ selector: 'stapps-origin-detail', templateUrl: 'origin-detail.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [ + IonCard, + IonCardHeader, + IonCardContent, + RouterLink, + TranslateModule, + TitleCasePipe, + ParseIsoPipeModule, + FormatPipeModule, + ], }) export class OriginDetailComponent { - /** - * TODO - */ - @Input() origin: SCThingOrigin; + @Input() origin: SCThingUserOrigin | SCThingRemoteOrigin; } diff --git a/frontend/app/src/app/modules/data/elements/origin-detail.html b/frontend/app/src/app/modules/data/elements/origin-detail.html index 1e4e67d5..950c2bb1 100644 --- a/frontend/app/src/app/modules/data/elements/origin-detail.html +++ b/frontend/app/src/app/modules/data/elements/origin-detail.html @@ -13,54 +13,74 @@ ~ this program. If not, see . --> - - {{ 'data.types.origin.TITLE' | translate | titlecase }}: {{ 'data.types.origin.USER' | translate | - titlecase }} - -

- {{ 'data.types.origin.detail.CREATED' | translate | titlecase }}: {{ origin.created | amDateFormat : - 'll' }} -

-

- {{ 'data.types.origin.detail.UPDATED' | translate | titlecase }}: {{ origin.updated | amDateFormat : - 'll' }} -

-

- {{ 'data.types.origin.detail.MODIFIED' | translate | titlecase }}: {{ origin.modified | amDateFormat : - 'll' }} -

-

{{ 'data.types.origin.detail.MAINTAINER' | translate }}: {{ origin.name }}

-

- {{ 'data.types.origin.detail.MAINTAINER' | translate }}: - {{ origin.maintainer.name }} -

-
-
- - - {{ 'data.types.origin.TITLE' | translate | titlecase }}: {{ 'data.types.origin.REMOTE' | translate | - titlecase }} - -

- {{ 'data.types.origin.detail.INDEXED' | translate | titlecase }}: {{ origin.indexed | amDateFormat : - 'll' }} -

-

- {{ 'data.types.origin.detail.MODIFIED' | translate | titlecase }}: {{ origin.modified | amDateFormat : - 'll' }} -

-

{{ 'data.types.origin.detail.MAINTAINER' | translate }}: {{ origin.name }}

-

- {{ 'data.types.origin.detail.MAINTAINER' | translate | titlecase }}: - {{ origin.maintainer.name }} -

-

- {{ 'data.types.origin.detail.RESPONSIBLE' | translate | titlecase }}: - {{ origin.responsibleEntity.name }} -

-
-
+@if (origin.type === 'user') { + + {{ 'data.types.origin.TITLE' | translate | titlecase }}: + {{ 'data.types.origin.USER' | translate | titlecase }} + +

+ {{ 'data.types.origin.detail.CREATED' | translate | titlecase }}: + {{ origin.created | dfnsParseIso | dfnsFormat: 'PP' }} +

+ @if (origin.updated) { +

+ {{ 'data.types.origin.detail.UPDATED' | translate | titlecase }}: + {{ origin.updated | dfnsParseIso | dfnsFormat: 'PP' }} +

+ } + @if (origin.modified) { +

+ {{ 'data.types.origin.detail.MODIFIED' | translate | titlecase }}: + {{ origin.modified | dfnsParseIso | dfnsFormat: 'PP' }} +

+ } + @if (origin.name) { +

{{ 'data.types.origin.detail.MAINTAINER' | translate }}: {{ origin.name }}

+ } + @if (origin.maintainer) { +

+ {{ 'data.types.origin.detail.MAINTAINER' | translate }}: + {{ origin.maintainer.name }} +

+ } +
+
+} @else if (origin.type === 'remote') { + + {{ 'data.types.origin.TITLE' | translate | titlecase }}: + {{ 'data.types.origin.REMOTE' | translate | titlecase }} + +

+ {{ 'data.types.origin.detail.INDEXED' | translate | titlecase }}: + {{ origin.indexed | dfnsParseIso | dfnsFormat: 'PP' }} +

+ @if (origin.modified) { +

+ {{ 'data.types.origin.detail.MODIFIED' | translate | titlecase }}: + {{ origin.modified | dfnsParseIso | dfnsFormat: 'PP' }} +

+ } + @if (origin.name) { +

{{ 'data.types.origin.detail.MAINTAINER' | translate }}: {{ origin.name }}

+ } + @if (origin.maintainer) { +

+ {{ 'data.types.origin.detail.MAINTAINER' | translate | titlecase }}: + {{ origin.maintainer.name }} +

+ } + @if (origin.responsibleEntity) { +

+ {{ 'data.types.origin.detail.RESPONSIBLE' | translate | titlecase }}: + {{ + origin.responsibleEntity.name + }} +

+ } +
+
+} diff --git a/frontend/app/src/app/modules/data/elements/origin-in-list.component.ts b/frontend/app/src/app/modules/data/elements/origin-in-list.component.ts index 810d1cfc..5aca1a5a 100644 --- a/frontend/app/src/app/modules/data/elements/origin-in-list.component.ts +++ b/frontend/app/src/app/modules/data/elements/origin-in-list.component.ts @@ -12,19 +12,17 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {Component, Input} from '@angular/core'; -import {SCThingOrigin} from '@openstapps/core'; +import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; +import {SCThingRemoteOrigin, SCThingUserOrigin} from '@openstapps/core'; +import {ThingTranslateModule} from '../../../translation/thing-translate.module'; -/** - * TODO - */ @Component({ selector: 'stapps-origin-in-list', templateUrl: 'origin-in-list.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [ThingTranslateModule], }) export class OriginInListComponent { - /** - * TODO - */ - @Input() origin: SCThingOrigin; + @Input() origin: SCThingUserOrigin | SCThingRemoteOrigin; } diff --git a/frontend/app/src/app/modules/data/elements/origin-in-list.html b/frontend/app/src/app/modules/data/elements/origin-in-list.html index 3d7343ac..7d4610c7 100644 --- a/frontend/app/src/app/modules/data/elements/origin-in-list.html +++ b/frontend/app/src/app/modules/data/elements/origin-in-list.html @@ -1,7 +1,7 @@ -
-

{{ origin.created | dateFormat }}

-
- -
-

{{ origin.indexed | dateFormat }}

-
+

+ @if (origin.type === 'user') { + {{ origin.created | dateFormat }} + } @else if (origin.type === 'remote') { + {{ origin.indexed | dateFormat }} + } +

diff --git a/frontend/app/src/app/modules/data/elements/rating.component.ts b/frontend/app/src/app/modules/data/elements/rating.component.ts index 75eabf98..9149a555 100644 --- a/frontend/app/src/app/modules/data/elements/rating.component.ts +++ b/frontend/app/src/app/modules/data/elements/rating.component.ts @@ -51,7 +51,10 @@ export class StappsRatingComponent { this.dish.next(value); } - constructor(readonly elementRef: ElementRef, readonly ratingProvider: RatingProvider) {} + constructor( + readonly elementRef: ElementRef, + readonly ratingProvider: RatingProvider, + ) {} @HostListener('document:mousedown', ['$event']) clickOutside(event: MouseEvent) { diff --git a/frontend/app/src/app/modules/data/elements/simple-card.component.ts b/frontend/app/src/app/modules/data/elements/simple-card.component.ts index e286a3a0..f2fdc7ab 100644 --- a/frontend/app/src/app/modules/data/elements/simple-card.component.ts +++ b/frontend/app/src/app/modules/data/elements/simple-card.component.ts @@ -12,49 +12,33 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {Component, Input} from '@angular/core'; +import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; import {SCThingWithoutReferences} from '@openstapps/core'; +import {IonCard, IonCardContent, IonCardHeader} from '@ionic/angular/standalone'; +import {MarkdownComponent} from 'ngx-markdown'; +import {RouterLink} from '@angular/router'; +import {ThingTranslateModule} from '../../../translation/thing-translate.module'; -/** - * TODO - */ @Component({ selector: 'stapps-simple-card', templateUrl: 'simple-card.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [IonCard, IonCardHeader, IonCardContent, MarkdownComponent, RouterLink, ThingTranslateModule], }) export class SimpleCardComponent { - /** - * TODO - */ areThings = false; - /** - * TODO - */ @Input() content: string | string[] | SCThingWithoutReferences[]; - /** - * TODO - */ @Input() isMarkdown = false; - /** - * TODO - */ @Input() title: string; - /** - * TODO - */ - // eslint-disable-next-line class-methods-use-this isString(data: unknown): data is string { return typeof data === 'string'; } - /** - * TODO - */ - // eslint-disable-next-line class-methods-use-this isThing(something: unknown): something is SCThingWithoutReferences { // bypass the 'type' field check because of translated values return typeof something === 'object'; diff --git a/frontend/app/src/app/modules/data/elements/simple-card.html b/frontend/app/src/app/modules/data/elements/simple-card.html index e44722c6..37c989fe 100644 --- a/frontend/app/src/app/modules/data/elements/simple-card.html +++ b/frontend/app/src/app/modules/data/elements/simple-card.html @@ -16,25 +16,25 @@ {{ title }} - - - + @if (isString(content)) { + @if (isMarkdown) { - - + } @else {

{{ content }}

-
-
- - - - -

{{ 'name' | thingTranslate : thing }}

-
-
- -

{{ text }}

-
-
+ } + } @else { + @if (isThing(content[0])) { + @for (thing of content; track thing) { + +

{{ 'name' | thingTranslate: thing }}

+
+ } + } + } + @else { + @for (text of content; track text) { +

{{ text }}

+ } + }
diff --git a/frontend/app/src/app/modules/data/elements/skeleton-list-item.component.ts b/frontend/app/src/app/modules/data/elements/skeleton-list-item.component.ts index d257bc94..e4d085ae 100644 --- a/frontend/app/src/app/modules/data/elements/skeleton-list-item.component.ts +++ b/frontend/app/src/app/modules/data/elements/skeleton-list-item.component.ts @@ -12,7 +12,16 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {Component, Input} from '@angular/core'; +import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; +import { + IonCol, + IonGrid, + IonItem, + IonNote, + IonRow, + IonSkeletonText, + IonThumbnail, +} from '@ionic/angular/standalone'; /** * A placeholder to show when a list item is being loaded @@ -20,7 +29,9 @@ import {Component, Input} from '@angular/core'; @Component({ selector: 'stapps-skeleton-list-item', templateUrl: 'skeleton-list-item.html', - styleUrls: ['skeleton-list-item.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [IonItem, IonThumbnail, IonSkeletonText, IonGrid, IonRow, IonCol, IonNote], }) export class SkeletonListItemComponent { @Input() hideThumbnail = false; diff --git a/frontend/app/src/app/modules/data/elements/skeleton-list-item.html b/frontend/app/src/app/modules/data/elements/skeleton-list-item.html index 8e65f754..3c823fbe 100644 --- a/frontend/app/src/app/modules/data/elements/skeleton-list-item.html +++ b/frontend/app/src/app/modules/data/elements/skeleton-list-item.html @@ -1,18 +1,20 @@ - - - + @if (!hideThumbnail) { + + + + }

- +

- +

- +
diff --git a/frontend/app/src/app/modules/data/elements/skeleton-list-item.scss b/frontend/app/src/app/modules/data/elements/skeleton-list-item.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/frontend/app/src/app/modules/data/elements/skeleton-segment-button.component.ts b/frontend/app/src/app/modules/data/elements/skeleton-segment-button.component.ts index 4d747806..a4401453 100644 --- a/frontend/app/src/app/modules/data/elements/skeleton-segment-button.component.ts +++ b/frontend/app/src/app/modules/data/elements/skeleton-segment-button.component.ts @@ -12,7 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {Component} from '@angular/core'; +import {ChangeDetectionStrategy, Component} from '@angular/core'; +import {IonSegmentButton, IonSkeletonText} from '@ionic/angular/standalone'; /** * TODO @@ -20,5 +21,8 @@ import {Component} from '@angular/core'; @Component({ selector: 'stapps-skeleton-segment-button', templateUrl: 'skeleton-segment-button.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [IonSegmentButton, IonSkeletonText], }) export class SkeletonSegmentComponent {} diff --git a/frontend/app/src/app/modules/data/elements/skeleton-segment-button.html b/frontend/app/src/app/modules/data/elements/skeleton-segment-button.html index edf95f6b..d0568be8 100644 --- a/frontend/app/src/app/modules/data/elements/skeleton-segment-button.html +++ b/frontend/app/src/app/modules/data/elements/skeleton-segment-button.html @@ -1,3 +1,3 @@ - + diff --git a/frontend/app/src/app/modules/data/elements/skeleton-simple-card.component.ts b/frontend/app/src/app/modules/data/elements/skeleton-simple-card.component.ts index d7d0ffa7..92a0f353 100644 --- a/frontend/app/src/app/modules/data/elements/skeleton-simple-card.component.ts +++ b/frontend/app/src/app/modules/data/elements/skeleton-simple-card.component.ts @@ -12,7 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {Component, Input} from '@angular/core'; +import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; +import {IonCard, IonCardContent, IonCardHeader, IonSkeletonText} from '@ionic/angular/standalone'; /** * A placeholder to show when a simple card is being loaded @@ -20,6 +21,9 @@ import {Component, Input} from '@angular/core'; @Component({ selector: 'stapps-skeleton-simple-card', templateUrl: 'skeleton-simple-card.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [IonCard, IonCardHeader, IonSkeletonText, IonCardContent], }) export class SkeletonSimpleCardComponent { /** diff --git a/frontend/app/src/app/modules/data/elements/skeleton-simple-card.html b/frontend/app/src/app/modules/data/elements/skeleton-simple-card.html index 4ad421a3..6de4a84c 100644 --- a/frontend/app/src/app/modules/data/elements/skeleton-simple-card.html +++ b/frontend/app/src/app/modules/data/elements/skeleton-simple-card.html @@ -1,14 +1,14 @@ - - - + @if (title) { + + + + }

- + @for (line of [].constructor(lines); track line) { + + }

diff --git a/frontend/app/src/app/modules/data/elements/title-card.component.ts b/frontend/app/src/app/modules/data/elements/title-card.component.ts index 9c18fc9e..7c3e3e9f 100644 --- a/frontend/app/src/app/modules/data/elements/title-card.component.ts +++ b/frontend/app/src/app/modules/data/elements/title-card.component.ts @@ -13,9 +13,28 @@ * this program. If not, see . */ -import {Component, ElementRef, HostListener, Input, OnChanges, OnInit, ViewChild} from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + ElementRef, + HostListener, + Input, + OnChanges, + OnInit, + ViewChild, +} from '@angular/core'; import {SCThings} from '@openstapps/core'; import {SCIcon} from '../../../util/ion-icon/icon'; +import { + IonButton, + IonCard, + IonCardContent, + IonCardHeader, + IonCardTitle, + IonIcon, +} from '@ionic/angular/standalone'; +import {OpeningHoursComponent} from '../../../util/opening-hours.component'; +import {ThingTranslateModule} from '../../../translation/thing-translate.module'; const AccordionButtonState = { collapsed: SCIcon`expand_more`, @@ -24,8 +43,20 @@ const AccordionButtonState = { @Component({ selector: 'stapps-title-card', - templateUrl: './title-card.component.html', - styleUrls: ['./title-card.component.scss'], + templateUrl: 'title-card.html', + styleUrl: 'title-card.scss', + changeDetection: ChangeDetectionStrategy.Default, + standalone: true, + imports: [ + IonCard, + IonCardHeader, + IonCardTitle, + IonCardContent, + OpeningHoursComponent, + IonButton, + IonIcon, + ThingTranslateModule, + ], }) export class TitleCardComponent implements OnInit, OnChanges { /** diff --git a/frontend/app/src/app/modules/data/elements/title-card.component.html b/frontend/app/src/app/modules/data/elements/title-card.html similarity index 53% rename from frontend/app/src/app/modules/data/elements/title-card.component.html rename to frontend/app/src/app/modules/data/elements/title-card.html index a3e70887..55bd00a1 100644 --- a/frontend/app/src/app/modules/data/elements/title-card.component.html +++ b/frontend/app/src/app/modules/data/elements/title-card.html @@ -16,34 +16,35 @@

- {{ - 'honorificPrefix' | thingTranslate : item - }} - {{ 'name' | thingTranslate : item }} - {{ - 'honorificSuffix' | thingTranslate : item - }} + @if (item.honorificPrefix) { + {{ 'honorificPrefix' | thingTranslate: item }} + } + {{ 'name' | thingTranslate: item }} + @if (item.honorificSuffix) { + {{ 'honorificSuffix' | thingTranslate: item }} + }

-
- -
- -
-
- {{ 'description' | thingTranslate : item }} + @if (item.openingHours) { +
+
-
+ } + + @if (item.description && item.type !== 'job posting') { +
+
+ {{ 'description' | thingTranslate: item }} +
+
+ } - - - + @if (item.description && item.type !== 'job posting' && buttonShown) { + + + + } diff --git a/frontend/app/src/app/modules/data/elements/title-card.component.scss b/frontend/app/src/app/modules/data/elements/title-card.scss similarity index 100% rename from frontend/app/src/app/modules/data/elements/title-card.component.scss rename to frontend/app/src/app/modules/data/elements/title-card.scss diff --git a/frontend/app/src/app/modules/data/list/data-list-item-host-default.html b/frontend/app/src/app/modules/data/list/data-list-item-host-default.html index f857a588..003173a0 100644 --- a/frontend/app/src/app/modules/data/list/data-list-item-host-default.html +++ b/frontend/app/src/app/modules/data/list/data-list-item-host-default.html @@ -13,10 +13,10 @@ ~ this program. If not, see . --> -

{{ 'name' | thingTranslate : item }}

+

{{ 'name' | thingTranslate: item }}

diff --git a/frontend/app/src/app/modules/data/list/simple-data-list.component.ts b/frontend/app/src/app/modules/data/list/simple-data-list.component.ts index 36e2dc1e..256d43a6 100644 --- a/frontend/app/src/app/modules/data/list/simple-data-list.component.ts +++ b/frontend/app/src/app/modules/data/list/simple-data-list.component.ts @@ -53,7 +53,10 @@ export class SimpleDataListComponent implements OnInit { destroy$ = inject(DestroyRef); - constructor(protected router: Router, private readonly dataRoutingService: DataRoutingService) {} + constructor( + protected router: Router, + private readonly dataRoutingService: DataRoutingService, + ) {} ngOnInit(): void { if (!this.autoRouting) return; diff --git a/frontend/app/src/app/modules/data/list/simple-data-list.html b/frontend/app/src/app/modules/data/list/simple-data-list.html index f9aede4d..1ca26866 100644 --- a/frontend/app/src/app/modules/data/list/simple-data-list.html +++ b/frontend/app/src/app/modules/data/list/simple-data-list.html @@ -22,9 +22,9 @@ > - {{ emptyListMessage }} + {{ + emptyListMessage + }} diff --git a/frontend/app/src/app/modules/data/types/article/article-content.component.ts b/frontend/app/src/app/modules/data/types/article/article-content.component.ts index 569fc73f..ea3d4429 100644 --- a/frontend/app/src/app/modules/data/types/article/article-content.component.ts +++ b/frontend/app/src/app/modules/data/types/article/article-content.component.ts @@ -12,7 +12,7 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {Component, Input} from '@angular/core'; +import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; import {SCArticle} from '@openstapps/core'; /** @@ -21,6 +21,8 @@ import {SCArticle} from '@openstapps/core'; @Component({ selector: 'stapps-article-content', templateUrl: 'article-content.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, }) export class ArticleContentComponent { /** diff --git a/frontend/app/src/app/modules/data/types/article/article-content.html b/frontend/app/src/app/modules/data/types/article/article-content.html index b0a6f9ea..fa575ba4 100644 --- a/frontend/app/src/app/modules/data/types/article/article-content.html +++ b/frontend/app/src/app/modules/data/types/article/article-content.html @@ -16,14 +16,14 @@ {{ 'hebisSearch.detail.title' | translate | sentencecase }} - + @@ -35,14 +35,14 @@ - {{ 'authors' | propertyNameTranslate : item | sentencecase }} + {{ 'authors' | propertyNameTranslate: item | sentencecase }} - {{ 'name' | thingTranslate : author }} + {{ 'name' | thingTranslate: author }} @@ -56,37 +56,37 @@ - {{ 'publications' | propertyNameTranslate : item | sentencecase }} + {{ 'publications' | propertyNameTranslate: item | sentencecase }}

- {{ publication.locations | join : ', ' }} {{ publication.locations && publication.publisher ? ':' : '' - }} {{ publication.publisher }} + {{ publication.locations | join: ', ' }} + {{ publication.locations && publication.publisher ? ':' : '' }} {{ publication.publisher }}

- {{ 'categories' | propertyNameTranslate : item | sentencecase }} + {{ 'categories' | propertyNameTranslate: item | sentencecase }} - {{ 'categories' | thingTranslate : item }} + {{ 'categories' | thingTranslate: item }} diff --git a/frontend/app/src/app/modules/data/types/article/article-item.component.ts b/frontend/app/src/app/modules/data/types/article/article-item.component.ts index 66aea6bd..df7e923b 100644 --- a/frontend/app/src/app/modules/data/types/article/article-item.component.ts +++ b/frontend/app/src/app/modules/data/types/article/article-item.component.ts @@ -12,9 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {Component, Input} from '@angular/core'; +import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; import {SCArticle} from '@openstapps/core'; -import {DataListItemComponent} from '../../list/data-list-item.component'; /** * TODO @@ -22,8 +21,10 @@ import {DataListItemComponent} from '../../list/data-list-item.component'; @Component({ selector: 'stapps-article-item', templateUrl: 'article-list-item.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, }) -export class ArticleListItemComponent extends DataListItemComponent { +export class ArticleListItemComponent { /** * TODO */ diff --git a/frontend/app/src/app/modules/data/types/article/article-list-item.html b/frontend/app/src/app/modules/data/types/article/article-list-item.html index df44e480..3bc34e56 100644 --- a/frontend/app/src/app/modules/data/types/article/article-list-item.html +++ b/frontend/app/src/app/modules/data/types/article/article-list-item.html @@ -16,20 +16,20 @@ -

{{ 'name' | thingTranslate : item }}

+

{{ 'name' | thingTranslate: item }}

- - {{ 'name' | thingTranslate : author }} {{ 'name' | thingTranslate: author }} - {{ item.firstPublished }}{{ + item.firstPublished + }}{{ [item.firstPublished, item.lastPublished] | join : ' - ' }}{{ + [item.firstPublished, item.lastPublished] | join: ' - ' + }}

- {{ 'categories' | thingTranslate : item }} + {{ 'categories' | thingTranslate: item }}
diff --git a/frontend/app/src/app/modules/data/types/book/book-detail-content.component.ts b/frontend/app/src/app/modules/data/types/book/book-detail-content.component.ts index 64d0ffbe..e7edfc59 100644 --- a/frontend/app/src/app/modules/data/types/book/book-detail-content.component.ts +++ b/frontend/app/src/app/modules/data/types/book/book-detail-content.component.ts @@ -12,7 +12,7 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {Component, Input} from '@angular/core'; +import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; import {SCBook} from '@openstapps/core'; /** @@ -21,6 +21,8 @@ import {SCBook} from '@openstapps/core'; @Component({ selector: 'stapps-book-detail-content', templateUrl: 'book-detail-content.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, }) export class BookDetailContentComponent { /** diff --git a/frontend/app/src/app/modules/data/types/book/book-detail-content.html b/frontend/app/src/app/modules/data/types/book/book-detail-content.html index 17008f15..2f0741ad 100644 --- a/frontend/app/src/app/modules/data/types/book/book-detail-content.html +++ b/frontend/app/src/app/modules/data/types/book/book-detail-content.html @@ -16,21 +16,21 @@ {{ 'hebisSearch.detail.title' | translate | sentencecase }} - + @@ -42,20 +42,20 @@ - {{ 'authors' | propertyNameTranslate : item | sentencecase }} + {{ 'authors' | propertyNameTranslate: item | sentencecase }} - {{ 'name' | thingTranslate : author }} + {{ 'name' | thingTranslate: author }} @@ -68,24 +68,24 @@ - {{ 'publications' | propertyNameTranslate : item | sentencecase }} + {{ 'publications' | propertyNameTranslate: item | sentencecase }}

- {{ publication.locations | join : ', ' }} {{ publication.locations && publication.publisher ? ':' : '' - }} {{ publication.publisher }} + {{ publication.locations | join: ', ' }} + {{ publication.locations && publication.publisher ? ':' : '' }} {{ publication.publisher }}

- {{ 'categories' | propertyNameTranslate : item | sentencecase }} + {{ 'categories' | propertyNameTranslate: item | sentencecase }} - {{ 'categories' | thingTranslate : item }} + {{ 'categories' | thingTranslate: item }} diff --git a/frontend/app/src/app/modules/data/types/book/book-list-item.component.ts b/frontend/app/src/app/modules/data/types/book/book-list-item.component.ts index e6b3bc23..ebfa1227 100644 --- a/frontend/app/src/app/modules/data/types/book/book-list-item.component.ts +++ b/frontend/app/src/app/modules/data/types/book/book-list-item.component.ts @@ -12,9 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {Component, Input} from '@angular/core'; +import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; import {SCBook} from '@openstapps/core'; -import {DataListItemComponent} from '../../list/data-list-item.component'; /** * TODO @@ -22,8 +21,10 @@ import {DataListItemComponent} from '../../list/data-list-item.component'; @Component({ selector: 'stapps-book-list-item', templateUrl: 'book-list-item.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, }) -export class BookListItemComponent extends DataListItemComponent { +export class BookListItemComponent { /** * TODO */ diff --git a/frontend/app/src/app/modules/data/types/book/book-list-item.html b/frontend/app/src/app/modules/data/types/book/book-list-item.html index df44e480..3bc34e56 100644 --- a/frontend/app/src/app/modules/data/types/book/book-list-item.html +++ b/frontend/app/src/app/modules/data/types/book/book-list-item.html @@ -16,20 +16,20 @@ -

{{ 'name' | thingTranslate : item }}

+

{{ 'name' | thingTranslate: item }}

- - {{ 'name' | thingTranslate : author }} {{ 'name' | thingTranslate: author }} - {{ item.firstPublished }}{{ + item.firstPublished + }}{{ [item.firstPublished, item.lastPublished] | join : ' - ' }}{{ + [item.firstPublished, item.lastPublished] | join: ' - ' + }}

- {{ 'categories' | thingTranslate : item }} + {{ 'categories' | thingTranslate: item }}
diff --git a/frontend/app/src/app/modules/data/types/catalog/catalog-detail-content.component.ts b/frontend/app/src/app/modules/data/types/catalog/catalog-detail-content.component.ts index d4ecf2ca..4499b0ce 100644 --- a/frontend/app/src/app/modules/data/types/catalog/catalog-detail-content.component.ts +++ b/frontend/app/src/app/modules/data/types/catalog/catalog-detail-content.component.ts @@ -12,19 +12,18 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {Component, Input, OnInit} from '@angular/core'; +import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core'; import {SCCatalog, SCThings} from '@openstapps/core'; import {DataProvider} from '../../data.provider'; @Component({ selector: 'stapps-catalog-detail-content', templateUrl: 'catalog-detail-content.html', - styleUrls: ['catalog-detail-content.scss'], + styleUrl: 'catalog-detail-content.scss', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, }) export class CatalogDetailContentComponent implements OnInit { - /** - * SCCatalog to display - */ @Input() item: SCCatalog; items: Promise; diff --git a/frontend/app/src/app/modules/data/types/catalog/catalog-detail-content.html b/frontend/app/src/app/modules/data/types/catalog/catalog-detail-content.html index 6f7983a8..e67413ac 100644 --- a/frontend/app/src/app/modules/data/types/catalog/catalog-detail-content.html +++ b/frontend/app/src/app/modules/data/types/catalog/catalog-detail-content.html @@ -17,6 +17,6 @@ id="simple-data-list" [items]="items" [singleType]="true" - [listHeader]="'type' | thingTranslate : item | titlecase" + [listHeader]="'type' | thingTranslate: item | titlecase" [emptyListMessage]="'catalog.detail.EMPTY_CATALOG' | translate" > diff --git a/frontend/app/src/app/modules/data/types/catalog/catalog-list-item.component.ts b/frontend/app/src/app/modules/data/types/catalog/catalog-list-item.component.ts index 1c132666..97810372 100644 --- a/frontend/app/src/app/modules/data/types/catalog/catalog-list-item.component.ts +++ b/frontend/app/src/app/modules/data/types/catalog/catalog-list-item.component.ts @@ -12,9 +12,11 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {Component, Input} from '@angular/core'; +import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; import {SCCatalog} from '@openstapps/core'; import {DataListItemComponent} from '../../list/data-list-item.component'; +import {IonCol, IonGrid, IonLabel, IonRow} from '@ionic/angular/standalone'; +import {ThingTranslateModule} from '../../../../translation/thing-translate.module'; /** * TODO @@ -22,6 +24,9 @@ import {DataListItemComponent} from '../../list/data-list-item.component'; @Component({ selector: 'stapps-catalog-list-item', templateUrl: 'catalog-list-item.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [IonGrid, IonRow, IonCol, IonLabel, ThingTranslateModule], }) export class CatalogListItemComponent extends DataListItemComponent { /** diff --git a/frontend/app/src/app/modules/data/types/catalog/catalog-list-item.html b/frontend/app/src/app/modules/data/types/catalog/catalog-list-item.html index ebc5aacf..8e497dee 100644 --- a/frontend/app/src/app/modules/data/types/catalog/catalog-list-item.html +++ b/frontend/app/src/app/modules/data/types/catalog/catalog-list-item.html @@ -2,8 +2,10 @@
- {{ 'name' | thingTranslate : item }} -

{{ item.academicTerm.name }}

+ {{ 'name' | thingTranslate: item }} + @if (item.academicTerm) { +

{{ item.academicTerm.name }}

+ }
diff --git a/frontend/app/src/app/modules/data/types/date-series/date-series-detail-content.component.ts b/frontend/app/src/app/modules/data/types/date-series/date-series-detail-content.component.ts index d9cc8475..b71bcdc3 100644 --- a/frontend/app/src/app/modules/data/types/date-series/date-series-detail-content.component.ts +++ b/frontend/app/src/app/modules/data/types/date-series/date-series-detail-content.component.ts @@ -20,11 +20,32 @@ import {map} from 'rxjs/operators'; import {DataRoutingService} from '../../data-routing.service'; import {Router} from '@angular/router'; import {takeUntilDestroyed} from '@angular/core/rxjs-interop'; +import {AsyncPipe, TitleCasePipe} from '@angular/common'; +import {IonCard, IonCardContent, IonCardHeader, IonChip, IonIcon, IonLabel} from '@ionic/angular/standalone'; +import {TranslateModule} from '@ngx-translate/core'; +import {ThingTranslateModule} from '../../../../translation/thing-translate.module'; +import {MomentModule} from 'ngx-moment'; +import {MapWidgetComponent} from '../../../map/widget/map-widget.component'; @Component({ selector: 'stapps-date-series-detail-content', templateUrl: 'date-series-detail-content.html', - styleUrls: ['date-series-detail-content.scss'], + styleUrl: 'date-series-detail-content.scss', + standalone: true, + imports: [ + AsyncPipe, + IonChip, + IonIcon, + IonLabel, + TranslateModule, + ThingTranslateModule, + TitleCasePipe, + MomentModule, + MapWidgetComponent, + IonCardHeader, + IonCardContent, + IonCard, + ], }) export class DateSeriesDetailContentComponent implements OnInit { @Input() item: SCDateSeries; diff --git a/frontend/app/src/app/modules/data/types/date-series/date-series-detail-content.html b/frontend/app/src/app/modules/data/types/date-series/date-series-detail-content.html index a9b31a4b..700f6be1 100644 --- a/frontend/app/src/app/modules/data/types/date-series/date-series-detail-content.html +++ b/frontend/app/src/app/modules/data/types/date-series/date-series-detail-content.html @@ -15,52 +15,54 @@ - {{'chips.addEvent.addedToEvents' | translate}} + {{ 'chips.addEvent.addedToEvents' | translate }} - {{'chips.addEvent.addEvent' | translate}} + {{ 'chips.addEvent.addEvent' | translate }} - {{ 'event' | propertyNameTranslate : item | titlecase }} + {{ 'event' | propertyNameTranslate: item | titlecase }} - - {{ 'inPlace' | propertyNameTranslate : item | titlecase }} - - - - +@if (item.inPlace) { + + {{ 'inPlace' | propertyNameTranslate: item | titlecase }} + + + + +} diff --git a/frontend/app/src/app/modules/data/types/date-series/date-series-list-item.html b/frontend/app/src/app/modules/data/types/date-series/date-series-list-item.html index 6824333e..eced9f71 100644 --- a/frontend/app/src/app/modules/data/types/date-series/date-series-list-item.html +++ b/frontend/app/src/app/modules/data/types/date-series/date-series-list-item.html @@ -17,22 +17,22 @@
- {{ 'event.name' | thingTranslate : item }} + {{ 'event.name' | thingTranslate: item }}

- {{ item.repeatFrequency | durationLocalized : true | sentencecase }}, {{ item.dates[0] | - dateFormat : 'weekday:long' }} + {{ item.repeatFrequency | durationLocalized: true | sentencecase }}, + {{ item.dates[0] | dateFormat: 'weekday:long' }} ({{ item.dates[0] | dateFormat }} - {{ item.dates[item.dates.length - 1] | dateFormat }})

- {{ 'categories' | thingTranslate : item.event | join : ', ' }} + {{ + 'categories' | thingTranslate: item.event | join: ', ' + }}
diff --git a/frontend/app/src/app/modules/data/types/event/event-detail-content.html b/frontend/app/src/app/modules/data/types/event/event-detail-content.html index 5ceb0989..8a6fbf5a 100644 --- a/frontend/app/src/app/modules/data/types/event/event-detail-content.html +++ b/frontend/app/src/app/modules/data/types/event/event-detail-content.html @@ -15,8 +15,8 @@ @@ -25,23 +25,23 @@ - {{ $any('superCatalogs' | propertyNameTranslate : 'catalog') | titlecase }} + {{ + $any('superCatalogs' | propertyNameTranslate: 'catalog') | titlecase + }} diff --git a/frontend/app/src/app/modules/data/types/event/event-route-path.html b/frontend/app/src/app/modules/data/types/event/event-route-path.html index e3af2588..e0a10180 100644 --- a/frontend/app/src/app/modules/data/types/event/event-route-path.html +++ b/frontend/app/src/app/modules/data/types/event/event-route-path.html @@ -20,9 +20,9 @@ [itemsBeforeCollapse]="itemsBeforeCollapse" > - {{ 'name' | thingTranslate : $any(item) }} + {{ + 'name' | thingTranslate: $any(item) + }} @@ -55,6 +55,6 @@ - {{ 'name' | thingTranslate : $any(item) }} + {{ 'name' | thingTranslate: $any(item) }} diff --git a/frontend/app/src/app/modules/data/types/favorite/favorite-list-item.html b/frontend/app/src/app/modules/data/types/favorite/favorite-list-item.html index 1ea37092..e1ce682d 100644 --- a/frontend/app/src/app/modules/data/types/favorite/favorite-list-item.html +++ b/frontend/app/src/app/modules/data/types/favorite/favorite-list-item.html @@ -18,15 +18,15 @@
- {{ 'name' | thingTranslate : item }}: {{ 'name' | thingTranslate : item.data }} + {{ 'name' | thingTranslate: item }}: {{ 'name' | thingTranslate: item.data }}

- {{ 'type' | thingTranslate : item }} ({{ 'type' | thingTranslate : item.data }}) + {{ 'type' | thingTranslate: item }} ({{ 'type' | thingTranslate: item.data }})
diff --git a/frontend/app/src/app/modules/data/types/job-posting/job-posting-detail-content.html b/frontend/app/src/app/modules/data/types/job-posting/job-posting-detail-content.html index 4e916ee1..050e5d22 100644 --- a/frontend/app/src/app/modules/data/types/job-posting/job-posting-detail-content.html +++ b/frontend/app/src/app/modules/data/types/job-posting/job-posting-detail-content.html @@ -17,7 +17,7 @@
- {{ 'sameAs' | propertyNameTranslate : item | titlecase }} + {{ 'sameAs' | propertyNameTranslate: item | titlecase }} diff --git a/frontend/app/src/app/modules/data/types/message/message-detail-content.html b/frontend/app/src/app/modules/data/types/message/message-detail-content.html index 991be619..f73fb010 100644 --- a/frontend/app/src/app/modules/data/types/message/message-detail-content.html +++ b/frontend/app/src/app/modules/data/types/message/message-detail-content.html @@ -15,26 +15,26 @@
@@ -54,7 +54,7 @@ > - {{ 'sameAs' | propertyNameTranslate : item | titlecase }} + {{ 'sameAs' | propertyNameTranslate: item | titlecase }} diff --git a/frontend/app/src/app/modules/data/types/message/message-list-item.html b/frontend/app/src/app/modules/data/types/message/message-list-item.html index 59dc81ad..dede9103 100644 --- a/frontend/app/src/app/modules/data/types/message/message-list-item.html +++ b/frontend/app/src/app/modules/data/types/message/message-list-item.html @@ -17,11 +17,11 @@
- {{ 'name' | thingTranslate : item }} + {{ 'name' | thingTranslate: item }}

- {{ 'type' | thingTranslate : item }} + {{ 'type' | thingTranslate: item }}
diff --git a/frontend/app/src/app/modules/data/types/organization/organization-detail-content.html b/frontend/app/src/app/modules/data/types/organization/organization-detail-content.html index d1f95481..6882bbba 100644 --- a/frontend/app/src/app/modules/data/types/organization/organization-detail-content.html +++ b/frontend/app/src/app/modules/data/types/organization/organization-detail-content.html @@ -14,10 +14,10 @@ --> - {{ 'inPlace' | propertyNameTranslate : item | titlecase }} + {{ 'inPlace' | propertyNameTranslate: item | titlecase }} - {{ 'name' | thingTranslate : item.inPlace }} + {{ 'name' | thingTranslate: item.inPlace }}
- {{ 'name' | thingTranslate : item }} -

{{ 'description' | thingTranslate : item }}

- {{ 'type' | thingTranslate : item }} + {{ 'name' | thingTranslate: item }} +

{{ 'description' | thingTranslate: item }}

+ {{ 'type' | thingTranslate: item }}
- {{ 'name' | thingTranslate : item.inPlace }} + {{ 'name' | thingTranslate: item.inPlace }}
diff --git a/frontend/app/src/app/modules/data/types/periodical/periodical-detail-content.html b/frontend/app/src/app/modules/data/types/periodical/periodical-detail-content.html index 8cc02743..d5126c21 100644 --- a/frontend/app/src/app/modules/data/types/periodical/periodical-detail-content.html +++ b/frontend/app/src/app/modules/data/types/periodical/periodical-detail-content.html @@ -16,14 +16,14 @@ {{ 'hebisSearch.detail.title' | translate | sentencecase }} - + @@ -35,14 +35,14 @@ - {{ 'authors' | propertyNameTranslate : item | sentencecase }} + {{ 'authors' | propertyNameTranslate: item | sentencecase }} - {{ 'name' | thingTranslate : author }} + {{ 'name' | thingTranslate: author }} @@ -55,30 +55,30 @@ - {{ 'publications' | propertyNameTranslate : item | sentencecase }} + {{ 'publications' | propertyNameTranslate: item | sentencecase }}

- {{ publication.locations | join : ', ' }} {{ publication.locations && publication.publisher ? ':' : '' - }} {{ publication.publisher }} + {{ publication.locations | join: ', ' }} + {{ publication.locations && publication.publisher ? ':' : '' }} {{ publication.publisher }}

- {{ 'categories' | propertyNameTranslate : item | sentencecase }} + {{ 'categories' | propertyNameTranslate: item | sentencecase }} - {{ 'categories' | thingTranslate : item }} + {{ 'categories' | thingTranslate: item }} diff --git a/frontend/app/src/app/modules/data/types/periodical/periodical-list-item.html b/frontend/app/src/app/modules/data/types/periodical/periodical-list-item.html index df44e480..3bc34e56 100644 --- a/frontend/app/src/app/modules/data/types/periodical/periodical-list-item.html +++ b/frontend/app/src/app/modules/data/types/periodical/periodical-list-item.html @@ -16,20 +16,20 @@ -

{{ 'name' | thingTranslate : item }}

+

{{ 'name' | thingTranslate: item }}

- - {{ 'name' | thingTranslate : author }} {{ 'name' | thingTranslate: author }} - {{ item.firstPublished }}{{ + item.firstPublished + }}{{ [item.firstPublished, item.lastPublished] | join : ' - ' }}{{ + [item.firstPublished, item.lastPublished] | join: ' - ' + }}

- {{ 'categories' | thingTranslate : item }} + {{ 'categories' | thingTranslate: item }}
diff --git a/frontend/app/src/app/modules/data/types/person/person-detail-content.html b/frontend/app/src/app/modules/data/types/person/person-detail-content.html index c145970f..dc707fd6 100644 --- a/frontend/app/src/app/modules/data/types/person/person-detail-content.html +++ b/frontend/app/src/app/modules/data/types/person/person-detail-content.html @@ -17,29 +17,29 @@ {{ i + 1 }}. - {{ 'type' | thingTranslate : contactPoint | titlecase }} + {{ 'type' | thingTranslate: contactPoint | titlecase }}

- {{ 'telephone' | propertyNameTranslate : contactPoint | titlecase }}: + {{ 'telephone' | propertyNameTranslate: contactPoint | titlecase }}: {{ contactPoint.telephone }}

- {{ 'email' | propertyNameTranslate : contactPoint | titlecase }}: + {{ 'email' | propertyNameTranslate: contactPoint | titlecase }}: {{ contactPoint.email }}

- {{ 'faxNumber' | propertyNameTranslate : contactPoint | titlecase }}: {{ contactPoint.faxNumber }} + {{ 'faxNumber' | propertyNameTranslate: contactPoint | titlecase }}: {{ contactPoint.faxNumber }}

- {{ 'officeHours' | propertyNameTranslate : contactPoint | titlecase }}: {{ contactPoint.officeHours }} + {{ 'officeHours' | propertyNameTranslate: contactPoint | titlecase }}: {{ contactPoint.officeHours }}

- {{ 'url' | propertyNameTranslate : contactPoint | titlecase }}: + {{ 'url' | propertyNameTranslate: contactPoint | titlecase }}: {{ contactPoint.url }}

- {{ 'areaServed' | propertyNameTranslate : contactPoint | titlecase }}: + {{ 'areaServed' | propertyNameTranslate: contactPoint | titlecase }}: {{ contactPoint.areaServed.name }}

@@ -47,6 +47,6 @@ diff --git a/frontend/app/src/app/modules/data/types/person/person-list-item.html b/frontend/app/src/app/modules/data/types/person/person-list-item.html index f1077940..c4713f21 100644 --- a/frontend/app/src/app/modules/data/types/person/person-list-item.html +++ b/frontend/app/src/app/modules/data/types/person/person-list-item.html @@ -18,7 +18,7 @@
- {{ 'name' | thingTranslate : item }} + {{ 'name' | thingTranslate: item }} , {{ item.honorificPrefix }}

diff --git a/frontend/app/src/app/modules/data/types/place/special/mensa/place-mensa-service.ts b/frontend/app/src/app/modules/data/types/place/special/mensa/place-mensa-service.ts index e711da47..06ecc697 100644 --- a/frontend/app/src/app/modules/data/types/place/special/mensa/place-mensa-service.ts +++ b/frontend/app/src/app/modules/data/types/place/special/mensa/place-mensa-service.ts @@ -26,7 +26,10 @@ import {SettingsProvider} from '../../../../../settings/settings.provider'; providedIn: 'root', }) export class PlaceMensaService { - constructor(private dataProvider: DataProvider, readonly settingsProvider: SettingsProvider) {} + constructor( + private dataProvider: DataProvider, + readonly settingsProvider: SettingsProvider, + ) {} /** * Fetches all dishes for this building @@ -39,10 +42,13 @@ export class PlaceMensaService { Array.from({length: days}) .map((_, i) => i) .map(i => moment().add(i, 'days').toISOString()) - .reduce((accumulator, item) => { - accumulator[item] = item; - return accumulator; - }, {} as Record), + .reduce( + (accumulator, item) => { + accumulator[item] = item; + return accumulator; + }, + {} as Record, + ), date => ({ filter: { arguments: { diff --git a/frontend/app/src/app/modules/data/types/place/special/mensa/place-mensa.html b/frontend/app/src/app/modules/data/types/place/special/mensa/place-mensa.html index 04ff95bc..5ed5a80f 100644 --- a/frontend/app/src/app/modules/data/types/place/special/mensa/place-mensa.html +++ b/frontend/app/src/app/modules/data/types/place/special/mensa/place-mensa.html @@ -18,12 +18,12 @@ - {{ day.key | dateFormat : 'weekday:long,month:numeric,day:numeric' }} - {{ day.key | dateFormat : 'weekday:short,month:numeric,day:numeric' }} + {{ + day.key | dateFormat: 'weekday:long,month:numeric,day:numeric' + }} + {{ + day.key | dateFormat: 'weekday:short,month:numeric,day:numeric' + }} @@ -33,8 +33,10 @@ - {{ 'data.types.dish.detail.' + section.value[0].menuSection.name | translate | titlecase - }} {{ section.value[0].menuSection.servingHours }} + {{ + 'data.types.dish.detail.' + section.value[0].menuSection.name | translate | titlecase + }} + {{ section.value[0].menuSection.servingHours }} diff --git a/frontend/app/src/app/modules/data/types/semester/semester-detail-content.html b/frontend/app/src/app/modules/data/types/semester/semester-detail-content.html index 6f01a42c..c6a34d9b 100644 --- a/frontend/app/src/app/modules/data/types/semester/semester-detail-content.html +++ b/frontend/app/src/app/modules/data/types/semester/semester-detail-content.html @@ -16,11 +16,9 @@ diff --git a/frontend/app/src/app/modules/data/types/semester/semester-list-item.html b/frontend/app/src/app/modules/data/types/semester/semester-list-item.html index bcae688a..a43c981b 100644 --- a/frontend/app/src/app/modules/data/types/semester/semester-list-item.html +++ b/frontend/app/src/app/modules/data/types/semester/semester-list-item.html @@ -17,12 +17,12 @@

- {{ 'name' | thingTranslate : item }} + {{ 'name' | thingTranslate: item }}

{{ item.startDate | dateFormat }} - {{ item.endDate | dateFormat }}

- {{ 'type' | thingTranslate : item }} + {{ 'type' | thingTranslate: item }}
diff --git a/frontend/app/src/app/modules/data/types/video/video-detail-content.html b/frontend/app/src/app/modules/data/types/video/video-detail-content.html index 3802bd30..f6f05699 100644 --- a/frontend/app/src/app/modules/data/types/video/video-detail-content.html +++ b/frontend/app/src/app/modules/data/types/video/video-detail-content.html @@ -15,18 +15,18 @@ diff --git a/frontend/app/src/app/modules/data/types/video/video-list-item.html b/frontend/app/src/app/modules/data/types/video/video-list-item.html index f2053e86..abfe344e 100644 --- a/frontend/app/src/app/modules/data/types/video/video-list-item.html +++ b/frontend/app/src/app/modules/data/types/video/video-list-item.html @@ -2,18 +2,18 @@
- {{ 'name' | thingTranslate : item }} + {{ 'name' | thingTranslate: item }}

- {{ 'duration' | propertyNameTranslate : item | titlecase }}: {{ item.duration | amDuration : - 'seconds' }} + {{ 'duration' | propertyNameTranslate: item | titlecase }}: + {{ item.duration | amDuration: 'seconds' }}

- {{ 'type' | thingTranslate : item }} + {{ 'type' | thingTranslate: item }}
diff --git a/frontend/app/src/app/modules/feedback/feedback-page.html b/frontend/app/src/app/modules/feedback/feedback-page.html index 1b4e58e5..1757bf4b 100644 --- a/frontend/app/src/app/modules/feedback/feedback-page.html +++ b/frontend/app/src/app/modules/feedback/feedback-page.html @@ -44,12 +44,12 @@ interface="popover" required="true" > - {{ 'feedback.form.type.values.comment' | translate }} - {{ 'feedback.form.type.values.bug' | translate }} + {{ + 'feedback.form.type.values.comment' | translate + }} + {{ + 'feedback.form.type.values.bug' | translate + }} @@ -91,9 +91,9 @@ {{ 'feedback.form.termsAgree.1' | translate }}{{ + 'feedback.form.termsAgree.1' | translate + }} @@ -110,9 +110,9 @@ - {{ 'feedback.form.protocolData.show' | translate }} + {{ + 'feedback.form.protocolData.show' | translate + }} {{ 'feedback.form.protocolData.hide' | translate }} diff --git a/frontend/app/src/app/modules/hebis/daia-availability/daia-holding.html b/frontend/app/src/app/modules/hebis/daia-availability/daia-holding.html index 6d21aabe..ff61f986 100644 --- a/frontend/app/src/app/modules/hebis/daia-availability/daia-holding.html +++ b/frontend/app/src/app/modules/hebis/daia-availability/daia-holding.html @@ -67,6 +67,6 @@ {{ 'hebisSearch.daia.dueDate' | translate }} - {{ holding.dueDate | amDateFormat : 'll' }} + {{ holding.dueDate | amDateFormat: 'll' }} diff --git a/frontend/app/src/app/modules/hebis/hebis-detail/hebis-detail-content.html b/frontend/app/src/app/modules/hebis/hebis-detail/hebis-detail-content.html index 727cbab2..6ea8524b 100644 --- a/frontend/app/src/app/modules/hebis/hebis-detail/hebis-detail-content.html +++ b/frontend/app/src/app/modules/hebis/hebis-detail/hebis-detail-content.html @@ -38,8 +38,8 @@
diff --git a/frontend/app/src/app/modules/library/account/account.page.html b/frontend/app/src/app/modules/library/account/account.page.html index 5adcb6d1..1e991034 100644 --- a/frontend/app/src/app/modules/library/account/account.page.html +++ b/frontend/app/src/app/modules/library/account/account.page.html @@ -24,26 +24,26 @@

- {{ 'library.account.greeting' | translate }} {{ name | firstLastName }}! {{ - 'library.account.login.success' | translate }} + {{ 'library.account.greeting' | translate }} {{ name | firstLastName }}! + {{ 'library.account.login.success' | translate }}

- {{ 'library.account.pages.profile.title' | - translate | titlecase }} + {{ 'library.account.pages.profile.title' | translate | titlecase }} - {{ 'library.account.pages.holds.title' | - translate | titlecase }} + {{ 'library.account.pages.holds.title' | translate | titlecase }} - {{ 'library.account.pages.checked_out.title' | translate | - titlecase }} + {{ 'library.account.pages.checked_out.title' | translate | titlecase }} - {{ 'library.account.pages.fines.title' | translate - | titlecase }} + {{ 'library.account.pages.fines.title' | translate | titlecase }}
diff --git a/frontend/app/src/app/modules/library/account/elements/fee-item/fee-item.html b/frontend/app/src/app/modules/library/account/elements/fee-item/fee-item.html index 24f19c50..05ef424f 100644 --- a/frontend/app/src/app/modules/library/account/elements/fee-item/fee-item.html +++ b/frontend/app/src/app/modules/library/account/elements/fee-item/fee-item.html @@ -28,7 +28,7 @@

{{ 'library.account.pages.fines.labels' + '.' + property | translate }}: {{ fee[property] }} - {{ fee[property] | amDateFormat : 'll' }} + {{ fee[property] | amDateFormat: 'll' }}

diff --git a/frontend/app/src/app/modules/library/account/elements/paia-item/paiaitem.html b/frontend/app/src/app/modules/library/account/elements/paia-item/paiaitem.html index c359ec6e..464ca45c 100644 --- a/frontend/app/src/app/modules/library/account/elements/paia-item/paiaitem.html +++ b/frontend/app/src/app/modules/library/account/elements/paia-item/paiaitem.html @@ -23,7 +23,7 @@ {{ item[property] }} - {{ item[property] | amDateFormat : 'll' }} + {{ item[property] | amDateFormat: 'll' }}

diff --git a/frontend/app/src/app/modules/library/account/profile/profile-page.html b/frontend/app/src/app/modules/library/account/profile/profile-page.html index 890f7623..e84e31fa 100644 --- a/frontend/app/src/app/modules/library/account/profile/profile-page.html +++ b/frontend/app/src/app/modules/library/account/profile/profile-page.html @@ -37,8 +37,9 @@ {{ 'library.account.pages.profile.values.unlimited' | translate }} - {{ 'library.account.pages.profile.values.expires' | translate }}: {{ patron[property] | - amDateFormat : 'll' }} + {{ 'library.account.pages.profile.values.expires' | translate }}: {{ + patron[property] | amDateFormat: 'll' + }}
diff --git a/frontend/app/src/app/modules/map/page/map-page.component.ts b/frontend/app/src/app/modules/map/page/map-page.component.ts index 95b04124..a478cb40 100644 --- a/frontend/app/src/app/modules/map/page/map-page.component.ts +++ b/frontend/app/src/app/modules/map/page/map-page.component.ts @@ -402,8 +402,8 @@ export class MapPageComponent implements OnInit { this.locationStatus?.location === 'denied' ? location.NOT_ALLOWED : this.locationStatus?.location === 'granted' - ? unknownError - : location.NOT_ENABLED + ? unknownError + : location.NOT_ENABLED }`, buttons: ['OK'], }) diff --git a/frontend/app/src/app/modules/map/widget/map-widget.html b/frontend/app/src/app/modules/map/widget/map-widget.html index 23e8d53a..bc64b144 100644 --- a/frontend/app/src/app/modules/map/widget/map-widget.html +++ b/frontend/app/src/app/modules/map/widget/map-widget.html @@ -21,13 +21,13 @@ [leafletOptions]="options" >
@if (showExpandButton) { -
- - - {{'map.directions.TITLE' | translate}} - - - - -
+
+ + + {{ 'map.directions.TITLE' | translate }} + + + + +
} diff --git a/frontend/app/src/app/modules/menu/context/context-menu.html b/frontend/app/src/app/modules/menu/context/context-menu.html index d06eccf3..7af27810 100644 --- a/frontend/app/src/app/modules/menu/context/context-menu.html +++ b/frontend/app/src/app/modules/menu/context/context-menu.html @@ -56,7 +56,9 @@
- {{ facet.info.onlyOnType | titlecase }} / + {{ facet.info.onlyOnType | titlecase }} / + {{ facet.info.field | titlecase }} @@ -78,9 +80,12 @@ }" class="filter-item-label" > - ({{ bucket.count }}) {{ facet.field === 'type' ? (getTranslatedPropertyValue($any(bucket.key), - 'type') | titlecase) : (getTranslatedPropertyValue(facet.onlyOnType, facet.field, bucket.key) - | titlecase) }} + ({{ bucket.count }}) + {{ + facet.field === 'type' + ? (getTranslatedPropertyValue($any(bucket.key), 'type') | titlecase) + : (getTranslatedPropertyValue(facet.onlyOnType, facet.field, bucket.key) | titlecase) + }} @if (menu) { - - @for (category of menu; track category; let isFirst = first) { - - @if (category.title !== '') { - - - {{ category.translations[language].title | titlecase }} - - } @for (item of category.items; track item) { - - - {{ item.translations[language].title | titlecase }} - + + @for (category of menu; track category; let isFirst = first) { + + @if (category.title !== '') { + + + {{ category.translations[language].title | titlecase }} + + } + @for (item of category.items; track item) { + + + {{ item.translations[language].title | titlecase }} + + } + } - - } - + } diff --git a/frontend/app/src/app/modules/menu/navigation/navigation.service.ts b/frontend/app/src/app/modules/menu/navigation/navigation.service.ts index 4f9033d7..6dbcc490 100644 --- a/frontend/app/src/app/modules/menu/navigation/navigation.service.ts +++ b/frontend/app/src/app/modules/menu/navigation/navigation.service.ts @@ -22,7 +22,10 @@ import {NGXLogger} from 'ngx-logger'; providedIn: 'root', }) export class NavigationService { - constructor(private configProvider: ConfigProvider, private logger: NGXLogger) {} + constructor( + private configProvider: ConfigProvider, + private logger: NGXLogger, + ) {} async getMenu() { let menu: SCAppConfigurationMenuCategory[] = []; diff --git a/frontend/app/src/app/modules/menu/navigation/tabs.html b/frontend/app/src/app/modules/menu/navigation/tabs.html index e2982631..aa1d4c0a 100644 --- a/frontend/app/src/app/modules/menu/navigation/tabs.html +++ b/frontend/app/src/app/modules/menu/navigation/tabs.html @@ -20,9 +20,9 @@ @for (category of menu; track category) { - - - {{ category.translations[language].title | titlecase }} - + + + {{ category.translations[language].title | titlecase }} + } diff --git a/frontend/app/src/app/modules/news/elements/news-filter-settings/news-settings-filter.component.html b/frontend/app/src/app/modules/news/elements/news-filter-settings/news-settings-filter.component.html index 4427b484..6bb89388 100644 --- a/frontend/app/src/app/modules/news/elements/news-filter-settings/news-settings-filter.component.html +++ b/frontend/app/src/app/modules/news/elements/news-filter-settings/news-settings-filter.component.html @@ -1,9 +1,9 @@ @for (setting of settings; track setting) { - - + + } diff --git a/frontend/app/src/app/modules/news/item/news-item.html b/frontend/app/src/app/modules/news/item/news-item.html index 0aec3938..ab8316e8 100644 --- a/frontend/app/src/app/modules/news/item/news-item.html +++ b/frontend/app/src/app/modules/news/item/news-item.html @@ -21,7 +21,7 @@ > @if (item.datePublished) { - {{ item.datePublished | dfnsParseIso | dfnsFormat: 'PP' }} + {{ item.datePublished | dfnsParseIso | dfnsFormat: 'PP' }} } {{ item.name }} diff --git a/frontend/app/src/app/modules/news/news.provider.ts b/frontend/app/src/app/modules/news/news.provider.ts index 7dfdfe7a..dfe970e2 100644 --- a/frontend/app/src/app/modules/news/news.provider.ts +++ b/frontend/app/src/app/modules/news/news.provider.ts @@ -37,7 +37,10 @@ import {SettingsProvider} from '../settings/settings.provider'; providedIn: 'root', }) export class NewsProvider { - constructor(private dataProvider: DataProvider, private settingsProvider: SettingsProvider) {} + constructor( + private dataProvider: DataProvider, + private settingsProvider: SettingsProvider, + ) {} async getCurrentSettings(): Promise { const settings: SCSetting[] = []; diff --git a/frontend/app/src/app/modules/news/page/news-page.html b/frontend/app/src/app/modules/news/page/news-page.html index c477b2b8..1bf782e9 100644 --- a/frontend/app/src/app/modules/news/page/news-page.html +++ b/frontend/app/src/app/modules/news/page/news-page.html @@ -36,25 +36,30 @@ @if (settings) { - + }
- @if (!news) { @for (skeleton of [1, 2, 3, 4, 5]; track skeleton) { - - } } @if (news.length > 0) { @for (item of news; track item) { - - } } + @if (!news) { + @for (skeleton of [1, 2, 3, 4, 5]; track skeleton) { + + } + } + @if (news.length > 0) { + @for (item of news; track item) { + + } + }
@if (news.length === 0) { - - {{ 'search.nothing_found' | translate | titlecase }} - + + {{ 'search.nothing_found' | translate | titlecase }} + } diff --git a/frontend/app/src/app/modules/profile/id-card.html b/frontend/app/src/app/modules/profile/id-card.html index aaf28e2d..7e6d8054 100644 --- a/frontend/app/src/app/modules/profile/id-card.html +++ b/frontend/app/src/app/modules/profile/id-card.html @@ -1,4 +1,4 @@ - +
{{ 'profile.userInfo.expired' | translate | titlecase }}
diff --git a/frontend/app/src/app/modules/profile/id-cards.html b/frontend/app/src/app/modules/profile/id-cards.html index e3bb74e2..09a24ee1 100644 --- a/frontend/app/src/app/modules/profile/id-cards.html +++ b/frontend/app/src/app/modules/profile/id-cards.html @@ -16,7 +16,7 @@
diff --git a/frontend/app/src/app/modules/profile/page/my-courses.html b/frontend/app/src/app/modules/profile/page/my-courses.html index f1d0f2de..7f7928e4 100644 --- a/frontend/app/src/app/modules/profile/page/my-courses.html +++ b/frontend/app/src/app/modules/profile/page/my-courses.html @@ -21,9 +21,12 @@ {{ myCoursesDay[0] | amDateFormat: 'dddd, ll' }} - {{ ('profile.courses.' + (myCoursesDay[1].length - === 0 ? 'NO' : myCoursesDay[1].length === 1 ? 'ONE' : 'MANY' ) + '_EVENT') | translate: {count: - myCoursesDay[1].length} }}{{ myCoursesDay[0] | amDateFormat: 'dddd, ll' }} - + {{ + 'profile.courses.' + + (myCoursesDay[1].length === 0 ? 'NO' : myCoursesDay[1].length === 1 ? 'ONE' : 'MANY') + + '_EVENT' | translate: {count: myCoursesDay[1].length} + }} @@ -34,8 +37,8 @@ {{myCourse.startTime | amDateFormat: 'LT'}} - {{myCourse.endTime | amDateFormat: - 'LT'}}{{ myCourse.startTime | amDateFormat: 'LT' }} - + {{ myCourse.endTime | amDateFormat: 'LT' }} . --> - + @@ -32,7 +32,7 @@ >
- {{ 'name' | translateSimple : link }} + {{ 'name' | translateSimple: link }}
diff --git a/frontend/app/src/app/modules/schedule/page/calendar-view.html b/frontend/app/src/app/modules/schedule/page/calendar-view.html index 8a97f9f4..b0af6a04 100644 --- a/frontend/app/src/app/modules/schedule/page/calendar-view.html +++ b/frontend/app/src/app/modules/schedule/page/calendar-view.html @@ -26,7 +26,7 @@ (indexChange)="onHeaderSwipe($event, mainSwiper)" > -
+
{{ dateRange.startDate }} - {{ dateRange.endDate }} @@ -36,7 +36,7 @@ @@ -64,13 +64,13 @@ > diff --git a/frontend/app/src/app/modules/schedule/page/grid/schedule-card.html b/frontend/app/src/app/modules/schedule/page/grid/schedule-card.html index bf219c2e..f331f3fe 100644 --- a/frontend/app/src/app/modules/schedule/page/grid/schedule-card.html +++ b/frontend/app/src/app/modules/schedule/page/grid/schedule-card.html @@ -25,14 +25,15 @@ > - {{ this.scheduleEvent?.dateSeries?.event?.name | nullishCoalesce : this.scheduleEvent?.dateSeries?.name + {{ + this.scheduleEvent?.dateSeries?.event?.name | nullishCoalesce: this.scheduleEvent?.dateSeries?.name }} {{ getNote() }} - {{ scheduleEvent?.dateSeries?.inPlace?.name }} + {{ + scheduleEvent?.dateSeries?.inPlace?.name + }} diff --git a/frontend/app/src/app/modules/schedule/page/grid/schedule-day.html b/frontend/app/src/app/modules/schedule/page/grid/schedule-day.html index 4ffe18e6..8855c2fd 100644 --- a/frontend/app/src/app/modules/schedule/page/grid/schedule-day.html +++ b/frontend/app/src/app/modules/schedule/page/grid/schedule-day.html @@ -13,7 +13,7 @@ ~ this program. If not, see . -->
-
{{ day | amDateFormat : dateFormat }}
+
{{ day | amDateFormat: dateFormat }}
- +
diff --git a/frontend/app/src/app/modules/schedule/page/schedule-single-events.html b/frontend/app/src/app/modules/schedule/page/schedule-single-events.html index 8ea2ccf0..008f3056 100644 --- a/frontend/app/src/app/modules/schedule/page/schedule-single-events.html +++ b/frontend/app/src/app/modules/schedule/page/schedule-single-events.html @@ -16,7 +16,7 @@ - {{ day[0].day | amDateFormat : 'LL' }} + {{ day[0].day | amDateFormat: 'LL' }}
{{ event.event.time.startAsString }} diff --git a/frontend/app/src/app/modules/schedule/page/schedule-single-events.spec.ts b/frontend/app/src/app/modules/schedule/page/schedule-single-events.spec.ts index 05bd42e2..f274c31f 100644 --- a/frontend/app/src/app/modules/schedule/page/schedule-single-events.spec.ts +++ b/frontend/app/src/app/modules/schedule/page/schedule-single-events.spec.ts @@ -46,7 +46,9 @@ describe('ScheduleSingleEvents', () => { start: time.hour() + time.minute() / 60, startAsString: moment(time).format('LT'), duration: series.duration as string, - endAsString: moment(time).add(series.duration?.[index]).format('LT'), + endAsString: moment(time) + .add(series.duration?.[index]) + .format('LT'), }, }, }; diff --git a/frontend/app/src/app/modules/schedule/page/schedule-view.html b/frontend/app/src/app/modules/schedule/page/schedule-view.html index 8fd1bbf7..fda7b098 100644 --- a/frontend/app/src/app/modules/schedule/page/schedule-view.html +++ b/frontend/app/src/app/modules/schedule/page/schedule-view.html @@ -26,7 +26,7 @@ (activeIndexChange)="syncSwiper(headerSwiper, mainSwiper)" > -
+
{{ dateRange.startDate }} - {{ dateRange.endDate }} @@ -36,7 +36,7 @@ @@ -71,7 +71,7 @@ [uuids]="uuids" [dateSeries]="testSchedule[i]" [layout]="layout" - [isLeftmost]="dateRange.startDate === (i | dateFromIndex : baselineDate).format('DD.MM.YY')" + [isLeftmost]="dateRange.startDate === (i | dateFromIndex: baselineDate).format('DD.MM.YY')" > diff --git a/frontend/app/src/app/modules/settings/item/settings-item.html b/frontend/app/src/app/modules/settings/item/settings-item.html index 8e62ef21..b4d807f8 100644 --- a/frontend/app/src/app/modules/settings/item/settings-item.html +++ b/frontend/app/src/app/modules/settings/item/settings-item.html @@ -17,8 +17,8 @@ - {{ 'description' | thingTranslate : setting | titlecase }} + {{ 'description' | thingTranslate: setting | titlecase }}
@@ -75,7 +75,7 @@ >
- {{ ('values' | thingTranslate : setting)[i] | titlecase }} + {{ ('values' | thingTranslate: setting)[i] | titlecase }}
{{ val }}
@@ -86,7 +86,7 @@
- {{ ('values' | thingTranslate : setting)[i] | titlecase }} + {{ ('values' | thingTranslate: setting)[i] | titlecase }}
{{ val }}
diff --git a/frontend/app/src/app/modules/settings/settings.provider.ts b/frontend/app/src/app/modules/settings/settings.provider.ts index a3f52249..0cb9c75e 100644 --- a/frontend/app/src/app/modules/settings/settings.provider.ts +++ b/frontend/app/src/app/modules/settings/settings.provider.ts @@ -197,7 +197,10 @@ export class SettingsProvider { * @param storage TODO * @param configProvider TODO */ - constructor(private readonly storage: StorageProvider, private readonly configProvider: ConfigProvider) { + constructor( + private readonly storage: StorageProvider, + private readonly configProvider: ConfigProvider, + ) { this.categoriesOrder = []; this.settingsCache = {}; } @@ -330,9 +333,8 @@ export class SettingsProvider { if (await this.storage.has(STORAGE_KEY_SETTING_VALUES)) { // get setting values from StorageProvider into settingsCache - const valuesContainer: SettingValuesContainer = await this.storage.get( - STORAGE_KEY_SETTING_VALUES, - ); + const valuesContainer: SettingValuesContainer = + await this.storage.get(STORAGE_KEY_SETTING_VALUES); // iterate through keys of categories for (const categoryKey of Object.keys(this.settingsCache)) { // iterate through setting keys of category @@ -384,9 +386,8 @@ export class SettingsProvider { */ public async saveSettingValues(): Promise { if (await this.storage.has(STORAGE_KEY_SETTING_VALUES)) { - const savedSettingsValues: SettingValuesContainer = await this.storage.get( - STORAGE_KEY_SETTING_VALUES, - ); + const savedSettingsValues: SettingValuesContainer = + await this.storage.get(STORAGE_KEY_SETTING_VALUES); const cacheSettingsValues = this.getSettingValuesFromCache(); const mergedSettingValues = deepMerge(savedSettingsValues, cacheSettingsValues); await this.storage.put(STORAGE_KEY_SETTING_VALUES, mergedSettingValues); diff --git a/frontend/app/src/app/util/array-last.pipe.ts b/frontend/app/src/app/util/array-last.pipe.ts deleted file mode 100644 index b897052f..00000000 --- a/frontend/app/src/app/util/array-last.pipe.ts +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2022 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {Injectable, Pipe, PipeTransform} from '@angular/core'; - -/** - * Get the last value of an array - */ -@Injectable() -@Pipe({ - name: 'last', - pure: true, -}) -export class ArrayLastPipe implements PipeTransform { - /** - * Transform - */ - // tslint:disable-next-line:prefer-function-over-method - transform(value: T[]): T | undefined { - return value.at(-1); - } -} diff --git a/frontend/app/src/app/util/date-from-index.pipe.ts b/frontend/app/src/app/util/date-from-index.pipe.ts deleted file mode 100644 index 7cd58f22..00000000 --- a/frontend/app/src/app/util/date-from-index.pipe.ts +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (C) 2021 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {Pipe, PipeTransform} from '@angular/core'; -import {Moment} from 'moment'; - -@Pipe({ - name: 'dateFromIndex', - pure: true, -}) -export class DateFromIndexPipe implements PipeTransform { - transform(index: number, baseline: Moment): Moment { - return baseline.clone().add(index, 'days'); - } -} diff --git a/frontend/app/src/app/util/date-is-today.pipe.ts b/frontend/app/src/app/util/date-is-today.pipe.ts deleted file mode 100644 index b2457f6b..00000000 --- a/frontend/app/src/app/util/date-is-today.pipe.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (C) 2022 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {Injectable, Pipe, PipeTransform} from '@angular/core'; -import moment, {Moment, unitOfTime} from 'moment'; - -/** - * Get the last value of an array - */ -@Injectable() -@Pipe({ - name: 'dateIsThis', - pure: false, // pure pipe can break in some change detection scenarios, - // specifically, on the calendar view it causes it to stay true even when you navigate -}) -export class DateIsThisPipe implements PipeTransform { - /** - * Transform - */ - // tslint:disable-next-line:prefer-function-over-method - transform(value: Moment | string | number, granularity: unitOfTime.StartOf): boolean { - return ( - typeof value === 'string' ? moment(value) : typeof value === 'number' ? moment.unix(value) : value - ).isSame(moment(moment.now()), granularity); - } -} diff --git a/frontend/app/src/app/util/daytime-key.pipe.ts b/frontend/app/src/app/util/daytime-key.pipe.ts index 5aa8f6e6..196f327c 100644 --- a/frontend/app/src/app/util/daytime-key.pipe.ts +++ b/frontend/app/src/app/util/daytime-key.pipe.ts @@ -22,6 +22,7 @@ import moment from 'moment'; @Injectable() @Pipe({ name: 'daytimeKey', + standalone: true, }) export class DaytimeKeyPipe implements PipeTransform { /** diff --git a/frontend/app/src/app/util/edit-modal.component.ts b/frontend/app/src/app/util/edit-modal.component.ts index f3e9007d..f015ca56 100644 --- a/frontend/app/src/app/util/edit-modal.component.ts +++ b/frontend/app/src/app/util/edit-modal.component.ts @@ -28,6 +28,7 @@ import {TranslatePipe} from '@ngx-translate/core'; @Component({ selector: 'stapps-edit-modal', templateUrl: 'edit-modal.html', + standalone: true, }) export class EditModalComponent { @ContentChild(TemplateRef) content: TemplateRef; @@ -48,7 +49,7 @@ export class EditModalComponent { ) {} present() { - this.modal.present(); + void this.modal.present(); this.pendingChanges = false; } diff --git a/frontend/app/src/app/util/edit-modal.html b/frontend/app/src/app/util/edit-modal.html index 83f711ee..412b2972 100644 --- a/frontend/app/src/app/util/edit-modal.html +++ b/frontend/app/src/app/util/edit-modal.html @@ -19,9 +19,9 @@ {{ 'modal.TITLE_EDIT' | translate }} - {{ 'modal.DISMISS_CONFIRM' | translate }} + {{ + 'modal.DISMISS_CONFIRM' | translate + }} {{ 'modal.DISMISS_CANCEL' | translate }} diff --git a/frontend/app/src/app/util/element-size-change.directive.ts b/frontend/app/src/app/util/element-size-change.directive.ts index 8f839b7f..974cb08e 100644 --- a/frontend/app/src/app/util/element-size-change.directive.ts +++ b/frontend/app/src/app/util/element-size-change.directive.ts @@ -17,6 +17,7 @@ import {Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} f @Directive({ selector: '[elementSizeChange]', + standalone: true, }) export class ElementSizeChangeDirective implements OnInit, OnDestroy { @Output() diff --git a/frontend/app/src/app/util/internet-connection.service.ts b/frontend/app/src/app/util/internet-connection.service.ts index e8ed9ea8..63345224 100644 --- a/frontend/app/src/app/util/internet-connection.service.ts +++ b/frontend/app/src/app/util/internet-connection.service.ts @@ -101,7 +101,10 @@ export class InternetConnectionService { private readonly errors = new Set(); - constructor(private readonly logger: NGXLogger, private readonly router: Router) {} + constructor( + private readonly logger: NGXLogger, + private readonly router: Router, + ) {} /** * Retry all failed http requests diff --git a/frontend/app/src/app/util/ion-content-parallax.directive.ts b/frontend/app/src/app/util/ion-content-parallax.directive.ts index 2eca9fed..a65c803d 100644 --- a/frontend/app/src/app/util/ion-content-parallax.directive.ts +++ b/frontend/app/src/app/util/ion-content-parallax.directive.ts @@ -73,6 +73,7 @@ type IonicColor = */ @Directive({ selector: 'ion-content[parallax]', + standalone: true, }) export class IonContentParallaxDirective implements OnInit, OnDestroy { @HostBinding('style.--parallax-content-size.px') @Input() parallaxSize = 230; diff --git a/frontend/app/src/app/util/ion-icon/icon.scss b/frontend/app/src/app/util/ion-icon/icon.scss index 9ac563b7..2465779f 100644 --- a/frontend/app/src/app/util/ion-icon/icon.scss +++ b/frontend/app/src/app/util/ion-icon/icon.scss @@ -22,7 +22,10 @@ height: 100%; font-size: inherit; - font-variation-settings: 'wght' var(--weight), 'GRAD' var(--grade), 'FILL' var(--fill); + font-variation-settings: + 'wght' var(--weight), + 'GRAD' var(--grade), + 'FILL' var(--fill); transition: all 0.2s ease-in-out; } diff --git a/frontend/app/src/app/util/lazy.pipe.ts b/frontend/app/src/app/util/lazy.pipe.ts index a5ba8cd0..9d45bd51 100644 --- a/frontend/app/src/app/util/lazy.pipe.ts +++ b/frontend/app/src/app/util/lazy.pipe.ts @@ -21,6 +21,7 @@ import {get} from '@openstapps/collection-utils'; @Pipe({ name: 'lazyThing', pure: true, + standalone: true, }) export class LazyPipe implements PipeTransform { constructor(private readonly dataProvider: DataProvider) {} diff --git a/frontend/app/src/app/util/next-date-in-list.pipe.ts b/frontend/app/src/app/util/next-date-in-list.pipe.ts index 17efc92b..cf322403 100644 --- a/frontend/app/src/app/util/next-date-in-list.pipe.ts +++ b/frontend/app/src/app/util/next-date-in-list.pipe.ts @@ -13,29 +13,16 @@ * this program. If not, see . */ -import {Injectable, Pipe, PipeTransform} from '@angular/core'; -import moment from 'moment'; +import {Pipe, PipeTransform} from '@angular/core'; -/** - * Get the last value of an array - */ -@Injectable() @Pipe({ name: 'nextDateInList', - pure: false, // pure pipe can break in some change detection scenarios, - // specifically, on the calendar view it causes it to stay true even when you navigate + pure: true, + standalone: true, }) export class NextDateInListPipe implements PipeTransform { - /** - * Transform - */ - // tslint:disable-next-line:prefer-function-over-method transform(dates: string[]): string { - const nextDate = dates - .sort((a, b) => moment(a).unix() - moment(b).unix()) - .find(date => { - return moment(date).unix() > moment().unix(); - }); - return nextDate || ''; + // ISO8601 can be sorted alphabetically + return [...dates].sort()[0] || ''; } } diff --git a/frontend/app/src/app/util/nullish-coalecing.pipe.ts b/frontend/app/src/app/util/nullish-coalecing.pipe.ts index 064ae803..34ae81af 100644 --- a/frontend/app/src/app/util/nullish-coalecing.pipe.ts +++ b/frontend/app/src/app/util/nullish-coalecing.pipe.ts @@ -22,6 +22,7 @@ import {Injectable, Pipe, PipeTransform} from '@angular/core'; @Pipe({ name: 'nullishCoalesce', pure: true, + standalone: true, }) export class NullishCoalescingPipe implements PipeTransform { /** diff --git a/frontend/app/src/app/util/opening-hours.component.ts b/frontend/app/src/app/util/opening-hours.component.ts index 81802304..e494fcb4 100644 --- a/frontend/app/src/app/util/opening-hours.component.ts +++ b/frontend/app/src/app/util/opening-hours.component.ts @@ -20,8 +20,9 @@ import {map, startWith} from 'rxjs/operators'; @Component({ selector: 'stapps-opening-hours', templateUrl: 'opening-hours.html', - styleUrls: ['opening-hours.scss'], + styleUrl: 'opening-hours.scss', changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, }) export class OpeningHoursComponent { @ContentChild(TemplateRef) content: TemplateRef; diff --git a/frontend/app/src/app/util/opening-hours.html b/frontend/app/src/app/util/opening-hours.html index 8ac3b7ce..35b960d6 100644 --- a/frontend/app/src/app/util/opening-hours.html +++ b/frontend/app/src/app/util/opening-hours.html @@ -18,15 +18,25 @@ {{ openingHours.statusName | translate }} {{ openingHours.statusName | translate }} - {{openingHours.statusText}} + + {{ openingHours.statusText }} + - {{ ('common.openingHours.' + openingHours.nextChangeAction + '_soon') | translate: {duration: - (openingHours.nextChangeSoon | async | dfnsFormatDistanceToNowStrict: {unit: 'minute'})} }} + {{ + 'common.openingHours.' + openingHours.nextChangeAction + '_soon' + | translate + : { + duration: + (openingHours.nextChangeSoon | async | dfnsFormatDistanceToNowStrict: ({unit: 'minute'})) + } + }} - {{ ('common.openingHours.' + openingHours.nextChangeAction) | translate: {date: openingHours.nextChange - | dfnsFormatRelativeToNow} }} + {{ + 'common.openingHours.' + openingHours.nextChangeAction + | translate: {date: openingHours.nextChange | dfnsFormatRelativeToNow} + }}
diff --git a/frontend/app/src/app/util/searchbar-autofocus.directive.ts b/frontend/app/src/app/util/searchbar-autofocus.directive.ts index 053b277f..c6c4fcec 100644 --- a/frontend/app/src/app/util/searchbar-autofocus.directive.ts +++ b/frontend/app/src/app/util/searchbar-autofocus.directive.ts @@ -18,6 +18,7 @@ import {IonSearchbar} from '@ionic/angular/standalone'; @Directive({ selector: 'ion-searchbar[autofocus]', + standalone: true, }) export class SearchbarAutofocusDirective implements AfterViewInit { @Input() autofocus = true; diff --git a/frontend/app/src/app/util/simple-swiper.component.ts b/frontend/app/src/app/util/simple-swiper.component.ts index 2cbfc6bd..1fd6aa28 100644 --- a/frontend/app/src/app/util/simple-swiper.component.ts +++ b/frontend/app/src/app/util/simple-swiper.component.ts @@ -17,7 +17,8 @@ import {ChangeDetectionStrategy, Component} from '@angular/core'; @Component({ selector: 'simple-swiper', templateUrl: 'simple-swiper.html', - styleUrls: ['simple-swiper.scss'], + styleUrl: 'simple-swiper.scss', changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, }) export class SimpleSwiperComponent {} diff --git a/frontend/app/src/app/util/util.module.ts b/frontend/app/src/app/util/util.module.ts deleted file mode 100644 index 2c215e78..00000000 --- a/frontend/app/src/app/util/util.module.ts +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (C) 2023 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import {NgModule} from '@angular/core'; -import {ArrayLastPipe} from './array-last.pipe'; -import {DateIsThisPipe} from './date-is-today.pipe'; -import {NullishCoalescingPipe} from './nullish-coalecing.pipe'; -import {DateFromIndexPipe} from './date-from-index.pipe'; -import {DaytimeKeyPipe} from './daytime-key.pipe'; -import {LazyPipe} from './lazy.pipe'; -import {NextDateInListPipe} from './next-date-in-list.pipe'; -import {EditModalComponent} from './edit-modal.component'; -import {BrowserModule} from '@angular/platform-browser'; -import {TranslateModule} from '@ngx-translate/core'; -import {ElementSizeChangeDirective} from './element-size-change.directive'; -import {OpeningHoursComponent} from './opening-hours.component'; -import {ThingTranslateModule} from '../translation/thing-translate.module'; -import {SimpleSwiperComponent} from './simple-swiper.component'; -import {SearchbarAutofocusDirective} from './searchbar-autofocus.directive'; -import {RouterModule} from '@angular/router'; -import {IonContentParallaxDirective} from './ion-content-parallax.directive'; -import {FormatDistanceToNowStrictPipeModule, FormatRelativeToNowPipeModule} from 'ngx-date-fns'; -import {IonButton, IonButtons, IonHeader, IonModal, IonTitle, IonToolbar} from '@ionic/angular/standalone'; - -@NgModule({ - imports: [ - BrowserModule, - TranslateModule, - ThingTranslateModule.forChild(), - RouterModule, - FormatRelativeToNowPipeModule, - FormatDistanceToNowStrictPipeModule, - IonModal, - IonHeader, - IonToolbar, - IonTitle, - IonButtons, - IonButton, - ], - declarations: [ - IonContentParallaxDirective, - ElementSizeChangeDirective, - ArrayLastPipe, - DateIsThisPipe, - NullishCoalescingPipe, - LazyPipe, - DateFromIndexPipe, - DaytimeKeyPipe, - NextDateInListPipe, - EditModalComponent, - OpeningHoursComponent, - SimpleSwiperComponent, - SearchbarAutofocusDirective, - ], - exports: [ - IonContentParallaxDirective, - ElementSizeChangeDirective, - ArrayLastPipe, - DateIsThisPipe, - NullishCoalescingPipe, - LazyPipe, - DateFromIndexPipe, - DaytimeKeyPipe, - NextDateInListPipe, - EditModalComponent, - OpeningHoursComponent, - SimpleSwiperComponent, - SearchbarAutofocusDirective, - ], -}) -export class UtilModule {} diff --git a/frontend/app/src/index.html b/frontend/app/src/index.html index c39e6c12..cf3ded06 100644 --- a/frontend/app/src/index.html +++ b/frontend/app/src/index.html @@ -1,4 +1,4 @@ - + diff --git a/frontend/app/src/theme/components/_card.scss b/frontend/app/src/theme/components/_card.scss index e33fb7cb..dd4c0145 100644 --- a/frontend/app/src/theme/components/_card.scss +++ b/frontend/app/src/theme/components/_card.scss @@ -27,7 +27,9 @@ border-radius: var(--border-radius-default); box-shadow: var(--shadow-cards); - transition: transform 250ms ease-in-out, box-shadow 250ms ease-in-out; + transition: + transform 250ms ease-in-out, + box-shadow 250ms ease-in-out; } @media (hover: hover) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a3c4024..be4e24a9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -217,7 +217,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -234,8 +234,8 @@ importers: specifier: 1.3.5 version: 1.3.5 prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 sinon: specifier: 15.0.4 version: 15.0.4 @@ -332,7 +332,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -346,8 +346,8 @@ importers: specifier: 13.3.1 version: 13.3.1 prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 ts-node: specifier: 10.9.1 version: 10.9.1(@types/node@18.15.3)(typescript@5.2.2) @@ -458,7 +458,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -472,8 +472,8 @@ importers: specifier: 13.3.1 version: 13.3.1 prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 ts-node: specifier: 10.9.1 version: 10.9.1(@types/node@18.15.3)(typescript@5.2.2) @@ -573,7 +573,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -584,8 +584,8 @@ importers: specifier: 2.2.0 version: 2.2.0(mocha@10.2.0) prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 sinon: specifier: 15.0.4 version: 15.0.4 @@ -627,13 +627,13 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 configuration/eslint-config: dependencies: @@ -651,7 +651,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -672,8 +672,8 @@ importers: configuration/prettier-config: dependencies: prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 configuration/projectmanagement: dependencies: @@ -758,7 +758,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -769,8 +769,8 @@ importers: specifier: 2.2.0 version: 2.2.0(mocha@10.2.0) prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 ts-node: specifier: 10.9.1 version: 10.9.1(@types/node@18.15.3)(typescript@5.2.2) @@ -848,7 +848,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -862,8 +862,8 @@ importers: specifier: 13.3.1 version: 13.3.1 prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 ts-node: specifier: 10.9.1 version: 10.9.1(@types/node@18.15.3)(typescript@5.2.2) @@ -935,13 +935,13 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 tsup: specifier: 7.2.0 version: 7.2.0(ts-node@10.9.1)(typescript@5.2.2) @@ -1260,7 +1260,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -1310,8 +1310,8 @@ importers: specifier: 25.0.1 version: 25.0.1 prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 stylelint: specifier: 15.10.1 version: 15.10.1 @@ -1419,7 +1419,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -1430,8 +1430,8 @@ importers: specifier: 2.2.0 version: 2.2.0(mocha@10.2.0) prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 traverse: specifier: 0.6.7 version: 0.6.7 @@ -1540,7 +1540,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -1554,8 +1554,8 @@ importers: specifier: 13.3.1 version: 13.3.1 prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 ts-node: specifier: 10.9.1 version: 10.9.1(@types/node@18.15.3)(typescript@5.2.2) @@ -1612,7 +1612,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -1623,8 +1623,8 @@ importers: specifier: 2.2.0 version: 2.2.0(mocha@10.2.0) prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 ts-node: specifier: 10.9.1 version: 10.9.1(@types/node@18.15.3)(typescript@5.2.2) @@ -1721,7 +1721,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -1732,8 +1732,8 @@ importers: specifier: 2.2.0 version: 2.2.0(mocha@10.2.0) prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 source-map-support: specifier: 0.5.21 version: 0.5.21 @@ -1818,7 +1818,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -1832,8 +1832,8 @@ importers: specifier: 13.3.1 version: 13.3.1 prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 ts-node: specifier: 10.9.1 version: 10.9.1(@types/node@18.15.3)(typescript@5.2.2) @@ -1900,7 +1900,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -1911,8 +1911,8 @@ importers: specifier: 2.2.0 version: 2.2.0(mocha@10.2.0) prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 ts-node: specifier: 10.9.1 version: 10.9.1(@types/node@18.15.3)(typescript@5.2.2) @@ -1991,7 +1991,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -2005,8 +2005,8 @@ importers: specifier: 13.3.1 version: 13.3.1 prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 ts-node: specifier: 10.9.1 version: 10.9.1(@types/node@18.15.3)(typescript@5.2.2) @@ -2061,13 +2061,13 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 ts-node: specifier: 10.9.1 version: 10.9.1(@types/node@18.15.3)(typescript@5.2.2) @@ -2149,7 +2149,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -2163,8 +2163,8 @@ importers: specifier: 13.3.1 version: 13.3.1 prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 ts-node: specifier: 10.9.1 version: 10.9.1(@types/node@18.15.3)(typescript@5.2.2) @@ -2243,7 +2243,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -2254,8 +2254,8 @@ importers: specifier: 2.2.0 version: 2.2.0(mocha@10.2.0) prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 ts-node: specifier: 10.9.1 version: 10.9.1(@types/node@18.15.3)(typescript@5.2.2) @@ -2334,7 +2334,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -2348,8 +2348,8 @@ importers: specifier: 13.3.1 version: 13.3.1 prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 typedoc: specifier: 0.25.3 version: 0.25.3(typescript@5.2.2) @@ -2422,7 +2422,7 @@ importers: version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: 5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0) eslint-plugin-unicorn: specifier: 49.0.0 version: 49.0.0(eslint@8.53.0) @@ -2436,8 +2436,8 @@ importers: specifier: 13.3.1 version: 13.3.1 prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 typedoc: specifier: 0.25.3 version: 0.25.3(typescript@5.2.2) @@ -11921,7 +11921,7 @@ packages: transitivePeerDependencies: - supports-color - /eslint-plugin-prettier@5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3): + /eslint-plugin-prettier@5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.1.0): resolution: {integrity: sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -11937,7 +11937,7 @@ packages: dependencies: eslint: 8.53.0 eslint-config-prettier: 9.0.0(eslint@8.53.0) - prettier: 3.0.3 + prettier: 3.1.0 prettier-linter-helpers: 1.0.0 synckit: 0.8.5 @@ -17235,8 +17235,8 @@ packages: hasBin: true dev: true - /prettier@3.0.3: - resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} + /prettier@3.1.0: + resolution: {integrity: sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==} engines: {node: '>=14'} hasBin: true