Fix url encoding for room names
continuous-integration/drone/push Build is passing Details

This commit is contained in:
qvalentin 2023-07-06 18:58:55 +02:00
parent cc1808c9ec
commit a5d769e9b5
5 changed files with 14 additions and 6 deletions

View File

@ -48,7 +48,7 @@ function Meeting(props: Props) {
setMeetingStarted(true) setMeetingStarted(true)
}} }}
> >
{roomData.roomName} {decodeURI(roomData.roomName)}
</a> </a>
</h3> </h3>
{roomData.participants.map((participant) => ( {roomData.participants.map((participant) => (

View File

@ -8,7 +8,7 @@ function MeetingNameInput(props: { roomName: string; currentUser: string }) {
const [_, setMeetingStarted] = useMeetingStarted() const [_, setMeetingStarted] = useMeetingStarted()
const onInput: React.ChangeEventHandler<HTMLInputElement> = (event) => { const onInput: React.ChangeEventHandler<HTMLInputElement> = (event) => {
updateRoomName(event.target.value) updateRoomName(encodeURI(event.target.value))
event.preventDefault() event.preventDefault()
} }
@ -23,7 +23,7 @@ function MeetingNameInput(props: { roomName: string; currentUser: string }) {
<div className="meeting-name-input"> <div className="meeting-name-input">
<h1>Greetings {props.currentUser}</h1> <h1>Greetings {props.currentUser}</h1>
<form onSubmit={onSubmit}> <form onSubmit={onSubmit}>
<input placeholder="Roomname" type="text" value={roomName} onChange={onInput} /> <input placeholder="Roomname" type="text" value={decodeURI(roomName)} onChange={onInput} />
<button type="submit">Enter the adventure</button> <button type="submit">Enter the adventure</button>
</form> </form>
</div> </div>

View File

@ -31,7 +31,7 @@ function Sidebar(props: Props) {
setMeetingStarted(true) setMeetingStarted(true)
}} }}
> >
{roomData.roomName} {decodeURI(roomData.roomName)}
</a> </a>
</h3> </h3>
{roomData.participants.map((participant) => ( {roomData.participants.map((participant) => (

View File

@ -2,7 +2,15 @@ import { useState } from 'react'
import { UsersData } from '../background/types/roomData' import { UsersData } from '../background/types/roomData'
function useRoomData() { function useRoomData() {
const [roomData, setRoomData] = useState<UsersData>() const [roomData, setRoomDataInternal] = useState<UsersData>()
const setRoomData = (usersData: UsersData) => {
usersData.roomsData = usersData.roomsData.map((roomData) => {
roomData.roomName = decodeURI(roomData.roomName)
return roomData
})
setRoomDataInternal(usersData)
}
return { roomData, setRoomData } return { roomData, setRoomData }
} }

View File

@ -46,7 +46,7 @@ function setRoomNameInUrl(roomName: string) {
function setRoomNameInTitle(roomName: string) { function setRoomNameInTitle(roomName: string) {
if (!!roomName) { if (!!roomName) {
document.title = roomName document.title = decodeURI(roomName)
} }
} }