import React, { useCallback, useState } from 'react'; import { View, Text } from 'react-native'; import Svg, { Path } from 'react-native-svg'; import type { Poll } from '../types/algorand'; import { formatRelativeTime } from '../utils/format'; import { SearchSheet } from '../ui/SearchSheet'; function VoteIcon({ size = 16, color = '#a1a1aa' }: { size?: number; color?: string }) { return ( ); } interface PollSearchProps { data: Poll[]; onSelect?: (poll: Poll) => void; placeholder?: string; className?: string; } export function PollSearch({ data, onSelect, placeholder = 'Search polls...', className, }: PollSearchProps) { const [selected, setSelected] = useState(null); const handleSelect = useCallback( (poll: Poll) => { setSelected(poll); onSelect?.(poll); }, [onSelect], ); const renderItem = useCallback( (poll: Poll) => ( {poll.question} {poll.totalVotes} votes - {poll.options.length} options - {formatRelativeTime(poll.createdAt)} {poll.status.charAt(0).toUpperCase() + poll.status.slice(1)} ), [], ); return ( {selected && ( Selected Poll {renderItem(selected)} )} ); }