feat: add Vite configuration with custom plugins and server settings
This commit is contained in:
@@ -118,6 +118,7 @@ import { useMediaAuthentication } from '../../hooks/useMediaAuthentication';
|
||||
import { useIgnoredUsers } from '../../hooks/useIgnoredUsers';
|
||||
import { useImagePackRooms } from '../../hooks/useImagePackRooms';
|
||||
import { useIsDirectRoom } from '../../hooks/useRoom';
|
||||
import { setupCopyHandler } from '../../utils/copyHandler';
|
||||
import { useOpenUserRoomProfile } from '../../state/hooks/userRoomProfile';
|
||||
import { useSpaceOptionally } from '../../hooks/useSpace';
|
||||
import { useRoomCreators } from '../../hooks/useRoomCreators';
|
||||
@@ -906,6 +907,28 @@ export function RoomTimeline({ room, eventId, roomInputRef, editor }: RoomTimeli
|
||||
}
|
||||
}, [scrollToElement, editId]);
|
||||
|
||||
// Setup copy handler for better copy formatting (Name - Time: Message)
|
||||
useEffect(() => {
|
||||
const getMessageData = (eventId: string) => {
|
||||
const timelineSet = room.getUnfilteredTimelineSet();
|
||||
const evtTimeline = timelineSet.getTimelineForEvent(eventId);
|
||||
if (!evtTimeline) return null;
|
||||
const mEvent = evtTimeline.getEvents().find((e) => e.getId() === eventId);
|
||||
if (!mEvent) return null;
|
||||
const sender = getMemberDisplayName(room, mEvent.getSender() ?? '')
|
||||
?? getMxIdLocalPart(mEvent.getSender() ?? '')
|
||||
?? mEvent.getSender()
|
||||
?? 'Unknown';
|
||||
const content = mEvent.getContent().body ?? '';
|
||||
return {
|
||||
sender,
|
||||
ts: mEvent.getTs(),
|
||||
content,
|
||||
};
|
||||
};
|
||||
return setupCopyHandler(scrollRef, getMessageData, hour24Clock);
|
||||
}, [room, hour24Clock]);
|
||||
|
||||
const handleJumpToLatest = () => {
|
||||
if (eventId) {
|
||||
navigateRoom(room.roomId, undefined, { replace: true });
|
||||
|
||||
Reference in New Issue
Block a user