This reverts the codebase back to the state at commit e693589.
Reverted 1 commit(s):
- 052aca5: Add support for Articles and Recipes (kind 30023)
Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
- Added ArticleCard component for displaying long-form content in feeds
- Added ArticleDetail component with markdown rendering for article detail pages
- Created ArticlesFeedPage with optional tag filtering for recipes
- Added /articles and /recipes routes
- Updated PostDetailPage to use ArticleDetail for kind 30023 events
- Added Articles and Recipes to settings toggles (sidebar & feed visibility)
- Integrated articles into Feed component - kind 30023 events now use ArticleCard
- Added react-markdown and remark-gfm for proper markdown rendering
- Articles and Recipes now visible by default in sidebar navigation
Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
This reverts the codebase back to the state at commit 9ca82c3.
Reverted 4 commit(s):
- 94b43ac: Skip already-cached pubkeys in useAuthors batch query
- ee69816: Adopt Agora's faster feed loading pattern
- 0f630fc: Use Agora's useAuthor pattern: pool race + losers bracket fallback
- 7eafd14: Batch useAuthor and useEventStats to reduce concurrent REQs
Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
- Add useInfiniteScroll hook using native IntersectionObserver (400px rootMargin)
instead of react-intersection-observer library
- Rewrite useFeed: 5s timeout (was 8s), AbortSignal.any pattern, placeholderData
to prevent flicker, cleaner filter construction with spread
- Rewrite Feed.tsx to use useInfiniteScroll ref instead of useInView
- Update ProfilePage.tsx to use useInfiniteScroll for both feed and likes tabs
- Update useProfileFeed: 5s timeout, placeholderData, cleaner filter construction
- Remove react-intersection-observer dependency (replaced by native hook)
Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>