fix layout of file browser

This commit is contained in:
marlon-erler
2024-07-28 15:45:22 +02:00
parent 1d96e8aa5a
commit 41b51264dd
4 changed files with 330 additions and 10 deletions
-1
View File
@@ -757,7 +757,6 @@ body[showing-chat] #chat-page-wrapper {
.file-browser .scroll-area { .file-browser .scroll-area {
flex: 1; flex: 1;
width: 100%; width: 100%;
height: 100%;
overflow-y: auto; overflow-y: auto;
padding: var(--content-padding); padding: var(--content-padding);
} }
+330 -7
View File
@@ -1260,7 +1260,7 @@
subscribe = () => { subscribe = () => {
this.connectionModel.addChannel(this.info.primaryChannel); this.connectionModel.addChannel(this.info.primaryChannel);
}; };
markUnread = () => { markRead = () => {
this.info.hasUnreadMessages = false; this.info.hasUnreadMessages = false;
this.storeInfo(); this.storeInfo();
}; };
@@ -2049,7 +2049,6 @@
}; };
applySearch = () => { applySearch = () => {
this.appliedQuery.value = this.searchInput.value; this.appliedQuery.value = this.searchInput.value;
console.trace("applying search");
this.matchingObjects.clear(); this.matchingObjects.clear();
for (const object of this.allObjects.value.values()) { for (const object of this.allObjects.value.values()) {
const doesMatch = this.checkDoesMatchSearch(object); const doesMatch = this.checkDoesMatchSearch(object);
@@ -2447,7 +2446,7 @@
chatModel.chatMessageHandlerManager.addHandler( chatModel.chatMessageHandlerManager.addHandler(
(chatMessage) => { (chatMessage) => {
this.messagePageViewModel.showChatMessage(chatMessage); this.messagePageViewModel.showChatMessage(chatMessage);
this.markUnread(); this.markRead();
} }
); );
this.loadPageSelection(); this.loadPageSelection();
@@ -2472,7 +2471,7 @@
// view // view
open = () => { open = () => {
this.chatListViewModel.openChat(this); this.chatListViewModel.openChat(this);
this.markUnread(); this.markRead();
}; };
close = () => { close = () => {
this.chatListViewModel.closeChat(); this.chatListViewModel.closeChat();
@@ -2493,9 +2492,9 @@
const index = this.chatListViewModel.chatIndexManager.getIndex(this); const index = this.chatListViewModel.chatIndexManager.getIndex(this);
this.index.value = index; this.index.value = index;
}; };
markUnread = () => { markRead = () => {
this.hasUnreadMessages.value = false; this.hasUnreadMessages.value = false;
this.chatModel.markUnread(); this.chatModel.markRead();
}; };
// load // load
loadPageSelection = () => { loadPageSelection = () => {
@@ -2776,7 +2775,331 @@
} }
}; };
var allTranslations = { var allTranslations = {
en: englishTranslations en: englishTranslations,
de: {
updater: {
migrated: "Migriert"
},
general: {
deleteItemButtonAudioLabel: "element l\xF6schen",
searchButtonAudioLabel: "suchen",
abortButton: "Abbrechen",
cancelButton: "Abbrechen",
closeButton: "Schlie\xDFen",
backButton: "Zur\xFCck",
continueButton: "Weiter",
confirmButton: "Best\xE4tigen",
saveButton: "Speichern",
setButton: "OK",
reloadAppButton: "Neu laden",
fileVersionLabel: "Version",
searchLabel: "Suche"
},
regional: {
weekdays: {
full: [
"Sonntag",
"Montag",
"Dienstag",
"Mittwoch",
"Donnerstag",
"Freitag",
"Samstag"
],
abbreviated: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"]
}
},
homePage: {
appName: "Comms",
overviewHeadline: "\xDCbersicht",
serverAddress: "Serveradresse",
serverAddressPlaceholder: "wss://192.168.0.69:3000",
connectAudioLabel: "mit Server verbinden",
disconnectAudioLabel: "vom Server trennen",
manageConnectionsAudioLabel: "Verbindungen verwalten",
yourNameLabel: "Dein Name",
yourNamePlaceholder: "Max Mustermann",
setNameButtonAudioLabel: "Name speichern",
firstDayOfWeekLabel: "Erster Wochentag",
manageStorageButton: "Daten verwalten",
transferDataButton: "Daten\xFCbertragung",
scrollToChatButton: "Chats",
backToOverviewAudioLabel: "zur\xFCck zur \xFCbersicht",
chatsHeadline: "Chats",
addChatAudioLabel: "Name des neuen Chats",
addChatPlaceholder: "Chat hinzuf\xFCgen",
addChatButton: "Chat hinzuf\xFCgen"
},
connectionModal: {
connectionModalHeadline: "Verbindungen verwalten",
connectButtonAudioLabel: "verbinden"
},
dataTransferModal: {
transferDataHeadline: "Daten\xFCbertragung",
selectionDescription: "W\xE4hlen Sie die Daten aus, die Sie \xFCbertragen m\xF6chten.",
dataEntryDescription: "Geben Sie diese Informationen auf dem anderen Ger\xE4t ein.",
dataEntryInputDescription: "Geben Sie die auf dem anderen Ger\xE4t angezeigten Informationen ein.",
readyToReceiveDescription: "Klicken Sie auf dem anderen Ger\xE4t auf 'Senden'.",
fromThisDeviceButton: "Von diesem Ger\xE4t",
toThisDeviceButton: "An dieses Ger\xE4t",
generalHeadline: "Allgemein",
connectionData: "Verbindungsdaten",
settingsData: "Einstellungen",
chatsHeadline: "Chats",
transferChannelHeadline: "\xDCbertragungskanal",
transferKeyHeadline: "Schl\xFCssel",
sendButton: "Senden",
filesSentCount: (count) => `Dateien gesendet: ${count}.`,
allFilesSent: "Fertig.",
filesReceivedCount: (count) => `Dateien empfangen: ${count}.`
},
storage: {
noItemSelected: "Kein Element ausgew\xE4hlt",
notAFile: "(keine Datei)",
contentEmpty: "(leer)",
path: "Pfad",
content: "Inhalt",
deleteItem: "Element l\xF6schen"
},
chatPage: {
closeChatAudioLabe: "Chat schlie\xDFen",
chatSettingsAudioLabel: "Chateinstellungen",
pages: {
settings: "Einstellungen",
messages: "Nachrichten",
tasks: "Aufgaben",
calendar: "Kalender"
},
settings: {
settingsHeadline: "Einstellungen",
primaryChannelLabel: "Hauptkanal",
setPrimaryChannelButtonAudioLabel: "Hauptkanal festlegen",
newSecondaryChannelPlaceholder: "Sekund\xE4ren Kanal hinzuf\xFCgen",
newSecondaryChannelAudioLabel: "Name des neuen sekund\xE4ren Kanals",
addSecondaryChannelButtonAudioLabel: "Sekund\xE4ren Kanal hinzuf\xFCgen",
encryptionKeyLabel: "Schl\xFCssel",
setEncryptionKeyButtonAudioLabel: "Schl\xFCssel festlegen",
showEncryptionKey: "Schl\xFCssel anzeigen",
deleteChatButton: "Gesamten Chat l\xF6schen"
},
message: {
messagesHeadline: "Nachrichten",
composerInputPlaceholder: "Schreib eine Nachricht...",
sendMessageButtonAudioLabel: "nachricht senden",
showMessageInfoButtonAudioLabel: "nachrichteninfo anzeigen",
messageInfoHeadline: "Nachrichteninfo",
sentBy: "Gesendet von",
timeSent: "Sendezeit",
channel: "Kanal",
messageContent: "Nachrichteninhalt",
copyMessageButton: "Nachricht kopieren",
resendMessageButton: "Nachricht erneut senden",
decryptMessageButton: "Nachricht entschl\xFCsseln",
deleteMessageButton: "Nachricht l\xF6schen"
},
task: {
newBoardNamePlaceholder: "Board erstellen",
createBoardButtonAudioLabel: "board erstellen",
noBoardSelected: "Kein Board ausgew\xE4hlt",
boardNotFound: "Board nicht gefunden",
closeBoard: "Board schlie\xDFen",
showBoardSettingsButtonAudioLabel: "Board-Einstellungen anzeigen",
listViewButtonAudioLabel: "Listenansicht",
kanbanViewButtonAudioLabel: "Kanban-Ansicht",
statusViewButtonAudioLabel: "Statusrasteransicht",
filterTasksButtonAudioLabel: "Aufgaben filtern",
createTaskButtonAudioLabel: "Neue Aufgabe erstellen",
boardSettingsHeadline: "Board-Einstellungen",
boardNameInputLabel: "Boardname",
deleteBoardButton: "Board und alle Aufgaben l\xF6schen",
taskSettingsHeadline: "Aufgabe bearbeiten",
taskNameLabel: "Titel",
taskCategoryLabel: "Kategorie",
taskStatusLabel: "Status",
taskPriorityLabel: "Priorit\xE4t",
taskDescriptionLabel: "Beschreibung",
taskDateLabel: "Datum",
taskTimeLabel: "Uhrzeit",
deleteTaskButton: "Aufgabe l\xF6schen",
filterTasksHeadline: "Aufgaben filtern",
renameCategoryInputPlaceholder: "Kategorie umbenennen"
},
calendar: {
todayButtonAudioLabel: "gehe zu heute",
previousMonthButtonAudioLabel: "vorheriger monat",
nextMonthButtonAudioLabel: "n\xE4chster monat",
yearInputAudioLabel: "Jahr",
monthInputAudioLabel: "Monat",
yearInputPlaceholder: "2000",
monthInputPlaceholder: "01",
searchEventsHeadline: "Ereignisse suchen",
events: "Ereignisse",
noEvents: "Keine Ereignisse"
}
}
},
es: {
updater: {
migrated: "Migrado"
},
general: {
deleteItemButtonAudioLabel: "eliminar elemento",
searchButtonAudioLabel: "buscar",
abortButton: "Abortar",
cancelButton: "Cancelar",
closeButton: "Cerrar",
backButton: "Atr\xE1s",
continueButton: "Continuar",
confirmButton: "Confirmar",
saveButton: "Guardar",
setButton: "OK",
reloadAppButton: "Recargar app",
fileVersionLabel: "Versi\xF3n",
searchLabel: "Buscar"
},
regional: {
weekdays: {
full: [
"Domingo",
"Lunes",
"Martes",
"Mi\xE9rcoles",
"Jueves",
"Viernes",
"S\xE1bado"
],
abbreviated: ["Dom", "Lun", "Mar", "Mi\xE9", "Jue", "Vie", "S\xE1b"]
}
},
homePage: {
appName: "Comms",
overviewHeadline: "Resumen",
serverAddress: "Direcci\xF3n del servidor",
serverAddressPlaceholder: "wss://192.168.0.69:3000",
connectAudioLabel: "conectar al servidor",
disconnectAudioLabel: "desconectar del servidor",
manageConnectionsAudioLabel: "gestionar conexiones",
yourNameLabel: "Tu nombre",
yourNamePlaceholder: "Juan P\xE9rez",
setNameButtonAudioLabel: "establecer nombre",
firstDayOfWeekLabel: "Primer d\xEDa de la semana",
manageStorageButton: "Gestionar almacenamiento",
transferDataButton: "Transferencia de datos",
scrollToChatButton: "Chats",
backToOverviewAudioLabel: "volver al resumen",
chatsHeadline: "Chats",
addChatAudioLabel: "nombre del nuevo chat",
addChatPlaceholder: "A\xF1adir chat",
addChatButton: "A\xF1adir chat"
},
connectionModal: {
connectionModalHeadline: "Gestionar Conexiones",
connectButtonAudioLabel: "conectar"
},
dataTransferModal: {
transferDataHeadline: "Transferencia de Datos",
selectionDescription: "Selecciona los datos que quieres transferir.",
dataEntryDescription: "Introduce estos datos en el otro dispositivo.",
dataEntryInputDescription: "Introduce los datos mostrados en el otro dispositivo.",
readyToReceiveDescription: "Haz clic en 'enviar' en el otro dispositivo.",
fromThisDeviceButton: "Desde este dispositivo",
toThisDeviceButton: "A este dispositivo",
generalHeadline: "General",
connectionData: "Datos de Conexi\xF3n",
settingsData: "Datos de Configuraci\xF3n",
chatsHeadline: "Chats",
transferChannelHeadline: "Canal de Transferencia",
transferKeyHeadline: "Clave de Encriptaci\xF3n de Transferencia",
sendButton: "Enviar",
filesSentCount: (count) => `Archivos enviados: ${count}.`,
allFilesSent: "Hecho.",
filesReceivedCount: (count) => `Archivos recibidos: ${count}.`
},
storage: {
noItemSelected: "Ning\xFAn elemento seleccionado",
notAFile: "(no es un archivo)",
contentEmpty: "(vac\xEDo)",
path: "Ruta",
content: "Contenido",
deleteItem: "Eliminar elemento"
},
chatPage: {
closeChatAudioLabe: "cerrar chat",
chatSettingsAudioLabel: "configuraci\xF3n del chat",
pages: {
settings: "Configuraci\xF3n",
messages: "Mensajes",
tasks: "Tareas",
calendar: "Calendario"
},
settings: {
settingsHeadline: "Configuraci\xF3n",
primaryChannelLabel: "Canal principal",
setPrimaryChannelButtonAudioLabel: "establecer canal principal",
newSecondaryChannelPlaceholder: "A\xF1adir canal secundario",
newSecondaryChannelAudioLabel: "nombre del nuevo canal secundario",
addSecondaryChannelButtonAudioLabel: "a\xF1adir canal secundario",
encryptionKeyLabel: "Clave de encriptaci\xF3n",
setEncryptionKeyButtonAudioLabel: "establecer clave de encriptaci\xF3n",
showEncryptionKey: "Mostrar clave de encriptaci\xF3n",
deleteChatButton: "Eliminar todo el chat"
},
message: {
messagesHeadline: "Mensajes",
composerInputPlaceholder: "Escribe un mensaje...",
sendMessageButtonAudioLabel: "enviar mensaje",
showMessageInfoButtonAudioLabel: "mostrar informaci\xF3n del mensaje",
messageInfoHeadline: "Informaci\xF3n del Mensaje",
sentBy: "Enviado por",
timeSent: "Hora de env\xEDo",
channel: "Canal",
messageContent: "Contenido del mensaje",
copyMessageButton: "Copiar mensaje",
resendMessageButton: "Reenviar mensaje",
decryptMessageButton: "Desencriptar mensaje",
deleteMessageButton: "Eliminar mensaje"
},
task: {
newBoardNamePlaceholder: "Crear un tablero",
createBoardButtonAudioLabel: "crear tablero",
noBoardSelected: "Ning\xFAn tablero seleccionado",
boardNotFound: "Tablero no encontrado",
closeBoard: "cerrar tablero",
showBoardSettingsButtonAudioLabel: "mostrar configuraci\xF3n del tablero",
listViewButtonAudioLabel: "vista de lista",
kanbanViewButtonAudioLabel: "vista kanban",
statusViewButtonAudioLabel: "vista de cuadr\xEDcula de estado",
filterTasksButtonAudioLabel: "filtrar tareas",
createTaskButtonAudioLabel: "crear nueva tarea",
boardSettingsHeadline: "Configuraci\xF3n del Tablero",
boardNameInputLabel: "Nombre del tablero",
deleteBoardButton: "Eliminar tablero y todas las tareas",
taskSettingsHeadline: "Editar Tarea",
taskNameLabel: "T\xEDtulo",
taskCategoryLabel: "Categor\xEDa",
taskStatusLabel: "Estado",
taskPriorityLabel: "Prioridad",
taskDescriptionLabel: "Descripci\xF3n",
taskDateLabel: "Fecha",
taskTimeLabel: "Hora",
deleteTaskButton: "Eliminar tarea",
filterTasksHeadline: "Filtrar Tareas",
renameCategoryInputPlaceholder: "Renombrar categor\xEDa"
},
calendar: {
todayButtonAudioLabel: "ir a hoy",
previousMonthButtonAudioLabel: "mes anterior",
nextMonthButtonAudioLabel: "mes siguiente",
yearInputAudioLabel: "a\xF1o",
monthInputAudioLabel: "mes",
yearInputPlaceholder: "2000",
monthInputPlaceholder: "01",
searchEventsHeadline: "Buscar Eventos",
events: "Eventos",
noEvents: "No hay eventos"
}
}
}
}; };
var language = navigator.language.substring(0, 2); var language = navigator.language.substring(0, 2);
var translations = allTranslations[language] || allTranslations.en; var translations = allTranslations[language] || allTranslations.en;
-1
View File
@@ -24,7 +24,6 @@
.file-browser .scroll-area { .file-browser .scroll-area {
flex: 1; flex: 1;
width: 100%; width: 100%;
height: 100%;
overflow-y: auto; overflow-y: auto;
padding: var(--content-padding); padding: var(--content-padding);
-1
View File
@@ -28,7 +28,6 @@ export default class SearchViewModel<T> {
applySearch = (): void => { applySearch = (): void => {
this.appliedQuery.value = this.searchInput.value; this.appliedQuery.value = this.searchInput.value;
console.trace("applying search");
this.matchingObjects.clear(); this.matchingObjects.clear();
for (const object of this.allObjects.value.values()) { for (const object of this.allObjects.value.values()) {