import { useState, useEffect } from 'react'; import PageMeta from '../../components/common/PageMeta'; import { useToast } from '../../components/ui/toast/ToastContainer'; import { fetchSeedKeywords, SeedKeyword, fetchIndustries, Industry } from '../../services/api'; import { Card } from '../../components/ui/card'; import Badge from '../../components/ui/badge/Badge'; import { usePageLoading } from '../../context/PageLoadingContext'; export default function SeedKeywords() { const toast = useToast(); const { startLoading, stopLoading } = usePageLoading(); const [keywords, setKeywords] = useState([]); const [industries, setIndustries] = useState([]); const [selectedIndustry, setSelectedIndustry] = useState(null); const [searchTerm, setSearchTerm] = useState(''); useEffect(() => { loadIndustries(); loadKeywords(); }, [selectedIndustry, searchTerm]); const loadIndustries = async () => { try { const response = await fetchIndustries(); setIndustries(response.industries || []); } catch (error: any) { toast.error(`Failed to load industries: ${error.message}`); } }; const loadKeywords = async () => { try { startLoading('Loading seed keywords...'); const response = await fetchSeedKeywords({ industry: selectedIndustry || undefined, search: searchTerm || undefined, }); setKeywords(response.results || []); } catch (error: any) { toast.error(`Failed to load seed keywords: ${error.message}`); } finally { stopLoading(); } }; return ( <>

Seed Keywords

Global keyword library for reference

setSearchTerm(e.target.value)} />
{keywords.map((keyword) => ( ))}
Keyword Industry Sector Volume Difficulty Country
{keyword.keyword} {keyword.industry_name} {keyword.sector_name} {keyword.volume.toLocaleString()} {keyword.difficulty} {keyword.country_display}
)} ); }