fix: oprava spojení při použítí tlačítka "Zpět"
CI / Generate TypeScript types (push) Successful in 11s
CI / Server unit tests (push) Successful in 25s
CI / Build server (push) Successful in 27s
CI / Build client (push) Successful in 40s
CI / Playwright E2E tests (push) Successful in 1m44s
CI / Build and push Docker image (push) Successful in 45s
CI / Notify (push) Successful in 2s
CI / Generate TypeScript types (push) Successful in 11s
CI / Server unit tests (push) Successful in 25s
CI / Build server (push) Successful in 27s
CI / Build client (push) Successful in 40s
CI / Playwright E2E tests (push) Successful in 1m44s
CI / Build and push Docker image (push) Successful in 45s
CI / Notify (push) Successful in 2s
This commit is contained in:
+6
-2
@@ -63,13 +63,15 @@ function App() {
|
|||||||
const settings = useSettings();
|
const settings = useSettings();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const [easterEgg, _] = useEasterEgg(auth);
|
const [easterEgg, _] = useEasterEgg(auth);
|
||||||
const [isConnected, setIsConnected] = useState<boolean>(false);
|
const socket = useContext(SocketContext);
|
||||||
|
// Socket je singleton mimo React, takže při návratu v historii prohlížeče (remount
|
||||||
|
// komponenty) už žádný "connect" event nepřijde - stav proto inicializujeme z něj
|
||||||
|
const [isConnected, setIsConnected] = useState<boolean>(() => socket.connected);
|
||||||
const [data, setData] = useState<ClientData>();
|
const [data, setData] = useState<ClientData>();
|
||||||
const [food, setFood] = useState<RestaurantDayMenuMap>();
|
const [food, setFood] = useState<RestaurantDayMenuMap>();
|
||||||
const [myOrder, setMyOrder] = useState<PizzaOrder>();
|
const [myOrder, setMyOrder] = useState<PizzaOrder>();
|
||||||
const [foodChoiceList, setFoodChoiceList] = useState<Food[]>();
|
const [foodChoiceList, setFoodChoiceList] = useState<Food[]>();
|
||||||
const [closed, setClosed] = useState<boolean>(false);
|
const [closed, setClosed] = useState<boolean>(false);
|
||||||
const socket = useContext(SocketContext);
|
|
||||||
const choiceRef = useRef<HTMLSelectElement>(null);
|
const choiceRef = useRef<HTMLSelectElement>(null);
|
||||||
const foodChoiceRef = useRef<HTMLSelectElement>(null);
|
const foodChoiceRef = useRef<HTMLSelectElement>(null);
|
||||||
const departureChoiceRef = useRef<HTMLSelectElement>(null);
|
const departureChoiceRef = useRef<HTMLSelectElement>(null);
|
||||||
@@ -121,6 +123,8 @@ function App() {
|
|||||||
|
|
||||||
// Registrace socket eventů
|
// Registrace socket eventů
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
// Srovnání se skutečným stavem socketu (mohl se změnit mezi renderem a efektem)
|
||||||
|
setIsConnected(socket.connected);
|
||||||
socket.on(EVENT_CONNECT, () => {
|
socket.on(EVENT_CONNECT, () => {
|
||||||
setIsConnected(true);
|
setIsConnected(true);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user