import React, { useState } from 'react'; import { Box, Icon, Icons, Modal, Overlay, OverlayBackdrop, OverlayCenter, Text, as, config, } from 'folds'; import { Room } from 'matrix-js-sdk'; import classNames from 'classnames'; import FocusTrap from 'focus-trap-react'; import { getMemberName } from '../../utils/room'; import * as css from './RoomViewFollowing.css'; import { useMatrixClient } from '../../hooks/useMatrixClient'; import { useRoomLatestRenderedEvent } from '../../hooks/useRoomLatestRenderedEvent'; import { useRoomEventReaders } from '../../hooks/useRoomEventReaders'; import { EventReaders } from '../../components/event-readers'; import { useModalStyle } from '../../hooks/useModalStyle'; import { stopPropagation } from '../../utils/keyboard'; export function RoomViewFollowingPlaceholder() { return
; } export type RoomViewFollowingProps = { room: Room; }; export const RoomViewFollowing = as<'div', RoomViewFollowingProps>( ({ className, room, ...props }, ref) => { const mx = useMatrixClient(); const [open, setOpen] = useState(false); const modalStyle = useModalStyle(360); const latestEvent = useRoomLatestRenderedEvent(room); const latestEventReaders = useRoomEventReaders(room, latestEvent?.getId()); const names = latestEventReaders .filter((readerId) => readerId !== mx.getUserId()) .map((readerId) => getMemberName(room, readerId)); const eventId = latestEvent?.getId(); return ( <> {eventId && (