Add conference stage layouts for plenary and panel discussions.
Deploy Ladill Meet / deploy (push) Successful in 37s

Speakers get a full-screen spotlight with overlapping audience avatars; hosts can configure panels in the green room and switch layouts live.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-01 21:03:02 +00:00
co-authored by Cursor
parent 158b7b650a
commit 1037cd6ee6
14 changed files with 889 additions and 32 deletions
+96
View File
@@ -45,6 +45,102 @@ html.meet-room-page {
box-shadow: 0 0 0 2px rgb(52 211 153 / 0.9);
}
.meet-room-page #meet-stage:not(.meet-stage) #meet-stage-spotlight,
.meet-room-page #meet-stage:not(.meet-stage) #meet-audience-strip {
display: none;
}
.meet-room-page .meet-stage {
height: 100%;
}
.meet-room-page .meet-stage--plenary #video-grid {
display: none;
}
.meet-room-page .meet-stage--plenary .meet-stage-spotlight {
flex: 1 1 auto;
min-height: min(70vh, 100%);
}
.meet-room-page .meet-stage--plenary .meet-stage-spotlight-tile {
height: 100%;
width: 100%;
aspect-ratio: auto;
}
.meet-room-page .meet-stage--panel #meet-stage-spotlight,
.meet-room-page .meet-stage--panel #meet-audience-strip {
display: none;
}
.meet-room-page .meet-stage-panel-grid {
display: grid;
height: 100%;
grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
grid-auto-rows: minmax(0, 1fr);
align-content: center;
}
.meet-room-page .meet-stage-panel-tile {
height: 100%;
min-height: 12rem;
}
.meet-room-page .meet-audience-strip {
display: flex;
align-items: center;
min-height: 2.75rem;
padding: 0.25rem 0;
}
.meet-room-page .meet-audience-avatar {
position: relative;
display: flex;
height: 2.25rem;
width: 2.25rem;
flex-shrink: 0;
align-items: center;
justify-content: center;
margin-left: -0.45rem;
overflow: hidden;
border-radius: 9999px;
border: 2px solid rgb(15 23 42);
background: rgb(30 41 59);
}
.meet-room-page .meet-audience-avatar:first-child {
margin-left: 0;
}
.meet-room-page .meet-audience-avatar__image {
height: 100%;
width: 100%;
object-fit: cover;
}
.meet-room-page .meet-audience-avatar__initials {
display: flex;
height: 100%;
width: 100%;
align-items: center;
justify-content: center;
font-size: 0.65rem;
font-weight: 600;
color: white;
}
.meet-room-page .meet-audience-avatar--more {
z-index: 0;
width: auto;
min-width: 2.25rem;
padding: 0 0.5rem;
font-size: 0.65rem;
font-weight: 600;
color: rgb(203 213 225);
white-space: nowrap;
}
.meet-room-page .meet-audio-grid {
place-content: center;
place-items: center;