Commit Graph

84 Commits

Author SHA1 Message Date
837a99d84c sync mkstack components 2026-03-04 20:06:07 +01:00
e3bcbb4710 feat: integrate following hook for improved loading and error handling in FollowingPage 2026-03-04 19:39:11 +01:00
mroxso
e3020fb0be feat: update color variables and improve styling in index.css (#63)
Co-authored-by: highperfocused <highperfocused@pm.me>
2026-03-04 19:11:32 +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
0e9007af5f fix: preserve case sensitivity for hashtag filtering in useBlogPostsByHashtag 2025-12-22 21:28:23 +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
8b8a552ab5 feat: implement deployment workflows for GitHub Pages and Blossom, update routing and Vite config for production 2025-12-09 22:19:48 +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
8634f29705 feat: enhance NotFound page with structured layout and navigation options 2025-12-05 12:35:01 +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
mroxso
30bbc32926 use cosmic night theme (#51)
Co-authored-by: highperfocused <highperfocused@pm.me>
2025-11-26 22:07:04 +01:00
a184866b2a feat: add refresh functionality to InterestSetsManager with toast notifications 2025-11-26 21:55:38 +01:00
423acbf2bf disable messageing functions (not needed yet) 2025-11-26 21:18:26 +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
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
2dbae6d144 fix: enhance sorting of blog posts by published_at tag for better accuracy 2025-10-25 19:01:34 +02:00
281d370bb2 fix: update Bookmark component styling and adjust heading size for consistency 2025-10-20 16:20:19 +02: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
adf54e142c refactor: improve sorting of blog posts by published_at tag 2025-10-20 15:34:52 +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
b1b5a1c072 fix: remove twitterSite meta tag from SEO configuration 2025-10-19 23:10:57 +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
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
1c38a22ae6 feat: enhance MarkdownContent to support Nostr mentions and improve URI handling 2025-10-12 22:21:31 +02:00
mroxso
07920b8742 feat: add PWA support with service worker and icons (#21)
* feat: add PWA support with service worker and icons

- Updated package.json to include vite-plugin-pwa.
- Added PWA icons: icon-192.png, icon-512.png, and icon.svg.
- Registered service worker in main.tsx for PWA functionality.
- Configured Vite to use PWA plugin with manifest and caching strategies.

* refactor: remove service worker registration code from main.tsx

* fix: update urlPattern regex for NetworkOnly caching handler in vite.config.ts

---------

Co-authored-by: highperfocused <highperfocused@pm.me>
2025-10-12 22:02:26 +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
8e9cc1d7c9 Remove "View JSON" label from button in BlogPostPage 2025-10-07 21:35:39 +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
6f3e9239cc Remove unused useNavigate import from BlogPostPage and SearchResultsPage 2025-10-07 21:14:28 +02:00
6bfd9227aa Refactor back button to use window.history.back() in BlogPostPage and SearchResultsPage 2025-10-07 21:12:48 +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