Compare commits

...

2 Commits

Author SHA1 Message Date
Omar Oughriss
3e8778a776 Remove unused deps 2025-10-20 11:59:24 +02:00
Omar Oughriss
061516c9ae Create a centralized icon file and use it 2025-10-20 11:58:50 +02:00
5 changed files with 132 additions and 30 deletions

View File

@ -8,23 +8,25 @@ import Link from "next/link"
import { Button } from "@/components/ui/button" import { Button } from "@/components/ui/button"
import { Badge } from "@/components/ui/badge" import { Badge } from "@/components/ui/badge"
import { import {
LayoutDashboard, Shield,
FileText, FileText,
Folder, Folder,
Search,
Users, Users,
Settings, Settings,
Shield, Search,
MessageSquare, MessageCircle,
Bell, Bell,
User,
LogOut, LogOut,
Menu, Menu,
X, X,
TestTube, ChevronDown,
ChevronRight, ChevronRight,
Home, Home,
Key, Key,
} from "lucide-react" LayoutDashboard,
TestTube,
} from "@/lib/icons"
import UserStore from "@/lib/4nk/UserStore" import UserStore from "@/lib/4nk/UserStore"
import { iframeUrl } from "../page" import { iframeUrl } from "../page"
import EventBus from "@/lib/4nk/EventBus" import EventBus from "@/lib/4nk/EventBus"

View File

@ -28,7 +28,7 @@ import {
FolderPlus, FolderPlus,
XCircle, XCircle,
Info, Info,
} from "lucide-react" } from "@/lib/icons"
import MessageBus from "@/lib/4nk/MessageBus" import MessageBus from "@/lib/4nk/MessageBus"
import Link from "next/link" import Link from "next/link"
import Chat from "@/components/4nk/Chat" import Chat from "@/components/4nk/Chat"

View File

@ -11,30 +11,35 @@ import { Textarea } from "@/components/ui/textarea"
import { Switch } from "@/components/ui/switch" import { Switch } from "@/components/ui/switch"
import { import {
User, User,
Shield, Mail,
Bell, Phone,
Palette, MapPin,
Calendar,
Globe, Globe,
Database, Save,
Edit,
Trash2,
Eye,
EyeOff,
Shield,
Key, Key,
Bell,
Settings as SettingsIcon,
Download, Download,
Upload, Upload,
Trash2,
Save,
RefreshCw, RefreshCw,
AlertTriangle, AlertTriangle,
CheckCircle, CheckCircle,
Eye, XCircle,
EyeOff, Info,
Copy,
ExternalLink,
HardDrive,
Activity,
Lock, Lock,
Unlock,
UserCheck,
Users,
Smartphone, Smartphone,
Plus, Plus,
X, X,
} from "lucide-react" } from "@/lib/icons"
export default function SettingsPage() { export default function SettingsPage() {
const [activeTab, setActiveTab] = useState("profile") const [activeTab, setActiveTab] = useState("profile")

105
lib/icons.ts Normal file
View File

@ -0,0 +1,105 @@
// Centralized icon exports from lucide-react
// This file helps optimize imports and provides a single source of truth for icons
// Layout & Navigation Icons
export {
Shield,
ArrowLeft,
ArrowRight,
Home,
Menu,
X,
ChevronRight,
ChevronDown,
ChevronUp,
MoreHorizontal,
LayoutDashboard
} from "lucide-react"
// User & Authentication Icons
export {
Users,
User,
UserCheck,
UserPlus,
Key,
Lock,
Unlock,
LogOut
} from "lucide-react"
// Document & File Icons
export {
FileText,
File,
Files,
Folder,
FolderOpen,
FolderPlus,
Download,
Upload,
Share2,
Edit,
Copy,
Archive,
FileCheck
} from "lucide-react"
// Status & Feedback Icons
export {
CheckCircle,
XCircle,
AlertCircle,
AlertTriangle,
Info,
Clock,
Activity,
TrendingUp,
Zap,
ShieldCheck
} from "lucide-react"
// Action Icons
export {
Plus,
Search,
Settings,
Trash2,
Eye,
EyeOff,
RefreshCw,
Save,
Send,
Filter,
SortAsc,
SortDesc
} from "lucide-react"
// Technology & Development Icons
export {
Code,
Database,
HardDrive,
Globe,
Monitor,
Smartphone,
TestTube,
Calendar
} from "lucide-react"
// Formation & Learning Icons
export {
BookOpen,
Award,
GraduationCap
} from "lucide-react"
// Communication Icons
export {
Mail,
MessageCircle,
Phone,
Video,
Bell,
MapPin
} from "lucide-react"

View File

@ -41,24 +41,14 @@
"bip39": "^3.1.0", "bip39": "^3.1.0",
"class-variance-authority": "^0.7.1", "class-variance-authority": "^0.7.1",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"cmdk": "1.0.4",
"date-fns": "4.1.0",
"embla-carousel-react": "8.5.1",
"geist": "^1.3.1", "geist": "^1.3.1",
"input-otp": "1.4.1",
"lucide-react": "^0.454.0", "lucide-react": "^0.454.0",
"next": "15.2.4", "next": "15.2.4",
"next-themes": "latest", "next-themes": "latest",
"nodemailer": "latest", "nodemailer": "latest",
"qrcode": "^1.5.4",
"react": "^19", "react": "^19",
"react-day-picker": "9.8.0",
"react-dom": "^19", "react-dom": "^19",
"react-hook-form": "^7.60.0", "react-hook-form": "^7.60.0",
"react-qr-code": "^2.0.18",
"react-resizable-panels": "^2.1.7",
"recharts": "2.15.4",
"sonner": "^1.7.4",
"tailwind-merge": "^2.5.5", "tailwind-merge": "^2.5.5",
"tailwindcss-animate": "^1.0.7", "tailwindcss-animate": "^1.0.7",
"uuid": "latest", "uuid": "latest",