Yvonne Priscilla commited on
Commit
5228494
·
1 Parent(s): 1fbd3b4
src/app/api/file/delete/route.ts CHANGED
@@ -3,7 +3,7 @@ import { cookies } from 'next/headers';
3
  import type { NextRequest } from 'next/server';
4
  import { NextResponse } from 'next/server';
5
 
6
- export async function POST(request: NextRequest) {
7
  try {
8
  // Get FormData from request
9
  const { searchParams } = new URL(request.url);
 
3
  import type { NextRequest } from 'next/server';
4
  import { NextResponse } from 'next/server';
5
 
6
+ export async function DELETE(request: NextRequest) {
7
  try {
8
  // Get FormData from request
9
  const { searchParams } = new URL(request.url);
src/app/recruitment/upload/page.tsx CHANGED
@@ -3,7 +3,7 @@
3
  import { useAuth } from '@/composables/useAuth';
4
  import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
5
  import { AlertCircle, BarChart3, CheckCircle2, CheckSquare, FileText, Loader2, RefreshCw, TrendingUp, Upload, X } from 'lucide-react';
6
- import React, { useRef, useState } from 'react';
7
 
8
  // ============================================================================
9
  // TYPES
@@ -263,7 +263,7 @@ export default function CandidateExplorer() {
263
  });
264
 
265
  // Remove successful uploads from temporary list (they'll appear in server list after refetch)
266
- return updated.filter(f => f.uploadStatus !== 'success');
267
  });
268
 
269
  // Refetch server files to get the uploaded files
@@ -443,6 +443,15 @@ export default function CandidateExplorer() {
443
  );
444
  };
445
 
 
 
 
 
 
 
 
 
 
446
  return (
447
  <div className="">
448
  {/* ============================================================================ */}
 
3
  import { useAuth } from '@/composables/useAuth';
4
  import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
5
  import { AlertCircle, BarChart3, CheckCircle2, CheckSquare, FileText, Loader2, RefreshCw, TrendingUp, Upload, X } from 'lucide-react';
6
+ import React, { useEffect, useRef, useState } from 'react';
7
 
8
  // ============================================================================
9
  // TYPES
 
263
  });
264
 
265
  // Remove successful uploads from temporary list (they'll appear in server list after refetch)
266
+ return updated
267
  });
268
 
269
  // Refetch server files to get the uploaded files
 
443
  );
444
  };
445
 
446
+ useEffect(() => {
447
+ // Clean up uploadingFiles when server has the data
448
+ if (serverFiles.length > 0) {
449
+ setUploadingFiles(prev =>
450
+ prev.filter(f => !serverFiles.some(sf => sf.filename === f.filename))
451
+ );
452
+ }
453
+ }, [serverFiles]);
454
+
455
  return (
456
  <div className="">
457
  {/* ============================================================================ */}