diff --git a/src/blog/providers/Article.tsx b/src/blog/providers/Article.tsx index a66cf0f..9809215 100644 --- a/src/blog/providers/Article.tsx +++ b/src/blog/providers/Article.tsx @@ -18,15 +18,8 @@ export const ArticleProvider: React.FC<{ children: React.ReactNode }> = ({ child setLoading(true); setError(null); - const res = await api.get('/articles', { - params: { skip: 0, limit: 10 }, - }); - - const formatted = res.data.map((a) => ({ - ...a, - id: a._id || undefined, - })); - + const res = await api.get('/articles', { params: { skip: 0, limit: 10 } }); + const formatted = res.data.map((a) => ({ ...a, id: a._id || undefined })); setArticles(formatted); } catch (err: any) { console.error('Failed to fetch articles:', err); @@ -38,7 +31,13 @@ export const ArticleProvider: React.FC<{ children: React.ReactNode }> = ({ child /** 🔹 Auto-fetch articles whenever user logs in/out */ useEffect(() => { - if (token) fetchArticles(); + // Always load once on mount + // If endpoint requires JWT, fallback safely + if (!token) { + fetchArticles().catch(() => setLoading(false)); // try anyway (handles both public/protected) + } else { + fetchArticles(); + } }, [token]); return (