diff --git a/apps/lfx-pcc/src/app/app.routes.ts b/apps/lfx-pcc/src/app/app.routes.ts index 2cfc6094..ac34c270 100644 --- a/apps/lfx-pcc/src/app/app.routes.ts +++ b/apps/lfx-pcc/src/app/app.routes.ts @@ -9,6 +9,7 @@ import { CommitteeDashboardComponent } from './modules/project/committees/commit import { CommitteeViewComponent } from './modules/project/committees/committee-view/committee-view.component'; import { MailingListDashboardComponent } from './modules/project/mailing-lists/mailing-list-dashboard/mailing-list-dashboard.component'; import { MeetingDashboardComponent } from './modules/project/meetings/meeting-dashboard/meeting-dashboard.component'; +import { MeetingCreateComponent } from './modules/project/meetings/components/meeting-create/meeting-create.component'; import { SettingsDashboardComponent } from './modules/project/settings/settings-dashboard/settings-dashboard.component'; import { ProjectComponent } from './modules/project/dashboard/project-dashboard/project.component'; @@ -29,6 +30,10 @@ export const routes: Routes = [ path: 'meetings', component: MeetingDashboardComponent, }, + { + path: 'meetings/create', + component: MeetingCreateComponent, + }, { path: 'committees', component: CommitteeDashboardComponent, diff --git a/apps/lfx-pcc/src/app/modules/project/meetings/components/meeting-create/meeting-create.component.html b/apps/lfx-pcc/src/app/modules/project/meetings/components/meeting-create/meeting-create.component.html new file mode 100644 index 00000000..acfaab1d --- /dev/null +++ b/apps/lfx-pcc/src/app/modules/project/meetings/components/meeting-create/meeting-create.component.html @@ -0,0 +1,108 @@ + + + +
Step 3: Platform & Features - To be implemented
+Step 4: Participants - To be implemented
+Step 5: Resources & Summary - To be implemented
+This title was auto-generated based on your meeting type and date. You can customize it.
+ } + @if (form().get('topic')?.errors?.['required'] && form().get('topic')?.touched) { +Meeting title is required
+ } +Tell me what you want to accomplish in this meeting, and I'll create a structured agenda for you.
+A clear agenda helps participants prepare and keeps discussions focused
+ @if (form().get('agenda')?.errors?.['required'] && form().get('agenda')?.touched) { +Meeting agenda is required
+ } +Start date is required
+ } +Start time is required
+ } +Duration is required
+ } +Meeting must be scheduled in the future
+ } + + + @if (form().get('duration')?.value === 'custom') { +Custom duration is required
+ } + @if (form().get('customDuration')?.errors?.['min'] && form().get('customDuration')?.touched) { +Custom duration must be at least 5 minutes
+ } + @if (form().get('customDuration')?.errors?.['max'] && form().get('customDuration')?.touched) { +Custom duration cannot exceed 480 minutes (8 hours)
+ } +Timezone is required
+ } +This meeting repeats on a schedule
++ Recurring meetings are great for regular touchpoints like weekly standups, monthly reviews, or quarterly planning sessions. +
+Early join time must be at least 10 minutes
+ } + @if (form().get('early_join_time')?.errors?.['max'] && form().get('early_join_time')?.touched) { +Early join time cannot exceed 60 minutes
+ } +What kind of meeting are you organizing for your open source project?
++ Regular meetings help maintain project momentum, align contributors, make important decisions, and build community. They provide structure and + transparency that keeps everyone on the same page. +
+{{ typeInfo.description }}
+Examples: {{ typeInfo.examples }}
+Meeting type is required
+ } +Restrict access to invited participants only
+This project doesn't have any meetings yet.
-