fix: upload failure, share dialog, shared view styling, dark mode fixes
- Fix 'folder_id is required' upload error by adding create_home_folder through the full hexagonal architecture (trait, service, repository, auth) - Fix double upload issue with _isUploading concurrency guard - Fix Share context menu doing nothing (ID collision between sharedView and main share dialog resolved with sv- prefix) - Fix Compartidos tab duplicate headers and broken layout - Add missing .shared-dialog CSS with dark mode support - Fix dark mode white backgrounds on empty-state, shared-filters, trash-actions, action-btn, and header - Fix i18n key mismatches in sharedView - Bump version to 0.4.1 Closes #120
This commit is contained in:
+21
-2
@@ -543,6 +543,7 @@ function setupEventListeners() {
|
||||
|
||||
// Update UI
|
||||
elements.pageTitle.textContent = window.i18n ? window.i18n.t('nav.trash') : 'Trash';
|
||||
elements.pageTitle.setAttribute('data-i18n', 'nav.trash');
|
||||
elements.actionsBar.innerHTML = `
|
||||
<div class="action-buttons">
|
||||
<button class="btn btn-danger" id="empty-trash-btn">
|
||||
@@ -1189,17 +1190,28 @@ function switchToSharedView() {
|
||||
sharedNavItem.classList.add('active');
|
||||
}
|
||||
|
||||
// Update UI
|
||||
// Update UI — also set data-i18n so translatePage() doesn't overwrite
|
||||
elements.pageTitle.textContent = window.i18n ? window.i18n.t('nav.shared') : 'Shared';
|
||||
elements.pageTitle.setAttribute('data-i18n', 'nav.shared');
|
||||
|
||||
// Clear breadcrumb and show root
|
||||
ui.updateBreadcrumb('');
|
||||
|
||||
// Hide breadcrumb itself
|
||||
const breadcrumb = document.querySelector('.breadcrumb');
|
||||
if (breadcrumb) breadcrumb.style.display = 'none';
|
||||
|
||||
// Hide standard actions bar
|
||||
if (elements.actionsBar) {
|
||||
elements.actionsBar.style.display = 'none';
|
||||
}
|
||||
|
||||
// Hide file containers
|
||||
const filesGrid = document.getElementById('files-grid');
|
||||
const filesListView = document.getElementById('files-list-view');
|
||||
if (filesGrid) filesGrid.style.display = 'none';
|
||||
if (filesListView) filesListView.style.display = 'none';
|
||||
|
||||
// Init and show shared view
|
||||
if (window.sharedView) {
|
||||
window.sharedView.init();
|
||||
@@ -1218,8 +1230,13 @@ function switchToFilesView() {
|
||||
app.isRecentView = false;
|
||||
app.currentSection = 'files';
|
||||
|
||||
// Update UI
|
||||
// Update UI — restore data-i18n to files
|
||||
elements.pageTitle.textContent = window.i18n ? window.i18n.t('nav.files') : 'Files';
|
||||
elements.pageTitle.setAttribute('data-i18n', 'nav.files');
|
||||
|
||||
// Restore breadcrumb visibility
|
||||
const breadcrumb = document.querySelector('.breadcrumb');
|
||||
if (breadcrumb) breadcrumb.style.display = '';
|
||||
|
||||
// Remove active class from all nav items
|
||||
elements.navItems.forEach(navItem => navItem.classList.remove('active'));
|
||||
@@ -1334,6 +1351,7 @@ function switchToFavoritesView() {
|
||||
|
||||
// Update UI
|
||||
elements.pageTitle.textContent = window.i18n ? window.i18n.t('nav.favorites') : 'Favorites';
|
||||
elements.pageTitle.setAttribute('data-i18n', 'nav.favorites');
|
||||
|
||||
// Clear breadcrumb and show root
|
||||
ui.updateBreadcrumb('');
|
||||
@@ -1423,6 +1441,7 @@ function switchToRecentFilesView() {
|
||||
|
||||
// Update UI
|
||||
elements.pageTitle.textContent = window.i18n ? window.i18n.t('nav.recent') : 'Recent';
|
||||
elements.pageTitle.setAttribute('data-i18n', 'nav.recent');
|
||||
|
||||
// Clear breadcrumb and show root
|
||||
ui.updateBreadcrumb('');
|
||||
|
||||
Reference in New Issue
Block a user