Add debug logging to frontend and backend for IUCN API responses.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: e931b5ab-041b-42e7-baf1-50017869cef6
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/e19c6a51-7e4c-4bb8-a6a6-46dc00f0ec99/8e2c4d57-ae11-4942-8aaf-e0f64235db14.jpg
This commit is contained in:
Magnus-SmariSma
2025-03-20 23:25:00 +00:00
parent ecf40d5294
commit 94ecc58f60
3 changed files with 27 additions and 1 deletions

View File

@ -74,6 +74,16 @@ export default function ResultsContainer({
queryFn: async () => { queryFn: async () => {
if (!currentSpecies?.full_name) return null; if (!currentSpecies?.full_name) return null;
const response = await apiClient.getIucnSpeciesByName(currentSpecies.full_name); const response = await apiClient.getIucnSpeciesByName(currentSpecies.full_name);
// Debug log
console.log("IUCN Species API response:", response);
if (response.success && response.data) {
console.log("IUCN response data structure:", Object.keys(response.data));
if (response.data.result) {
console.log("IUCN result items:", response.data.result.length);
}
}
return response.success ? response.data : null; return response.success ? response.data : null;
}, },
enabled: !!currentSpecies?.full_name, enabled: !!currentSpecies?.full_name,

View File

@ -31,6 +31,14 @@ export default function SpeciesTabs({
}: SpeciesTabsProps) { }: SpeciesTabsProps) {
const { toast } = useToast(); const { toast } = useToast();
const [activeTab, setActiveTab] = useState("overview"); const [activeTab, setActiveTab] = useState("overview");
// Debug logging for IUCN data
useEffect(() => {
console.log("SpeciesTabs received iucnData:", iucnData);
console.log("SpeciesTabs received iucnThreats:", iucnThreats);
console.log("SpeciesTabs received iucnHabitats:", iucnHabitats);
console.log("SpeciesTabs received iucnMeasures:", iucnMeasures);
}, [iucnData, iucnThreats, iucnHabitats, iucnMeasures]);
// Handle copy API response to clipboard // Handle copy API response to clipboard
const handleCopyResponse = async () => { const handleCopyResponse = async () => {

View File

@ -658,12 +658,20 @@ export async function registerRoutes(app: Express): Promise<Server> {
const taxonId = taxaResponse.data.result[0].taxonid; const taxonId = taxaResponse.data.result[0].taxonid;
// Now retrieve the conservation measures using the taxon ID // Now retrieve the conservation measures using the taxon ID
const measuresResponse = await axios.get(`https://apiv4.iucnredlist.org/api/v4/measures/species/id/${taxonId}`, { const measuresResponse = await axios.get(`https://apiv4.iucnredlist.org/api/v4/measures`, {
headers: { headers: {
"Authorization": `Bearer ${activeToken.iucnToken}` "Authorization": `Bearer ${activeToken.iucnToken}`
},
params: {
taxonid: taxonId
} }
}); });
// Debug the response structure
console.log("IUCN Measures API response structure:",
Object.keys(measuresResponse.data),
measuresResponse.data.result ? `Result has ${measuresResponse.data.result.length} items` : "No result property");
return res.json({ return res.json({
success: true, success: true,
data: measuresResponse.data, data: measuresResponse.data,