@goodhood-web/nebenan-base 4.5.0-development.36 → 4.5.0-development.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  import { GridFeedAggregatorProps } from './GridFeedAggregator.types';
2
- export default function GridFeedAggregator({ feedType, items, onCreateContent, }: GridFeedAggregatorProps): import("react/jsx-runtime").JSX.Element;
2
+ export default function GridFeedAggregator({ bookmarks, feedType, items, onCreateContent, }: GridFeedAggregatorProps): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import { GridFeedAd, GridFeedHoodMessage, GridFeedProps } from '../../Feed/Feed.types';
2
2
  export type GridFeedAggregatorProps = {
3
+ bookmarks: GridFeedProps['bookmarks'];
3
4
  feedType: GridFeedProps['feedType'];
4
5
  items: (GridFeedAd | GridFeedHoodMessage)[];
5
6
  onCreateContent?: () => void;
@@ -1,3 +1,3 @@
1
1
  import { FeedDynamicRendererProps } from './FeedDynamicRenderer.types';
2
- declare const FeedDynamicRenderer: ({ feedType, item }: FeedDynamicRendererProps) => import("react/jsx-runtime").JSX.Element | null;
2
+ declare const FeedDynamicRenderer: ({ bookmarked, feedType, item, }: FeedDynamicRendererProps) => import("react/jsx-runtime").JSX.Element | null;
3
3
  export default FeedDynamicRenderer;
@@ -1,5 +1,6 @@
1
1
  import { GridFeedHoodMessage, GridFeedProps } from '../../../../Feed/Feed.types';
2
2
  export interface FeedDynamicRendererProps {
3
+ bookmarked?: boolean;
3
4
  feedType: GridFeedProps['feedType'];
4
5
  item: GridFeedHoodMessage;
5
6
  }
@@ -1,3 +1,3 @@
1
1
  import { GridFeedProps } from './Feed.types';
2
- declare const Feed: ({ ads, feedItems, feedType, onCreateContent, viewMode, }: GridFeedProps) => import("react/jsx-runtime").JSX.Element | null;
2
+ declare const Feed: ({ ads, bookmarks, feedItems, feedType, onCreateContent, viewMode, }: GridFeedProps) => import("react/jsx-runtime").JSX.Element | null;
3
3
  export default Feed;
@@ -35,6 +35,7 @@ export interface GridFeedFeedAggregator extends GridFeedItem {
35
35
  }
36
36
  export type GridFeedProps = {
37
37
  ads?: GridFeedAd[];
38
+ bookmarks?: number[];
38
39
  feedItems: PostResponse[];
39
40
  feedType: (typeof GridFeedTypeEnum)[keyof typeof GridFeedTypeEnum];
40
41
  onCreateContent?: () => void;
@@ -1,6 +1,7 @@
1
1
  type InteractiveBookmarkProps = {
2
+ bookmarked?: boolean;
2
3
  className?: string;
3
4
  id: number | string;
4
5
  };
5
- export declare const InteractiveBookmark: ({ className, id }: InteractiveBookmarkProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const InteractiveBookmark: ({ bookmarked, className, id, }: InteractiveBookmarkProps) => import("react/jsx-runtime").JSX.Element;
6
7
  export default InteractiveBookmark;
@@ -1,3 +1,3 @@
1
1
  import { MarketplaceBodyTypes } from './MarketplaceBody.types';
2
- declare const MarketplaceBody: ({ chargebeeProviderConfig, disablePremiumFeature, feedItem, isAuthenticated, isMine, }: MarketplaceBodyTypes) => import("react/jsx-runtime").JSX.Element;
2
+ declare const MarketplaceBody: ({ bookmarked, chargebeeProviderConfig, disablePremiumFeature, feedItem, isAuthenticated, isMine, }: MarketplaceBodyTypes) => import("react/jsx-runtime").JSX.Element;
3
3
  export default MarketplaceBody;
@@ -1,5 +1,6 @@
1
1
  import { components } from '../../../../../../../api/src/lib/core/generated_types';
2
2
  export interface MarketplaceBodyTypes {
3
+ bookmarked?: boolean;
3
4
  chargebeeProviderConfig: {
4
5
  site: string;
5
6
  };
@@ -12,12 +12,10 @@ import { MarketplaceDetailPageProps } from './MarketplaceDetailPage.types';
12
12
  * @param {MarketplaceDetailPageProps} props - Component props
13
13
  * @param {Array} props.ads - Optional array of ads to display
14
14
  * @param {Object} props.feedItem - The marketplace item data from API
15
- * @param {boolean} props.isBookmarked - Whether the item is bookmarked by current user
16
15
  * @param {Array} props.relatedSections - Related posts sections to display
17
- * @param {Object} props.config.chargebee - Chargebee-specific config
18
16
  * @param {boolean} [props.disablePremiumFeature] - Optional flag to disable premium features
19
17
  *
20
18
  * @returns {Promise<JSX.Element>} The rendered marketplace detail page
21
19
  */
22
- export declare function MarketplaceDetailPage({ ads, config, disablePremiumFeature, feedItem, isAuthenticated, relatedSections, renderAdSlot, }: MarketplaceDetailPageProps): Promise<import("react/jsx-runtime").JSX.Element>;
20
+ export declare function MarketplaceDetailPage({ ads, bookmarked, config, disablePremiumFeature, feedItem, isAuthenticated, relatedSections, renderAdSlot, }: MarketplaceDetailPageProps): Promise<import("react/jsx-runtime").JSX.Element>;
23
21
  export default MarketplaceDetailPage;
@@ -12,6 +12,7 @@ export interface ProfileData {
12
12
  }
13
13
  export interface MarketplaceDetailPageProps {
14
14
  ads?: AdSlot[];
15
+ bookmarked?: boolean;
15
16
  config: {
16
17
  chargebee: {
17
18
  site: string;
@@ -20,6 +21,7 @@ export interface MarketplaceDetailPageProps {
20
21
  disablePremiumFeature?: boolean;
21
22
  feedItem: components['schemas']['Core_V3_HoodMessage'];
22
23
  isAuthenticated?: boolean;
24
+ isBookmarked?: boolean;
23
25
  relatedSections?: components['schemas']['Core_V3_RelatedSection'][];
24
26
  renderAdSlot?: (slot: AdSlot) => ReactElement;
25
27
  renderGallery?: ReactElement;
@@ -1,2 +1,2 @@
1
1
  import { MarketplaceItemCardlessTypes } from './MarketplaceItemCardless.types';
2
- export default function MarketplaceItemCardless({ finalizeTest, highlightAbTest, id, image, onClick, premiumFeature, price, reserved, reservedText, timeStamp, title, }: MarketplaceItemCardlessTypes): import("react/jsx-runtime").JSX.Element;
2
+ export default function MarketplaceItemCardless({ bookmarked, finalizeTest, highlightAbTest, id, image, onClick, premiumFeature, price, reserved, reservedText, timeStamp, title, }: MarketplaceItemCardlessTypes): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,5 @@
1
1
  export interface MarketplaceItemCardlessTypes {
2
+ bookmarked?: boolean;
2
3
  content?: React.ReactNode;
3
4
  finalizeTest?: () => void;
4
5
  highlightAbTest?: string | null;
@@ -1,9 +1,18 @@
1
- /**
2
- * Hook to manage bookmark status for a feed item
3
- * TODO: This should fetch the user's actual bookmark status from an API
4
- * For now, it uses localStorage to persist state across sessions
5
- */
1
+ export declare const fetchInteractions: (hoodMessageId: string) => Promise<{
2
+ hood_message_id: number;
3
+ bookmark: boolean;
4
+ reaction_love: boolean;
5
+ reaction_good_idea: boolean;
6
+ reaction_bravo: boolean;
7
+ reaction_thankyou: boolean;
8
+ reaction_agree: boolean;
9
+ reaction_support: boolean;
10
+ reaction_haha: boolean;
11
+ reaction_wow: boolean;
12
+ reaction_sad: boolean;
13
+ event_participation?: "no" | "yes" | "maybe";
14
+ }[] | undefined>;
6
15
  export declare const useBookmarkStatus: (itemId: number | string, initialBookmarked?: boolean) => {
7
- isBookmarked: boolean;
16
+ isBookmarked: boolean | undefined;
8
17
  updateBookmarkStatus: (bookmarked: boolean) => void;
9
18
  };
@@ -0,0 +1,7 @@
1
+ import { ActiveButton } from './components/FeedbackButtons/FeedbackButtons';
2
+ declare const FeedbackCard: ({ dismissible, onClick, question, }: {
3
+ dismissible?: boolean;
4
+ onClick: (type: ActiveButton) => void;
5
+ question: string;
6
+ }) => import("react/jsx-runtime").JSX.Element | null;
7
+ export default FeedbackCard;
@@ -0,0 +1,5 @@
1
+ export type ActiveButton = 'positive' | 'negative';
2
+ declare const FeedbackButtons: ({ onClick }: {
3
+ onClick: (type: ActiveButton) => void;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ export default FeedbackButtons;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goodhood-web/nebenan-base",
3
- "version": "4.5.0-development.36",
3
+ "version": "4.5.0-development.38",
4
4
  "main": "./index.js",
5
5
  "types": "./index.d.ts",
6
6
  "repository": "https://github.com/good-hood-gmbh/goodhood-web",