Skip to content

Commit 140c026

Browse files
authored
Merge pull request #21 from linuxfoundation/feat/edit-participant
feat: refactor participant management to add/edit flow
2 parents 498f3f0 + d85ce85 commit 140c026

21 files changed

+602
-709
lines changed

apps/lfx-pcc/src/app/modules/project/meetings/components/add-participant-form/add-participant-form.component.ts

Lines changed: 0 additions & 101 deletions
This file was deleted.

apps/lfx-pcc/src/app/modules/project/meetings/components/meeting-card/meeting-card.component.html

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
[rounded]="true"
2929
size="small"
3030
severity="secondary"
31-
(click)="onMenuToggle($event, actionMenu)"></lfx-button>
31+
(click)="actionMenu.toggle($event)"></lfx-button>
3232
</div>
3333
<!-- Action Menu -->
3434
<lfx-menu #actionMenu [model]="actionMenuItems()" [popup]="true" appendTo="body"></lfx-menu>
@@ -73,6 +73,12 @@ <h3 class="text-xl font-display font-semibold text-gray-900 mb-3">
7373
<i [class]="meeting().recording_enabled ? 'fa-light fa-check-circle text-green-500' : 'fa-light fa-times-circle text-gray-400'" class="text-base"></i>
7474
<span class="text-sm text-gray-600">Recording</span>
7575
</div>
76+
<div class="flex flex-wrap gap-3">
77+
<div class="flex items-center gap-2">
78+
<i [class]="meeting().restricted ? 'fa-light fa-check-circle text-green-500' : 'fa-light fa-times-circle text-gray-400'" class="text-base"></i>
79+
<span class="text-sm text-gray-600">Restricted</span>
80+
</div>
81+
</div>
7682
@if (meeting().recording_enabled) {
7783
<div class="flex items-center gap-2">
7884
<i [class]="meeting().youtube_enabled ? 'fa-light fa-check-circle text-green-500' : 'fa-light fa-times-circle text-gray-400'" class="text-base"></i>
@@ -146,13 +152,41 @@ <h3 class="text-xl font-display font-semibold text-gray-900 mb-3">
146152

147153
@if (!participantsLoading()) {
148154
<div class="grid grid-cols-3 gap-2 mt-4">
155+
<!-- Add Participant Option -->
156+
<div
157+
pAnimateOnScroll
158+
class="animate-delay-2000"
159+
enterClass="animate-enter fade-in-10 slide-in-from-b-8 animate-duration-1000"
160+
leaveClass="animate-leave fade-out-0">
161+
<div
162+
class="flex items-center gap-2 cursor-pointer hover:bg-blue-50 p-2 rounded-md transition-colors border-2 border-dashed border-blue-200 hover:border-blue-400"
163+
(click)="openAddParticipantModal()"
164+
data-testid="add-participant-button">
165+
<div class="relative">
166+
<div class="w-8 h-8 bg-blue-100 border border-blue-200 rounded-full flex items-center justify-center">
167+
<i class="fa-light fa-plus text-blue-500"></i>
168+
</div>
169+
</div>
170+
<div class="flex flex-col">
171+
<div class="flex items-center gap-1 text-xs">
172+
<span class="text-sm text-blue-600 font-medium">Add Guests</span>
173+
</div>
174+
<span class="text-xs text-blue-500">Click to add new guests</span>
175+
</div>
176+
</div>
177+
</div>
178+
149179
@for (participant of participants(); track participant.id) {
150180
<div
151181
pAnimateOnScroll
152182
class="animate-delay-2000"
153183
enterClass="animate-enter fade-in-10 slide-in-from-b-8 animate-duration-1000"
154184
leaveClass="animate-leave fade-out-0">
155-
<div class="flex items-center gap-2" [ngClass]="{ 'gap-3': !pastMeeting() }">
185+
<div
186+
class="flex items-center gap-2 cursor-pointer hover:bg-gray-50 p-2 rounded-md transition-colors"
187+
[ngClass]="{ 'gap-3': !pastMeeting() }"
188+
(click)="onParticipantEdit(participant, $event)"
189+
[attr.data-testid]="'participant-' + participant.id">
156190
@if (pastMeeting()) {
157191
@if (participant.attended) {
158192
<i class="fa-light fa-check-circle text-green-500" pTooltip="Attended"></i>
@@ -194,3 +228,6 @@ <h3 class="text-xl font-display font-semibold text-gray-900 mb-3">
194228
</div>
195229
}
196230
}
231+
232+
<!-- Confirmation Dialog -->
233+
<p-confirmDialog></p-confirmDialog>

0 commit comments

Comments
 (0)