From 75ffb7f5f7dc8e4ff37f314b8c112a0cf69d9f6b Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Tue, 1 Jul 2025 23:37:24 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(frontend)=20add=20phone=20number=20an?= =?UTF-8?q?d=20pin=20display=20in=20info=20side=20panel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Create minimal UI to show telephony access details for testing SIP functionality in staging deployment. Basic implementation for feature validation. --- .../rooms/livekit/components/Info.tsx | 32 ++++++++++++++++--- .../rooms/livekit/hooks/useTelephony.ts | 20 ++++++++++++ .../src/features/rooms/utils/telephony.ts | 23 +++++++++++++ src/frontend/src/locales/de/rooms.json | 4 +++ src/frontend/src/locales/en/rooms.json | 4 +++ src/frontend/src/locales/fr/rooms.json | 4 +++ src/frontend/src/locales/nl/rooms.json | 4 +++ 7 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 src/frontend/src/features/rooms/livekit/hooks/useTelephony.ts create mode 100644 src/frontend/src/features/rooms/utils/telephony.ts diff --git a/src/frontend/src/features/rooms/livekit/components/Info.tsx b/src/frontend/src/features/rooms/livekit/components/Info.tsx index a0aadaae..c4c13690 100644 --- a/src/frontend/src/features/rooms/livekit/components/Info.tsx +++ b/src/frontend/src/features/rooms/livekit/components/Info.tsx @@ -3,9 +3,11 @@ import { useEffect, useState } from 'react' import { VStack } from '@/styled-system/jsx' import { css } from '@/styled-system/css' import { RiCheckLine, RiFileCopyLine } from '@remixicon/react' -import { Button, Div, Text } from '@/primitives' +import { Bold, Button, Div, Text } from '@/primitives' import { getRouteUrl } from '@/navigation/getRouteUrl' import { useRoomData } from '../hooks/useRoomData' +import { formatPinCode } from '../../utils/telephony' +import { useTelephony } from '../hooks/useTelephony' export const Info = () => { const { t } = useTranslation('rooms', { keyPrefix: 'info' }) @@ -22,6 +24,8 @@ export const Info = () => { const data = useRoomData() const roomUrl = getRouteUrl('room', data?.slug) + const telephony = useTelephony() + return (
{ > {t('roomInformation.title')} - - {roomUrl} - +
+ + {roomUrl} + + {telephony?.enabled && data?.pin_code && ( + <> + + {t('roomInformation.phone.call')} ( + {telephony?.country}) {telephony?.internationalPhoneNumber} + + + {t('roomInformation.phone.pinCode')}{' '} + {formatPinCode(data?.pin_code)} + + + )} +