Commit Graph

3 Commits

Author SHA1 Message Date
CanbiZ
9e1975dd1d Refactor modal and badge components for consistency
Standardizes import statements, string quoting, and className usage across modal and badge components. Improves code readability and consistency, updates formatting, and enhances maintainability without changing component logic.
2025-10-20 20:03:38 +02:00
CanbiZ
dd737a8bc7 feat(i18n): Lokalisierung - Phase 4 abgeschlossen (HelpButton, ResyncButton, ViewToggle)
Lokalisierte Komponenten (13/alle):
- HelpButton: Hilfe-Button mit 'Need help?' und Öffnen-Action
- ResyncButton: Sync-Button mit Fortschritts-Messages und letzter Sync-Zeit
- ViewToggle: Card/List View Umschalter

Neue Translation Keys:
- helpButton.needHelp, openHelp, help
- resyncButton.syncDescription, syncing, syncJsonFiles, helpTooltip, lastSync, messages.*
- viewToggle.cardView, listView

Technische Details:
- ResyncButton: Dynamische Error-Erkennung für DE/EN ('Fehler'/'Error')
- Zeit-Formatierung mit toLocaleTimeString() für lastSync
- ViewToggle: Einfache View-Mode-Labels
2025-10-20 19:08:41 +02:00
Michel Roegl-Brunner
d819cd79fe feat: Add card/list view toggle with enhanced list view (#101)
* feat: Add card/list view toggle with enhanced list view

- Add ViewToggle component with grid/list icons and active state styling
- Create ScriptCardList component with horizontal layout design
- Add view-mode API endpoint for GET/POST operations to persist view preference
- Update ScriptsGrid and DownloadedScriptsTab with view mode state and conditional rendering
- Enhance list view with additional information:
  - Categories with tag icon
  - Creation date with calendar icon
  - OS and version with computer icon
  - Default port with terminal icon
  - Script ID with info icon
- View preference persists across page reloads
- Same view mode applies to both Available and Downloaded scripts pages
- List view shows same information as card view but in compact horizontal layout

* fix: Resolve TypeScript/ESLint build errors

- Fix unsafe argument type errors in view mode loading
- Use proper type guards for viewMode validation
- Replace logical OR with nullish coalescing operator
- Add explicit type casting for API response validation
2025-10-10 13:04:57 +02:00