diff --git a/src/components/navigator/views/room-settings/NavigatorRoomSettingsAccessTabView.tsx b/src/components/navigator/views/room-settings/NavigatorRoomSettingsAccessTabView.tsx index 6248a2f..0faddb2 100644 --- a/src/components/navigator/views/room-settings/NavigatorRoomSettingsAccessTabView.tsx +++ b/src/components/navigator/views/room-settings/NavigatorRoomSettingsAccessTabView.tsx @@ -2,6 +2,7 @@ import { RoomDataParser } from '@nitrots/nitro-renderer'; import { FC, useEffect, useState } from 'react'; import { IRoomData, LocalizeText } from '../../../../api'; import { Column, Flex, Text } from '../../../../common'; +import { NavigatorRoomSettingsSectionView } from './NavigatorRoomSettingsSectionView'; interface NavigatorRoomSettingsTabViewProps { @@ -36,9 +37,8 @@ export const NavigatorRoomSettingsAccessTabView: FC{ LocalizeText('navigator.roomsettings.roomaccess.caption') } { LocalizeText('navigator.roomsettings.roomaccess.info') } - - - { LocalizeText('navigator.roomsettings.doormode') } + + handleChange('lock_state', RoomDataParser.OPEN_STATE) } /> { LocalizeText('navigator.roomsettings.doormode.open') } @@ -70,9 +70,8 @@ export const NavigatorRoomSettingsAccessTabView: FC } } - - - { LocalizeText('navigator.roomsettings.pets') } + + handleChange('allow_pets', event.target.checked) } /> { LocalizeText('navigator.roomsettings.allowpets') } @@ -81,7 +80,7 @@ export const NavigatorRoomSettingsAccessTabView: FC handleChange('allow_pets_eat', event.target.checked) } /> { LocalizeText('navigator.roomsettings.allowfoodconsume') } - + ); diff --git a/src/components/navigator/views/room-settings/NavigatorRoomSettingsModTabView.tsx b/src/components/navigator/views/room-settings/NavigatorRoomSettingsModTabView.tsx index 4ce43fb..0d90efb 100644 --- a/src/components/navigator/views/room-settings/NavigatorRoomSettingsModTabView.tsx +++ b/src/components/navigator/views/room-settings/NavigatorRoomSettingsModTabView.tsx @@ -3,6 +3,7 @@ import { FC, useEffect, useState } from 'react'; import { IRoomData, LocalizeText, SendMessageComposer } from '../../../../api'; import { Button, Column, Flex, Grid, Text, UserProfileIconView } from '../../../../common'; import { useMessageEvent } from '../../../../hooks'; +import { NavigatorRoomSettingsSectionView } from './NavigatorRoomSettingsSectionView'; interface NavigatorRoomSettingsTabViewProps { @@ -51,28 +52,29 @@ export const NavigatorRoomSettingsModTabView: FC - { LocalizeText('navigator.roomsettings.moderation.banned.users') } ({ bannedUsers.length }) - - - { bannedUsers && (bannedUsers.length > 0) && bannedUsers.map((user, index) => - { - return ( - - - setSelectedUserId(user.userId) }> { user.userName } - - ); - }) } - - - + + + + { bannedUsers && (bannedUsers.length > 0) && bannedUsers.map((user, index) => + { + return ( + + + setSelectedUserId(user.userId) }> { user.userName } + + ); + }) } + + + + - - { LocalizeText('navigator.roomsettings.moderation.mute.header') } - + + + { LocalizeText('navigator.roomsettings.moderation.mute.header') } - - - - { LocalizeText('navigator.roomsettings.moderation.kick.header') } - + + + { LocalizeText('navigator.roomsettings.moderation.kick.header') } - - - - { LocalizeText('navigator.roomsettings.moderation.ban.header') } - + + + { LocalizeText('navigator.roomsettings.moderation.ban.header') } - - + + ); diff --git a/src/components/navigator/views/room-settings/NavigatorRoomSettingsRightsTabView.tsx b/src/components/navigator/views/room-settings/NavigatorRoomSettingsRightsTabView.tsx index 1c12f00..ca236db 100644 --- a/src/components/navigator/views/room-settings/NavigatorRoomSettingsRightsTabView.tsx +++ b/src/components/navigator/views/room-settings/NavigatorRoomSettingsRightsTabView.tsx @@ -3,6 +3,7 @@ import { FC, useEffect, useRef, useState } from 'react'; import { IRoomData, LocalizeText, SendMessageComposer } from '../../../../api'; import { Button, Column, Flex, Grid, Text, UserProfileIconView } from '../../../../common'; import { useFriends, useMessageEvent } from '../../../../hooks'; +import { NavigatorRoomSettingsSectionView } from './NavigatorRoomSettingsSectionView'; interface NavigatorRoomSettingsTabViewProps { @@ -105,74 +106,72 @@ export const NavigatorRoomSettingsRightsTabView: FC - - { LocalizeText( + + ) }> + + + { Array.from(filteredUsersWithRights.entries()).map(([ id, name ], index) => + { + return ( + + + guardedSend(`take_${id}`, new RoomTakeRightsComposer(id)) }> + { name } + + + ); + }) } + + - - - { Array.from(filteredUsersWithRights.entries()).map(([ id, name ], index) => - { - return ( - - - guardedSend(`take_${id}`, new RoomTakeRightsComposer(id)) }> - { name } - - - ); - }) } - - - - + + - - { LocalizeText( + - - - - { friendsWithoutRights.map((friend, index) => - { - return ( - - - guardedSend(`give_${friend.id}`, new RoomGiveRightsComposer(friend.id)) }> - { friend.name } - - - ); - }) } - - + ) }> + + + { friendsWithoutRights.map((friend, index) => + { + return ( + + + guardedSend(`give_${friend.id}`, new RoomGiveRightsComposer(friend.id)) }> + { friend.name } + + + ); + }) } + + + ); diff --git a/src/components/navigator/views/room-settings/NavigatorRoomSettingsSectionView.tsx b/src/components/navigator/views/room-settings/NavigatorRoomSettingsSectionView.tsx new file mode 100644 index 0000000..e619a30 --- /dev/null +++ b/src/components/navigator/views/room-settings/NavigatorRoomSettingsSectionView.tsx @@ -0,0 +1,22 @@ +import { FC, ReactNode } from 'react'; +import { Column, Text } from '../../../../common'; + +interface NavigatorRoomSettingsSectionViewProps +{ + title?: string; + gap?: 1 | 2 | 3; + className?: string; + children: ReactNode; +} + +export const NavigatorRoomSettingsSectionView: FC = props => +{ + const { title = null, gap = 2, className = '', children = null } = props; + + return ( + + { title && { title } } + { children } + + ); +}; diff --git a/src/components/navigator/views/room-settings/NavigatorRoomSettingsVipChatTabView.tsx b/src/components/navigator/views/room-settings/NavigatorRoomSettingsVipChatTabView.tsx index aa4f1af..c2c8c13 100644 --- a/src/components/navigator/views/room-settings/NavigatorRoomSettingsVipChatTabView.tsx +++ b/src/components/navigator/views/room-settings/NavigatorRoomSettingsVipChatTabView.tsx @@ -3,6 +3,7 @@ import { FC, useEffect, useState } from 'react'; import { GetClubMemberLevel, IRoomData, LocalizeText } from '../../../../api'; import { Column, Grid, Text } from '../../../../common'; import { NitroInput } from '../../../../layout'; +import { NavigatorRoomSettingsSectionView } from './NavigatorRoomSettingsSectionView'; interface NavigatorRoomSettingsTabViewProps { @@ -29,48 +30,50 @@ export const NavigatorRoomSettingsVipChatTabView: FC - { LocalizeText('navigator.roomsettings.chat_settings') } - { LocalizeText('navigator.roomsettings.chat_settings.info') } - - - - - { LocalizeText('navigator.roomsettings.chat_settings.hearing.distance') } - handleChange('chat_distance', chatDistance) } onChange={ event => setChatDistance(event.target.valueAsNumber) } /> + + { LocalizeText('navigator.roomsettings.chat_settings.info') } + + + + + { LocalizeText('navigator.roomsettings.chat_settings.hearing.distance') } + handleChange('chat_distance', chatDistance) } onChange={ event => setChatDistance(event.target.valueAsNumber) } /> + - { LocalizeText('navigator.roomsettings.vip_settings') } -
- handleChange('hide_walls', event.target.checked) } /> - { LocalizeText('navigator.roomsettings.hide_walls') } -
- - + +
+ handleChange('hide_walls', event.target.checked) } /> + { LocalizeText('navigator.roomsettings.hide_walls') } +
+ + +