1 interface SoftwareLinksProps {
2 deviceType: string;
3 }
4
5 export default function SoftwareLinks({ deviceType }: SoftwareLinksProps) {
6 const diagnosticSoftware = [
7 {
8 name: "HWiNFO64",
9 description: "Comprehensive hardware analysis and monitoring tool",
10 url: "https://www.hwinfo.com/",
11 category: "Hardware Diagnostics",
12 icon: "monitor_heart",
13 free: true,
14 },
15 {
16 name: "CrystalDiskInfo",
17 description: "Hard drive health monitoring and S.M.A.R.T. analysis",
18 url: "https://crystalmark.info/en/software/crystaldiskinfo/",
19 category: "Storage Diagnostics",
20 icon: "storage",
21 free: true,
22 },
23 {
24 name: "MemTest86",
25 description: "Memory testing tool for detecting RAM issues",
26 url: "https://www.memtest86.com/",
27 category: "Memory Testing",
28 icon: "memory",
29 free: true,
30 },
31 {
32 name: "GPU-Z",
33 description: "Graphics card information and monitoring utility",
34 url: "https://www.techpowerup.com/gpuz/",
35 category: "Graphics Diagnostics",
36 icon: "videogame_asset",
37 free: true,
38 },
39 ];
40
41 const repairSoftware = [
42 {
43 name: "Rufus",
44 description: "Create bootable USB drives for OS installation and recovery",
45 url: "https://rufus.ie/",
46 category: "Bootable Media",
47 icon: "usb",
48 free: true,
49 },
50 {
51 name: "Clonezilla",
52 description: "Free disk imaging and cloning solution",
53 url: "https://clonezilla.org/",
54 category: "Disk Cloning",
55 icon: "content_copy",
56 free: true,
57 },
58 {
59 name: "Malwarebytes",
60 description: "Anti-malware and virus removal tool",
61 url: "https://www.malwarebytes.com/",
62 category: "Security",
63 icon: "security",
64 free: false,
65 },
66 {
67 name: "DDU (Display Driver Uninstaller)",
68 description: "Complete graphics driver removal and cleanup",
69 url: "https://www.guru3d.com/files-details/display-driver-uninstaller-download.html",
70 category: "Driver Management",
71 icon: "cleaning_services",
72 free: true,
73 },
74 ];
75
76 const systemUtilities = [
77 {
78 name: "Nirsoft Utilities",
79 description: "Collection of small utilities for Windows troubleshooting",
80 url: "https://www.nirsoft.net/",
81 category: "System Utilities",
82 icon: "build",
83 free: true,
84 },
85 {
86 name: "Sysinternals Suite",
87 description: "Microsoft's advanced system utilities and troubleshooting tools",
88 url: "https://docs.microsoft.com/en-us/sysinternals/",
89 category: "Advanced Tools",
90 icon: "settings",
91 free: true,
92 },
93 {
94 name: "AIDA64",
95 description: "System information, diagnostics and benchmarking suite",
96 url: "https://www.aida64.com/",
97 category: "System Analysis",
98 icon: "analytics",
99 free: false,
100 },
101 {
102 name: "TreeSize",
103 description: "Disk space analyzer to find large files and folders",
104 url: "https://www.jam-software.com/treesize/",
105 category: "Disk Analysis",
106 icon: "folder",
107 free: true,
108 },
109 ];
110
111 const allSoftware = [...diagnosticSoftware, ...repairSoftware, ...systemUtilities];
112
113 const handleDownload = (url: string, name: string) => {
114 window.open(url, '_blank', 'noopener,noreferrer');
115 };
116
117 return (
118 <div className="bg-white dark:bg-gray-800 rounded-xl shadow-material p-6">
119 <div className="flex items-center justify-between mb-6">
120 <div>
121 <h2 className="text-lg font-medium text-gray-900 dark:text-white mb-2">Essential Software Tools</h2>
122 <p className="text-sm text-gray-600 dark:text-gray-300">Download recommended software for {deviceType} troubleshooting and repair</p>
123 </div>
124 <div className="text-xs text-gray-500 dark:text-gray-400 flex items-center space-x-2">
125 <span className="flex items-center">
126 <i className="material-icons text-success-600 text-sm mr-1">check_circle</i>
127 Free
128 </span>
129 <span className="flex items-center">
130 <i className="material-icons text-warning-700 text-sm mr-1">paid</i>
131 Paid
132 </span>
133 </div>
134 </div>
135
136 <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
137 {allSoftware.map((software, index) => (
138 <div
139 key={index}
140 className="border border-gray-200 dark:border-gray-600 rounded-lg p-4 hover:shadow-material transition-shadow"
141 >
142 <div className="flex items-start justify-between mb-3">
143 <div className="flex items-center space-x-3">
144 <i className={`material-icons text-primary-700 text-xl`}>{software.icon}</i>
145 <div>
146 <h3 className="font-medium text-gray-900 dark:text-white text-sm">{software.name}</h3>
147 <span className="text-xs text-gray-500 dark:text-gray-400">{software.category}</span>
148 </div>
149 </div>
150 <div className="flex items-center space-x-1">
151 {software.free ? (
152 <i className="material-icons text-success-600 text-sm" title="Free">check_circle</i>
153 ) : (
154 <i className="material-icons text-warning-700 text-sm" title="Paid">paid</i>
155 )}
156 </div>
157 </div>
158
159 <p className="text-xs text-gray-600 dark:text-gray-300 mb-3 line-clamp-2">
160 {software.description}
161 </p>
162
163 <button
164 onClick={() => handleDownload(software.url, software.name)}
165 className="w-full px-3 py-2 bg-primary-700 text-white text-xs rounded-lg hover:bg-primary-900 transition-colors flex items-center justify-center space-x-2"
166 >
167 <i className="material-icons text-sm">download</i>
168 <span>Download / Visit</span>
169 </button>
170 </div>
171 ))}
172 </div>
173
174 <div className="mt-6 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg p-4">
175 <div className="flex items-start space-x-3">
176 <i className="material-icons text-primary-700 text-lg mt-0.5">info</i>
177 <div>
178 <h4 className="font-medium text-primary-900 dark:text-primary-300 mb-1">Safety Reminder</h4>
179 <p className="text-sm text-primary-800 dark:text-primary-200">
180 Always download software from official sources. Scan downloads with antivirus software before installation.
181 Create system backups before running diagnostic or repair tools.
182 </p>
183 </div>
184 </div>
185 </div>
186 </div>
187 );
188 }