From f2ecc1803f3ea294a0c6b7915b61348ed0395b26 Mon Sep 17 00:00:00 2001 From: Marcin Zelent Date: Wed, 16 Nov 2022 15:16:38 +0100 Subject: Remade and extended the app using React --- pages/index.tsx | 93 --------------------------------------------------------- 1 file changed, 93 deletions(-) delete mode 100644 pages/index.tsx (limited to 'pages/index.tsx') diff --git a/pages/index.tsx b/pages/index.tsx deleted file mode 100644 index f9b365b..0000000 --- a/pages/index.tsx +++ /dev/null @@ -1,93 +0,0 @@ -import { GetStaticProps } from 'next'; -import Head from 'next/head'; -import dynamic from 'next/dynamic'; -import { useEffect, useState } from 'react'; - -import { Trip } from 'models'; -import getTripsData from 'lib/trips'; -import Sidebar from 'components/Sidebar/Sidebar'; -import Gallery from 'components/Gallery/Gallery'; -import styles from 'styles/Home.module.css'; - -interface Props { - allTripsData: Trip[]; -} - -const Map = dynamic(() => import('components/Map/Map'), { ssr: false }); - -export default function Home({ allTripsData }: Props): JSX.Element { - const [currentTrip, setCurrentTrip] = useState(allTripsData[0]); - const [currentPhoto, setCurrentPhoto] = useState(null); - const [asideOpen, setAsideOpen] = useState(false); - - useEffect(() => { - if (window.location.hash.length === 0) { - window.location.hash = currentTrip.name; - } else { - const index = allTripsData.findIndex((t) => t.name === window.location.hash.substr(1)); - if (index > -1) setCurrentTrip(allTripsData[index]); - } - }, []); - - useEffect(() => { - window.location.hash = currentTrip.name; - }, [currentTrip]); - - function handleMarkerClick(photo: string) { - const index = currentTrip.photos.findIndex((p) => p.name === photo); - setCurrentPhoto(index); - } - - function handlePhotoChange(direction: boolean): void { - if (direction) { - if (currentTrip.photos.length > currentPhoto + 1) { - setCurrentPhoto(currentPhoto + 1); - } - } else if (currentPhoto - 1 >= 0) { - setCurrentPhoto(currentPhoto - 1); - } - } - - return ( -
- - Trip Share - - - - {currentPhoto !== null && ( - setCurrentPhoto(null)} - handlePhotoChange={handlePhotoChange} - /> - )} - - setAsideOpen(false)} - setCurrentTrip={setCurrentTrip} - /> - - - -
- -
-
- ); -} - -export const getStaticProps: GetStaticProps = async () => { - const allTripsData = getTripsData(); - - return { - props: { - allTripsData, - }, - }; -}; -- cgit v1.2.3