import { Alert, Box, Button, CircularProgress, Divider } from '@mui/material'
import { ArrowRight, Bookmark, Search } from 'lucide-react'

interface Props {
  canProceed: boolean
  isSearching: boolean
  isSavingProfile: boolean
  onSearch: () => void
  onSaveProfile: () => void
}

export function AISearchActionBar({ canProceed, isSearching, isSavingProfile, onSearch, onSaveProfile }: Props) {
  const isProcessing = isSearching || isSavingProfile
  return (
    <>
      <Box sx={{ display: 'flex', gap: 2, alignItems: 'center' }}>
        <Button
          variant="contained"
          size="large"
          disabled={!canProceed || isProcessing}
          onClick={onSearch}
          endIcon={isSearching ? <CircularProgress size={18} color="inherit" /> : <Search size={18} />}
          sx={{
            flex: 1,
            py: 1.5,
            bgcolor: '#152642',
            '&:hover': { bgcolor: '#162d4a' },
            fontSize: 15,
            fontWeight: 600,
            textTransform: 'none',
          }}
        >
          {isSearching ? 'Sucht…' : 'Jetzt suchen'}
        </Button>

        <Divider orientation="vertical" flexItem sx={{ mx: 0.5 }} />

        <Button
          variant="outlined"
          size="large"
          disabled={!canProceed || isProcessing}
          onClick={onSaveProfile}
          startIcon={<Bookmark size={16} />}
          endIcon={isSavingProfile ? <CircularProgress size={18} color="inherit" /> : <ArrowRight size={18} />}
          sx={{
            py: 1.5,
            fontSize: 15,
            fontWeight: 500,
            textTransform: 'none',
            whiteSpace: 'nowrap',
          }}
        >
          {isSavingProfile ? 'Analysiert…' : 'Als Suchprofil speichern'}
        </Button>
      </Box>

      <Alert severity="info" sx={{ mt: -1 }}>
        <strong>Jetzt suchen</strong> liefert sofortige Ergebnisse.{' '}
        <strong>Als Suchprofil speichern</strong> legt einen dauerhaften Bedarf an, der automatisch mit neuen Angeboten abgeglichen wird — auch in Zukunft.
      </Alert>
    </>
  )
}
