'use client' import { useCallback, useEffect, useState } from 'react'; import { useLocalStorage } from '../../hooks/useLocalStorage'; import { AUTH_TOKEN_KEY } from '../../constants/common'; import { Room } from '../../types/rooms'; import { getRoomDetails } from '../rooms'; export const useRoomDetails = (locale: string, roomId: number) => { const [jwt] = useLocalStorage(AUTH_TOKEN_KEY, ''); const [room, setRoom] = useState(); const [errorData, setErrorData] = useState(); const [loading, setLoading] = useState(false); const fetchData = useCallback(() => { setLoading(true); setErrorData(undefined); setRoom(undefined); getRoomDetails(locale, jwt, roomId) .then((room) => { setRoom(room); }) .catch((err) => { setErrorData(err); }) .finally(() => { setLoading(false); }) }, []); useEffect(() => { fetchData(); }, []); return { fetchData, loading, room, errorData }; };