Move enums to types.ts and change icons selection to use

`getRoomIconSrc`
This commit is contained in:
Tymek
2026-02-15 01:31:30 +01:00
parent 2a10347515
commit ee6875b95c
10 changed files with 28 additions and 24 deletions
+10 -9
View File
@@ -1,5 +1,5 @@
import React, { FormEventHandler, useCallback, useEffect, useState } from 'react';
import { MatrixError, Room } from 'matrix-js-sdk';
import { MatrixError, Room, JoinRule } from 'matrix-js-sdk';
import {
Box,
Button,
@@ -37,20 +37,21 @@ import {
CreateRoomKindSelector,
RoomVersionSelector,
useAdditionalCreators,
CreateRoomVoice,
} from '../../components/create-room';
import { RoomType, StateEvent } from '../../../types/matrix/room';
import { IPowerLevels } from '../../hooks/usePowerLevels';
import {
CreateRoomVoice,
CreateRoomVoiceSelector,
} from '../../components/create-room/CreateRoomVoiceSelector';
import { CreateRoomVoiceSelector } from '../../components/create-room/CreateRoomVoiceSelector';
import { getRoomIconSrc } from '../../utils/room';
const getCreateRoomKindToIcon = (kind: CreateRoomKind, voice?: CreateRoomVoice) => {
const isVoiceRoom = voice === CreateRoomVoice.VoiceRoom;
// TODO: Add VoiceLock and VoiceGlobe icons
if (kind === CreateRoomKind.Private) return isVoiceRoom ? Icons.Lock : Icons.HashLock;
if (kind === CreateRoomKind.Restricted) return isVoiceRoom ? Icons.VolumeHigh : Icons.Hash;
return isVoiceRoom ? Icons.VolumeHigh : Icons.HashGlobe;
let joinRule: JoinRule = JoinRule.Public;
if (kind === CreateRoomKind.Restricted) joinRule = JoinRule.Restricted;
if (kind === CreateRoomKind.Private) joinRule = JoinRule.Knock;
return getRoomIconSrc(Icons, isVoiceRoom ? RoomType.Call : undefined, joinRule);
};
const getCreateRoomVoiceToIcon = (kind: CreateRoomVoice) => {
@@ -23,14 +23,13 @@ import {
} from '../../state/hooks/createRoomModal';
import { CreateRoomModalState } from '../../state/createRoomModal';
import { stopPropagation } from '../../utils/keyboard';
import { CreateRoomVoice } from '../../components/create-room/CreateRoomVoiceSelector';
import { CreateRoomVoice } from '../../components/create-room/types';
type CreateRoomModalProps = {
state: CreateRoomModalState;
};
function CreateRoomModal({ state }: CreateRoomModalProps) {
const { spaceId, voice } = state;
console.log({ voice });
const closeDialog = useCloseCreateRoomModal();
const allJoinedRooms = useAllJoinedRoomsSet();
+1 -1
View File
@@ -36,7 +36,7 @@ import { useMediaAuthentication } from '../../hooks/useMediaAuthentication';
import { useOpenCreateRoomModal } from '../../state/hooks/createRoomModal';
import { useOpenCreateSpaceModal } from '../../state/hooks/createSpaceModal';
import { AddExistingModal } from '../add-existing';
import { CreateRoomVoice } from '../../components/create-room/CreateRoomVoiceSelector';
import { CreateRoomVoice } from '../../components/create-room/types';
function SpaceProfileLoading() {
return (