Clean up unused state variables and imports

This commit is contained in:
omaroughriss 2025-10-23 16:36:42 +02:00
parent a03cf5c8ed
commit 6d65014a45

View File

@ -1,175 +1,37 @@
"use client"
import { useState, useEffect, useCallback } from "react"
import { useRouter, useSearchParams } from "next/navigation"
import { Card, CardContent } from "@/components/ui/card"
import { Badge } from "@/components/ui/badge"
import { Button } from "@/components/ui/button"
import { Input } from "@/components/ui/input"
import { Label } from "@/components/ui/label"
import { Checkbox } from "@/components/ui/checkbox"
import { Textarea } from "@/components/ui/textarea"
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
import {
Folder,
FolderOpen,
Grid3X3,
List,
Search,
Filter,
Share2,
Trash2,
Users,
FileText,
Clock,
Star,
ChevronRight,
FolderPlus,
Upload,
Download,
Lock,
Clock,
ChevronRight,
SortAsc,
SortDesc,
X,
UserPlus,
Crown,
Shield,
User,
CheckCircle,
XCircle,
Info,
CloudUpload,
Cloud,
HardDrive,
FileQuestion,
Timer,
ShieldCheck,
Archive,
FileCheck,
} from "lucide-react"
import { FolderData, FolderCreated, FolderPrivateFields, setDefaultFolderRoles } from "@/lib/4nk/models/FolderData"
import MessageBus from "@/lib/4nk/MessageBus"
import { iframeUrl } from "@/app/page"
import UserStore from "@/lib/4nk/UserStore"
import EventBus from "@/lib/4nk/EventBus"
import FolderModal from "@/components/4nk/FolderModal"
import AuthModal from "@/components/4nk/AuthModal"
import Iframe from "@/components/4nk/Iframe"
interface FolderData {
id: number
name: string
description: string
documentsCount: number
subfoldersCount: number
size: string
created: Date
modified: Date
owner: string
access: "shared" | "private"
members: string[]
tags: string[]
color: string
favorite: boolean
storageType: "temporary" | "permanent"
status: "active" | "archived" | "pending" | "completed" | "validated"
type: string
expectedDocuments: Array<{
name: string
required: boolean
assignedRole: "owner" | "editor" | "validator" | "contributor"
status: "missing" | "pending" | "received"
}>
activity: Array<{
user: string
action: string
item: string
time: string
}>
permissions: {
canView: boolean
canEdit: boolean
canDelete: boolean
canInvite: boolean
canArchive: boolean
canAnalyze: boolean
}
temporaryStorageConfig?: {
duration: number // en jours
dataUsage: string
thirdPartyAccess: string
}
documents?: Array<{
id: string
name: string
hasCertificate: boolean
certificateId?: string
}>
}
interface ActionModal {
type:
| "invite"
| "delete"
| "create"
| "edit"
| "archive"
| "request_document"
| "storage_config"
| "certificate"
| "documents_certificates"
| null
folder: FolderData | null
folders: FolderData[]
}
interface UserWithRoles {
id: string
name: string
email: string
avatar: string
folderRoles: {
[folderId: string]: {
role: "owner" | "editor" | "viewer" | "validator" | "contributor"
assignedDate: Date
}
}
spaceRole: "admin" | "manager" | "user" | "guest"
spaceRoles: {
[spaceId: string]: {
role: "admin" | "manager" | "user" | "guest"
spaceName: string
}
}
}
interface Role {
id: string
name: string
description: string
level: "folder" | "space" | "global"
}
type FolderType = string;
type FolderType = 'contrat' | 'projet' | 'rapport' | 'finance' | 'rh' | 'marketing' | 'autre';
export default function FoldersPage() {
const router = useRouter()
const searchParams = useSearchParams()
const [viewMode, setViewMode] = useState<'list'>('list')
const [searchTerm, setSearchTerm] = useState("")
const [selectedFolders, setSelectedFolders] = useState<number[]>([])
const [sortBy, setSortBy] = useState("modified")
const [sortBy, setSortBy] = useState("updated_at")
const [sortOrder, setSortOrder] = useState<"asc" | "desc">("desc")
const [filterAccess, setFilterAccess] = useState("all")
const [filterOwner, setFilterOwner] = useState("all")
const [filterStorage, setFilterStorage] = useState("all")
const [showFilters, setShowFilters] = useState(false)
const [currentPath, setCurrentPath] = useState<string[]>(["Racine"])
const [actionModal, setActionModal] = useState<ActionModal>({ type: null, folder: null, folders: [] })
const [showCreateFolderModal, setShowCreateFolderModal] = useState(false)
const [folderType, setFolderType] = useState<FolderType | null>(null);
const [isModalOpen, setIsModalOpen] = useState(false);
const [menuOpen, setMenuOpen] = useState(false);
// 4NK Integration states
const [isConnected, setIsConnected] = useState(false)
@ -183,26 +45,8 @@ export default function FoldersPage() {
const [loadingFolders, setLoadingFolders] = useState(false)
// Modal states
const [inviteMessage, setInviteMessage] = useState("")
const [selectedUser, setSelectedUser] = useState("")
const [selectedRole, setSelectedRole] = useState("")
const [inviteScope, setInviteScope] = useState<"user" | "role">("user")
const [folderName, setFolderName] = useState("")
const [folderDescription, setFolderDescription] = useState("")
const [folderColor, setFolderColor] = useState("blue")
const [folderTags, setFolderTags] = useState("")
const [folderAccess, setFolderAccess] = useState<"shared" | "private">("private")
const [archiveReason, setArchiveReason] = useState("")
const [retentionPeriod, setRetentionPeriod] = useState("5")
const [selectedDocument, setSelectedDocument] = useState("")
const [requestMessage, setRequestMessage] = useState("")
const [notification, setNotification] = useState<{ type: "success" | "error" | "info"; message: string } | null>(null)
// Storage config modal states
const [storageDuration, setStorageDuration] = useState("30")
const [dataUsage, setDataUsage] = useState("")
const [thirdPartyAccess, setThirdPartyAccess] = useState("")
const [folders, setFolders] = useState<FolderData[]>([])
const [stats, setStats] = useState({
total: 0
@ -211,7 +55,7 @@ export default function FoldersPage() {
// Notification system
const showNotification = (type: "success" | "error" | "info", message: string) => {
setNotification({ type, message })
setTimeout(() => setNotification(null), 3000)
setTimeout(() => setNotification(null), 5000)
}
// Function to fetch folder private data