mirror of
https://github.com/mito-systems/ranger-app.git
synced 2026-03-03 20:14:08 +00:00
ffs
This commit is contained in:
parent
3da19f8b7f
commit
919f99b86d
@ -303,7 +303,10 @@ export default function WalletPage() {
|
||||
</div>
|
||||
<div>
|
||||
<h4 className="text-lg font-semibold text-emerald-300 capitalize">
|
||||
{contribution.mainObject || 'Wildlife'}
|
||||
{/* Ensure consistent capitalization */}
|
||||
{(contribution.mainObject || 'Wildlife').split(' ').map(
|
||||
word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()
|
||||
).join(' ')}
|
||||
</h4>
|
||||
<p className="text-emerald-200 text-sm line-clamp-2">
|
||||
{contribution.description || 'No description available'}
|
||||
|
||||
@ -203,18 +203,32 @@ export async function getAnimalRecordsBySeiAddress(seiAddress: string): Promise<
|
||||
};
|
||||
});
|
||||
|
||||
// Filter valid records and remove duplicates by using the record ID
|
||||
// Let's analyze the records to understand potential duplicates
|
||||
const validRecords = mappedRecords.filter((record: AnimalRecordResult) =>
|
||||
record.imageUrl && record.imageUrl.trim() !== ''
|
||||
);
|
||||
|
||||
console.log('Records before deduplication:', validRecords.length);
|
||||
|
||||
// Create more detailed keys to identify truly duplicate records
|
||||
const uniqueRecordMap = new Map();
|
||||
|
||||
mappedRecords
|
||||
.filter((record: AnimalRecordResult) => record.imageUrl && record.imageUrl.trim() !== '')
|
||||
.forEach((record: AnimalRecordResult) => {
|
||||
// Only add if this ID isn't already in our map
|
||||
if (!uniqueRecordMap.has(record.id)) {
|
||||
uniqueRecordMap.set(record.id, record);
|
||||
}
|
||||
});
|
||||
validRecords.forEach((record: AnimalRecordResult) => {
|
||||
// Create a composite key using multiple fields to better identify duplicates
|
||||
// This handles cases where IDs might be different but content is identical
|
||||
const compositeKey = `${record.mainObject.toLowerCase()}-${record.description.toLowerCase()}-${record.imageUrl}`;
|
||||
|
||||
console.log(`Record: ${record.id}, Key: ${compositeKey.substring(0, 30)}...`);
|
||||
|
||||
// Only add if this composite key isn't already in our map
|
||||
if (!uniqueRecordMap.has(compositeKey)) {
|
||||
uniqueRecordMap.set(compositeKey, record);
|
||||
} else {
|
||||
console.log(`Skipping duplicate record with ID ${record.id} (matches ${uniqueRecordMap.get(compositeKey).id})`);
|
||||
}
|
||||
});
|
||||
|
||||
console.log('Records after deduplication:', uniqueRecordMap.size);
|
||||
const records = Array.from(uniqueRecordMap.values());
|
||||
|
||||
// Sort by timestamp descending (newest first)
|
||||
@ -320,18 +334,30 @@ export async function getAllAnimalRecords(): Promise<AnimalRecordResult[]> {
|
||||
};
|
||||
});
|
||||
|
||||
// Filter valid records and remove duplicates by using the record ID
|
||||
// Let's analyze the records to understand potential duplicates
|
||||
const validRecords = mappedRecords.filter((record: AnimalRecordResult) =>
|
||||
record.imageUrl && record.imageUrl.trim() !== ''
|
||||
);
|
||||
|
||||
console.log('All records before deduplication:', validRecords.length);
|
||||
|
||||
// Create more detailed keys to identify truly duplicate records
|
||||
const uniqueRecordMap = new Map();
|
||||
|
||||
mappedRecords
|
||||
.filter((record: AnimalRecordResult) => record.imageUrl && record.imageUrl.trim() !== '')
|
||||
.forEach((record: AnimalRecordResult) => {
|
||||
// Only add if this ID isn't already in our map
|
||||
if (!uniqueRecordMap.has(record.id)) {
|
||||
uniqueRecordMap.set(record.id, record);
|
||||
}
|
||||
});
|
||||
validRecords.forEach((record: AnimalRecordResult) => {
|
||||
// Create a composite key using multiple fields to better identify duplicates
|
||||
// This handles cases where IDs might be different but content is identical
|
||||
const compositeKey = `${record.mainObject.toLowerCase()}-${record.description.toLowerCase()}-${record.imageUrl}`;
|
||||
|
||||
// Only add if this composite key isn't already in our map
|
||||
if (!uniqueRecordMap.has(compositeKey)) {
|
||||
uniqueRecordMap.set(compositeKey, record);
|
||||
} else {
|
||||
console.log(`Skipping duplicate record with ID ${record.id}`);
|
||||
}
|
||||
});
|
||||
|
||||
console.log('All records after deduplication:', uniqueRecordMap.size);
|
||||
const records = Array.from(uniqueRecordMap.values());
|
||||
|
||||
// Sort by timestamp descending (newest first)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user