11'use client'
22
33import { useEffect , useState } from 'react'
4- import { Plus , Search , File , Filter , Download , Upload } from 'lucide-react'
4+ import { Plus , Search , File , Filter } from 'lucide-react'
55import { Button } from '@/components/ui/button'
6- import { Card , CardContent , CardHeader , CardTitle } from '@/components/ui/card'
6+ import { Card , CardContent } from '@/components/ui/card'
77import { Input } from '@/components/ui/input'
8- import {
9- Select ,
10- SelectContent ,
11- SelectItem ,
12- SelectTrigger ,
13- SelectValue ,
14- } from '@/components/ui/select'
8+
159import { NavigationTabs } from '../AdvancedComponents/navigation-tabs'
1610import { FileList } from './file-list'
1711import { DashboardHero } from '../Heros/DashboardHero/DashboardHero'
18- import { FileType , type RecentFile } from '../DigitalColleagues /types'
12+ import { File as FileType } from '../Foundary /types'
1913import { motion , AnimatePresence } from 'motion/react'
14+ import { AddFileModal } from './AddFileModal'
2015
2116interface FileViewProps {
2217 initialFiles ?: FileType [ ]
23- onFileAdd ?: ( ) => void
18+ onFileAdd ?: ( file : FormData ) => void
2419 onFileEdit ?: ( file : FileType ) => void
2520 onFileDelete ?: ( fileId : string ) => void
2621 onFileClick ?: ( file : FileType ) => void
@@ -41,26 +36,26 @@ export default function FileView({
4136 const [ searchTerm , setSearchTerm ] = useState ( '' )
4237 const [ appFilter , setAppFilter ] = useState < string > ( 'all' )
4338 const [ activeTab , setActiveTab ] = useState ( 'all' )
44-
39+ const [ isAddFileModalOpen , setIsAddFileModalOpen ] = useState ( false )
4540 useEffect ( ( ) => {
4641 setFiles ( initialFiles )
4742 } , [ initialFiles ] )
4843
4944 // Get unique apps for filter
50- const uniqueApps = Array . from ( new Set ( files . map ( ( file ) => file . mimeType ) ) )
45+ // const uniqueApps = Array.from(new Set(files.map((file) => file.mimeType)))
5146
5247 const filteredFiles = files . filter ( ( file ) => {
5348 const matchesSearch = file . name . toLowerCase ( ) . includes ( searchTerm . toLowerCase ( ) )
54- const matchesApp = appFilter === 'all' || file . mimeType === appFilter
55- return matchesSearch && matchesApp
49+ // const matchesApp = appFilter === 'all' || file.mimeType === appFilter || file.app === appFilter
50+ return matchesSearch
5651 } )
5752
5853 const recentFiles = filteredFiles . slice ( 0 , 10 ) // Show 10 most recent
5954 const sharedFiles = filteredFiles . filter ( Boolean )
6055
6156 const handleAddFile = ( ) => {
6257 // This would typically open a file upload dialog
63- onFileAdd ?. ( )
58+ setIsAddFileModalOpen ( true )
6459 }
6560
6661 const handleEditFile = ( file : FileType ) => {
@@ -70,7 +65,7 @@ export default function FileView({
7065 const handleDeleteFile = ( file : FileType ) => {
7166 console . log ( 'deleting file' , file )
7267 setFiles ( ( prev ) => prev . filter ( ( f ) => f . name !== file . name ) )
73- onFileDelete ?.( file . id )
68+ onFileDelete ?.( file . id . toString ( ) )
7469 }
7570
7671 const handleFileClick = ( file : FileType ) => {
@@ -248,6 +243,11 @@ export default function FileView({
248243 </ div >
249244 </ motion . div >
250245 </ AnimatePresence >
246+ < AddFileModal
247+ isOpen = { isAddFileModalOpen }
248+ onClose = { ( ) => setIsAddFileModalOpen ( false ) }
249+ onAddFile = { onFileAdd }
250+ />
251251 </ div >
252252 )
253253}
0 commit comments