OptionalcollapsibleWrap the search bar in a collapsible accordion
OptionalcolorsCombined colors for all sub-components
OptionaldefaultDefault metadata merged into every new room created via the create dialog
OptionalemptyCustom content to display when there are no rooms
OptionalfetchOptions passed to fetchStoredRooms (e.g., { consumerOnly: true, offlineOnly: true } for read-only views)
OptionalfilterCustom filter predicate applied before search/sort.
Return true to include the room, false to exclude it.
OptionalheaderCustom content to display in the header area
OptionaliconsCombined icons for all sub-components
OptionallabelsCombined labels for all sub-components
OptionallayoutLayout mode for the rooms list.
'card' (default): full room cards in a grid'compact': slim rows matching the student list styleOptionalonCalled after a new room is successfully created
OptionalonCalled after a room is successfully deleted
OptionalonCallback when an error occurs during any operation
OptionalonCalled when a room card is selected (clicked)
OptionalonCalled when edit is clicked from the card overflow menu. Adds an "Edit" menu item when provided.
OptionalonCalled when a room's start/join button is clicked
OptionalrenderRender props for replacing individual layout sections
OptionalresolveCallback to resolve a custom icon for a room card (e.g., an owner avatar). Overrides the default room-type icon block.
OptionalresolveResolve whether a stored room is currently live (active session). Controls per-card start button visibility and live indicator.
OptionalresolveResolve whether a target user ID is currently online. Passed through to RoomCard.
OptionalresolveCallback to resolve an owner display name for a room (e.g., from room.userId)
OptionalresolveResolve a display name for a target user ID. Passed through to RoomCard for chip labels.
OptionalsearchWhether the accordion starts expanded (only used when collapsibleSearchBar is true)
OptionalselectedControlled selected room. When provided, RoomsList uses this instead of internal selection state.
OptionalshowWhether to show the create room button
OptionalshowWhether to show feature badges (password, waiting room, offline) on room cards
OptionalshowWhether to show the overflow (three-dot) menu on room cards
OptionalshowWhether to show the search/filter bar
OptionalshowWhether to show the built-in Settings menu item on room cards
OptionalshowWhether to show the static room option in the create dialog
OptionalshowWhether to show target user IDs on cards and in create/settings dialogs
OptionalshowWhether to show the target user IDs field in the settings dialog. Defaults to the value of showTargetUserIds.
OptionalstoragelocalStorage key prefix for persisting sort, filter, and accordion state. When provided, useRoomFilters persists sort/filter and the accordion remembers its expanded/collapsed state.
Storage keys: ${storageKey}-sort, ${storageKey}-filter, ${storageKey}-expanded.
OptionalstylesCombined styles for all sub-components
User ID for room ownership and API operations
Props for the RoomsList component. The top-level component for managing stored rooms.
Remarks
RoomsList orchestrates all sub-components (RoomCard, RoomSearchBar, CreateRoomDialog, RoomSettingsDialog, DeleteConfirmDialog) into a complete room management interface.
Example