mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-21 04:31:16 -05:00
Fix submission display issues
This commit is contained in:
@@ -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,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user