🐛(frontend) fix public room warning showing for all rooms

Remove incorrect public room warning that was always displayed
regardless of room privacy settings.

Warning should only appear for genuinely public rooms since the lobby
system introduction changed room privacy behavior.

Prevents user confusion about room privacy settings.
This commit is contained in:
lebaudantoine
2025-08-05 14:54:20 +02:00
committed by aleb_the_flash
parent b54445739a
commit 5e9d20e685
3 changed files with 48 additions and 45 deletions

View File

@@ -5,7 +5,7 @@ import { Bold, Button, Dialog, type DialogProps, P, Text } from '@/primitives'
import { HStack } from '@/styled-system/jsx'
import { RiCheckLine, RiFileCopyLine, RiSpam2Fill } from '@remixicon/react'
import { css } from '@/styled-system/css'
import { ApiRoom } from '@/features/rooms/api/ApiRoom'
import { ApiAccessLevel, ApiRoom } from '@/features/rooms/api/ApiRoom'
import { useTelephony } from '@/features/rooms/livekit/hooks/useTelephony'
import { formatPinCode } from '@/features/rooms/utils/telephony'
@@ -197,26 +197,28 @@ export const LaterMeetingDialog = ({
)}
</Button>
)}
<HStack>
<div
className={css({
backgroundColor: 'primary.200',
borderRadius: '50%',
padding: '4px',
marginTop: '1rem',
})}
>
<RiSpam2Fill
size={22}
{room?.access_level == ApiAccessLevel.PUBLIC && (
<HStack>
<div
className={css({
fill: 'primary.500',
backgroundColor: 'primary.200',
borderRadius: '50%',
padding: '4px',
marginTop: '1rem',
})}
/>
</div>
<Text variant="sm" style={{ marginTop: '1rem' }}>
{t('permissions')}
</Text>
</HStack>
>
<RiSpam2Fill
size={22}
className={css({
fill: 'primary.500',
})}
/>
</div>
<Text variant="sm" style={{ marginTop: '1rem' }}>
{t('permissions')}
</Text>
</HStack>
)}
</>
)}
</Dialog>

View File

@@ -240,7 +240,6 @@ export const Conference = ({
<InviteDialog
isOpen={showInviteDialog}
onOpenChange={setShowInviteDialog}
roomId={roomId}
onClose={() => setShowInviteDialog(false)}
/>
)}

View File

@@ -12,6 +12,8 @@ import {
} from '@remixicon/react'
import { useEffect, useState } from 'react'
import { css } from '@/styled-system/css'
import { useRoomData } from '@/features/rooms/livekit/hooks/useRoomData'
import { ApiAccessLevel } from '@/features/rooms/api/ApiRoom'
// fixme - extract in a proper primitive this dialog without overlay
const StyledRACDialog = styled(Dialog, {
@@ -34,13 +36,11 @@ const StyledRACDialog = styled(Dialog, {
},
})
export const InviteDialog = ({
roomId,
...dialogProps
}: { roomId: string } & Omit<DialogProps, 'title'>) => {
export const InviteDialog = (props: Omit<DialogProps, 'title'>) => {
const { t } = useTranslation('rooms')
const roomUrl = getRouteUrl('room', roomId)
const roomData = useRoomData()
const roomUrl = getRouteUrl('room', roomData?.slug)
const [isCopied, setIsCopied] = useState(false)
useEffect(() => {
@@ -51,7 +51,7 @@ export const InviteDialog = ({
}, [isCopied])
return (
<StyledRACDialog {...dialogProps}>
<StyledRACDialog {...props}>
{({ close }) => (
<VStack
alignItems="left"
@@ -68,7 +68,7 @@ export const InviteDialog = ({
variant="tertiaryText"
size="xs"
onPress={() => {
dialogProps.onClose?.()
props.onClose?.()
close()
}}
aria-label={t('closeDialog')}
@@ -99,26 +99,28 @@ export const InviteDialog = ({
</>
)}
</Button>
<HStack>
<div
className={css({
backgroundColor: 'primary.200',
borderRadius: '50%',
padding: '4px',
marginTop: '1rem',
})}
>
<RiSpam2Fill
size={22}
{roomData?.access_level === ApiAccessLevel.PUBLIC && (
<HStack>
<div
className={css({
fill: 'primary.500',
backgroundColor: 'primary.200',
borderRadius: '50%',
padding: '4px',
marginTop: '1rem',
})}
/>
</div>
<Text variant="sm" style={{ marginTop: '1rem' }}>
{t('shareDialog.permissions')}
</Text>
</HStack>
>
<RiSpam2Fill
size={22}
className={css({
fill: 'primary.500',
})}
/>
</div>
<Text variant="sm" style={{ marginTop: '1rem' }}>
{t('shareDialog.permissions')}
</Text>
</HStack>
)}
</VStack>
)}
</StyledRACDialog>