Fix submission display issues

This commit is contained in:
gpt-engineer-app[bot]
2025-10-06 17:59:34 +00:00
parent 25f79a4667
commit 2fc67ebf39
2 changed files with 132 additions and 6 deletions

View File

@@ -36,6 +36,13 @@ export interface SubmissionReviewDetails {
submission_type: string;
status: string;
entity_name?: string;
// Photo-specific fields
photo_url?: string;
photo_caption?: string;
photo_title?: string;
entity_type?: string;
entity_id?: string;
deletion_reason?: string;
}
export interface ReportResolutionDetails {
@@ -158,20 +165,55 @@ export async function fetchSystemActivities(
.limit(limit);
if (!submissionsError && submissions) {
// Fetch submission_items for photo submissions to get detailed info
const submissionIds = submissions.map(s => s.id);
const { data: submissionItems } = await supabase
.from('submission_items')
.select('submission_id, item_type, item_data')
.in('submission_id', submissionIds)
.in('item_type', ['photo', 'photo_delete', 'photo_edit']);
const itemsMap = new Map(submissionItems?.map(item => [item.submission_id, item]) || []);
for (const submission of submissions) {
const contentData = submission.content as any;
const submissionItem = itemsMap.get(submission.id);
const itemData = submissionItem?.item_data as any;
// Build base details
const details: SubmissionReviewDetails = {
submission_id: submission.id,
submission_type: submission.submission_type,
status: submission.status,
entity_name: contentData?.name,
};
// Enrich with photo-specific data for photo submissions
if (submissionItem && itemData) {
if (submissionItem.item_type === 'photo_delete') {
details.photo_url = itemData.cloudflare_image_url;
details.photo_caption = itemData.caption;
details.photo_title = itemData.title;
details.entity_type = itemData.entity_type;
details.entity_id = itemData.entity_id;
details.deletion_reason = itemData.reason;
} else if (submissionItem.item_type === 'photo') {
// Photo additions
details.photo_url = itemData.cloudflare_image_url;
details.photo_caption = itemData.caption;
details.photo_title = itemData.title;
details.entity_type = itemData.entity_type;
details.entity_id = itemData.entity_id;
}
}
activities.push({
id: submission.id,
type: 'submission_review',
timestamp: submission.reviewed_at!,
actor_id: submission.reviewer_id,
action: `${submission.status} ${submission.submission_type} submission`,
details: {
submission_id: submission.id,
submission_type: submission.submission_type,
status: submission.status,
entity_name: contentData?.name,
} as SubmissionReviewDetails,
details,
});
}
}