Skip to content

Commit 6f103d3

Browse files
committed
Fix meeting not found error handling
1 parent a05c090 commit 6f103d3

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

public/app.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/components/Meeting.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,28 @@ import Link from './Link';
2626
import Map from './Map';
2727

2828
import { useData, useFilter, useInput, useSettings } from '../hooks';
29+
import { useParams } from 'react-router-dom';
2930
import type { Meeting as MeetingType } from '../types';
3031
import Loading from './Loading';
3132

3233
export default function Meeting() {
34+
const { slug } = useParams();
3335
const { capabilities, meetings } = useData();
3436

3537
const { settings, strings } = useSettings();
3638
const { input } = useInput();
3739
const { meeting, waitingForFilter } = useFilter();
3840

41+
// check if we have a slug but no meeting from FilterProvider,
42+
if (slug && !meeting && !waitingForFilter && Object.keys(meetings).length > 0) {
43+
// Check directly if meeting exists
44+
if (!(slug in meetings)) {
45+
throw new Error(strings.not_found);
46+
}
47+
// Meeting exists in data but FilterProvider hasn't found it yet - keep waiting
48+
return <Loading />;
49+
}
50+
3951
// open types
4052
const [define, setDefine] = useState<string | undefined>();
4153

0 commit comments

Comments
 (0)