feat: add WebDAV file browser with auth improvements
Add a new Files section powered by WebDAV for browsing, uploading, downloading, renaming, and deleting files and folders. New features: - WebDAV file browser with grid/list views and breadcrumb navigation - File upload (drag-and-drop and button), folder creation, rename, delete - File preview modals for images and other file types - WebDAV proxy API route to handle authentication - Navigation rail entry for Files (auto-hidden when WebDAV is unsupported) Auth improvements: - Fix premature redirects on calendar, contacts, and settings pages by adding explicit auth check on mount before redirecting to login - Persist active settings tab in localStorage Other: - Expose getAuthHeader() and getServerUrl() on JMAPClient - Add WebDAV store with connection testing and capability detection - Add i18n translations for file browser in all 8 locales (de, en, es, fr, it, ja, nl, pt)
This commit is contained in:
@@ -61,6 +61,7 @@
|
||||
"contacts": "Contacten",
|
||||
"calendar": "Agenda",
|
||||
"settings": "Instellingen",
|
||||
"files": "Bestanden",
|
||||
"loading_mailboxes": "Mappen laden...",
|
||||
"push_connected": "Real-time updates actief",
|
||||
"push_disconnected": "Real-time updates inactief",
|
||||
@@ -1692,5 +1693,83 @@
|
||||
"got_it": "Begrepen",
|
||||
"settings": "Instellingen",
|
||||
"dismiss": "Sluiten"
|
||||
},
|
||||
"files": {
|
||||
"title": "Bestanden",
|
||||
"search_placeholder": "Bestanden zoeken...",
|
||||
"empty_state_title": "Nog geen bestanden",
|
||||
"empty_state_description": "Upload bestanden of maak mappen aan om te beginnen",
|
||||
"upload": "Uploaden",
|
||||
"upload_files": "Bestanden uploaden",
|
||||
"new_folder": "Nieuwe map",
|
||||
"new_folder_name": "Mapnaam",
|
||||
"rename": "Hernoemen",
|
||||
"rename_title": "Hernoemen",
|
||||
"new_name": "Nieuwe naam",
|
||||
"delete": "Verwijderen",
|
||||
"delete_confirm_title": "Bron verwijderen",
|
||||
"delete_confirm_message": "Weet u zeker dat u \"{name}\" wilt verwijderen? Dit kan niet ongedaan worden gemaakt.",
|
||||
"download": "Downloaden",
|
||||
"name": "Naam",
|
||||
"size": "Grootte",
|
||||
"modified": "Gewijzigd",
|
||||
"type": "Type",
|
||||
"folder": "Map",
|
||||
"file": "Bestand",
|
||||
"parent_directory": "Bovenliggende map",
|
||||
"breadcrumb_root": "Start",
|
||||
"drop_files_here": "Sleep bestanden hierheen om te uploaden",
|
||||
"uploading": "Uploaden...",
|
||||
"upload_success": "{count, plural, one {1 bestand geüpload} other {# bestanden geüpload}}",
|
||||
"upload_error": "Bestand uploaden mislukt",
|
||||
"create_folder_success": "Map aangemaakt",
|
||||
"create_folder_error": "Map aanmaken mislukt",
|
||||
"delete_success": "Succesvol verwijderd",
|
||||
"delete_error": "Verwijderen mislukt",
|
||||
"rename_success": "Succesvol hernoemd",
|
||||
"rename_error": "Hernoemen mislukt",
|
||||
"download_error": "Downloaden mislukt",
|
||||
"not_available": "WebDAV-bestandsopslag is niet beschikbaar op deze server",
|
||||
"cancel": "Annuleren",
|
||||
"create": "Aanmaken",
|
||||
"save": "Opslaan",
|
||||
"no_results": "Geen bestanden komen overeen met uw zoekopdracht",
|
||||
"batch_delete_confirm_message": "Weet u zeker dat u {count, plural, one {1 item} other {# items}} wilt verwijderen? Dit kan niet ongedaan worden gemaakt.",
|
||||
"batch_delete_success": "{count, plural, one {1 item verwijderd} other {# items verwijderd}}",
|
||||
"grid_view": "Rasterweergave",
|
||||
"list_view": "Lijstweergave",
|
||||
"details": "Details",
|
||||
"path": "Pad",
|
||||
"preview": "Voorbeeld",
|
||||
"preview_error": "Voorbeeld laden mislukt",
|
||||
"cut": "Knippen",
|
||||
"copy": "Kopiëren",
|
||||
"paste": "Plakken",
|
||||
"move_success": "{count, plural, one {1 item verplaatst} other {# items verplaatst}}",
|
||||
"move_error": "Verplaatsen mislukt",
|
||||
"paste_success": "Succesvol geplakt",
|
||||
"paste_error": "Plakken mislukt",
|
||||
"new_text_file": "Nieuw tekstbestand",
|
||||
"file_name": "Bestandsnaam",
|
||||
"retry": "Opnieuw proberen",
|
||||
"refresh": "Vernieuwen",
|
||||
"toggle_favorite": "Favoriet aan/uit",
|
||||
"duplicate": "Dupliceren",
|
||||
"duplicate_success": "Succesvol gedupliceerd",
|
||||
"duplicate_error": "Dupliceren mislukt",
|
||||
"create_file_success": "Bestand aangemaakt",
|
||||
"create_file_error": "Bestand aanmaken mislukt",
|
||||
"favorites": "Favorieten",
|
||||
"recent": "Recent",
|
||||
"properties": "Eigenschappen",
|
||||
"open_folder": "Map openen",
|
||||
"upload_folder": "Map uploaden",
|
||||
"file_too_large": "\"{name}\" overschrijdt de maximale bestandsgrootte ({max})",
|
||||
"undo": "Ongedaan maken",
|
||||
"undo_success": "Actie ongedaan gemaakt",
|
||||
"undo_error": "Ongedaan maken mislukt",
|
||||
"toolbar": "Bestandsacties",
|
||||
"file_list": "Bestanden en mappen",
|
||||
"context_menu": "Acties"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user