diff --git a/app/src/pages/NewsletterIssuePage.jsx b/app/src/pages/NewsletterIssuePage.jsx new file mode 100644 index 0000000..5a17200 --- /dev/null +++ b/app/src/pages/NewsletterIssuePage.jsx @@ -0,0 +1,32 @@ +import { useState, useEffect } from 'react'; +import { useNav, EmptyState, pillBtn } from '../../teknav-ui.jsx'; +import { contentApi } from '../../src/lib/content-api.js'; + +export function NewsletterIssuePage({ slug }) { + const { navigate } = useNav(); + const [issue, setIssue] = useState(null); + const [error, setError] = useState(false); + + useEffect(() => { + let cancelled = false; + setError(false); + contentApi.getNewsletterIssue(slug) + .then((row) => { if (!cancelled) setIssue(row); }) + .catch(() => { if (!cancelled) setError(true); }); + return () => { cancelled = true; }; + }, [slug]); + + if (error) return