From 3a4d40c3fc782ec27af937821b31bc0c698ca735 Mon Sep 17 00:00:00 2001 From: RobertSenkel Date: Thu, 30 Jan 2025 08:57:27 +0100 Subject: [PATCH 1/4] fix bad navigation --- src/app/core/layout/locations-tab/locations-tab.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/core/layout/locations-tab/locations-tab.component.ts b/src/app/core/layout/locations-tab/locations-tab.component.ts index c029fb43..2d8c66db 100644 --- a/src/app/core/layout/locations-tab/locations-tab.component.ts +++ b/src/app/core/layout/locations-tab/locations-tab.component.ts @@ -28,6 +28,6 @@ export class LocationsTabComponent { ) {} navigate(selected: string | string[]) { - this.router.navigate(['location', selected]); + this.router.navigate(['meetups', selected]); } } From 6ae69653e4bb0ea81825426eb6039916225f0cb7 Mon Sep 17 00:00:00 2001 From: RobertSenkel Date: Thu, 30 Jan 2025 11:00:23 +0100 Subject: [PATCH 2/4] fix routes --- src/app/app.routes.ts | 2 +- src/app/core/layout/locations-tab/locations-tab.component.ts | 2 +- src/app/features/meetups/meetups.component.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index 4e94d8a0..a50cfae7 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -45,7 +45,7 @@ export const routes: Routes = [ ), }, { - path: 'meetups/:loc', + path: 'meetup/:loc', loadComponent: () => import('./features/location/location.component').then( m => m.LocationComponent diff --git a/src/app/core/layout/locations-tab/locations-tab.component.ts b/src/app/core/layout/locations-tab/locations-tab.component.ts index 2d8c66db..b48395cc 100644 --- a/src/app/core/layout/locations-tab/locations-tab.component.ts +++ b/src/app/core/layout/locations-tab/locations-tab.component.ts @@ -28,6 +28,6 @@ export class LocationsTabComponent { ) {} navigate(selected: string | string[]) { - this.router.navigate(['meetups', selected]); + this.router.navigate(['meetup', selected]); } } diff --git a/src/app/features/meetups/meetups.component.ts b/src/app/features/meetups/meetups.component.ts index e227e3df..dc7e5ece 100644 --- a/src/app/features/meetups/meetups.component.ts +++ b/src/app/features/meetups/meetups.component.ts @@ -56,7 +56,7 @@ export class MeetupsComponent { } navigateToLocation(selected: string | string[]) { - this.router.navigate(['meetups', selected]); + this.router.navigate(['meetup', selected]); } private findNewestMeetup$() { From 5278613bc7043d2ceecc19e95984892fecc6d6ba Mon Sep 17 00:00:00 2001 From: RobertSenkel Date: Wed, 5 Feb 2025 08:58:36 +0100 Subject: [PATCH 3/4] add new logic to select newest post for meetups --- src/app/features/meetups/meetups.component.ts | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/app/features/meetups/meetups.component.ts b/src/app/features/meetups/meetups.component.ts index dc7e5ece..4006e24e 100644 --- a/src/app/features/meetups/meetups.component.ts +++ b/src/app/features/meetups/meetups.component.ts @@ -9,7 +9,6 @@ import { MeetupsHeaderComponent } from '../../components/meetups-header/meetups- import { MatPaginator, PageEvent } from '@angular/material/paginator'; import { NavigationService } from '../../core/services/navigation.service'; import { map, Observable, switchMap } from 'rxjs'; -import { Category } from '../../core/model/categories.model'; import { ActivatedRoute, Router } from '@angular/router'; import { LocationsComponent } from '../../components/locations/locations.component'; import { Location } from '../../core/model/locations.model'; @@ -68,7 +67,25 @@ export class MeetupsComponent { post => this.isMeetupCategory(post), (a, b) => this.compareByDate(a, b) ) - .pipe(map(result => result.posts[0])); + .pipe(map(result => { + const startOfToday = new Date(); + startOfToday.setHours(0, 0, 0, 0); + + return this.findSoonestAfter(result.posts, startOfToday.getTime()); + })); + } + + findSoonestAfter(posts: Post[], minValue: number): Post | null { + let soonest: Post | null = null; + + for (const post of posts) { + const num = new Date(post.date?.trim() || '').getTime(); + if (num > minValue && (soonest === null || num < new Date(soonest.date?.trim() || '').getTime())) { + soonest = post; + } + } + + return soonest; } private getAllMeetups$() { From a63b3019f7a91ba02d0984d883aec7147750854e Mon Sep 17 00:00:00 2001 From: RobertSenkel Date: Fri, 7 Feb 2025 10:40:07 +0100 Subject: [PATCH 4/4] fix comments --- src/app/features/meetups/meetups.component.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/features/meetups/meetups.component.ts b/src/app/features/meetups/meetups.component.ts index 4006e24e..38048458 100644 --- a/src/app/features/meetups/meetups.component.ts +++ b/src/app/features/meetups/meetups.component.ts @@ -79,8 +79,8 @@ export class MeetupsComponent { let soonest: Post | null = null; for (const post of posts) { - const num = new Date(post.date?.trim() || '').getTime(); - if (num > minValue && (soonest === null || num < new Date(soonest.date?.trim() || '').getTime())) { + const num = new Date(post.date?.trim() ?? '').getTime(); + if (num > minValue && (soonest === null || num < new Date(soonest.date?.trim() ?? '').getTime())) { soonest = post; } }