import React from 'react'; import Popup from '@/components/Popup'; import PopupButton from './PopupButton'; import HighlightOptions from './HighlightOptions'; import { Position } from '@/utils/sel'; import { HighlightColor, HighlightStyle } from '@/types/book'; import { useResponsiveSize } from '@/hooks/useResponsiveSize'; interface AnnotationPopupProps { buttons: Array<{ tooltipText: string; Icon: React.ElementType; onClick: () => void }>; position: Position; trianglePosition: Position; highlightOptionsVisible: boolean; selectedStyle: HighlightStyle; selectedColor: HighlightColor; popupWidth: number; popupHeight: number; onHighlight: (update?: boolean) => void; } const OPTIONS_HEIGHT_PIX = 28; const OPTIONS_PADDING_PIX = 16; const AnnotationPopup: React.FC = ({ buttons, position, trianglePosition, highlightOptionsVisible, selectedStyle, selectedColor, popupWidth, popupHeight, onHighlight, }) => { const highlightOptionsHeightPx = useResponsiveSize(OPTIONS_HEIGHT_PIX); const highlightOptionsPaddingPx = useResponsiveSize(OPTIONS_PADDING_PIX); return (
{buttons.map((button, index) => ( ))}
{highlightOptionsVisible && ( )}
); }; export default AnnotationPopup;