Skip to content

Commit 54f83c9

Browse files
committed
feat: Performance, Security, UX ve Accessibility iyileştirmeleri
Performance: - React.lazy() ile lazy loading (paneller ayrı chunk'lara bölündü) - useThumbnailCache hook'u ile thumbnail caching (localStorage, 7 gün TTL) - @tanstack/react-virtual ile queue virtualization (20+ item) Security: - CSP (Content Security Policy) eklendi - Kapsamlı URL sanitization (XSS, injection koruması) - Protokol ve yapı doğrulama UX: - Global drag & drop URL desteği - BatchUrlImport bileşeni (toplu URL import) - ScheduleDownload bileşeni (zamanlı indirme) - Bandwidth limiting (Settings > Download) - Theme transition animasyonu (300ms smooth) Accessibility: - useFocusTrap hook'u (panel focus yönetimi) - High contrast mode (sistem tercihini algılama) - Skip link (klavye navigasyonu) - ARIA label ve role iyileştirmeleri - Screen reader desteği (useAnnounce hook)
1 parent 8bf5f54 commit 54f83c9

25 files changed

+1989
-118
lines changed

package-lock.json

Lines changed: 28 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
},
1212
"dependencies": {
1313
"@radix-ui/react-slot": "^1.2.4",
14+
"@tanstack/react-virtual": "^3.13.13",
1415
"@tauri-apps/api": "^2",
1516
"@tauri-apps/plugin-opener": "^2",
1617
"class-variance-authority": "^0.7.1",

src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
}
3030
],
3131
"security": {
32-
"csp": null
32+
"csp": "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' https: data: blob:; connect-src 'self' https:; font-src 'self' data:; media-src 'self' blob:; frame-src 'none'; object-src 'none'; base-uri 'self'; form-action 'self'"
3333
},
3434
"trayIcon": {
3535
"iconPath": "icons/32x32.png",

0 commit comments

Comments
 (0)