Skip to content

Commit

Permalink
🚨(frontend) fix TypeScript errors to enable successful build
Browse files Browse the repository at this point in the history
Resolved minor TypeScript errors in the Proof of Concept (PoC)
that were causing the "npm run build" command to fail.

These fixes were necessary to prepare the frontend for
containerization with Docker.

ASAP, a CI step will prevent these kind of errors.
  • Loading branch information
lebaudantoine committed Jul 1, 2024
1 parent ed2d85f commit 847ad70
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions src/frontend/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@ export interface User {
email: string;
}

export interface Room {
livekit?: {
token: string
};
is_public: boolean;
}

function getCSRFToken() {
return document.cookie
.split(';')
Expand All @@ -38,7 +45,7 @@ async function getMe() {
return response.json() as Promise<User>;
}

function slugify(str) {
function slugify(str: string) {
return str
.toLowerCase()
.normalize('NFD')
Expand All @@ -49,7 +56,7 @@ function slugify(str) {
.replace(/-+/g, '-')
}

async function fetchRoom(roomId) {
async function fetchRoom(roomId: string) {
const csrfToken = getCSRFToken();
const response = await fetch(
`${API_BASE_URL}rooms/${roomId}/`,
Expand All @@ -66,13 +73,13 @@ async function fetchRoom(roomId) {
throw new Error(`Couldn't fetch room data: ${response.statusText}`);
}

return response.json() as Promise<User>;
return response.json() as Promise<Room>;
}


function App() {
const [authenticatedUser, setAuthenticatedUser] = useState<User | null>(null)
const [roomData, setRoomData] = useState(null)
const [roomData, setRoomData] = useState<Room | null>(null)
const [isLoading, setIsLoading] = useState<boolean>(true)

useEffect(() => {
Expand All @@ -86,7 +93,7 @@ function App() {

const getRoom = async () => {

const roomName = document.getElementById('roomName')?.value || crypto.randomUUID()
const roomName = (document.getElementById('roomName')as HTMLInputElement)?.value || crypto.randomUUID()
const roomData = await fetchRoom(slugify(roomName))
setRoomData(roomData)

Expand Down

0 comments on commit 847ad70

Please sign in to comment.