Commit Graph

55 Commits

Author SHA1 Message Date
837a99d84c sync mkstack components 2026-03-04 20:06:07 +01:00
mroxso
a7f8e91ad6 Fix markdown editor (#62)
* feat: add multiple expert agent definitions for Pi coding agent

* fix markdown support in ProfessionalBlogPostForm and Editor components

---------

Co-authored-by: highperfocused <highperfocused@pm.me>
2026-03-04 19:05:52 +01:00
mroxso
6f985a4abf feat: add ProfileSettingsModal component and integrate into AccountSwitcher (#58)
Co-authored-by: highperfocused <highperfocused@pm.me>
2025-12-16 21:10:44 +01:00
mroxso
f0ca0755c4 feat: implement featured post layout in ArticlePreview and update LatestArticles and LatestInHashtag components (#56)
Co-authored-by: highperfocused <highperfocused@pm.me>
2025-12-09 20:35:49 +01:00
b8b2989767 fix: update default comment in ZapDialog to reflect branding 2025-11-29 21:12:49 +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
a184866b2a feat: add refresh functionality to InterestSetsManager with toast notifications 2025-11-26 21:55:38 +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
5ef088421e feat: update LatestInHashtag component to support multiple hashtags and improve blog post validation 2025-11-23 01:58:45 +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
d892f48896 feat: add option to hide latest articles section on homepage (#42)
* feat: add option to hide latest articles section on home page

* Update src/pages/SettingsPage.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-22 22:19:03 +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
96ff6d18dc feat: add profile quick link to AccountSwitcher for easier navigation 2025-11-20 21:05:16 +01:00
6204c3787c feat: add loading spinner to ZapButton for improved user feedback 2025-11-20 20:54:56 +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
9cba26a82f feat: add date validation and safe ISO string conversion for improved date handling 2025-11-17 21:41:39 +01:00
348b68ded1 feat: add profile quick link to AccountSwitcher for easier navigation 2025-10-29 20:25:54 +01:00
c428b16408 fix: add padding to LoginArea in mobile header for better spacing 2025-10-20 16:17:23 +02:00
5f6b66c40e feat: add BottomNav component for mobile navigation and update Layout to include it 2025-10-20 16:12:47 +02:00
f6b6daa39b refactor: replace useBlogPost with useLongFormContentNote across components for consistency 2025-10-20 15:39:27 +02:00
02c79aa98c feat: make hashtags clickable links for improved navigation 2025-10-20 15:23:07 +02:00
912e181ab4 feat: add ZapButton to comment component for enhanced interaction 2025-10-19 23:18:32 +02:00
7085578d7c refactor: hide share text and update bookmark button visibility 2025-10-19 23:08:55 +02:00
mroxso
7b2533a95e dev2main (#25)
* refactor: rename BlogHeader to Header and BlogLayout to Layout for consistency

* feat: implement Header and Layout components for improved site structure

* refactor: rename BlogLayoutProps to LayoutProps for consistency

---------

Co-authored-by: highperfocused <highperfocused@pm.me>
2025-10-19 22:44:48 +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
1c38a22ae6 feat: enhance MarkdownContent to support Nostr mentions and improve URI handling 2025-10-12 22:21:31 +02:00
c0c6d54a33 Add new icons for NIP-05 and LUD16 in ProfileView component 2025-10-07 22:24:11 +02:00
469f982244 Rename BlogPostPage to ArticlePage and refactor related components 2025-10-07 22:13:33 +02:00
mroxso
05aea774dc Profilepage URI via NIP-05 (#19)
* Add Nip05ProfilePage component and route for NIP-05 profiles

* Refactor ProfilePage and Nip05ProfilePage to use ProfileView and ProfileSkeleton components for improved code organization and loading states

* Update ProfileViewProps to use NostrEvent type for posts and bookmarkedArticles

* Refactor NIP-05 identifier validation to use regex for improved accuracy

---------

Co-authored-by: highperfocused <highperfocused@pm.me>
2025-10-06 22:02:19 +02:00
Copilot
953ac549c0 Implement smart search bar with NIP-19, NIP-05, and hashtag detection (#18)
* Initial plan

* Implement smart search bar with NIP-19, NIP-05, and hashtag detection

Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com>

* Fix linting issue in test file

Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com>

* Fix Loader2 positioning in SearchBar component

---------

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 20:56:38 +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
6b8874d855 Add reading time display and sticky progress bar to article pages (#10)
* Initial plan

* Add reading time and sticky progress bar to article pages

Co-authored-by: mroxso <24775431+mroxso@users.noreply.github.com>

* Update ArticleProgressBar to adjust sticky position to top-16

---------

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-06 18:15:01 +02:00
3fce6b7e4d Add FollowingPage component and related hooks; update routing and BlogHeader 2025-10-05 22:15:54 +02:00
b614349a85 Update default comment in ZapDialog to reflect new branding 2025-10-05 21:33:20 +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
ee2389aea5 Improve loading state and layout in LatestInHashtag component 2025-10-05 21:03:22 +02:00
b460a0d9bf Refactor article rendering by introducing ArticlePreview component across various pages and removing redundant code 2025-10-05 21:00:21 +02:00
d2ce6bb418 Enhance Markdown rendering with custom heading styles and add typography plugin to Tailwind CSS 2025-10-05 20:42:15 +02:00
f9a63adcdc Add TrendingTags component to BlogHomePage for displaying popular topics 2025-10-05 19:49:05 +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
6b5d07d72d Refactor article card rendering in LatestArticles and LatestInHashtag components for improved code reuse and readability 2025-10-05 17:46:25 +02:00
e40cff7feb Enhance MarkdownContent styling to improve text wrapping and link behavior 2025-10-05 17:39:22 +02:00
efbf21d505 Refactor ZapButton to use Button component and adjust BlogPostPage button size and styling 2025-10-05 17:35:01 +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
5c8b80e40c Implement load more functionality in LatestArticles component 2025-10-05 16:07:01 +02:00
f5490f2628 Add LatestArticles component and integrate it into BlogHomePage 2025-10-05 16:02:11 +02:00
ff4d5b3116 add search bar and page // fixed some design issues 2025-10-05 15:57:54 +02:00