34 |
35 | Originalmente, tratava-se de um jogo pessoal, o que significa que ele
36 | pode incluir cartas EXTREMAMENTE específicas.
37 |
38 |
39 |
40 | Atualmente, fazemos uso do serviço gratuito do Firebase como servidor.
41 | No entanto, devido ao aumento significativo no número de acessos,
42 | estamos enfrentando desafios que podem impactar a experiência de jogo
43 | ou, em último caso, resultar na ultrapassagem do limite do servidor.
44 | Nesse cenário, haverá a impossibilidade de continuar jogando a partir
45 | daquele dia.
46 |
47 |
48 |
49 | Caso você possa contribuir de alguma forma(ideias de servidores gratuito
50 | melhores, doações para pagar o premium do firebase, etc), por favor
51 | envie um e-mail para silvanosilvino@hotmail.com.
52 |
53 |
54 | );
55 | }
56 |
--------------------------------------------------------------------------------
/src/components/PrivateRoute/index.tsx:
--------------------------------------------------------------------------------
1 | import { Navigate, useLocation, useNavigate } from 'react-router-dom';
2 |
3 | import { useAuth } from '@/contexts/AuthContext';
4 | import { useBoolean } from '@/hooks/useBoolean';
5 | import { isAdmin } from '@/services/users';
6 | import { useToast } from '@chakra-ui/react';
7 | import { useEffect } from 'react';
8 | import { SomeLoading } from '../SomeLoading';
9 |
10 | interface CustomRouteProps {
11 | children: JSX.Element;
12 | onlyAdmins?: boolean;
13 | }
14 |
15 | export function PrivateRoute({
16 | children,
17 | onlyAdmins = false,
18 | }: CustomRouteProps): JSX.Element {
19 | const navigate = useNavigate();
20 | const location = useLocation();
21 | const { user, authenticated, isLoading } = useAuth();
22 | const toast = useToast();
23 |
24 | const [admin, setTrueAdmin] = useBoolean(false);
25 |
26 | useEffect(() => {
27 | async function verifyIfIsAdmin(): Promise