|
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
|
} |