Merge branch 'dev' of github.com:LucasVbr/projet-web4 into dev

This commit is contained in:
Laurian-Dufrechou
2023-05-18 17:08:39 +02:00
4 changed files with 31 additions and 24 deletions
+1 -1
View File
@@ -2,7 +2,7 @@ import { MdError } from "react-icons/md";
import { Button, Text, VStack } from "@chakra-ui/react"; import { Button, Text, VStack } from "@chakra-ui/react";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
export default function LoadingPage() { export default function ErrorPage() {
const router = useRouter(); const router = useRouter();
return ( return (
+1 -4
View File
@@ -29,10 +29,7 @@ export default function Navbar({variant = 'fixed'}: Props) {
return ( return (
<Flex gap={5} justify={'center'} flexBasis={'100%'}> <Flex gap={5} justify={'center'} flexBasis={'100%'}>
{status === 'authenticated' {status === 'authenticated' && authenticatedLinks}
? authenticatedLinks
: <></>
}
</Flex> </Flex>
); );
}; };
+1 -3
View File
@@ -55,7 +55,5 @@ export default async function auth(req: NextApiRequest, res: NextApiResponse) {
} }
async function getUserByEmail(email: string): Promise<null | User> { async function getUserByEmail(email: string): Promise<null | User> {
return prismaClient.user.findUnique({ return prismaClient.user.findUnique({where: {email}});
where: {email},
});
} }
+28 -16
View File
@@ -17,11 +17,7 @@ const MapWithNoSSR = dynamic(
); );
export default function Map() { export default function Map() {
const [location, setLocation] = useState([ const [location, setLocation] = useState<number[]>([]);
null as unknown as number,
null as unknown as number,
]);
const [geolocationError, setGeolocationError] = useState(false); const [geolocationError, setGeolocationError] = useState(false);
const { data: session, status } = useSession(); const { data: session, status } = useSession();
const [listBars, setListBars] = useState({} as unknown as any); const [listBars, setListBars] = useState({} as unknown as any);
@@ -116,10 +112,19 @@ export default function Map() {
}; };
useEffect(() => { useEffect(() => {
if (!session?.user) return;
navigator.geolocation.getCurrentPosition( navigator.geolocation.getCurrentPosition(
successPosition, (position: GeolocationPosition) => {
errorPosition, setLocation([position.coords.latitude, position.coords.longitude]);
geolocationOptions setGeolocationError(false);
},
() => setGeolocationError(true),
{
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0,
},
); );
}, [loggedUser]); }, [loggedUser]);
@@ -134,15 +139,22 @@ export default function Map() {
setLocation([position.coords.latitude, position.coords.longitude]); setLocation([position.coords.latitude, position.coords.longitude]);
setGeolocationError(false); setGeolocationError(false);
if (!loggedUser) return; for (const [key, val] of Object.entries(params)) {
userSetLocation.mutate( urlBars.searchParams.append(key, val);
`${position.coords.latitude},${position.coords.longitude}` }
);
}
function errorPosition(error: GeolocationPositionError) { fetch(urlBars)
setGeolocationError(true); .then(res => res.json())
} .then(data => {
const filteredBars = data.filter((bar: any) => bar.name !== null);
setListBars(filteredBars);
})
.catch(err => console.error(err));
}
}, [session?.user]);
if (status === 'loading') return <LoadingPage/>;
const {user} = session as unknown as Session;
return ( return (
<> <>