fix: redirect when slideshow visited improperly

This commit is contained in:
httpjamesm 2023-11-23 17:39:43 -05:00
parent 5e574d588f
commit 1f5d39af59
No known key found for this signature in database

View file

@ -1,5 +1,6 @@
// import { Inter } from 'next/font/google'; // import { Inter } from 'next/font/google';
import PairedSuccessfullyOverlay from 'components/PairedSuccessfullyOverlay'; import PairedSuccessfullyOverlay from 'components/PairedSuccessfullyOverlay';
import { useRouter } from 'next/router';
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import { syncCollections } from 'services/collectionService'; import { syncCollections } from 'services/collectionService';
import { syncFiles } from 'services/fileService'; import { syncFiles } from 'services/fileService';
@ -16,6 +17,7 @@ export default function Slideshow() {
const [loading, setLoading] = useState(true); const [loading, setLoading] = useState(true);
const init = async () => { const init = async () => {
try {
const collections = await syncCollections(); const collections = await syncCollections();
// get requested collection id from localStorage // get requested collection id from localStorage
@ -26,18 +28,29 @@ export default function Slideshow() {
if (requestedCollectionID) { if (requestedCollectionID) {
const collectionFiles = files.filter( const collectionFiles = files.filter(
(file) => file.collectionID === Number(requestedCollectionID) (file) =>
file.collectionID === Number(requestedCollectionID)
); );
setCollectionFiles(collectionFiles); setCollectionFiles(collectionFiles);
} }
} catch {
router.push('/');
}
}; };
const router = useRouter();
useEffect(() => { useEffect(() => {
try {
init(); init();
} catch (e) {
router.push('/');
}
}, []); }, []);
useEffect(() => { useEffect(() => {
if (collectionFiles.length < 1 || !currentFile) return;
// create interval to change slide // create interval to change slide
const interval = setInterval(() => { const interval = setInterval(() => {
// set the currentFile to the next file in the collection for the slideshow // set the currentFile to the next file in the collection for the slideshow
@ -71,7 +84,6 @@ export default function Slideshow() {
useEffect(() => { useEffect(() => {
if (currentFile) { if (currentFile) {
console.log(currentFile);
getRenderableFileURL(); getRenderableFileURL();
} }
}, [currentFile]); }, [currentFile]);