'use client';

import type { ReactNode } from 'react';
import { Space } from 'antd';
import { MobilePageActionBar } from '@/components/filters/MobilePageActionBar';

export type FeiraListMobileActionBarProps = {
    filtrosAtivosCount: number;
    onOpenFiltros: () => void;
    leadingExtra?: ReactNode;
    optionsButton?: ReactNode;
    exportButton?: ReactNode;
};

/**
 * Barra sticky ≤768 para listagens Feira: Filtros + Opções (export / mais opções do header).
 */
export function FeiraListMobileActionBar({
    filtrosAtivosCount,
    onOpenFiltros,
    leadingExtra,
    optionsButton,
    exportButton,
}: FeiraListMobileActionBarProps) {
    const hasOpcoes = leadingExtra != null || optionsButton != null || exportButton != null;

    return (
        <MobilePageActionBar
            onOpenFilters={onOpenFiltros}
            activeFiltersCount={filtrosAtivosCount}
            filterButtonLabel="Filtros"
            hideOpcoes={!hasOpcoes}
            opcoesContent={
                hasOpcoes ? (
                    <Space direction="vertical" size={12} style={{ width: '100%' }}>
                        {leadingExtra}
                        {optionsButton}
                        {exportButton}
                    </Space>
                ) : undefined
            }
        />
    );
}
