|
1
|
import { useState } from "react"; |
|
2
|
import { |
|
3
|
Download, |
|
4
|
ExternalLink, |
|
5
|
Search, |
|
6
|
CheckCircle2, |
|
7
|
ShieldCheck, |
|
8
|
Cpu, |
|
9
|
HardDrive, |
|
10
|
Layers, |
|
11
|
Terminal, |
|
12
|
FileCode, |
|
13
|
Sparkles, |
|
14
|
Copy, |
|
15
|
Check, |
|
16
|
AlertCircle, |
|
17
|
HelpCircle, |
|
18
|
Mail, |
|
19
|
Zap, |
|
20
|
RotateCcw |
|
21
|
} from "lucide-react"; |
|
22
|
import { Input } from "@/components/ui/input"; |
|
23
|
import { Button } from "@/components/ui/button"; |
|
24
|
import { Badge } from "@/components/ui/badge"; |
|
25
|
import { useToast } from "@/hooks/use-toast"; |
|
26
|
import { cn } from "@/lib/utils"; |
|
27
|
|
|
28
|
interface SoftwareItem { |
|
29
|
id: string; |
|
30
|
name: string; |
|
31
|
developer: string; |
|
32
|
category: "diagnostics" | "storage" | "memory" | "bootable" | "drivers" | "security" | "thermals"; |
|
33
|
description: string; |
|
34
|
url: string; |
|
35
|
directDownloadUrl?: string; |
|
36
|
version: string; |
|
37
|
license: "Free" | "Open Source" | "Freemium" | "Official Utility"; |
|
38
|
platforms: string[]; |
|
39
|
features: string[]; |
|
40
|
recommendedUse: string; |
|
41
|
} |
|
42
|
|
|
43
|
const SOFTWARE_DIRECTORY: SoftwareItem[] = [ |
|
44
|
// Hardware Diagnostics & Sensors |
|
45
|
{ |
|
46
|
id: "hwinfo64", |
|
47
|
name: "HWiNFO64", |
|
48
|
developer: "REALiX", |
|
49
|
category: "diagnostics", |
|
50
|
description: "Industry-standard real-time hardware monitoring and sensor telemetry engine. Tracks voltage rails, VRM thermals, GPU hotspot deltas, and CPU package power.", |
|
51
|
url: "https://www.hwinfo.com/download/", |
|
52
|
version: "v8.0+", |
|
53
|
license: "Free", |
|
54
|
platforms: ["Windows 11 / 10 / 8 / 7"], |
|
55
|
features: ["Real-time sensor telemetry", "Thermal hotspot delta tracking", "CSV data logging & alert triggers", "SMART drive diagnostics"], |
|
56
|
recommendedUse: "Diagnosing thermal throttling, GPU power delivery, and VRM stability under load.", |
|
57
|
}, |
|
58
|
{ |
|
59
|
id: "cpuz", |
|
60
|
name: "CPU-Z", |
|
61
|
developer: "CPUID", |
|
62
|
category: "diagnostics", |
|
63
|
description: "Lightweight diagnostic freeware that gathers detailed information on CPU stepping, instruction sets, motherboard chipset, and memory SPD timings.", |
|
64
|
url: "https://www.cpuid.com/softwares/cpu-z.html", |
|
65
|
version: "v2.09+", |
|
66
|
license: "Free", |
|
67
|
platforms: ["Windows 11 / 10", "Android"], |
|
68
|
features: ["CPU instruction set breakdown", "Memory SPD table inspection", "Motherboard BIOS revision viewer", "Integrated single/multi-thread benchmark"], |
|
69
|
recommendedUse: "Verifying CPU socket stepping and validating dual-channel RAM frequency configuration.", |
|
70
|
}, |
|
71
|
{ |
|
72
|
id: "gpuz", |
|
73
|
name: "TechPowerUp GPU-Z", |
|
74
|
developer: "TechPowerUp", |
|
75
|
category: "diagnostics", |
|
76
|
description: "Dedicated graphics subsystem information utility displaying GPU die architectures, VRAM manufacturer (Samsung/Micron/Hynix), PCIe link speed, and BIOS versions.", |
|
77
|
url: "https://www.techpowerup.com/gpuz/", |
|
78
|
version: "v2.58+", |
|
79
|
license: "Free", |
|
80
|
platforms: ["Windows 11 / 10"], |
|
81
|
features: ["PCIe bus link speed tester", "VRAM junction temperature monitoring", "vBIOS firmware backup utility", "12VHPWR pin voltage readings"], |
|
82
|
recommendedUse: "Isolating GPU artifacts, checking PCIe lane bandwidth bottlenecks, and extracting vBIOS roms.", |
|
83
|
}, |
|
84
|
{ |
|
85
|
id: "libre-hw", |
|
86
|
name: "Libre Hardware Monitor", |
|
87
|
developer: "LibreHardwareMonitor Org", |
|
88
|
category: "diagnostics", |
|
89
|
description: "Free, open-source hardware monitoring fork supporting modern Intel Core Ultra, AMD Ryzen 7000/8000/9000, and NVIDIA RTX 40-series sensors.", |
|
90
|
url: "https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/releases", |
|
91
|
version: "Latest Release", |
|
92
|
license: "Open Source", |
|
93
|
platforms: ["Windows 11 / 10"], |
|
94
|
features: ["100% Free & Open Source", "Custom web server remote telemetry", "Fan speed tachometer readings", "No telemetry tracking"], |
|
95
|
recommendedUse: "Open source hardware monitoring and remote bench diagnostic monitoring.", |
|
96
|
}, |
|
97
|
|
|
98
|
// Storage Diagnostics & Cloning |
|
99
|
{ |
|
100
|
id: "crystaldiskinfo", |
|
101
|
name: "CrystalDiskInfo", |
|
102
|
developer: "Hiyohiyo / Crystal Dew World", |
|
103
|
category: "storage", |
|
104
|
description: "HDD and SSD health monitoring utility using S.M.A.R.T. technology. Provides real-time health scoring, bad sector alerts, and temperature status.", |
|
105
|
url: "https://crystalmark.info/en/software/crystaldiskinfo/", |
|
106
|
version: "v9.3+", |
|
107
|
license: "Open Source", |
|
108
|
platforms: ["Windows 11 / 10"], |
|
109
|
features: ["S.M.A.R.T. attribute health interpretation", "0E & 05 bad sector reallocation counter", "NVMe temperature alert triggers", "Total Host Writes calculation"], |
|
110
|
recommendedUse: "Checking if a dying hard drive or degraded SSD is responsible for BSODs or sluggish loading.", |
|
111
|
}, |
|
112
|
{ |
|
113
|
id: "crystaldiskmark", |
|
114
|
name: "CrystalDiskMark", |
|
115
|
developer: "Crystal Dew World", |
|
116
|
category: "storage", |
|
117
|
description: "Industry-standard disk benchmark utility measuring sequential and random read/write throughput (Q8T1, Q32T1, and Random 4K).", |
|
118
|
url: "https://crystalmark.info/en/software/crystaldiskmark/", |
|
119
|
version: "v8.0+", |
|
120
|
license: "Open Source", |
|
121
|
platforms: ["Windows 11 / 10"], |
|
122
|
features: ["Sequential Read/Write MB/s", "Random 4K IOPS throughput testing", "Real World NVMe testing profile", "Peak performance validation"], |
|
123
|
recommendedUse: "Validating that newly installed Gen4/Gen5 SSDs achieve their advertised speeds.", |
|
124
|
}, |
|
125
|
{ |
|
126
|
id: "clonezilla", |
|
127
|
name: "Clonezilla Live", |
|
128
|
developer: "Steven Shiau / NCHC Free Software Lab", |
|
129
|
category: "storage", |
|
130
|
description: "Bare-metal partition and disk imaging/cloning tool. Allows sector-by-sector drive duplication and backup restoration via bootable Linux USB.", |
|
131
|
url: "https://clonezilla.org/downloads.php", |
|
132
|
version: "v3.1+", |
|
133
|
license: "Open Source", |
|
134
|
platforms: ["Bootable USB (All OS)"], |
|
135
|
features: ["Bare-metal drive cloning", "Unused block compression", "GPT and MBR partition support", "Encrypted backup archives"], |
|
136
|
recommendedUse: "Cloning a failing hard drive to a fresh SSD without booting into the infected/damaged OS.", |
|
137
|
}, |
|
138
|
{ |
|
139
|
id: "macrium-reflect", |
|
140
|
name: "Macrium Reflect Free / Rescue Media", |
|
141
|
developer: "Paramount Software UK", |
|
142
|
category: "storage", |
|
143
|
description: "Robust Windows partition backup, disk imaging, and live volume cloning software with WinPE recovery builder.", |
|
144
|
url: "https://www.macrium.com/reflectfree", |
|
145
|
version: "v8.1+", |
|
146
|
license: "Freemium", |
|
147
|
platforms: ["Windows 11 / 10"], |
|
148
|
features: ["Live OS cloning while Windows is running", "Automatic partition alignment", "WinPE USB Rescue Media creation", "Differential image backup"], |
|
149
|
recommendedUse: "Migrating Windows installation from a small SSD to a larger M.2 NVMe drive.", |
|
150
|
}, |
|
151
|
|
|
152
|
// Memory & CPU Stress Testing |
|
153
|
{ |
|
154
|
id: "memtest86", |
|
155
|
name: "PassMark MemTest86", |
|
156
|
developer: "PassMark Software", |
|
157
|
category: "memory", |
|
158
|
description: "The gold standard for memory diagnostics. Boots independently of the OS from a USB drive to test RAM using advanced fault-detection algorithms.", |
|
159
|
url: "https://www.memtest86.com/download.html", |
|
160
|
version: "v10.7+", |
|
161
|
license: "Free", |
|
162
|
platforms: ["UEFI Bootable USB"], |
|
163
|
features: ["13 rigorous memory test algorithms", "ECC memory error injection detection", "Row hammer susceptibility testing", "HTML diagnostic report generator"], |
|
164
|
recommendedUse: "Isolating bad RAM sticks, damaged CPU memory controller pins, or unstable XMP/EXPO overclocking.", |
|
165
|
}, |
|
166
|
{ |
|
167
|
id: "prime95", |
|
168
|
name: "Prime95 (Mersenne.org)", |
|
169
|
developer: "George Woltman", |
|
170
|
category: "memory", |
|
171
|
description: "Heavy CPU stress testing and mathematical validation tool. Uses Fast Fourier Transforms (FFT) to stress CPU caches, memory controllers, and VRM power.", |
|
172
|
url: "https://www.mersenne.org/download/", |
|
173
|
version: "v30.19+", |
|
174
|
license: "Free", |
|
175
|
platforms: ["Windows", "Linux", "macOS"], |
|
176
|
features: ["Small FFTs for maximum CPU thermal load", "Blend test for memory sub-system stability", "Instant hardware error roundoff detection"], |
|
177
|
recommendedUse: "Thermal torture testing of newly installed CPU coolers and testing VRM thermal throttling.", |
|
178
|
}, |
|
179
|
{ |
|
180
|
id: "occt", |
|
181
|
name: "OCCT (OverClock Checking Tool)", |
|
182
|
developer: "OCBASE", |
|
183
|
category: "memory", |
|
184
|
description: "All-in-one stability testing suite with dedicated tests for CPU, GPU, VRAM, RAM, and Power Supply Unit (PSU) transient load testing.", |
|
185
|
url: "https://www.ocbase.com/download", |
|
186
|
version: "v13.1+", |
|
187
|
license: "Free", |
|
188
|
platforms: ["Windows 11 / 10"], |
|
189
|
features: ["Dedicated PSU full-load test", "VRAM 3D memory error detection", "Real-time error counter with audio alert", "Hardware sensor graphing"], |
|
190
|
recommendedUse: "Diagnosing random PC shutdowns under load and testing PSU 12V rail voltage drop.", |
|
191
|
}, |
|
192
|
|
|
193
|
// Bootable Media & OS Recovery |
|
194
|
{ |
|
195
|
id: "rufus", |
|
196
|
name: "Rufus USB Utility", |
|
197
|
developer: "Pete Batard / Akeo Consulting", |
|
198
|
category: "bootable", |
|
199
|
description: "The fastest, most reliable utility to format and create bootable USB flash drives for Windows, Linux, FreeDOS, and BIOS updates.", |
|
200
|
url: "https://rufus.ie/", |
|
201
|
version: "v4.5+", |
|
202
|
license: "Open Source", |
|
203
|
platforms: ["Windows 11 / 10"], |
|
204
|
features: ["GPT UEFI boot creation", "Bypass Windows 11 TPM & Secure Boot checks", "Direct Windows ISO downloader", "Zero bloat, single executable"], |
|
205
|
recommendedUse: "Creating clean Windows 11/10 installation USB media and bootable diagnostics.", |
|
206
|
}, |
|
207
|
{ |
|
208
|
id: "ventoy", |
|
209
|
name: "Ventoy Multi-Boot", |
|
210
|
developer: "Ventoy Team", |
|
211
|
category: "bootable", |
|
212
|
description: "Revolutionary open-source multi-boot USB tool. Simply copy multiple ISO, WIM, IMG, and VHD files onto the flash drive to boot directly from a menu.", |
|
213
|
url: "https://www.ventoy.net/en/download.html", |
|
214
|
version: "v1.0.99+", |
|
215
|
license: "Open Source", |
|
216
|
platforms: ["Windows", "Linux"], |
|
217
|
features: ["Direct ISO booting without reformatting", "Store 20+ OS installers on one 64GB USB", "UEFI Secure Boot support", "Live Linux persistence support"], |
|
218
|
recommendedUse: "Technician swiss-army USB containing Windows 11, Windows 10, Ubuntu, MemTest86, and Clonezilla.", |
|
219
|
}, |
|
220
|
|
|
221
|
// Driver Cleanup & System Repair |
|
222
|
{ |
|
223
|
id: "ddu", |
|
224
|
name: "Display Driver Uninstaller (DDU)", |
|
225
|
developer: "Wagnardsoft", |
|
226
|
category: "drivers", |
|
227
|
description: "Driver removal tool that completely uninstalls AMD, NVIDIA, and Intel display and audio drivers from the Windows registry, filesystem, and driver store.", |
|
228
|
url: "https://www.wagnardsoft.com/display-driver-uninstaller-ddu-", |
|
229
|
version: "v18.0+", |
|
230
|
license: "Free", |
|
231
|
platforms: ["Windows 11 / 10 (Safe Mode)"], |
|
232
|
features: ["Complete registry and driver store purge", "Prevents Windows Update driver overwriting", "Dedicated Safe Mode auto-reboot", "Audio driver cleanup"], |
|
233
|
recommendedUse: "Fixing driver crash loops, black screens, GPU stuttering, or preparing for a new GPU installation.", |
|
234
|
}, |
|
235
|
{ |
|
236
|
id: "sdio", |
|
237
|
name: "Snappy Driver Installer Origin (SDIO)", |
|
238
|
developer: "Glenn Delahoy", |
|
239
|
category: "drivers", |
|
240
|
description: "Clean, open-source driver updater tool that finds and installs missing device drivers without unwanted adware or telemetry.", |
|
241
|
url: "https://www.snappy-driver-installer.org/", |
|
242
|
version: "Latest Origin", |
|
243
|
license: "Open Source", |
|
244
|
platforms: ["Windows 11 / 10 / 8 / 7 / XP"], |
|
245
|
features: ["Full offline driver packs available", "No bundleware or tracking", "Driver backup & restore points", "Algorithm matching accurate hardware IDs"], |
|
246
|
recommendedUse: "Finding rare legacy laptop touchpad, audio, or Wi-Fi drivers after a fresh OS installation.", |
|
247
|
}, |
|
248
|
|
|
249
|
// Thermals & Fan Management |
|
250
|
{ |
|
251
|
id: "fancontrol", |
|
252
|
name: "FanControl", |
|
253
|
developer: "Rem0o", |
|
254
|
category: "thermals", |
|
255
|
description: "Highly focused fan management software allowing complete control over motherboard, GPU, and AIO fan curves using any temperature sensor.", |
|
256
|
url: "https://getfancontrol.com/", |
|
257
|
version: "v180+", |
|
258
|
license: "Free", |
|
259
|
platforms: ["Windows 11 / 10"], |
|
260
|
features: ["Mix CPU & GPU temperatures in fan curve", "Linear, Graph, and Step curve editors", "Support for Corsair, NZXT & Lian Li hubs", "Low background CPU overhead"], |
|
261
|
recommendedUse: "Eliminating loud laptop fan cycling and creating quiet custom fan curves for gaming desktops.", |
|
262
|
}, |
|
263
|
{ |
|
264
|
id: "msi-afterburner", |
|
265
|
name: "MSI Afterburner & RivaTuner", |
|
266
|
developer: "MSI / Alexey Nicolaychuk (Unwinder)", |
|
267
|
category: "thermals", |
|
268
|
description: "The most widely used graphics card tuning utility. Allows GPU undervolting, custom fan curves, FPS limiting, and on-screen hardware telemetry.", |
|
269
|
url: "https://www.msi.com/Landing/afterburner/graphics-cards", |
|
270
|
version: "v4.6.5+", |
|
271
|
license: "Free", |
|
272
|
platforms: ["Windows 11 / 10"], |
|
273
|
features: ["V/F Curve Undervolting for lower temps", "RTSS On-Screen Display (OSD) overlay", "GPU core/memory clock tuning", "Power limit calibration"], |
|
274
|
recommendedUse: "Undervolting hot GPUs to reduce temperatures by 10-15°C with zero performance loss.", |
|
275
|
}, |
|
276
|
|
|
277
|
// Security & Malware Removal |
|
278
|
{ |
|
279
|
id: "adwcleaner", |
|
280
|
name: "Malwarebytes AdwCleaner", |
|
281
|
developer: "Malwarebytes", |
|
282
|
category: "security", |
|
283
|
description: "Fast, specialized utility to search for and delete Adware, Toolbars, Potentially Unwanted Programs (PUPs), and browser hijackers.", |
|
284
|
url: "https://www.malwarebytes.com/adwcleaner", |
|
285
|
version: "v8.4+", |
|
286
|
license: "Free", |
|
287
|
platforms: ["Windows 11 / 10"], |
|
288
|
features: ["No installation required (portable)", "Browser proxy and Winsock reset", "Registry hijacker cleanup", "Fast 2-minute scanning speed"], |
|
289
|
recommendedUse: "Cleaning browser popups, fake antivirus warnings, and browser search engine redirects.", |
|
290
|
}, |
|
291
|
{ |
|
292
|
id: "sysinternals", |
|
293
|
name: "Microsoft Sysinternals Suite", |
|
294
|
developer: "Mark Russinovich / Microsoft", |
|
295
|
category: "security", |
|
296
|
description: "Comprehensive suite of Windows technical utilities including Process Explorer, Autoruns, TCPView, and ProcMon for analyzing operating system internals.", |
|
297
|
url: "https://learn.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite", |
|
298
|
version: "Official Microsoft", |
|
299
|
license: "Free", |
|
300
|
platforms: ["Windows 11 / 10"], |
|
301
|
features: ["Process Explorer with VirusTotal lookup", "Autoruns startup persistence inspector", "TCPView live network port connections", "Disk2vhd virtualization tool"], |
|
302
|
recommendedUse: "Identifying hidden crypto-miners, rogue background services, and locking file handles.", |
|
303
|
}, |
|
304
|
]; |
|
305
|
|
|
306
|
export default function SoftwareTools() { |
|
307
|
const [searchQuery, setSearchQuery] = useState(""); |
|
308
|
const [selectedCategory, setSelectedCategory] = useState<string>("all"); |
|
309
|
const [copiedId, setCopiedId] = useState<string | null>(null); |
|
310
|
const { toast } = useToast(); |
|
311
|
|
|
312
|
const categories = [ |
|
313
|
{ id: "all", name: "All Software", count: SOFTWARE_DIRECTORY.length, icon: Sparkles }, |
|
314
|
{ id: "diagnostics", name: "Hardware & Telemetry", count: SOFTWARE_DIRECTORY.filter(s => s.category === "diagnostics").length, icon: Cpu }, |
|
315
|
{ id: "storage", name: "Storage & Cloning", count: SOFTWARE_DIRECTORY.filter(s => s.category === "storage").length, icon: HardDrive }, |
|
316
|
{ id: "memory", name: "Memory & Stress Testing", count: SOFTWARE_DIRECTORY.filter(s => s.category === "memory").length, icon: Layers }, |
|
317
|
{ id: "bootable", name: "Bootable OS Media", count: SOFTWARE_DIRECTORY.filter(s => s.category === "bootable").length, icon: Terminal }, |
|
318
|
{ id: "drivers", name: "Driver Management", count: SOFTWARE_DIRECTORY.filter(s => s.category === "drivers").length, icon: FileCode }, |
|
319
|
{ id: "thermals", name: "Fans & Undervolting", count: SOFTWARE_DIRECTORY.filter(s => s.category === "thermals").length, icon: Zap }, |
|
320
|
{ id: "security", name: "Malware & Sysinternals", count: SOFTWARE_DIRECTORY.filter(s => s.category === "security").length, icon: ShieldCheck }, |
|
321
|
]; |
|
322
|
|
|
323
|
const filteredSoftware = SOFTWARE_DIRECTORY.filter((item) => { |
|
324
|
const matchesCategory = selectedCategory === "all" || item.category === selectedCategory; |
|
325
|
const q = searchQuery.toLowerCase().trim(); |
|
326
|
if (!q) return matchesCategory; |
|
327
|
|
|
328
|
const matchesSearch = |
|
329
|
item.name.toLowerCase().includes(q) || |
|
330
|
item.developer.toLowerCase().includes(q) || |
|
331
|
item.description.toLowerCase().includes(q) || |
|
332
|
item.recommendedUse.toLowerCase().includes(q) || |
|
333
|
item.features.some(f => f.toLowerCase().includes(q)); |
|
334
|
|
|
335
|
return matchesCategory && matchesSearch; |
|
336
|
}); |
|
337
|
|
|
338
|
const handleLaunch = (url: string, name: string) => { |
|
339
|
window.open(url, "_blank", "noopener,noreferrer"); |
|
340
|
toast({ |
|
341
|
title: `Opening ${name}`, |
|
342
|
description: "Redirecting to official verified download portal in a new tab.", |
|
343
|
}); |
|
344
|
}; |
|
345
|
|
|
346
|
const handleCopyLink = (url: string, id: string) => { |
|
347
|
navigator.clipboard.writeText(url); |
|
348
|
setCopiedId(id); |
|
349
|
toast({ |
|
350
|
title: "Download link copied!", |
|
351
|
description: "Direct official URL saved to your clipboard.", |
|
352
|
}); |
|
353
|
setTimeout(() => setCopiedId(null), 2000); |
|
354
|
}; |
|
355
|
|
|
356
|
return ( |
|
357
|
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8 space-y-8"> |
|
358
|
|
|
359
|
{/* Header Banner */} |
|
360
|
<section className="relative overflow-hidden rounded-3xl bg-gradient-to-br from-card/90 via-card/50 to-emerald-500/10 border border-emerald-500/30 p-6 sm:p-10 shadow-sm"> |
|
361
|
<div className="relative z-10 max-w-3xl space-y-4"> |
|
362
|
<div className="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 border border-emerald-500/20 text-xs font-bold uppercase tracking-wider"> |
|
363
|
<ShieldCheck className="h-3.5 w-3.5" /> Verified Download Repository |
|
364
|
</div> |
|
365
|
|
|
366
|
<h1 className="text-3xl sm:text-4xl font-extrabold tracking-tight leading-tight"> |
|
367
|
Essential Technician Software & <span className="text-emerald-500">Download Hub</span> |
|
368
|
</h1> |
|
369
|
|
|
370
|
<p className="text-muted-foreground text-xs sm:text-sm leading-relaxed"> |
|
371
|
Centralized repository for verified diagnostic software, bootable ISO utilities, bare-metal drive cloners, driver cleaners, and complete offline JCRGuru repair manual bundles. |
|
372
|
</p> |
|
373
|
|
|
374
|
{/* Quick Search */} |
|
375
|
<div className="pt-2 max-w-xl"> |
|
376
|
<div className="relative group"> |
|
377
|
<Search className="absolute left-4 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground group-focus-within:text-emerald-500 transition-colors" /> |
|
378
|
<Input |
|
379
|
type="text" |
|
380
|
value={searchQuery} |
|
381
|
onChange={(e) => setSearchQuery(e.target.value)} |
|
382
|
placeholder="Search tools (e.g. MemTest, DDU, CrystalDisk, Rufus, GPU-Z, Undervolt)..." |
|
383
|
className="w-full pl-11 pr-4 h-11 rounded-2xl bg-background/90 border-border/60 text-xs sm:text-sm focus-visible:ring-2 focus-visible:ring-emerald-500/30" |
|
384
|
/> |
|
385
|
{searchQuery && ( |
|
386
|
<button |
|
387
|
onClick={() => setSearchQuery("")} |
|
388
|
className="absolute right-3.5 top-1/2 -translate-y-1/2 text-xs text-muted-foreground hover:text-foreground" |
|
389
|
> |
|
390
|
Clear |
|
391
|
</button> |
|
392
|
)} |
|
393
|
</div> |
|
394
|
</div> |
|
395
|
</div> |
|
396
|
</section> |
|
397
|
|
|
398
|
{/* Category Pills Filter */} |
|
399
|
<section className="space-y-4"> |
|
400
|
<div className="flex items-center justify-between"> |
|
401
|
<h2 className="text-sm font-bold uppercase tracking-wider text-muted-foreground"> |
|
402
|
Filter by Diagnostic Domain |
|
403
|
</h2> |
|
404
|
{selectedCategory !== "all" && ( |
|
405
|
<Button |
|
406
|
variant="ghost" |
|
407
|
size="sm" |
|
408
|
onClick={() => setSelectedCategory("all")} |
|
409
|
className="text-xs text-muted-foreground hover:text-foreground h-7" |
|
410
|
> |
|
411
|
Reset Category |
|
412
|
</Button> |
|
413
|
)} |
|
414
|
</div> |
|
415
|
|
|
416
|
<div className="flex flex-wrap gap-2"> |
|
417
|
{categories.map((cat) => { |
|
418
|
const Icon = cat.icon; |
|
419
|
const isSelected = selectedCategory === cat.id; |
|
420
|
return ( |
|
421
|
<button |
|
422
|
key={cat.id} |
|
423
|
onClick={() => setSelectedCategory(cat.id)} |
|
424
|
className={cn( |
|
425
|
"inline-flex items-center gap-2 px-3.5 py-2 rounded-2xl border text-xs font-semibold transition-all", |
|
426
|
isSelected |
|
427
|
? "bg-emerald-600 text-white border-emerald-600 shadow-sm" |
|
428
|
: "bg-card/60 hover:bg-muted border-border/60 text-muted-foreground hover:text-foreground" |
|
429
|
)} |
|
430
|
> |
|
431
|
<Icon className={cn("h-3.5 w-3.5", isSelected ? "text-white" : "text-emerald-500")} /> |
|
432
|
<span>{cat.name}</span> |
|
433
|
<span className={cn( |
|
434
|
"text-[10px] px-2 py-0.5 rounded-full font-bold", |
|
435
|
isSelected ? "bg-white/20 text-white" : "bg-muted text-muted-foreground" |
|
436
|
)}> |
|
437
|
{cat.count} |
|
438
|
</span> |
|
439
|
</button> |
|
440
|
); |
|
441
|
})} |
|
442
|
</div> |
|
443
|
</section> |
|
444
|
|
|
445
|
{/* Software Catalog Grid */} |
|
446
|
<section className="space-y-6"> |
|
447
|
<div className="flex items-center justify-between text-xs text-muted-foreground"> |
|
448
|
<span>Showing {filteredSoftware.length} verified software tools</span> |
|
449
|
<span className="flex items-center gap-1.5 text-emerald-500 font-semibold"> |
|
450
|
<CheckCircle2 className="h-3.5 w-3.5" /> All links route to official developer servers |
|
451
|
</span> |
|
452
|
</div> |
|
453
|
|
|
454
|
{filteredSoftware.length > 0 ? ( |
|
455
|
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"> |
|
456
|
{filteredSoftware.map((item) => { |
|
457
|
return ( |
|
458
|
<div |
|
459
|
key={item.id} |
|
460
|
className="group rounded-3xl border border-border/50 bg-card/60 backdrop-blur-xl p-6 flex flex-col justify-between hover:border-emerald-500/40 hover:shadow-lg transition-all duration-300 space-y-4" |
|
461
|
> |
|
462
|
<div className="space-y-3"> |
|
463
|
|
|
464
|
{/* Top Row: Icon, Title & License Badge */} |
|
465
|
<div className="flex items-start justify-between gap-3"> |
|
466
|
<div> |
|
467
|
<div className="flex items-center gap-2"> |
|
468
|
<h3 className="font-bold text-base text-foreground group-hover:text-emerald-500 transition-colors"> |
|
469
|
{item.name} |
|
470
|
</h3> |
|
471
|
</div> |
|
472
|
<span className="text-[11px] text-muted-foreground font-medium"> |
|
473
|
by {item.developer} • {item.version} |
|
474
|
</span> |
|
475
|
</div> |
|
476
|
|
|
477
|
<Badge |
|
478
|
variant="secondary" |
|
479
|
className="text-[10px] font-bold px-2 py-0.5 rounded-full bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 border border-emerald-500/20 shrink-0" |
|
480
|
> |
|
481
|
{item.license} |
|
482
|
</Badge> |
|
483
|
</div> |
|
484
|
|
|
485
|
{/* Description */} |
|
486
|
<p className="text-xs text-foreground/80 leading-relaxed"> |
|
487
|
{item.description} |
|
488
|
</p> |
|
489
|
|
|
490
|
{/* Key Features List */} |
|
491
|
<div className="space-y-1.5 pt-1"> |
|
492
|
<span className="text-[10px] font-bold uppercase tracking-wider text-muted-foreground block"> |
|
493
|
Capabilities & Features: |
|
494
|
</span> |
|
495
|
<ul className="space-y-1"> |
|
496
|
{item.features.map((feat, idx) => ( |
|
497
|
<li key={idx} className="text-[11px] text-muted-foreground flex items-start gap-1.5"> |
|
498
|
<Check className="h-3 w-3 text-emerald-500 shrink-0 mt-0.5" /> |
|
499
|
<span>{feat}</span> |
|
500
|
</li> |
|
501
|
))} |
|
502
|
</ul> |
|
503
|
</div> |
|
504
|
|
|
505
|
{/* Recommended Scenario */} |
|
506
|
<div className="p-2.5 rounded-2xl bg-muted/40 border border-border/40 text-[11px] text-foreground/80 space-y-0.5"> |
|
507
|
<span className="font-bold text-primary block text-[10px] uppercase tracking-wider"> |
|
508
|
Technician Use Case: |
|
509
|
</span> |
|
510
|
<span>{item.recommendedUse}</span> |
|
511
|
</div> |
|
512
|
</div> |
|
513
|
|
|
514
|
{/* Action Buttons */} |
|
515
|
<div className="pt-2 flex items-center gap-2"> |
|
516
|
<Button |
|
517
|
onClick={() => handleLaunch(item.url, item.name)} |
|
518
|
className="flex-1 rounded-2xl h-10 text-xs font-bold gap-2 bg-emerald-600 hover:bg-emerald-700 text-white shadow-sm" |
|
519
|
> |
|
520
|
<Download className="h-4 w-4" /> |
|
521
|
<span>Download / Official Site</span> |
|
522
|
<ExternalLink className="h-3 w-3 opacity-70" /> |
|
523
|
</Button> |
|
524
|
|
|
525
|
<Button |
|
526
|
variant="outline" |
|
527
|
size="icon" |
|
528
|
onClick={() => handleCopyLink(item.url, item.id)} |
|
529
|
className="rounded-2xl h-10 w-10 border-border/60 hover:border-emerald-500/50 shrink-0" |
|
530
|
title="Copy official download link" |
|
531
|
> |
|
532
|
{copiedId === item.id ? ( |
|
533
|
<Check className="h-4 w-4 text-emerald-500" /> |
|
534
|
) : ( |
|
535
|
<Copy className="h-4 w-4 text-muted-foreground" /> |
|
536
|
)} |
|
537
|
</Button> |
|
538
|
</div> |
|
539
|
</div> |
|
540
|
); |
|
541
|
})} |
|
542
|
</div> |
|
543
|
) : ( |
|
544
|
<div className="text-center py-16 px-4 bg-muted/20 rounded-3xl border border-dashed border-border/60 space-y-3"> |
|
545
|
<AlertCircle className="h-10 w-10 text-muted-foreground mx-auto" /> |
|
546
|
<h3 className="text-base font-bold">No software matches your query</h3> |
|
547
|
<p className="text-xs text-muted-foreground max-w-sm mx-auto"> |
|
548
|
Try searching for common tools like "HWiNFO", "MemTest", "DDU", "Rufus", or select another category filter. |
|
549
|
</p> |
|
550
|
<Button |
|
551
|
variant="outline" |
|
552
|
size="sm" |
|
553
|
onClick={() => { |
|
554
|
setSearchQuery(""); |
|
555
|
setSelectedCategory("all"); |
|
556
|
}} |
|
557
|
className="rounded-2xl text-xs" |
|
558
|
> |
|
559
|
Reset Filters |
|
560
|
</Button> |
|
561
|
</div> |
|
562
|
)} |
|
563
|
</section> |
|
564
|
|
|
565
|
{/* Safety & Best Practices Footer Banner */} |
|
566
|
<section className="rounded-3xl border border-border/50 bg-card/40 p-6 sm:p-8 space-y-4"> |
|
567
|
<div className="flex items-center gap-2 text-primary font-bold text-sm uppercase tracking-wider"> |
|
568
|
<ShieldCheck className="h-4 w-4" /> Benchmark & Diagnostic Best Practices |
|
569
|
</div> |
|
570
|
|
|
571
|
<div className="grid grid-cols-1 md:grid-cols-3 gap-6 text-xs text-foreground/80"> |
|
572
|
<div className="space-y-1.5 p-4 rounded-2xl bg-background/50 border border-border/40"> |
|
573
|
<h4 className="font-bold text-foreground flex items-center gap-1.5"> |
|
574
|
1. Isolate Antivirus & Overclocking |
|
575
|
</h4> |
|
576
|
<p className="text-muted-foreground leading-relaxed"> |
|
577
|
When running memory testers (MemTest86) or GPU driver cleanups (DDU), execute in UEFI boot mode or Windows Safe Mode for maximum accuracy. |
|
578
|
</p> |
|
579
|
</div> |
|
580
|
|
|
581
|
<div className="space-y-1.5 p-4 rounded-2xl bg-background/50 border border-border/40"> |
|
582
|
<h4 className="font-bold text-foreground flex items-center gap-1.5"> |
|
583
|
2. S.M.A.R.T. Health Verification |
|
584
|
</h4> |
|
585
|
<p className="text-muted-foreground leading-relaxed"> |
|
586
|
Monitor attribute `05 (Reallocated Sectors Count)` and `0E (Media and Data Integrity Errors)`. Any non-zero raw value indicates impending drive failure. |
|
587
|
</p> |
|
588
|
</div> |
|
589
|
|
|
590
|
<div className="space-y-1.5 p-4 rounded-2xl bg-background/50 border border-border/40"> |
|
591
|
<h4 className="font-bold text-foreground flex items-center gap-1.5"> |
|
592
|
3. Data Backup Precaution |
|
593
|
</h4> |
|
594
|
<p className="text-muted-foreground leading-relaxed"> |
|
595
|
Before flashing BIOS or running partition table modifications, ensure all customer personal files and recovery keys (BitLocker) are securely backed up. |
|
596
|
</p> |
|
597
|
</div> |
|
598
|
</div> |
|
599
|
</section> |
|
600
|
|
|
601
|
{/* Support Section */} |
|
602
|
<section className="rounded-3xl border border-primary/20 bg-gradient-to-r from-primary/10 via-card to-primary/5 p-6 text-center space-y-3"> |
|
603
|
<h3 className="text-base font-bold">Need a specific technician utility added to the catalog?</h3> |
|
604
|
<p className="text-xs text-muted-foreground max-w-lg mx-auto"> |
|
605
|
We continually verify and expand our curated list of non-copyright, free, and open-source repair tools. |
|
606
|
</p> |
|
607
|
<a |
|
608
|
href="mailto:JCRguideproofficial@gmail.com" |
|
609
|
className="inline-flex items-center gap-2 px-5 py-2.5 rounded-2xl bg-primary text-primary-foreground text-xs font-bold hover:bg-primary/90 transition-colors shadow-sm" |
|
610
|
> |
|
611
|
<Mail className="h-3.5 w-3.5" /> |
|
612
|
<span>Contact App Support: JCRguideproofficial@gmail.com</span> |
|
613
|
</a> |
|
614
|
</section> |
|
615
|
|
|
616
|
</div> |
|
617
|
); |
|
618
|
} |