1 import { useState, useMemo } 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 FileArchive,
18 FileText,
19 Zap,
20 Filter,
21 ArrowDownToLine,
22 SlidersHorizontal,
23 Binary,
24 FolderDown,
25 Gauge,
26 Thermometer,
27 Disc,
28 Activity,
29 Network,
30 Wrench,
31 Flame,
32 BatteryCharging,
33 ShieldAlert,
34 Radio
35 } from "lucide-react";
36 import { Input } from "@/components/ui/input";
37 import { Button } from "@/components/ui/button";
38 import { Badge } from "@/components/ui/badge";
39 import { useToast } from "@/hooks/use-toast";
40 import { cn } from "@/lib/utils";
41
42 export interface DownloadItem {
43 id: string;
44 name: string;
45 developer: string;
46 category: "diagnostics" | "storage" | "memory" | "bootable" | "drivers" | "thermals" | "internals" | "bundles";
47 categoryLabel: string;
48 description: string;
49 fileSize: string;
50 version: string;
51 license: "Free" | "Open Source" | "Freemium" | "Official Bundle" | "Official Utility";
52 url: string;
53 directDownloadUrl?: string;
54 sha256?: string;
55 platforms: string[];
56 recommendedUse: string;
57 icon: any;
58 featured?: boolean;
59 }
60
61 export const ALL_DOWNLOADS: DownloadItem[] = [
62 // ==========================================
63 // Master Offline Download Bundles (2)
64 // ==========================================
65 {
66 id: "bundle-all-manuals",
67 name: "JCRGuru Complete Offline Technical Manuals & Schematics Pack",
68 developer: "JCR Engineering Lab",
69 category: "bundles",
70 categoryLabel: "Master Offline Bundle",
71 description: "Complete offline archive containing all verified hardware teardown guides, motherboard power delivery schematics, BSOD minidump manuals, and thermal PTM7950 application protocols.",
72 fileSize: "48.5 MB ZIP",
73 version: "2026.4 v4",
74 license: "Official Bundle",
75 url: "#download-offline-pack",
76 directDownloadUrl: "#offline-pack",
77 sha256: "8e9f2a41d7c30b8b1e4c9f7a5d2e0b1c3a6f8e4d2c7b5a1f9e3d6c8b4a2f0e1d",
78 platforms: ["Windows", "macOS", "Linux", "Android"],
79 recommendedUse: "Complete offline bench repair kit when internet access is unavailable or on air-gapped customer sites.",
80 icon: FileArchive,
81 featured: true,
82 },
83 {
84 id: "bundle-torque-cheatsheet",
85 name: "Bench Safety Directives & Chassis Screw Torque Reference Matrix",
86 developer: "JCR Bench Safety Group",
87 category: "bundles",
88 categoryLabel: "Printable Matrix",
89 description: "High-resolution printable bench reference chart covering M2/M2.5 screw torque limits (0.2 - 0.5 Nm), ESD dissipation resistance, and thermal pad thickness tolerances.",
90 fileSize: "3.8 MB PDF",
91 version: "Rev 2026.2",
92 license: "Official Bundle",
93 url: "#download-torque-chart",
94 directDownloadUrl: "#torque-chart",
95 sha256: "3b7c9e1f5a8d2c4e6f0b1a3d5e7c9f2a4b6d8e0f1a3c5e7b9d1f3a5c7e9b1d3f",
96 platforms: ["PDF Printable", "Any Device"],
97 recommendedUse: "Laminated bench workstation quick reference for avoiding stripped magnesium screw bosses.",
98 icon: FileText,
99 featured: true,
100 },
101
102 // ==========================================
103 // Diagnostics & Hardware Telemetry (12)
104 // ==========================================
105 {
106 id: "hwinfo64",
107 name: "HWiNFO64 Diagnostics & Sensor Telemetry Suite",
108 developer: "REALiX",
109 category: "diagnostics",
110 categoryLabel: "Hardware Telemetry",
111 description: "Industry-standard real-time hardware telemetry engine. Monitors VRM mosfet temperatures, GPU hotspot deltas, 12VHPWR voltage droop, and CPU package thermal throttling.",
112 fileSize: "12.4 MB",
113 version: "v8.02 Portable",
114 license: "Free",
115 url: "https://www.hwinfo.com/download/",
116 directDownloadUrl: "https://www.hwinfo.com/download/",
117 sha256: "a1c2e3f4b5d6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2",
118 platforms: ["Windows 11 / 10 / 8 / 7 (64-bit)"],
119 recommendedUse: "Verifying thermal dissipation after repasting and isolating VRM voltage instability.",
120 icon: Cpu,
121 featured: true,
122 },
123 {
124 id: "cpuz",
125 name: "CPU-Z Hardware Identification Utility",
126 developer: "CPUID",
127 category: "diagnostics",
128 categoryLabel: "CPU & Memory SPD",
129 description: "Inspects CPU stepping, microcode revisions, instruction set flags, motherboard chipset, and DDR4/DDR5 memory SPD timing profiles.",
130 fileSize: "3.2 MB",
131 version: "v2.09",
132 license: "Free",
133 url: "https://www.cpuid.com/softwares/cpu-z.html",
134 directDownloadUrl: "https://www.cpuid.com/softwares/cpu-z.html",
135 platforms: ["Windows 11 / 10", "Android"],
136 recommendedUse: "Validating dual-channel RAM frequency configuration and checking installed BIOS versions.",
137 icon: Cpu,
138 },
139 {
140 id: "gpuz",
141 name: "TechPowerUp GPU-Z Video Subsystem Inspector",
142 developer: "TechPowerUp",
143 category: "diagnostics",
144 categoryLabel: "GPU & VRAM Analysis",
145 description: "Inspects GPU die architectures, VRAM vendor (Samsung, Micron, SK Hynix), PCIe bus link width validation, and vBIOS ROM extraction.",
146 fileSize: "9.8 MB",
147 version: "v2.58",
148 license: "Free",
149 url: "https://www.techpowerup.com/gpuz/",
150 directDownloadUrl: "https://www.techpowerup.com/gpuz/",
151 platforms: ["Windows 11 / 10"],
152 recommendedUse: "Isolating GPU PCIe lane bottlenecks, thermal junction hotspots, and saving backup vBIOS roms.",
153 icon: Gauge,
154 },
155 {
156 id: "librehw",
157 name: "Libre Hardware Monitor (Open Source)",
158 developer: "LibreHardwareMonitor Community",
159 category: "diagnostics",
160 categoryLabel: "Open Source Sensors",
161 description: "100% free open-source telemetry tool with embedded HTTP web-server for remote bench monitoring and fan RPM tachometer graphs.",
162 fileSize: "8.1 MB",
163 version: "v0.9.3",
164 license: "Open Source",
165 url: "https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/releases",
166 directDownloadUrl: "https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/releases",
167 platforms: ["Windows 11 / 10"],
168 recommendedUse: "Remote test-bench telemetry monitoring via browser without installing heavy commercial suites.",
169 icon: Cpu,
170 },
171 {
172 id: "furmark",
173 name: "FurMark 2 OpenGL / Vulkan GPU Stress & Artifact Tester",
174 developer: "Geeks3D",
175 category: "diagnostics",
176 categoryLabel: "GPU Burn-in & Artifacts",
177 description: "Intensive 3D render stress test generating peak power load to uncover soldered VRAM cracked ball grids, failing MOSFETs, and thermal runaway.",
178 fileSize: "18.2 MB",
179 version: "v2.2.0",
180 license: "Free",
181 url: "https://www.geeks3d.com/furmark/",
182 directDownloadUrl: "https://www.geeks3d.com/furmark/",
183 platforms: ["Windows 11 / 10", "Linux 64-bit"],
184 recommendedUse: "Testing graphics card stability under 100% power limit before finalizing GPU repairs.",
185 icon: Flame,
186 featured: true,
187 },
188 {
189 id: "occt",
190 name: "OCCT (OverClock Checking Tool) All-in-One Power Stress",
191 developer: "OCBASE",
192 category: "diagnostics",
193 categoryLabel: "Hardware Error Checking",
194 description: "Comprehensive hardware stress testing engine for CPU, Linpack, Memory, 3D Adaptive, VRAM, and ATX Power Supply voltage rail stability.",
195 fileSize: "128 MB",
196 version: "v13.1.0",
197 license: "Freemium",
198 url: "https://www.ocbase.com/download",
199 directDownloadUrl: "https://www.ocbase.com/download",
200 platforms: ["Windows 11 / 10 (64-bit)"],
201 recommendedUse: "Isolating failing PSU 12V rails and catching intermittent AVX-512 calculation errors.",
202 icon: Activity,
203 featured: true,
204 },
205 {
206 id: "bluescreenview",
207 name: "BlueScreenView Minidump BSOD Crash Analyzer",
208 developer: "NirSoft",
209 category: "diagnostics",
210 categoryLabel: "BSOD Crash Dump Analysis",
211 description: "Scans all Windows minidump (.dmp) files created during Blue Screen crashes and highlights the faulting driver (.sys) and bugcheck stop codes.",
212 fileSize: "140 KB",
213 version: "v1.55 Portable",
214 license: "Free",
215 url: "https://www.nirsoft.net/utils/blue_screen_view.html",
216 directDownloadUrl: "https://www.nirsoft.net/utils/blue_screen_view.html",
217 platforms: ["Windows 11 / 10 / 8 / 7"],
218 recommendedUse: "Instantly determining whether a BSOD was caused by a bad graphics driver, corrupted RAM, or failing SSD.",
219 icon: ShieldAlert,
220 featured: true,
221 },
222 {
223 id: "whocrashed",
224 name: "WhoCrashed Automated Kernel Crash Dump Analyzer",
225 developer: "Resplendence Software",
226 category: "diagnostics",
227 categoryLabel: "Automated BSOD Analysis",
228 description: "One-click readable diagnostic reports explaining cryptic BSOD stop codes with plain-English suggestions for faulty drivers or memory.",
229 fileSize: "3.5 MB",
230 version: "v3.01 Home Edition",
231 license: "Free",
232 url: "https://www.resplendence.com/whocrashed",
233 directDownloadUrl: "https://www.resplendence.com/whocrashed",
234 platforms: ["Windows 11 / 10 / 8"],
235 recommendedUse: "Quickly communicating crash causes and recommended driver updates to non-technical customers.",
236 icon: Activity,
237 },
238 {
239 id: "coretemp",
240 name: "Core Temp Per-Core CPU Thermals & Power Monitor",
241 developer: "Arthur Liberman",
242 category: "diagnostics",
243 categoryLabel: "Per-Core Thermal Telemetry",
244 description: "Direct Digital Thermal Sensor (DTS) reader displaying real-time temperatures for every individual CPU core along with TjMax distance.",
245 fileSize: "1.2 MB",
246 version: "v1.18.1",
247 license: "Free",
248 url: "https://www.alcpu.com/CoreTemp/",
249 directDownloadUrl: "https://www.alcpu.com/CoreTemp/",
250 platforms: ["Windows 11 / 10 / 8 / 7"],
251 recommendedUse: "Spotting uneven heatsink mounting pressure where one core runs 15°C hotter than adjacent cores.",
252 icon: Thermometer,
253 },
254 {
255 id: "batteryinfoview",
256 name: "BatteryInfoView Laptop Battery Degradation Telemetry",
257 developer: "NirSoft",
258 category: "diagnostics",
259 categoryLabel: "Battery Health & Wear",
260 description: "Reads laptop battery internal smart registers: designed capacity, full charge capacity, charge rate (mW), cycle count, and wear percentage.",
261 fileSize: "165 KB Portable",
262 version: "v1.25",
263 license: "Free",
264 url: "https://www.nirsoft.net/utils/battery_information_view.html",
265 directDownloadUrl: "https://www.nirsoft.net/utils/battery_information_view.html",
266 platforms: ["Windows 11 / 10 / 8 / 7"],
267 recommendedUse: "Checking battery cycle degradation and verifying genuine cell capacity before battery replacement.",
268 icon: BatteryCharging,
269 },
270 {
271 id: "ipdt",
272 name: "Intel Processor Diagnostic Tool (IPDT 64-bit)",
273 developer: "Intel Corporation",
274 category: "diagnostics",
275 categoryLabel: "Intel CPU Validation",
276 description: "Official Intel manufacturing diagnostic testing instruction sets, brand strings, floating point math, cache memory, and thermal stress.",
277 fileSize: "22.5 MB",
278 version: "v4.1.9",
279 license: "Official Utility",
280 url: "https://www.intel.com/content/www/us/en/download/15951/intel-processor-diagnostic-tool.html",
281 directDownloadUrl: "https://www.intel.com/content/www/us/en/download/15951/intel-processor-diagnostic-tool.html",
282 platforms: ["Windows 11 / 10 64-bit"],
283 recommendedUse: "Verifying warranty RMA claims for defective Intel desktop and laptop CPUs.",
284 icon: Cpu,
285 },
286 {
287 id: "ryzenmaster",
288 name: "AMD Ryzen Master Processor Telemetry & Tuning",
289 developer: "AMD",
290 category: "diagnostics",
291 categoryLabel: "AMD Processor Telemetry",
292 description: "Official AMD software for monitoring per-core clocks, SoC voltage, Infinity Fabric clock (FCLK), and Curve Optimizer per-core offsets.",
293 fileSize: "185 MB",
294 version: "v2.13.0",
295 license: "Official Utility",
296 url: "https://www.amd.com/en/technologies/ryzen-master",
297 directDownloadUrl: "https://www.amd.com/en/technologies/ryzen-master",
298 platforms: ["Windows 11 / 10 64-bit"],
299 recommendedUse: "Diagnosing AM4/AM5 memory training issues and fine-tuning AMD CPU power limits.",
300 icon: Cpu,
301 },
302
303 // ==========================================
304 // Storage & Disk Cloning Utilities (10)
305 // ==========================================
306 {
307 id: "crystaldiskinfo",
308 name: "CrystalDiskInfo S.M.A.R.T. Drive Health Monitor",
309 developer: "Hiyohiyo / Crystal Dew World",
310 category: "storage",
311 categoryLabel: "Disk Health & S.M.A.R.T.",
312 description: "Real-time S.M.A.R.T. health scoring, 0E bad sector reallocation tracking, NVMe temperature alert thresholds, and total host writes calculation.",
313 fileSize: "6.5 MB",
314 version: "v9.3.2 Standard",
315 license: "Open Source",
316 url: "https://crystalmark.info/en/software/crystaldiskinfo/",
317 directDownloadUrl: "https://crystalmark.info/en/software/crystaldiskinfo/",
318 sha256: "9f8e7d6c5b4a39281701f2e3d4c5b6a7890123456789abcdef0123456789abcd",
319 platforms: ["Windows 11 / 10"],
320 recommendedUse: "Immediate triage to determine if drive degradation is causing system freezes, BSODs, or slow boots.",
321 icon: HardDrive,
322 featured: true,
323 },
324 {
325 id: "crystaldiskmark",
326 name: "CrystalDiskMark Storage Speed Benchmark",
327 developer: "Crystal Dew World",
328 category: "storage",
329 categoryLabel: "Disk Throughput Benchmark",
330 description: "Measures sequential and random 4K IOPS read/write throughput (Q8T1, Q32T1) with dedicated NVMe real-world testing profiles.",
331 fileSize: "5.1 MB",
332 version: "v8.0.5",
333 license: "Open Source",
334 url: "https://crystalmark.info/en/software/crystaldiskmark/",
335 directDownloadUrl: "https://crystalmark.info/en/software/crystaldiskmark/",
336 platforms: ["Windows 11 / 10"],
337 recommendedUse: "Verifying newly installed PCIe Gen4/Gen5 SSDs achieve full rated speeds without thermal throttling.",
338 icon: HardDrive,
339 },
340 {
341 id: "clonezilla",
342 name: "Clonezilla Live Bare-Metal Disk Cloning ISO",
343 developer: "Steven Shiau / NCHC Lab",
344 category: "storage",
345 categoryLabel: "Bare-Metal Disk Cloning",
346 description: "Sector-by-sector drive cloning and partition imaging via bootable Linux USB. Bypasses damaged Windows file systems to rescue user data.",
347 fileSize: "410 MB ISO",
348 version: "v3.1.2-22",
349 license: "Open Source",
350 url: "https://clonezilla.org/downloads.php",
351 directDownloadUrl: "https://clonezilla.org/downloads.php",
352 platforms: ["Bootable USB (All OS / UEFI / BIOS)"],
353 recommendedUse: "Cloning failing HDDs or NVMe drives to fresh SSDs without booting into an infected or unstable OS.",
354 icon: Disc,
355 featured: true,
356 },
357 {
358 id: "macrium-reflect",
359 name: "Macrium Reflect Rescue Media & Drive Imager",
360 developer: "Paramount Software UK",
361 category: "storage",
362 categoryLabel: "Live OS Partition Cloning",
363 description: "Live hot-cloning of active Windows installations with automatic partition expansion and WinPE USB rescue environment creation.",
364 fileSize: "180 MB",
365 version: "v8.1 Free",
366 license: "Freemium",
367 url: "https://www.macrium.com/reflectfree",
368 directDownloadUrl: "https://www.macrium.com/reflectfree",
369 platforms: ["Windows 11 / 10"],
370 recommendedUse: "Migrating active OS installs to larger M.2 NVMe drives while keeping user files and license intact.",
371 icon: HardDrive,
372 },
373 {
374 id: "victoria-ssd",
375 name: "Victoria SSD/HDD Low-Level Surface Diagnostic",
376 developer: "Sergey Kazansky",
377 category: "storage",
378 categoryLabel: "Surface Sector Repair",
379 description: "Legendary technician low-level surface analyzer showing millisecond block response times, remap/refresh bad sector repairs, and raw controller commands.",
380 fileSize: "4.8 MB Portable",
381 version: "v5.37",
382 license: "Free",
383 url: "https://hdd.by/victoria/",
384 directDownloadUrl: "https://hdd.by/victoria/",
385 platforms: ["Windows 11 / 10 / 8 / 7"],
386 recommendedUse: "Isolating slow degradation blocks on SATA SSDs and HDDs before permanent unrecoverable failure.",
387 icon: HardDrive,
388 featured: true,
389 },
390 {
391 id: "asssd",
392 name: "AS SSD Benchmark Storage Testing Tool",
393 developer: "Alexey Schepeljanski",
394 category: "storage",
395 categoryLabel: "4K Alignment & IOPS",
396 description: "Checks 4K partition alignment (e.g. 1024K OK) and AHCI/NVMe storahci driver mode while testing 4K-64Thrd read/write access times.",
397 fileSize: "1.8 MB",
398 version: "v2.0.7316",
399 license: "Free",
400 url: "https://www.alex-is.de/PHP/fusion/downloads.php",
401 directDownloadUrl: "https://www.alex-is.de/PHP/fusion/downloads.php",
402 platforms: ["Windows 11 / 10"],
403 recommendedUse: "Verifying 4K partition alignment after performing manual partition resizing or disk cloning.",
404 icon: Gauge,
405 },
406 {
407 id: "testdisk",
408 name: "TestDisk & PhotoRec Partition Recovery Suite",
409 developer: "CGSecurity / Christophe Grenier",
410 category: "storage",
411 categoryLabel: "Partition & File Carving",
412 description: "Open-source deep partition table repair tool for recovering deleted partitions, fixing damaged MBR/GPT structures, and carving raw files from formatted drives.",
413 fileSize: "32.5 MB",
414 version: "v7.2",
415 license: "Open Source",
416 url: "https://www.cgsecurity.org/wiki/TestDisk_Download",
417 directDownloadUrl: "https://www.cgsecurity.org/wiki/TestDisk_Download",
418 platforms: ["Windows", "Linux", "macOS"],
419 recommendedUse: "Restoring corrupted partition tables when a drive shows as unallocated RAW space in Disk Management.",
420 icon: Wrench,
421 featured: true,
422 },
423 {
424 id: "treesize",
425 name: "TreeSize Free Master File Table Disk Space Hunter",
426 developer: "JAM Software",
427 category: "storage",
428 categoryLabel: "Storage Bloat Visualizer",
429 description: "Scans Master File Tables (MFT) in seconds to pinpoint exact folders holding huge hidden temp files, Windows.old directories, or crash dump logs.",
430 fileSize: "14.2 MB",
431 version: "v4.7.3",
432 license: "Free",
433 url: "https://www.jam-software.com/treesize_free",
434 directDownloadUrl: "https://www.jam-software.com/treesize_free",
435 platforms: ["Windows 11 / 10 / 8"],
436 recommendedUse: "Instantly freeing up 50GB+ of storage on nearly full customer SSDs during tune-ups.",
437 icon: HardDrive,
438 },
439 {
440 id: "sdcardformatter",
441 name: "SD Card Formatter Official Flash Storage Restorer",
442 developer: "SD Association / Tuxera",
443 category: "storage",
444 categoryLabel: "Flash Memory Restorer",
445 description: "Compliant formatting utility that adheres strictly to SD/SDHC/SDXC specifications, rebuilding factory flash blocks and partition layouts.",
446 fileSize: "7.4 MB",
447 version: "v5.0.3",
448 license: "Official Utility",
449 url: "https://www.sdcard.org/downloads/formatter/",
450 directDownloadUrl: "https://www.sdcard.org/downloads/formatter/",
451 platforms: ["Windows 11 / 10", "macOS"],
452 recommendedUse: "Fixing write-protected or unrecognized SD and microSD cards used in camera or boot setups.",
453 icon: Disc,
454 },
455 {
456 id: "hdtune",
457 name: "HD Tune Pro Drive Diagnostic & Transfer Bench",
458 developer: "EFD Software",
459 category: "storage",
460 categoryLabel: "Sector Scan & Transfer",
461 description: "Fast surface error scanning, S.M.A.R.T. health logging, burst rate measurement, and folder usage statistical breakdowns.",
462 fileSize: "2.3 MB",
463 version: "v5.75",
464 license: "Freemium",
465 url: "https://www.hdtune.com/download.html",
466 directDownloadUrl: "https://www.hdtune.com/download.html",
467 platforms: ["Windows 11 / 10 / 8 / 7"],
468 recommendedUse: "Visual bad sector mapping and testing sustainable continuous sequential write cache size.",
469 icon: HardDrive,
470 },
471
472 // ==========================================
473 // Memory & CPU Stress Testing (6)
474 // ==========================================
475 {
476 id: "memtest86",
477 name: "PassMark MemTest86 Standalone UEFI Diagnostic",
478 developer: "PassMark Software",
479 category: "memory",
480 categoryLabel: "Memory Fault Isolation",
481 description: "Gold standard standalone memory diagnostic. Boots directly into UEFI to stress RAM across 13 rigorous multi-threaded bit-flip detection tests.",
482 fileSize: "14.2 MB USB Image",
483 version: "v10.7 UEFI",
484 license: "Free",
485 url: "https://www.memtest86.com/download.html",
486 directDownloadUrl: "https://www.memtest86.com/download.html",
487 sha256: "5d4c3b2a1e0f9876543210fedcba9876543210abcdef1234567890abcdef1234",
488 platforms: ["Bootable USB (UEFI x64 / ARM64)"],
489 recommendedUse: "Proving intermittent memory faults and isolating failing SODIMM sticks before replacing motherboards.",
490 icon: Layers,
491 featured: true,
492 },
493 {
494 id: "memtest86plus",
495 name: "MemTest86+ Open Source UEFI/BIOS RAM Diagnostic",
496 developer: "Martin Whitaker & Samuel Demeulemeester",
497 category: "memory",
498 categoryLabel: "Open Source Memory Tester",
499 description: "100% free open-source RAM tester with native support for DDR5, DDR4, ECC reporting, and modern AMD Zen/Intel Core memory controllers.",
500 fileSize: "4.6 MB ISO / USB",
501 version: "v7.00",
502 license: "Open Source",
503 url: "https://www.memtest.org/",
504 directDownloadUrl: "https://www.memtest.org/",
505 platforms: ["Bootable USB / ISO (UEFI / Legacy BIOS)"],
506 recommendedUse: "Quick bootable memory triage on both legacy BIOS machines and brand-new DDR5 systems.",
507 icon: Layers,
508 },
509 {
510 id: "testmem5",
511 name: "TestMem5 Extreme Memory Stability Profile (TM5)",
512 developer: "Serj / Anta777",
513 category: "memory",
514 categoryLabel: "DDR5 Timing Validation",
515 description: "Aggressive Windows-based memory stress testing using Anta777 Extreme configurations to quickly trigger timing errors.",
516 fileSize: "2.1 MB",
517 version: "v0.12 Anta777",
518 license: "Free",
519 url: "https://github.com/integralfx/MemTestHelper/blob/oc-guide/DDR4%20OC%20Guide.md#testmem5",
520 directDownloadUrl: "https://github.com/integralfx/MemTestHelper",
521 platforms: ["Windows 11 / 10"],
522 recommendedUse: "Validating custom DDR5 XMP/EXPO timings and finding memory instability in under 15 minutes.",
523 icon: Layers,
524 },
525 {
526 id: "prime95",
527 name: "Prime95 Small FFTs CPU/VRM Thermal Torture",
528 developer: "GIMPS / George Woltman",
529 category: "memory",
530 categoryLabel: "CPU & VRM Torture Test",
531 description: "Maximum heat generation stress test executing in-place Small FFTs to test CPU cooling capacity and VRM current delivery.",
532 fileSize: "11.5 MB",
533 version: "v30.19 build 20",
534 license: "Free",
535 url: "https://www.mersenne.org/download/",
536 directDownloadUrl: "https://www.mersenne.org/download/",
537 platforms: ["Windows 11 / 10", "Linux", "macOS"],
538 recommendedUse: "Testing heatsink contact pressure and verifying that thermal throttling safeguards engage properly.",
539 icon: Cpu,
540 },
541 {
542 id: "quickcpu",
543 name: "Quick CPU Frequency & Core Parking Optimizer",
544 developer: "CoderBag",
545 category: "memory",
546 categoryLabel: "CPU Power & Core Governor",
547 description: "Real-time governor to adjust CPU core parking percentage, Turbo Boost index, frequency scaling, and VRM power state profiles.",
548 fileSize: "28.5 MB",
549 version: "v4.9.4",
550 license: "Free",
551 url: "https://coderbag.com/product/quick-cpu",
552 directDownloadUrl: "https://coderbag.com/product/quick-cpu",
553 platforms: ["Windows 11 / 10 (64-bit)"],
554 recommendedUse: "Unparking stuck low-power CPU cores on laptops experiencing micro-stuttering in Windows.",
555 icon: Zap,
556 },
557 {
558 id: "linpack",
559 name: "Linpack Xtreme High-Intensity AVX Torture",
560 developer: "David Huang",
561 category: "memory",
562 categoryLabel: "AVX Math Stress Test",
563 description: "Brutal math solver algorithm leveraging AVX2 and AVX-512 instructions to force computational bit-flips and check VRM power droop.",
564 fileSize: "14.8 MB",
565 version: "v1.1.5",
566 license: "Free",
567 url: "https://www.techpowerup.com/download/linpack-xtreme/",
568 directDownloadUrl: "https://www.techpowerup.com/download/linpack-xtreme/",
569 platforms: ["Windows 11 / 10", "Linux"],
570 recommendedUse: "Verifying absolute workstation and server computing stability after CPU/cooler replacements.",
571 icon: Activity,
572 },
573
574 // ==========================================
575 // Bootable Media & OS Recovery Builders (6)
576 // ==========================================
577 {
578 id: "ventoy",
579 name: "Ventoy Multi-Boot USB ISO Loader",
580 developer: "longpanda",
581 category: "bootable",
582 categoryLabel: "Multi-ISO USB Builder",
583 description: "Format once, copy multiple ISOs. Boot Windows, Linux, MemTest86, and Clonezilla directly from a single flash drive without reformatting.",
584 fileSize: "16.8 MB",
585 version: "v1.0.99",
586 license: "Open Source",
587 url: "https://www.ventoy.net/en/download.html",
588 directDownloadUrl: "https://www.ventoy.net/en/download.html",
589 sha256: "7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b",
590 platforms: ["Windows 11 / 10 / 8", "Linux"],
591 recommendedUse: "Creating the ultimate all-in-one technician USB containing all recovery ISOs on a single drive.",
592 icon: Terminal,
593 featured: true,
594 },
595 {
596 id: "rufus",
597 name: "Rufus Bootable USB & Windows 11 Bypass Creator",
598 developer: "Pete Batard",
599 category: "bootable",
600 categoryLabel: "Fast Bootable USB Creator",
601 description: "Lightweight utility to format and create bootable USB flash drives. Automatically bypasses Windows 11 TPM, Secure Boot, and Microsoft Account requirements.",
602 fileSize: "1.7 MB",
603 version: "v4.5 Standalone",
604 license: "Open Source",
605 url: "https://rufus.ie/en/",
606 directDownloadUrl: "https://rufus.ie/en/",
607 sha256: "2f4e6d8c0b2a4e6f8a0c2e4b6d8f0a2c4e6b8d0f2a4c6e8b0d2f4a6c8e0b2d4f",
608 platforms: ["Windows 11 / 10 / 8 / 7"],
609 recommendedUse: "Creating clean Windows 11 installation drives on older unsupported laptop/desktop hardware.",
610 icon: Terminal,
611 featured: true,
612 },
613 {
614 id: "hirensbootcd",
615 name: "Hiren's BootCD PE x64 Emergency Rescue Environment",
616 developer: "HBCDP Team",
617 category: "bootable",
618 categoryLabel: "WinPE Emergency OS",
619 description: "Windows 11 PE pre-installed emergency rescue environment with over 100 diagnostic utilities, password reset tools, and hardware drivers.",
620 fileSize: "3.1 GB ISO",
621 version: "v1.0.8 PE x64",
622 license: "Free",
623 url: "https://www.hirensbootcd.org/download/",
624 directDownloadUrl: "https://www.hirensbootcd.org/download/",
625 platforms: ["Bootable USB (UEFI x64)"],
626 recommendedUse: "Rescuing unbootable systems, resetting forgotten local Windows passwords, and testing offline hardware.",
627 icon: Disc,
628 featured: true,
629 },
630 {
631 id: "balenaetcher",
632 name: "BalenaEtcher Safe ISO & Image Flasher",
633 developer: "Balena",
634 category: "bootable",
635 categoryLabel: "Validated Image Flashing",
636 description: "Safe, visual image flasher with automatic drive selection validation that prevents accidental formatting of primary hard drives.",
637 fileSize: "148 MB",
638 version: "v1.18.11",
639 license: "Open Source",
640 url: "https://etcher.balena.io/",
641 directDownloadUrl: "https://etcher.balena.io/",
642 platforms: ["Windows 11 / 10", "macOS", "Linux"],
643 recommendedUse: "Writing Linux, Raspberry Pi OS, or custom recovery images safely without risk to main system drives.",
644 icon: Disc,
645 },
646 {
647 id: "systemrescue",
648 name: "SystemRescue Bootable Linux Admin & Recovery CD",
649 developer: "SystemRescue Team",
650 category: "bootable",
651 categoryLabel: "Linux Rescue Environment",
652 description: "Arch Linux-based toolkit featuring GParted, ddrescue, sfdisk, TestDisk, rsync, and fsck file system repair utilities.",
653 fileSize: "840 MB ISO",
654 version: "v11.01",
655 license: "Open Source",
656 url: "https://www.system-rescue.org/Download/",
657 directDownloadUrl: "https://www.system-rescue.org/Download/",
658 platforms: ["Bootable USB / CD (x86_64)"],
659 recommendedUse: "Repairing corrupted Linux bootloaders, resizing active partitions, and creating raw ddrescue drive images.",
660 icon: Terminal,
661 },
662 {
663 id: "unetbootin",
664 name: "UNetbootin Cross-Platform Live USB Creator",
665 developer: "Geza Kovacs",
666 category: "bootable",
667 categoryLabel: "Live USB Distribution Builder",
668 description: "Creates bootable Live USB drives for Ubuntu, Fedora, Debian, and other Linux distributions automatically downloading ISO files on demand.",
669 fileSize: "4.8 MB",
670 version: "v702",
671 license: "Open Source",
672 url: "https://unetbootin.github.io/",
673 directDownloadUrl: "https://unetbootin.github.io/",
674 platforms: ["Windows 11 / 10", "macOS", "Linux"],
675 recommendedUse: "Quickly preparing Linux test environments on customer laptops to verify non-Windows hardware functionality.",
676 icon: Terminal,
677 },
678
679 // ==========================================
680 // Driver Cleaners & OS Repair (6)
681 // ==========================================
682 {
683 id: "ddu",
684 name: "Display Driver Uninstaller (DDU) Deep Clean Tool",
685 developer: "Wagnardsoft",
686 category: "drivers",
687 categoryLabel: "Driver Registry Purge",
688 description: "Removes AMD, NVIDIA, and Intel graphics/audio drivers down to registry keys, leftover files, and DriverStore packages to fix black screens and GPU crashes.",
689 fileSize: "1.4 MB Portable",
690 version: "v18.0.7.6",
691 license: "Free",
692 url: "https://www.wagnardsoft.com/display-driver-uninstaller-ddu-",
693 directDownloadUrl: "https://www.wagnardsoft.com/display-driver-uninstaller-ddu-",
694 sha256: "4b6d8e0f2a4c6e8b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a2c4e6b",
695 platforms: ["Windows 11 / 10 / 8 / 7"],
696 recommendedUse: "Always run in Safe Mode before replacing a graphics card or solving stubborn video driver BSODs.",
697 icon: FileCode,
698 featured: true,
699 },
700 {
701 id: "bcuninstaller",
702 name: "Bulk Crap Uninstaller (BCUninstaller)",
703 developer: "Marcin Szeniak",
704 category: "drivers",
705 categoryLabel: "Bloatware & Leftovers Purge",
706 description: "Fast batch uninstaller that removes OEM bloatware, hidden telemetry software, and orphaned registry entries without user interaction.",
707 fileSize: "18.5 MB",
708 version: "v5.8.1",
709 license: "Open Source",
710 url: "https://www.bcuninstaller.com/",
711 directDownloadUrl: "https://www.bcuninstaller.com/",
712 platforms: ["Windows 11 / 10 / 8 / 7"],
713 recommendedUse: "Cleaning bloated OEM pre-installs on newly repaired customer machines in batch.",
714 icon: FileCode,
715 featured: true,
716 },
717 {
718 id: "sdio",
719 name: "Snappy Driver Installer Origin (SDIO Offline)",
720 developer: "Glenn Delahoy",
721 category: "drivers",
722 categoryLabel: "Offline Driver Installer",
723 description: "Clean, ad-free open-source driver installer with offline database matching exact hardware device IDs and INF driver packages.",
724 fileSize: "5.2 MB (Tool) / Offline Pack",
725 version: "v1.12.11",
726 license: "Open Source",
727 url: "https://www.glenn.delahoy.com/snappy-driver-installer-origin/",
728 directDownloadUrl: "https://www.glenn.delahoy.com/snappy-driver-installer-origin/",
729 platforms: ["Windows 11 / 10 / 8 / 7 (32/64-bit)"],
730 recommendedUse: "Installing missing Ethernet, Wi-Fi, and chipset drivers on fresh Windows installs without an internet connection.",
731 icon: Wrench,
732 featured: true,
733 },
734 {
735 id: "revouninstaller",
736 name: "Revo Uninstaller Free Deep Registry Cleaner",
737 developer: "VS Revo Group",
738 category: "drivers",
739 categoryLabel: "Forced Uninstall & Leftover Hunter",
740 description: "Monitors standard uninstallers and scans the Windows Registry and file system for leftover files and corrupted installation keys.",
741 fileSize: "16.2 MB",
742 version: "v2.4.8",
743 license: "Freemium",
744 url: "https://www.revouninstaller.com/products/revo-uninstaller-free/",
745 directDownloadUrl: "https://www.revouninstaller.com/products/revo-uninstaller-free/",
746 platforms: ["Windows 11 / 10 / 8 / 7"],
747 recommendedUse: "Completely eliminating anti-virus residue and broken software suites that fail normal uninstallation.",
748 icon: FileCode,
749 },
750 {
751 id: "geekuninstaller",
752 name: "Geek Uninstaller Fast Force Removal Tool",
753 developer: "Thomas Koen",
754 category: "drivers",
755 categoryLabel: "Lightweight Force Removal",
756 description: "Compact single-binary executable with native 64-bit support and Forced Removal mode to nuke stubborn, corrupted applications.",
757 fileSize: "2.8 MB Standalone",
758 version: "v1.5.2",
759 license: "Free",
760 url: "https://geekuninstaller.com/",
761 directDownloadUrl: "https://geekuninstaller.com/",
762 platforms: ["Windows 11 / 10 / 8 / 7"],
763 recommendedUse: "Carrying in a portable technician USB toolkit for instant application cleanup without installation.",
764 icon: Zap,
765 },
766 {
767 id: "driverstoreexplorer",
768 name: "Driver Store Explorer (RAPR) Driver Purge",
769 developer: "lostindark",
770 category: "drivers",
771 categoryLabel: "DriverStore Cleanup",
772 description: "Enumerates, audits, and force-deletes obsolete, duplicate staging driver packages (.inf) from the system DriverStore repository.",
773 fileSize: "1.5 MB Portable",
774 version: "v0.11.92",
775 license: "Open Source",
776 url: "https://github.com/lostindark/DriverStoreExplorer/releases",
777 directDownloadUrl: "https://github.com/lostindark/DriverStoreExplorer/releases",
778 platforms: ["Windows 11 / 10"],
779 recommendedUse: "Recovering 10GB+ of drive space and removing conflicting legacy graphics/printer drivers.",
780 icon: HardDrive,
781 },
782
783 // ==========================================
784 // Thermals, Fan Control & Power (5)
785 // ==========================================
786 {
787 id: "fancontrol",
788 name: "Fan Control (Rem0o) Custom Curve Utility",
789 developer: "Rem0o",
790 category: "thermals",
791 categoryLabel: "Thermal & Fan Curve Tuning",
792 description: "Highly customizable fan control software combining CPU, GPU, motherboard, and NVMe temperatures into mixed custom response curves.",
793 fileSize: "6.9 MB",
794 version: "V188 Portable",
795 license: "Free",
796 url: "https://getfancontrol.com/",
797 directDownloadUrl: "https://getfancontrol.com/",
798 platforms: ["Windows 11 / 10"],
799 recommendedUse: "Silencing noisy laptop/desktop fans and setting aggressive ramp-up profiles for gaming rigs.",
800 icon: Thermometer,
801 featured: true,
802 },
803 {
804 id: "throttlestop",
805 name: "ThrottleStop Intel CPU Undervolting & Power Limit Editor",
806 developer: "Kevin Glynn (Unclewebb)",
807 category: "thermals",
808 categoryLabel: "CPU Power & Thermal Tuning",
809 description: "Overrides aggressive OEM thermal throttling limits (BD PROCHOT), adjusts PL1/PL2 power limits, and undervolts compatible Intel CPUs.",
810 fileSize: "2.4 MB",
811 version: "v9.6",
812 license: "Free",
813 url: "https://www.techpowerup.com/download/techpowerup-throttlestop/",
814 directDownloadUrl: "https://www.techpowerup.com/download/techpowerup-throttlestop/",
815 platforms: ["Windows 11 / 10"],
816 recommendedUse: "Disabling stuck BD PROCHOT sensor flags on laptops running at locked 0.79 GHz frequencies.",
817 icon: Zap,
818 featured: true,
819 },
820 {
821 id: "msiafterburner",
822 name: "MSI Afterburner & RivaTuner (RTSS) GPU Suite",
823 developer: "MSI / Guru3D (Alexey Nicolaychuk)",
824 category: "thermals",
825 categoryLabel: "GPU Voltage & Fan Curve",
826 description: "World's most recognized graphics card utility. Custom V/F curve voltage tuning, power target adjustments, and in-game RTSS telemetry overlay.",
827 fileSize: "52.8 MB",
828 version: "v4.6.5 Final",
829 license: "Free",
830 url: "https://www.msi.com/Landing/afterburner/graphics-cards",
831 directDownloadUrl: "https://www.msi.com/Landing/afterburner/graphics-cards",
832 platforms: ["Windows 11 / 10 (64-bit)"],
833 recommendedUse: "Undervolting hot laptop GPUs to drop temperatures by 10-15°C without performance loss.",
834 icon: Gauge,
835 featured: true,
836 },
837 {
838 id: "hwmonitor",
839 name: "CPUID HWMonitor Sensor Telemetry",
840 developer: "CPUID",
841 category: "thermals",
842 categoryLabel: "Real-time Voltage & Thermals",
843 description: "Lightweight hardware monitor reading PC systems main health sensors: voltages, temperatures, power consumption, and fan speeds (min/max).",
844 fileSize: "1.9 MB",
845 version: "v1.53",
846 license: "Free",
847 url: "https://www.cpuid.com/softwares/hwmonitor.html",
848 directDownloadUrl: "https://www.cpuid.com/softwares/hwmonitor.html",
849 platforms: ["Windows 11 / 10 / 8 / 7"],
850 recommendedUse: "Quick sanity check on CPU/GPU thermal ceilings and chassis fan tachometer RPMs.",
851 icon: Thermometer,
852 },
853 {
854 id: "gputweak3",
855 name: "ASUS GPU Tweak III Tuning Suite",
856 developer: "ASUS ROG",
857 category: "thermals",
858 categoryLabel: "ASUS GPU Thermal Control",
859 description: "Thermal target governor, 0dB fan threshold management, and profile automation based on foreground application launch.",
860 fileSize: "98.5 MB",
861 version: "v1.7.5.0",
862 license: "Official Utility",
863 url: "https://www.asus.com/campaign/GPU-Tweak-III/",
864 directDownloadUrl: "https://www.asus.com/campaign/GPU-Tweak-III/",
865 platforms: ["Windows 11 / 10 64-bit"],
866 recommendedUse: "Managing thermal targets and RGB synchronization on ASUS ROG / TUF graphics cards.",
867 icon: Gauge,
868 },
869
870 // ==========================================
871 // System Internals, Network & Security (7)
872 // ==========================================
873 {
874 id: "sysinternals-autoruns",
875 name: "Sysinternals Autoruns Startup & Hook Auditor",
876 developer: "Microsoft Sysinternals (Mark Russinovich)",
877 category: "internals",
878 categoryLabel: "Startup & Kernel Hook Audit",
879 description: "Most comprehensive startup monitor showing every executable configured to run during system boot, login, Explorer shell extensions, and browser helper objects.",
880 fileSize: "3.7 MB Portable",
881 version: "v14.11",
882 license: "Official Utility",
883 url: "https://learn.microsoft.com/en-us/sysinternals/downloads/autoruns",
884 directDownloadUrl: "https://learn.microsoft.com/en-us/sysinternals/downloads/autoruns",
885 platforms: ["Windows 11 / 10 / 8 / 7"],
886 recommendedUse: "Hunting down persistent malware, adware registry keys, and lingering startup errors.",
887 icon: ShieldCheck,
888 featured: true,
889 },
890 {
891 id: "sysinternals-procexp",
892 name: "Sysinternals Process Explorer Advanced Task Manager",
893 developer: "Microsoft Sysinternals",
894 category: "internals",
895 categoryLabel: "Process & Handle Inspector",
896 description: "Advanced Task Manager alternative showing loaded DLLs, open file handles, GPU memory allocation, and integrated VirusTotal hash checking.",
897 fileSize: "5.2 MB Portable",
898 version: "v17.06",
899 license: "Official Utility",
900 url: "https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer",
901 directDownloadUrl: "https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer",
902 platforms: ["Windows 11 / 10 / 8 / 7"],
903 recommendedUse: "Unlocking files that are held open by locked processes and identifying high-CPU background threads.",
904 icon: Activity,
905 featured: true,
906 },
907 {
908 id: "sysinternals-tcpview",
909 name: "Sysinternals TCPView Active Network Socket Monitor",
910 developer: "Microsoft Sysinternals",
911 category: "internals",
912 categoryLabel: "Network Socket Monitor",
913 description: "Real-time list of all TCP and UDP endpoints on the system, resolving remote IP addresses to domain names and showing transmitted packet counts.",
914 fileSize: "1.8 MB",
915 version: "v4.19",
916 license: "Official Utility",
917 url: "https://learn.microsoft.com/en-us/sysinternals/downloads/tcpview",
918 directDownloadUrl: "https://learn.microsoft.com/en-us/sysinternals/downloads/tcpview",
919 platforms: ["Windows 11 / 10 / 8 / 7"],
920 recommendedUse: "Tracking down rogue applications or suspicious network connections sending traffic in the background.",
921 icon: Network,
922 },
923 {
924 id: "wireshark",
925 name: "Wireshark Network Protocol & Packet Analyzer",
926 developer: "Wireshark Foundation",
927 category: "internals",
928 categoryLabel: "Packet Capture & Protocol Inspection",
929 description: "The world's foremost network packet analyzer. Captures live traffic to troubleshoot DHCP failures, DNS timeouts, and Ethernet link negotiation drops.",
930 fileSize: "82.4 MB",
931 version: "v4.2.4",
932 license: "Open Source",
933 url: "https://www.wireshark.org/download.html",
934 directDownloadUrl: "https://www.wireshark.org/download.html",
935 platforms: ["Windows 11 / 10", "macOS", "Linux"],
936 recommendedUse: "Diagnosing intermittent LAN drops and validating DHCP server handshakes on repaired NICs.",
937 icon: Radio,
938 featured: true,
939 },
940 {
941 id: "angryip",
942 name: "Angry IP Scanner Multithreaded LAN Scanner",
943 developer: "Anton Keks",
944 category: "internals",
945 categoryLabel: "Fast Network IP Scanner",
946 description: "Ultra-fast multithreaded IP address and port scanner. Finds active devices, NetBIOS info, MAC addresses, and open ports on local subnets.",
947 fileSize: "4.1 MB",
948 version: "v3.9.1",
949 license: "Open Source",
950 url: "https://angryip.org/download/",
951 directDownloadUrl: "https://angryip.org/download/",
952 platforms: ["Windows", "macOS", "Linux"],
953 recommendedUse: "Locating network printers, NAS storage, and router management gateways on the bench.",
954 icon: Network,
955 },
956 {
957 id: "putty",
958 name: "PuTTY SSH, Telnet & Serial COM Console",
959 developer: "Simon Tatham",
960 category: "internals",
961 categoryLabel: "Serial COM Port Console",
962 description: "Versatile terminal emulator for connecting to serial COM ports on routers, switches, and motherboard UART debugging interfaces.",
963 fileSize: "3.5 MB",
964 version: "v0.81",
965 license: "Open Source",
966 url: "https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html",
967 directDownloadUrl: "https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html",
968 platforms: ["Windows 11 / 10 / 8", "Linux"],
969 recommendedUse: "Accessing serial console logs during BIOS/UEFI recovery and network switch setup.",
970 icon: Terminal,
971 },
972 {
973 id: "sevenzip",
974 name: "7-Zip High Compression Archive Extractor",
975 developer: "Igor Pavlov",
976 category: "internals",
977 categoryLabel: "Archive & Firmware Extraction",
978 description: "Essential compression tool supporting 7z, XZ, BZIP2, GZIP, TAR, ZIP, WIM, ISO, and RAR unpacks with high compression LZMA2 algorithms.",
979 fileSize: "1.6 MB",
980 version: "v24.05",
981 license: "Open Source",
982 url: "https://www.7-zip.org/download.html",
983 directDownloadUrl: "https://www.7-zip.org/download.html",
984 platforms: ["Windows 11 / 10 / 8 / 7 (32/64-bit/ARM64)"],
985 recommendedUse: "Extracting OEM BIOS update executables (.exe) to isolate raw .bin / .cap ROM files for programmer flashing.",
986 icon: FileArchive,
987 featured: true,
988 }
989 ];
990
991 export default function TechnicianDownloadHub() {
992 const { toast } = useToast();
993 const [searchQuery, setSearchQuery] = useState("");
994 const [selectedTab, setSelectedTab] = useState("all");
995 const [copiedId, setCopiedId] = useState<string | null>(null);
996
997 // Memoize category tab counts in a single fast pass O(N)
998 const categoryCounts = useMemo(() => {
999 const counts: Record<string, number> = {
1000 all: ALL_DOWNLOADS.length,
1001 bundles: 0,
1002 diagnostics: 0,
1003 storage: 0,
1004 memory: 0,
1005 bootable: 0,
1006 drivers: 0,
1007 thermals: 0,
1008 internals: 0,
1009 };
1010 for (let i = 0; i < ALL_DOWNLOADS.length; i++) {
1011 const cat = ALL_DOWNLOADS[i].category;
1012 if (counts[cat] !== undefined) {
1013 counts[cat]++;
1014 }
1015 }
1016 return counts;
1017 }, []);
1018
1019 const categoryTabs = useMemo(() => [
1020 { id: "all", label: "All Downloads", icon: ArrowDownToLine, count: categoryCounts.all },
1021 { id: "bundles", label: "Offline Packs", icon: FileArchive, count: categoryCounts.bundles },
1022 { id: "diagnostics", label: "Diagnostics", icon: Cpu, count: categoryCounts.diagnostics },
1023 { id: "storage", label: "Storage & Clone", icon: HardDrive, count: categoryCounts.storage },
1024 { id: "memory", label: "Memory & Stress", icon: Layers, count: categoryCounts.memory },
1025 { id: "bootable", label: "Bootable ISOs", icon: Terminal, count: categoryCounts.bootable },
1026 { id: "drivers", label: "Driver Cleaners", icon: FileCode, count: categoryCounts.drivers },
1027 { id: "thermals", label: "Thermal Control", icon: Thermometer, count: categoryCounts.thermals },
1028 { id: "internals", label: "System Internals & Net", icon: Network, count: categoryCounts.internals },
1029 ], [categoryCounts]);
1030
1031 // Memoize filtered downloads for rapid search response
1032 const filteredDownloads = useMemo(() => {
1033 const q = searchQuery.trim().toLowerCase();
1034 return ALL_DOWNLOADS.filter((item) => {
1035 const matchesTab = selectedTab === "all" || item.category === selectedTab;
1036 if (!matchesTab) return false;
1037 if (!q) return true;
1038
1039 return (
1040 item.name.toLowerCase().includes(q) ||
1041 item.developer.toLowerCase().includes(q) ||
1042 item.description.toLowerCase().includes(q) ||
1043 item.recommendedUse.toLowerCase().includes(q) ||
1044 item.categoryLabel.toLowerCase().includes(q)
1045 );
1046 });
1047 }, [searchQuery, selectedTab]);
1048
1049 const handleDownload = (item: DownloadItem) => {
1050 if (item.url.startsWith("#")) {
1051 toast({
1052 title: `Preparing ${item.name}`,
1053 description: `Generating offline package (${item.fileSize}). Check your downloads folder.`,
1054 });
1055 } else {
1056 window.open(item.url, "_blank", "noopener,noreferrer");
1057 toast({
1058 title: `Opening Official Download`,
1059 description: `Connecting to ${item.developer} secure distribution mirror.`,
1060 });
1061 }
1062 };
1063
1064 const handleCopyHash = (item: DownloadItem) => {
1065 if (!item.sha256) return;
1066 navigator.clipboard.writeText(item.sha256);
1067 setCopiedId(item.id);
1068 toast({
1069 title: "SHA-256 Checksum Copied",
1070 description: `Hash for ${item.name} copied to clipboard for verification.`,
1071 });
1072 setTimeout(() => setCopiedId(null), 2000);
1073 };
1074
1075 return (
1076 <section
1077 id="technician-downloads-hub"
1078 className="rounded-3xl border border-emerald-500/30 bg-gradient-to-br from-card/90 via-card/70 to-emerald-500/5 backdrop-blur-xl p-6 sm:p-8 space-y-8 shadow-sm relative overflow-hidden"
1079 >
1080 {/* Background Accent Glow */}
1081 <div className="absolute top-0 right-0 w-96 h-96 bg-gradient-to-bl from-emerald-500/15 via-teal-500/10 to-transparent rounded-full blur-3xl opacity-40 pointer-events-none -z-0" />
1082
1083 {/* Section Header */}
1084 <div className="relative z-10 flex flex-col md:flex-row md:items-center justify-between gap-4 border-b border-border/40 pb-6">
1085 <div className="flex items-start gap-4">
1086 <div className="h-14 w-14 rounded-2xl bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 border border-emerald-500/20 flex items-center justify-center shrink-0 shadow-xs">
1087 <Binary className="h-7 w-7" />
1088 </div>
1089 <div>
1090 <div className="flex flex-wrap items-center gap-2 mb-1">
1091 <h2 className="text-xl sm:text-2xl font-black tracking-tight text-foreground">
1092 Technician Software & Utility Hub
1093 </h2>
1094 <Badge className="bg-emerald-500/15 text-emerald-600 dark:text-emerald-400 border-emerald-500/30 text-[11px] font-bold px-2 py-0.5">
1095 {ALL_DOWNLOADS.length} Verified Bench Utilities
1096 </Badge>
1097 </div>
1098 <p className="text-xs sm:text-sm text-muted-foreground max-w-2xl leading-relaxed">
1099 Curated, battle-tested software repository for bench diagnostics, memory fault isolation, drive cloning, firmware recovery, and thermals.
1100 </p>
1101 </div>
1102 </div>
1103
1104 {/* Quick Offline Actions */}
1105 <div className="flex items-center gap-2 shrink-0">
1106 <Button
1107 onClick={() => handleDownload(ALL_DOWNLOADS[0])}
1108 className="bg-emerald-600 hover:bg-emerald-700 text-white font-bold text-xs h-10 px-4 rounded-xl shadow-xs gap-2 transition-all cursor-pointer"
1109 >
1110 <FolderDown className="h-4 w-4" />
1111 <span>Download Master Offline ZIP</span>
1112 </Button>
1113 </div>
1114 </div>
1115
1116 {/* Filter & Search Bar */}
1117 <div className="relative z-10 space-y-4">
1118 <div className="flex flex-col sm:flex-row items-center justify-between gap-3">
1119 <div className="relative flex-1 w-full">
1120 <Search className="absolute left-3.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" />
1121 <Input
1122 type="text"
1123 placeholder="Search software by name, developer, use-case (e.g., 'BSOD', 'NVMe', 'DDR5', 'fan curve')..."
1124 value={searchQuery}
1125 onChange={(e) => setSearchQuery(e.target.value)}
1126 className="pl-10 h-11 bg-background/80 border-border/60 rounded-xl text-sm font-medium focus-visible:ring-emerald-500/30"
1127 />
1128 {searchQuery && (
1129 <button
1130 type="button"
1131 onClick={() => setSearchQuery("")}
1132 className="absolute right-3 top-1/2 -translate-y-1/2 text-xs font-bold text-muted-foreground hover:text-foreground px-1.5 py-0.5 rounded bg-muted/60 cursor-pointer"
1133 >
1134 Clear
1135 </button>
1136 )}
1137 </div>
1138 <div className="text-xs text-muted-foreground font-medium self-end sm:self-auto shrink-0">
1139 Showing <strong className="text-foreground">{filteredDownloads.length}</strong> of {ALL_DOWNLOADS.length} utilities
1140 </div>
1141 </div>
1142
1143 {/* Category Filter Tabs - Responsive flex-wrap without horizontal slider */}
1144 <div className="flex flex-wrap items-center gap-1.5 pt-1">
1145 {categoryTabs.map((tab) => {
1146 const isSelected = selectedTab === tab.id;
1147 const Icon = tab.icon;
1148 return (
1149 <button
1150 key={tab.id}
1151 type="button"
1152 onClick={() => setSelectedTab(tab.id)}
1153 className={cn(
1154 "px-3 py-1.5 rounded-xl text-xs font-semibold transition-all duration-150 cursor-pointer border flex items-center gap-1.5 whitespace-nowrap select-none",
1155 isSelected
1156 ? "bg-emerald-600 text-white border-emerald-600 shadow-xs font-bold ring-2 ring-emerald-500/25 scale-[1.02]"
1157 : "bg-background/70 text-muted-foreground border-border/60 hover:text-foreground hover:bg-background hover:border-emerald-500/40"
1158 )}
1159 >
1160 <Icon className={cn("h-3.5 w-3.5 shrink-0", isSelected ? "text-white" : "text-emerald-500")} />
1161 <span>{tab.label}</span>
1162 <span
1163 className={cn(
1164 "text-[10px] px-1.5 py-0.2 rounded-full font-mono font-bold",
1165 isSelected ? "bg-white/25 text-white" : "bg-muted text-muted-foreground"
1166 )}
1167 >
1168 {tab.count}
1169 </span>
1170 </button>
1171 );
1172 })}
1173 </div>
1174 </div>
1175
1176 {/* Downloads Grid */}
1177 <div className="relative z-10 grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-5">
1178 {filteredDownloads.map((item) => {
1179 const Icon = item.icon;
1180 const isCopied = copiedId === item.id;
1181
1182 return (
1183 <div
1184 key={item.id}
1185 className={cn(
1186 "rounded-2xl border bg-background/80 hover:bg-background/95 p-5 flex flex-col justify-between transition-all duration-200 group shadow-2xs hover:shadow-md relative overflow-hidden",
1187 item.featured ? "border-emerald-500/40 ring-1 ring-emerald-500/20" : "border-border/60 hover:border-emerald-500/30"
1188 )}
1189 >
1190 {item.featured && (
1191 <div className="absolute top-0 right-0">
1192 <div className="bg-emerald-500 text-white text-[9px] font-black uppercase tracking-widest px-3 py-0.5 rounded-bl-xl shadow-xs flex items-center gap-1">
1193 <Sparkles className="h-2.5 w-2.5" /> Essential
1194 </div>
1195 </div>
1196 )}
1197
1198 {/* Card Top */}
1199 <div className="space-y-3">
1200 <div className="flex items-start justify-between gap-3 pr-14">
1201 <div className="h-10 w-10 rounded-xl bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 border border-emerald-500/20 flex items-center justify-center shrink-0 group-hover:scale-105 transition-transform">
1202 <Icon className="h-5 w-5" />
1203 </div>
1204
1205 <div className="flex flex-wrap items-center justify-end gap-1.5">
1206 <Badge variant="outline" className="text-[10px] font-bold uppercase tracking-wider px-2 py-0.5 border-border/60 bg-muted/30">
1207 {item.categoryLabel}
1208 </Badge>
1209 <Badge variant="secondary" className="text-[10px] font-mono font-bold px-2 py-0.5">
1210 {item.fileSize}
1211 </Badge>
1212 </div>
1213 </div>
1214
1215 <div>
1216 <h3 className="text-sm font-bold text-foreground group-hover:text-emerald-600 dark:group-hover:text-emerald-400 transition-colors leading-snug">
1217 {item.name}
1218 </h3>
1219 <div className="flex items-center gap-2 text-[11px] text-muted-foreground mt-0.5">
1220 <span className="font-medium text-foreground/80">{item.developer}</span>
1221 <span>•</span>
1222 <span className="font-mono bg-muted/60 px-1.5 py-0.2 rounded text-[10px]">{item.version}</span>
1223 <span>•</span>
1224 <span className="text-emerald-600 dark:text-emerald-400 font-semibold">{item.license}</span>
1225 </div>
1226 </div>
1227
1228 <p className="text-xs text-muted-foreground line-clamp-2 leading-relaxed">
1229 {item.description}
1230 </p>
1231
1232 {/* Recommended Use Callout */}
1233 <div className="rounded-xl border border-border/40 bg-muted/30 p-2.5 text-[11px] space-y-1">
1234 <span className="font-bold text-foreground/90 flex items-center gap-1 text-[10px] uppercase tracking-wider text-emerald-600 dark:text-emerald-400">
1235 <ShieldCheck className="h-3 w-3" /> Bench Application:
1236 </span>
1237 <p className="text-muted-foreground leading-snug">
1238 {item.recommendedUse}
1239 </p>
1240 </div>
1241 </div>
1242
1243 {/* Card Bottom / Actions */}
1244 <div className="pt-3 border-t border-border/40 space-y-2.5 mt-3">
1245 {item.sha256 && (
1246 <div className="flex items-center justify-between text-[10px] text-muted-foreground bg-muted/40 px-2.5 py-1 rounded-lg">
1247 <span className="font-mono truncate max-w-[180px]" title={item.sha256}>
1248 SHA256: {item.sha256.substring(0, 16)}...
1249 </span>
1250 <button
1251 onClick={() => handleCopyHash(item)}
1252 className="text-emerald-600 dark:text-emerald-400 hover:underline flex items-center gap-1 font-semibold cursor-pointer shrink-0 ml-2"
1253 >
1254 {isCopied ? <Check className="h-3 w-3 text-emerald-500" /> : <Copy className="h-3 w-3" />}
1255 <span>{isCopied ? "Copied" : "Copy"}</span>
1256 </button>
1257 </div>
1258 )}
1259
1260 <div className="flex items-center gap-2">
1261 <Button
1262 onClick={() => handleDownload(item)}
1263 className="flex-1 rounded-xl text-xs font-bold h-9 gap-1.5 bg-emerald-600 hover:bg-emerald-700 text-white shadow-xs cursor-pointer"
1264 >
1265 <Download className="h-3.5 w-3.5" />
1266 <span>Download Package</span>
1267 </Button>
1268
1269 {item.url && !item.url.startsWith("#") && (
1270 <Button
1271 variant="outline"
1272 size="icon"
1273 onClick={() => window.open(item.url, "_blank", "noopener,noreferrer")}
1274 className="h-9 w-9 rounded-xl border-border/60 hover:border-emerald-500/40 text-muted-foreground hover:text-foreground shrink-0 cursor-pointer"
1275 title="Visit Official Developer Webpage"
1276 >
1277 <ExternalLink className="h-3.5 w-3.5" />
1278 </Button>
1279 )}
1280 </div>
1281 </div>
1282 </div>
1283 );
1284 })}
1285 </div>
1286
1287 {filteredDownloads.length === 0 && (
1288 <div className="rounded-2xl border border-dashed border-border/60 bg-muted/20 p-8 text-center space-y-2">
1289 <p className="text-xs font-semibold text-foreground">
1290 No downloads match "{searchQuery}" in this category.
1291 </p>
1292 <p className="text-[11px] text-muted-foreground">
1293 Try switching filter tabs or clearing your search input.
1294 </p>
1295 <Button
1296 variant="outline"
1297 size="sm"
1298 onClick={() => {
1299 setSelectedTab("all");
1300 setSearchQuery("");
1301 }}
1302 className="rounded-xl text-xs h-8"
1303 >
1304 Reset Filters
1305 </Button>
1306 </div>
1307 )}
1308 </section>
1309 );
1310 }