diff --git a/app/src/pages/NewsletterArchivePage.jsx b/app/src/pages/NewsletterArchivePage.jsx new file mode 100644 index 0000000..56db3e7 --- /dev/null +++ b/app/src/pages/NewsletterArchivePage.jsx @@ -0,0 +1,37 @@ +import { useState, useEffect } from 'react'; +import { useNav, EmptyState, pillBtn } from '../../teknav-ui.jsx'; +import { contentApi } from '../../src/lib/content-api.js'; + +export function NewsletterArchivePage() { + const { navigate } = useNav(); + const [items, setItems] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + let cancelled = false; + contentApi.listNewsletterArchive() + .then((rows) => { if (!cancelled) setItems(rows); }) + .catch(() => { if (!cancelled) setItems([]); }) + .finally(() => { if (!cancelled) setLoading(false); }); + return () => { cancelled = true; }; + }, []); + + return ( +
+
+

آرشیو خبرنامه تکنـاو

+

نسخه‌های ارسال‌شده خبرنامه برای دنبال کردن روندهای مهم فناوری، هوش مصنوعی و امنیت.

+ {loading ?
در حال بارگذاری...
: items.length === 0 ? : ( +
+ {items.map((item) => ( + + ))} +
+ )} +
+
+ ); +}