Commit graph

563 commits

Author SHA1 Message Date
b69be281f3 FIX: remove comment tag; enhance image loading behavior in ProgressiveImage and ImageViewer components
- Added a key to the ProgressiveImage component to ensure proper reactivity when the image source changes.
- Implemented a watcher in the ProgressiveImage component to reset loading state on source changes, improving user experience during image transitions.

These changes enhance the reliability and responsiveness of image handling in the application.
2025-09-28 13:01:50 +02:00
98934ed61d refactor: streamline ImageLightbox and update ProductDetailPage for better image handling
- Removed unused `closeOnBackdropClick` option from `useImageLightbox` for cleaner code.
- Simplified the product assignment in `ProductDetailPage` by creating a mutable copy of product data, ensuring proper handling of images and categories.

These changes enhance the maintainability and clarity of the image handling components in the application.
2025-09-28 12:58:11 +02:00
3742937aea refactor: remove ImageDisplay component and update base module exports
- Deleted the ImageDisplay component to streamline image handling.
- Updated the base module to export only the ImageUpload component, simplifying the component structure.

These changes enhance the clarity and maintainability of the image handling components in the application.
2025-09-28 12:57:57 +02:00
ca0ac2b9ad feat: introduce ImageLightbox and ImageViewer components for enhanced image handling
- Added ImageLightbox component to provide a modal view for images with navigation and keyboard support.
- Implemented ImageViewer component to display images with features like thumbnails, cycling controls, and lightbox integration.
- Updated ProgressiveImage component for improved loading and error handling.
- Refactored image imports in ProductCard, ProductDetailPage, and CheckoutPage to align with new component structure.

These changes significantly enhance the user experience for viewing and interacting with product images across the application.
2025-09-28 12:48:02 +02:00
3aec5bbdb3 feat: add ProductDetailPage introduce ImageViewer and ImageLightbox components for enhanced image display
- ProductDetailPage is being used in lieu of a modal becaues Lightbox
image gallery (modal) being embedded in another modal was causing too
much buggy behavior
- Added ImageViewer component to manage and display product images with
features like lightbox, thumbnails, and image cycling controls.
- Replaced ProgressiveImageGallery with ImageViewer in
ProductDetailDialog and ProductDetailPage for improved user experience
and maintainability.
- Implemented useImageLightbox composable to handle lightbox
functionality, including keyboard navigation and swipe gestures.
- Updated routing to include a dedicated product detail page for better
navigation and user flow.

These changes significantly enhance the image viewing experience in the
product detail context, providing a more dynamic and user-friendly
interface.
2025-09-28 12:39:41 +02:00
bff158cb74 feat: enhance product management with new dialog and image handling features
- Introduced ProductDetailDialog component for displaying detailed product information, including images, price, and availability.
- Implemented image cycling functionality in ProductCard for better user experience when viewing multiple product images.
- Enhanced CreateProductDialog to support image uploads with improved validation and navigation protection during form editing.
- Added logic to manage uploaded images and ensure proper handling of existing product images.
- Updated MarketPage to integrate the new ProductDetailDialog, allowing users to view product details seamlessly.

These changes significantly improve the product management experience, enhancing both the display and interaction with product images.
2025-09-28 12:39:41 +02:00
f7405bc26e feat: implement image upload functionality with new components and service
- Added ImageUpload and ImageDisplay components for handling image uploads and displaying images, respectively.
- Introduced ImageUploadService to manage image uploads, including validation, processing, and deletion.
- Updated app configuration to include image upload settings and integrated the service into the dependency injection container.
- Enhanced the .env.example file to include image upload configuration options.
- Provided a comprehensive README for the new components, detailing usage and integration examples.

These changes significantly enhance the application's capability to manage image uploads, improving user experience and flexibility in handling images.
2025-09-28 04:08:41 +02:00
5a59f7ce89 feat: add alert component suite for improved user notifications
- Introduced Alert, AlertDescription, and AlertTitle components to enhance user notification capabilities.
- Implemented alertVariants for customizable alert styles based on different variants.
- Added TypeScript support for props in each component, ensuring type safety and better integration.

These changes provide a structured approach to displaying alerts, improving user experience and flexibility in notifications.
2025-09-28 03:59:55 +02:00
1a5eee57cb commit CLAUDE.md 2025-09-28 03:58:27 +02:00
e062dfe2b8 Merge branch 'marketplace' 2025-09-28 03:42:46 +02:00
bdc74f9c90 refactor: simplify recent searches handling in MarketSearchBar
- Updated recent searches logic to directly manipulate the recentSearches value, improving clarity and reducing complexity.
- Changed the filtering mechanism to use a more straightforward approach, enhancing maintainability.

These changes streamline the recent searches functionality, contributing to a cleaner and more efficient MarketSearchBar component.
2025-09-27 21:23:40 +02:00
3d5f1230e7 refactor: enhance MarketSearchBar by statically importing features for improved performance
- Replaced dynamic imports of SearchSuggestions and useSearchKeyboardShortcuts with static imports to optimize loading times.
- Simplified recent searches handling by directly assigning values instead of using nested references.
- Updated keyboard shortcut handling to remove unnecessary checks, streamlining the functionality.

These changes improve the performance and clarity of the MarketSearchBar component, enhancing the overall user experience.
2025-09-27 21:23:27 +02:00
fe9fbe201b feat: enhance ProgressiveImage component with dynamic error handling and improved no-image state
- Updated the ProgressiveImage component to display a dynamic error message based on the image availability, including a specific message for no-image scenarios.
- Modified ProductCard, ProductDetailDialog, and CheckoutPage components to utilize the enhanced ProgressiveImage, ensuring a consistent user experience when images are unavailable.
- Improved visual feedback by adding a placeholder for missing images across various components.

These changes enhance the user experience by providing clearer messaging and visual cues when images fail to load or are not available.

refactor: update background colors and gradients for theme-aware semantic styling consistency across components

- Changed background colors in ProgressiveImage, ProductCard, ProductDetailDialog, and CheckoutPage components to utilize theme-aware colors instead of fixed values.
- Enhanced gradient backgrounds to ensure better visual integration with the overall theme, improving the user interface and experience.

These updates promote a more cohesive design and improve maintainability by leveraging theme variables.
2025-09-27 21:20:36 +02:00
fae19436b1 feat: introduce ProgressiveImage component for enhanced image loading
- Added a new ProgressiveImage component to handle image loading with a blur effect and loading indicators.
- Updated ProductCard and ProductDetailDialog components to utilize ProgressiveImage, improving image loading performance and user experience.
- Configured properties such as blur radius, transition duration, and loading indicators for better customization.

These changes enhance the visual presentation of images and optimize loading behavior across market components.
2025-09-27 19:08:07 +02:00
43c368e4e4 feat: add lazy loading to product images across market components
- Implemented lazy loading for product images in CartItem, CartSummary, ProductCard, ProductDetailDialog, CheckoutPage, and StallView components.
- This enhancement improves performance by deferring the loading of off-screen images, resulting in faster initial page load times and a smoother user experience.

These changes optimize image handling across the market module, contributing to better resource management and user interaction.
2025-09-27 18:48:57 +02:00
b3428c2905 refactor: (4) enhance MarketSearchBar with internal query handling and debouncing
- Introduced an internal query state to improve UI responsiveness during search input.
- Implemented a debounced search function to optimize performance and reduce unnecessary emissions.
- Updated conditions for displaying keyboard hints and clear button based on the new internal query.
- Ensured both internal and actual search queries are cleared appropriately.

These changes enhance the user experience by providing immediate feedback while typing and optimizing search operations.
2025-09-27 18:44:02 +02:00
1f321dce4a refactor: update market loading logic and remove debug methods in MarketPage
- Bypassed the naddr requirement for market configuration, allowing for more flexible market loading.
- Implemented conditional loading of the market based on the availability of naddr, defaulting to a general market load if not provided.
- Removed temporary debug methods for simulating loading and error states to clean up the codebase.

These changes streamline the market loading process and enhance the overall clarity of the MarketPage component.
2025-09-27 15:54:47 +02:00
957f3e3890 fix: improve loading state handling in MarketPage and add debug methods
- Updated the LoadingErrorState component to correctly reflect error states based on market readiness.
- Enhanced the isMarketReady computed property to account for loading and error conditions more accurately.
- Introduced temporary debug methods for simulating loading and error states, aiding in testing and development.
- Made debug methods globally accessible for easier testing of loading states.

These changes enhance the reliability of the loading/error handling in the MarketPage component and facilitate better debugging during development.
2025-09-27 14:20:46 +02:00
e68a7a9ed5 refactor: simplify LoadingErrorState and enhance MarketSearchBar functionality
- Removed unnecessary imports and streamlined the LoadingErrorState component by eliminating redundant props.
- Improved keyboard handling in MarketSearchBar to support basic Escape key functionality and enhanced keyboard shortcuts.
- Updated MerchantStore and MarketPage components to utilize the revised LoadingErrorState and MarketSearchBar, ensuring consistent loading/error handling and search capabilities.
- Enhanced StallView to provide better category filtering and product search experience.

These changes improve code clarity and maintainability while enhancing user interaction across the market module.
2025-09-27 09:51:00 +02:00
c8860dc937 feat: extract and consolidate common UI patterns across market module
## Component Extraction
  - Create MarketSearchBar component with dual-mode support (enhanced/simple)
    - Enhanced mode: suggestions, keyboard shortcuts, category filters
    - Simple mode: basic search functionality
    - Dynamic imports for performance optimization
  - Extract LoadingErrorState component for consistent loading/error handling
    - Configurable compact/full modes with custom messages
    - Built-in retry functionality
    - Standardized spinner and error displays
  - Consolidate CartButton component (already extracted in previous commit)

  ## UI Standardization
  - Replace inline category badges in StallView with CategoryFilterBar component
  - Add missing state management for category filtering (filterMode, setFilterMode)
  - Ensure consistent filtering UI between MarketPage and StallView
  - Standardize loading states across MarketPage, ProductGrid, and MerchantStore

  ## Code Organization
  - MarketPage: Uses enhanced MarketSearchBar with full feature set
  - StallView: Uses simple MarketSearchBar for cleaner stall-specific search
  - Both views now share CategoryFilterBar, CartButton, and ProductGrid
  - LoadingErrorState provides unified loading/error UX patterns

  ## Technical Improvements
  - Eliminate code duplication following DRY principles
  - Improve maintainability with single source of truth for UI patterns
  - Optimize performance with conditional feature loading
  - Enhance accessibility with consistent keyboard shortcuts and ARIA labels
  - Ensure mobile-responsive designs with unified behavior

  BREAKING CHANGE: MarketFuzzySearch component replaced by MarketSearchBar
2025-09-27 09:45:33 +02:00
8821f604be feat: consolidate Stall types and create reusable CartButton component
## Type Consolidation
- Add StallApiResponse interface matching LNbits backend structure
- Update domain Stall interface with cleaner, app-friendly properties
- Create mapApiResponseToStall() mapper function for API-to-domain conversion
- Remove duplicate Stall type definition from nostrmarketAPI.ts
- Update CheckoutPage to use standardized shipping property
- Verify types against LNbits reference implementation

## UI Components
- Create reusable CartButton.vue component with proper separation of concerns
- Remove duplicate cart button code from MarketPage and StallView
- Add consistent cart functionality across all market pages
- Fix missing cart button in StallView
- Improve code maintainability with DRY principles

## Bug Fixes
- Fix ProductDetailDialog add-to-cart functionality by using correct cart system
- Resolve cart system mismatch between legacy addToCart and stall-based totalCartItems
- Update ProductCard to emit events properly instead of direct store call
- Ensure consistent event flow: ProductCard → ProductGrid → MarketPage → Store

## Technical Improvements
- Follow established Product type consolidation pattern for consistency
- Maintain type safety between API responses and domain models
- Enable easier API evolution without breaking domain logic
- Optimize bundle splitting with component extraction
2025-09-27 01:31:52 +02:00
da5c4d6de1 feat: add CartButton component for consistent cart access across views
- Introduced a new CartButton component to encapsulate cart summary functionality, improving code reusability and maintainability.
- Updated MarketPage.vue and StallView.vue to utilize the CartButton component, enhancing user navigation to the cart.
- Removed redundant cart summary code from both views, streamlining the component structure.

These changes provide a unified and consistent user experience for accessing the cart across different market views.
2025-09-27 00:07:37 +02:00
688bf5e105 feat: add cart summary button to StallView for improved user navigation
- Introduced a cart summary button in StallView.vue that displays the total number of items in the cart.
- Implemented a click handler to navigate users to the cart page, enhancing the shopping experience.
- Imported the ShoppingCart icon from lucide-vue-next for visual representation.

These changes provide users with quick access to their cart, improving overall usability and navigation within the market interface.
2025-09-26 23:57:56 +02:00
56bcb8ec04 refactor: update ProductCard, ProductGrid, and MarketPage components for improved product handling and internal state management
- Removed direct store dependency from ProductCard.vue, replacing it with event emission for adding products to the cart.
- Enhanced ProductGrid.vue to manage product detail dialog internally, improving user interaction and state handling.
- Streamlined MarketPage.vue by removing redundant product detail dialog logic, focusing on cleaner component structure.
- Updated event handling for adding products to the cart with quantity support, enhancing flexibility in product management.

These changes improve the modularity and maintainability of the market components, providing a better user experience when interacting with products.
2025-09-26 23:56:37 +02:00
3f47d2ff26 feat: introduce CategoryFilterBar and ProductGrid components for enhanced product filtering and display
- Added CategoryFilterBar.vue to manage category filtering with AND/OR toggle options and clear all functionality.
- Implemented ProductGrid.vue to display products with loading and empty states, improving user experience.
- Refactored MarketPage.vue to utilize the new components, streamlining the layout and enhancing responsiveness.
- Updated StallView.vue to incorporate ProductGrid for consistent product display across views.

These changes enhance the overall usability and visual appeal of the market components, providing users with a more intuitive filtering and browsing experience.
2025-09-26 23:39:08 +02:00
25d17b481d refactor: consolidate Product types into single source of truth
- Replace dual Product interfaces with unified domain model in types/market.ts
  - Rename API response type to ProductApiResponse for clarity
  - Add mapApiResponseToProduct() function for clean API-to-domain conversion
  - Update MerchantStore.vue to use mapping function instead of manual property assignment
  - Fix CreateProductDialog.vue to properly handle type conversions for API calls
  - Resolve TypeScript readonly type conflicts using type assertions instead of array spreading
  - Add missing reactive references (searchQuery) and remove unused imports
  - Prevent Vue 3 recursion issues by maintaining original reactive object references

  This eliminates confusion between API response structure and application domain model,
  following single source of truth principle for better maintainability and type safety.
2025-09-26 17:29:06 +02:00
478b83ddd3 FIX BUILD ERRORS & AVOID INFINITE RECURSION: Enhance product enrichment and type definitions in MerchantStore component
- Updated the product enrichment logic in MerchantStore.vue to ensure all necessary properties match the Product interface, improving data consistency.
- Added optional properties for active status, pending state, and configuration in the Product interface within market.ts, enhancing flexibility for merchant store management.
- Improved type assertions in MarketPage.vue and StallView.vue to ensure proper type handling for product data, enhancing type safety and clarity.

These changes improve the robustness and reliability of product data handling across the market components, enhancing the overall user experience.
2025-09-26 17:20:59 +02:00
d98dcc58d7 BUILD ERRORS: Refactor MarketFuzzySearch component for improved input handling
- Updated the searchInputRef initialization to remove the explicit type declaration, simplifying the code.
- Enhanced input focus and blur handling by ensuring the existence of the $el property before accessing the input element, improving robustness.
- Streamlined the focus management logic in the handleClear and handleKeydown functions for better user experience.

These changes enhance the reliability and clarity of the MarketFuzzySearch component, improving overall usability.
2025-09-26 17:11:08 +02:00
522d159628 Implement dynamic category filtering in MarketPage
- Added a computed property to dynamically filter products based on search results, enhancing the user experience by displaying relevant products when available.
- Updated the `useCategoryFilter` integration to utilize the new computed property, streamlining the filtering logic and improving overall performance.

These changes provide users with a more responsive and relevant product display in the MarketPage, improving the effectiveness of category filtering.
2025-09-26 17:02:01 +02:00
0e6a4a7451 Refactor StallView component for enhanced layout and visual appeal
- Redesigned the Stall Info Card to improve responsiveness and aesthetics, incorporating a more compact layout and enhanced logo display.
- Updated the styling of stall statistics and category badges for better alignment with the design system, improving user interaction.
- Enhanced the overall structure and clarity of stall information, making it more visually engaging and user-friendly.

These changes provide a more cohesive and appealing interface in the StallView component, improving the overall user experience.
2025-09-26 17:02:01 +02:00
0a94c7b23d Refactor StallView layout for improved responsiveness and visual clarity
- Adjusted padding, margins, and font sizes throughout the StallView component to enhance mobile responsiveness and overall user experience.
- Updated the styling of various elements, including buttons, statistics, and category badges, to ensure better alignment with the design system and improved accessibility.
- Enhanced the layout of the stall information and search/filter bar for a more cohesive appearance across different screen sizes.

These changes provide a more visually appealing and user-friendly interface in the StallView component.
2025-09-26 17:02:01 +02:00
a82360b283 Enhance MarketFuzzySearch component with responsive keyboard hints
- Updated the keyboard shortcuts hint to display only on desktop devices, improving usability for users on larger screens.
- Introduced responsive breakpoints to manage the visibility of the enhanced placeholder, ensuring a better user experience across different device sizes.

These changes refine the search component by tailoring the interface to the user's device, enhancing accessibility and interaction.
2025-09-26 17:02:01 +02:00
f3504b7df5 Refactor active filters summary in MarketPage for clarity and simplicity
- Updated the active filters summary section to focus on product count when filters are active, enhancing clarity for users.
- Simplified the layout by removing unnecessary elements, improving the overall user experience and accessibility.

These changes streamline the display of active filters, making it easier for users to understand the number of products available based on their selected categories.
2025-09-26 17:02:00 +02:00
8fe53d3d71 Refactor MarketPage layout for improved mobile responsiveness and user experience
- Optimized the Market Header and Fuzzy Search components for better mobile display, enhancing usability on smaller screens.
- Adjusted spacing and font sizes for various elements to ensure a cohesive look across devices.
- Improved the active filters summary and category filters for better accessibility and visual clarity.

These changes enhance the overall user experience by providing a more responsive and visually appealing interface in the MarketPage.
2025-09-26 17:02:00 +02:00
f2a432b6df Enhance MarketFuzzySearch component with improved suggestion display and input focus handling
- Added focus and blur event handlers to manage input focus state.
- Updated suggestion display to show both search suggestions and recent searches in a unified dropdown.
- Improved styling for suggestion buttons to enhance user interaction.
- Ensured input field is focused after clearing search, improving usability.

These changes enhance the search experience by providing clearer suggestions and better input management.
2025-09-26 17:02:00 +02:00
06d4cc4d4a Update fuzzy search threshold in MarketPage for improved typo tolerance
- Adjusted the typo tolerance threshold in the fuzzy search options from 0.6 to 0.4, allowing for more flexible matching of product names and descriptions.
- This change enhances the search experience by accommodating a wider range of user input variations, improving product discoverability.
2025-09-26 17:01:59 +02:00
5d55dfe9d1 Refactor StallView styles for improved visual consistency
- Updated background and text colors in StallView to align with the new design system, enhancing overall aesthetics and readability.
- Adjusted styles for logo and product statistics to ensure better integration with the updated theme.
- Improved accessibility by refining text colors for better contrast and visibility.

These changes enhance the user experience by providing a more cohesive and visually appealing interface in the StallView component.
2025-09-26 00:49:43 +02:00
39ecba581f Implement AND/OR filter logic in useCategoryFilter and update MarketPage UI
- Added support for AND/OR filtering modes in the `useCategoryFilter` composable, allowing users to filter products based on all or any selected categories.
- Introduced reactive state management for filter mode and updated the filtering logic to accommodate the new functionality.
- Enhanced the MarketPage UI with a toggle for selecting filter modes, improving user experience and accessibility.
- Updated ARIA attributes for better screen reader support in the filter mode selection.

These changes significantly enhance the category filtering capabilities, providing users with more control over product visibility.

Refactor CreateProductDialog and MarketPage for improved category handling

- Updated CreateProductDialog to utilize `model-value` and `@update:model-value` for the CategoryInput component, enhancing reactivity in category selection.
- Enhanced MarketPage filtering logic to support AND/OR modes, allowing for more flexible product filtering based on selected categories.
- Improved category normalization and matching logic to ensure accurate filtering results.

These changes streamline the category management and filtering processes, providing users with a more intuitive experience when creating and finding products.
2025-09-26 00:42:05 +02:00
bb761abe75 Refactor CreateProductDialog and MerchantStore for improved product handling
- Updated CreateProductDialog to use `model-value` for Checkbox components, enhancing reactivity and consistency.
- Modified MerchantStore to only add active products to the market store, improving product visibility and management.

These changes streamline the product creation and management processes, ensuring better user experience and data integrity.
2025-09-26 00:42:02 +02:00
a75982f8ef Add CategoryInput component for category management in CreateProductDialog
- Introduced a new CategoryInput component to facilitate category selection with suggestions and popular categories.
- Updated CreateProductDialog to integrate the CategoryInput, enhancing the user experience for adding product categories.
- Improved accessibility and usability by allowing users to add categories via keyboard shortcuts and providing visual feedback for selected categories.

These changes enhance the product creation process by streamlining category management.
2025-09-26 00:40:40 +02:00
4d3962e941 Update MarketPage styles for active filters summary
- Changed background and text colors in the active filters summary to improve visual consistency and accessibility.
- Updated ARIA attributes to enhance screen reader support for better usability.

These changes refine the user interface and accessibility of the category filtering features in the MarketPage.
2025-09-25 23:56:43 +02:00
03ca7525af Add useCategoryFilter composable and enhance MarketPage for category filtering
- Introduced a new `useCategoryFilter` composable to manage category filtering functionality, providing reactive state management and optimized performance for product filtering based on selected categories.
- Updated `MarketPage` to integrate the new composable, enhancing the UI with improved accessibility features, including ARIA roles and labels for category filters and active filters summary.
- Refactored category filtering logic to streamline product display based on selected categories, improving user experience in navigating and filtering products.

These changes enhance the overall functionality and usability of category filtering within the market module.
2025-09-25 23:51:32 +02:00
7334437b77 Enhance category extraction in useMarket and update MarketPage layout
- Added functionality to extract categories from Nostr event tags in the useMarket composable, improving product categorization.
- Updated MarketPage layout to ensure proper rendering of category filters, enhancing the user interface for browsing by category.

These changes improve the clarity and usability of product categorization within the market module.
2025-09-25 23:35:37 +02:00
526caa2689 Enhance category filtering in MarketPage and market store
- Added a new function `clearCategoryFilters` in the market store to reset selected category filters.
- Updated MarketPage to include an enhanced category filter UI with a clear all button, active filters summary, and improved badge styling for selected categories.
- Introduced computed properties for tracking selected categories and their count, improving user experience in managing filters.

These changes provide a more intuitive and user-friendly interface for category filtering in the market module.
2025-09-25 23:19:58 +02:00
8aa575ffb1 Add MarketFuzzySearch component for enhanced product searching
- Introduced a new MarketFuzzySearch component to provide an advanced search interface with keyboard shortcuts, search suggestions, and recent searches functionality.
- Updated MarketPage and StallView to integrate the new fuzzy search component, replacing the previous search input implementations.
- Enhanced search capabilities with configurable options for better user experience and product discovery.

These changes improve the search functionality across the market module, making it easier for users to find products efficiently.
2025-09-25 23:02:47 +02:00
86d3133978 Add stall view and product detail dialog in market module
- Introduced a new route for viewing individual stalls, allowing users to navigate to a specific stall's page.
- Created a ProductDetailDialog component to display detailed information about products, including images, descriptions, and stock status.
- Updated MarketPage to handle stall navigation and integrate the new dialog for product details.

These enhancements improve the user experience by providing more detailed product information and easier navigation within the market module.
2025-09-25 22:53:12 +02:00
f2080abce5 Enhance product handling in MerchantStore and useMarket
- Enriched products with stall names in MerchantStore, ensuring each product displays the associated stall name or 'Unknown Stall' if not available.
- Updated product addition logic in useMarket to include stall names, improving clarity and consistency across the application.
- Enhanced error handling for product loading to maintain robust functionality.

These changes improve the user experience by providing clearer product information in the market interface.
2025-09-25 22:44:38 +02:00
4e90a4e795 Update visibility logic in ThreadedPost component
- Refined the visibility logic to ensure a post is only hidden if its parent is collapsed, rather than if it is collapsed itself. This change enhances the clarity of post visibility in threaded discussions.
- Adjusted the parent-collapsed prop to reflect the current collapse state, improving the interaction and user experience within the NostrFeed module.
2025-09-23 23:59:43 +02:00
f0a6b2bd1d Implement limited replies feature in NostrFeed component
- Introduced a mechanism to track posts that should display limited replies (only the first 2) instead of collapsing them entirely, enhancing user interaction with threaded discussions.
- Updated the ThreadedPost component to support toggling between limited and full replies, improving visibility and engagement with nested replies.
- Enhanced the FeedService to ensure proper filtering and handling of feed types, contributing to a more organized and user-friendly experience within the NostrFeed module.
2025-09-23 23:59:43 +02:00
872954d5ce Implement centralized collapse state management in NostrFeed component
- Introduced a centralized mechanism for managing the collapse state of posts, allowing for automatic collapsing of posts with more than 2 direct replies.
- Enhanced the ThreadedPost component to utilize the centralized collapse state, improving the visibility and interaction of nested replies.
- Added cascading collapse functionality to ensure that all descendant posts are collapsed when a parent post is collapsed.

These changes contribute to a more organized and user-friendly experience within the NostrFeed module.
2025-09-23 23:59:43 +02:00