mirror of
https://github.com/LucasVbr/meeting-app.git
synced 2026-05-13 17:21:53 +00:00
Merge branch 'dev' of github.com:LucasVbr/projet-web4 into dev
This commit is contained in:
@@ -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 (
|
||||||
|
|||||||
@@ -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>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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
@@ -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 (
|
||||||
<>
|
<>
|
||||||
|
|||||||
Reference in New Issue
Block a user