diff --git a/apps/lfx-one/src/app/modules/committees/components/committee-meetings/committee-meetings.component.html b/apps/lfx-one/src/app/modules/committees/components/committee-meetings/committee-meetings.component.html
index 99552a7f6..4ed5d5fcf 100644
--- a/apps/lfx-one/src/app/modules/committees/components/committee-meetings/committee-meetings.component.html
+++ b/apps/lfx-one/src/app/modules/committees/components/committee-meetings/committee-meetings.component.html
@@ -95,7 +95,7 @@
Meetings
size="small"
[class]="isCalendarView() ? 'md:ml-auto' : ''"
[routerLink]="['/meetings', 'create']"
- [queryParams]="{ committee_uid: committee().uid }"
+ [queryParams]="createMeetingQueryParams()"
data-testid="committee-meetings-create-btn">
}
diff --git a/apps/lfx-one/src/app/modules/committees/components/committee-meetings/committee-meetings.component.ts b/apps/lfx-one/src/app/modules/committees/components/committee-meetings/committee-meetings.component.ts
index c1e68c3fc..09eeaf8e3 100644
--- a/apps/lfx-one/src/app/modules/committees/components/committee-meetings/committee-meetings.component.ts
+++ b/apps/lfx-one/src/app/modules/committees/components/committee-meetings/committee-meetings.component.ts
@@ -67,6 +67,10 @@ export class CommitteeMeetingsComponent {
public isListView = computed(() => this.viewMode() === 'list');
public isCalendarView = computed(() => this.viewMode() === 'calendar');
+ // Query params for the create-meeting route. Includes project slug so writerGuard
+ // can resolve write access — without it the guard redirects to the lens overview.
+ public createMeetingQueryParams: Signal> = this.initCreateMeetingQueryParams();
+
// Form for search + filter controls (bound in template)
public searchForm = new FormGroup({
search: new FormControl(''),
@@ -171,6 +175,17 @@ export class CommitteeMeetingsComponent {
// Private initializer functions
+ private initCreateMeetingQueryParams(): Signal> {
+ return computed(() => {
+ const committee = this.committee();
+ const params: Record = { committee_uid: committee.uid };
+ if (committee.project_slug) {
+ params['project'] = committee.project_slug;
+ }
+ return params;
+ });
+ }
+
private initUpcomingMeetings(): Signal {
return toSignal(
toObservable(this.committee).pipe(