Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | 1x 1x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 1x | import { NewsletterGroup, NewsletterWithRelations, Tag } from "@common/types";
import React from "react";
import NewsletterRowPresentation from "./NewsletterRowPresentation";
interface NewsletterRowContainerWithGroupsProps {
newsletter: NewsletterWithRelations;
isSelected?: boolean;
onToggleSelect?: (id: string) => void;
onTagClick: (tag: Tag, e: React.MouseEvent) => void;
onRemoveFromQueue?: (e: React.MouseEvent, id: string) => void;
onNewsletterClick?: (newsletter: NewsletterWithRelations) => void;
onRowClick?: (
newsletter: NewsletterWithRelations,
e: React.MouseEvent,
) => void;
onMouseEnter?: (newsletter: NewsletterWithRelations) => void;
isInReadingQueue: boolean;
showCheckbox?: boolean;
showTags?: boolean;
visibleTags: Set<string>;
readingQueue: Array<{ newsletter_id: string }>;
className?: string;
onToggleLike: () => Promise<void>;
onToggleArchive: () => Promise<void>;
onToggleRead: () => Promise<void>;
onTrash: (id: string) => void;
onToggleQueue: () => Promise<void>;
onToggleTagVisibility: (e: React.MouseEvent) => void;
onUpdateTags: (tagIds: string[]) => void;
isDeletingNewsletter: boolean;
loadingStates?: Record<string, string>;
errorTogglingLike?: Error | null;
isUpdatingTags?: boolean;
tagUpdateError?: string | null;
onDismissTagError?: () => void;
// Group context
activeGroupIds?: string[];
newsletterGroups?: NewsletterGroup[];
onGroupClick?: (groupId: string) => void;
'data-testid'?: string;
}
const NewsletterRowContainerWithGroups: React.FC<NewsletterRowContainerWithGroupsProps> = (props) => {
const { newsletter, onToggleSelect, 'data-testid': dataTestId, ...rest } = props;
const handleToggleSelect = onToggleSelect ? () => onToggleSelect(newsletter.id) : undefined;
return (
<div
data-testid={dataTestId}
data-props={JSON.stringify({
newsletter,
isSelected: props.isSelected,
showCheckbox: props.showCheckbox,
showTags: props.showTags,
visibleTags: props.visibleTags,
isInReadingQueue: props.isInReadingQueue
})}
>
<NewsletterRowPresentation
{...rest}
newsletter={newsletter}
onToggleSelect={handleToggleSelect}
/>
</div>
);
};
export default NewsletterRowContainerWithGroups;
|