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)}
)}
);
}