0e9007af5f
fix: preserve case sensitivity for hashtag filtering in useBlogPostsByHashtag
2025-12-22 21:28:23 +01:00
mroxso
301b8b6125
feat: add follower and following count functionality to ProfileView ( #37 )
...
* feat: add follower and following count functionality to ProfileView
* Invalidate following-count cache on follow/unfollow actions (#53 )
* Initial plan
* fix: invalidate following-count cache on follow/unfollow
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
* refactor: use specific query keys for cache invalidation
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
---------
Co-authored-by: highperfocused <highperfocused@pm.me >
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
2025-11-29 20:39:52 +01:00
mroxso
a761261e33
feat: NIP-84 Highlights ( #31 )
...
* feat: implement highlights feature with dedicated HighlightsPage, HighlightsSection, and Highlight components
* fix: replace RelaySelector with RelayListManager in HighlightsPage
* fix: replace RelaySelector with RelayListManager in ProfileView component
* fix: remove unused emptyStateMessage prop from HighlightsSection and clean imports in HighlightsPage
* fix: comment out unused Separator components in ArticleView
* fix: remove loading skeleton from HighlightsSection component
* Update src/components/ArticleView.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: highperfocused <highperfocused@pm.me >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-29 20:19:48 +01:00
2ca2552bfc
fix: simplify synced data check in useInterestSets hook
2025-11-26 20:23:56 +01:00
mroxso
846d5b1164
feat: add support for user-defined interest sets (NIP-51) ( #43 )
...
* feat: add support for user-defined interest sets in AppConfig and sync from Nostr
* feat: initialize interestSets in default AppConfig for TestApp
* Add timestamp tracking to interest sets metadata to prevent redundant syncs (#46 )
* Initial plan
* feat: add timestamp tracking to interest sets to prevent redundant syncs
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
* Update src/components/NostrSync.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Fix missing dependency in interest sets sync useEffect (#47 )
* Initial plan
* fix: add missing dependency to NostrSync useEffect for interest sets
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
* Refactor useInterestSets to use NostrSync as primary source (#48 )
* Initial plan
* Remove redundant interest sets sync from NostrSync and AppConfig
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
* Refactor useInterestSets to use NostrSync as primary source
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
* Fix NostrSync dependency array and timestamp format
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
* Add AppContext integration for interest set deletion and publishing
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
Co-authored-by: highperfocused <highperfocused@pm.me >
* Update src/components/NostrSync.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update src/hooks/usePublishInterestSet.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update src/hooks/useInterestSets.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update src/components/NostrSync.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Fix interestSetsMetadata updatedAt initialization to handle undefined values
---------
Co-authored-by: highperfocused <highperfocused@pm.me >
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-26 19:22:42 +01:00
mroxso
e7035da411
Implement Tag page ( #36 )
...
* feat: add tag browsing functionality with dedicated TagPage and routing updates
* feat: implement infinite scrolling and deduplication for hashtag posts
* Update src/pages/TagPage.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update src/hooks/useBlogPostsByHashtag.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Extract duplicated event deduplication logic into shared utility (#41 )
* Initial plan
* refactor: extract deduplication logic into reusable utility function
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
---------
Co-authored-by: highperfocused <highperfocused@pm.me >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
2025-11-22 22:23:05 +01:00
mroxso
325210886b
NIP-51: Interest Set ( #39 )
...
* feat: implement Interest Sets management and display in settings and homepage
* Update src/pages/HomePage.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update src/hooks/useInterestSets.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Fix whitespace preservation in Interest Set identifier publishing (#40 )
* Initial plan
* fix: trim identifier before publishing interest set
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
* Update src/components/InterestSetsManager.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: highperfocused <highperfocused@pm.me >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
2025-11-22 21:51:00 +01:00
Copilot
512587b18c
Implement NIP-89 client tag display for articles ( #34 )
...
* Initial plan
* Implement NIP-89 client tag display and improved tag format
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
2025-11-20 22:01:47 +01:00
mroxso
43498de392
Mkstack upgrade ( #32 )
...
* mkstack upgrade
* more changes wip
* refactor: replace RelaySelector with RelayListManager in ProfileView, BookmarksPage, FollowingPage, and Nip05ProfilePage
* feat: add buffer dependency to package.json and package-lock.json
* feat: add SettingsPage and integrate into AppRouter and Header
* feat: refactor ZapButton to use Button component for improved styling
---------
Co-authored-by: highperfocused <highperfocused@pm.me >
2025-11-18 22:44:05 +01:00
2dbae6d144
fix: enhance sorting of blog posts by published_at tag for better accuracy
2025-10-25 19:01:34 +02:00
f6b6daa39b
refactor: replace useBlogPost with useLongFormContentNote across components for consistency
2025-10-20 15:39:27 +02:00
adf54e142c
refactor: improve sorting of blog posts by published_at tag
2025-10-20 15:34:52 +02:00
6748fe82a8
fix: include search term in regular search query for improved results
2025-10-19 22:20:53 +02:00
Copilot
568f10761e
Add comprehensive SEO optimization with dynamic meta tags and social sharing support ( #23 )
...
* Initial plan
* Add SEO optimization with dynamic meta tags for all pages
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
* Fix SEO meta tags to use useSeoMeta correctly without useEffect
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
* Add SEO verification documentation
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
* Add comprehensive SEO examples documentation
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
* Refactor routing to use HomePage component and update blog post fetching limit
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
Co-authored-by: highperfocused <highperfocused@pm.me >
2025-10-19 14:20:46 +02:00
b839de7a3b
Add Article by d-tag route and implement useBlogPostByDTag hook
...
- Introduced a new route for articles identified by d-tag in AppRouter.
- Created useBlogPostByDTag hook to fetch blog posts by d-tag.
- Added ArticleByDTagPage component to display articles based on d-tag.
- Enhanced BlogPostPage to include JSON viewing functionality.
2025-10-07 21:34:55 +02:00
Copilot
734bd84191
Add Follow/Unfollow Button on Profile Page (NIP-02) ( #14 )
...
* Initial plan
* Implement Follow/Unfollow button on Profile Page (NIP-02)
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
2025-10-06 19:13:53 +02:00
Copilot
4ca06f9237
Add Bookmarks Tab to Profile Page with NIP-51 Support ( #12 )
...
* Initial plan
* Add bookmarks tab to profile page with NIP-51 support
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com >
2025-10-06 18:59:12 +02:00
3fce6b7e4d
Add FollowingPage component and related hooks; update routing and BlogHeader
2025-10-05 22:15:54 +02:00
mroxso
55e4d29588
Bookmarks (NIP-51) ( #2 )
...
* bookmarks nip-51 implementation pt1
* Add Bookmarks link to BlogHeader and remove unused BlogLayout import in BookmarksPage
---------
Co-authored-by: highperfocused <highperfocused@pm.me >
2025-10-05 21:25:07 +02:00
mroxso
c6f8296cbe
Editor ( #1 )
...
* add editor
* implement pt1
* Add Lexical plugins and update editor functionality in ProfessionalBlogPostForm
* Comment out client tag in usePublishBlogPost hook
---------
Co-authored-by: highperfocused <highperfocused@pm.me >
2025-10-05 19:44:33 +02:00
f4048af749
Update like counting logic in useReactions to exclude only "-" reactions
2025-10-05 17:36:47 +02:00
25a2af8735
Add LatestInHashtag component and integrate it into BlogHomePage; implement useBlogPostsByHashtag hook for fetching posts by hashtag
2025-10-05 17:20:30 +02:00
2a92b84f4c
Enhance search functionality to support hashtag queries and update UI for search results display
2025-10-05 16:18:25 +02:00
ff4d5b3116
add search bar and page // fixed some design issues
2025-10-05 15:57:54 +02:00
1a652c1dbe
Add NIP-19 routing and implement Profile, Note, and Event pages
2025-10-05 15:34:14 +02:00
ff36189c22
initial code commit
2025-10-05 14:49:53 +02:00