From 2b446ac203c084f008eaf5707067539366a26978 Mon Sep 17 00:00:00 2001 From: marlon-erler Date: Wed, 23 Sep 2026 00:23:24 +0200 Subject: [PATCH] implement searchOrCreate for boards --- src/Model/Utility/.utility.ts.swp | Bin 24576 -> 28672 bytes src/Model/Utility/utility.ts | 2 +- src/View/.translations.ts.swp | Bin 0 -> 53248 bytes src/View/ChatPages/.taskPage.tsx.swp | Bin 16384 -> 16384 bytes src/View/ChatPages/taskPage.tsx | 20 +- src/View/Components/.boardEntry.tsx.swp | Bin 0 -> 12288 bytes src/View/Components/boardEntry.tsx | 2 +- src/View/Components/newItemEntry.tsx | 16 + src/View/translations.ts | 1036 ++++++++--------- src/ViewModel/Pages/.taskPageViewModel.ts.swp | Bin 20480 -> 0 bytes 10 files changed, 539 insertions(+), 537 deletions(-) create mode 100644 src/View/.translations.ts.swp create mode 100644 src/View/Components/.boardEntry.tsx.swp create mode 100644 src/View/Components/newItemEntry.tsx delete mode 100644 src/ViewModel/Pages/.taskPageViewModel.ts.swp diff --git a/src/Model/Utility/.utility.ts.swp b/src/Model/Utility/.utility.ts.swp index 26ecc9d25bcc4d061d4131cff1f9f20381210a3c..e690dbf6982802db25496f54cbceb4f28f692ef9 100644 GIT binary patch delta 483 zcmY+=u}cDR6bJBkrbdL_Iax~HFS|sC)E2?5vJ5d>f_AGz4fW{Mq86QkqNOefvLSPg zsBVass7+}J`Uh%g$*rZazE=kI;KPr{d%ySi{i=6d^_deFLksaFiv&W15Qq|=S1V&f zgLLj9N@q)Z^^wb|Tb{R21$C3rgve`lK^$=YB&2jsu5(&6zaVl}JuV#b`^;>s<67Q~ zBF5)+JGmD-(nN-(Zv3tgI%x z$-v;b$y2}SeR|%(LmFHpvyrV8ZDysjglI(1&#^sB7_^NOHCw&OB6TR7RaGGu_kdqQ zMxL&jURjGtLDAA?>SWKRObLZ?%KIJcjD*fkk~>z2+F(HhWO&O&FSx-DHn4^{^q>n4 ta7aQF?wH-d3YO4^Iyg`P|7{iiVMs=t?R>!NaPF13A+9_Z7fShS{s8L%E`0z1 diff --git a/src/Model/Utility/utility.ts b/src/Model/Utility/utility.ts index 294369b7..0c1bfb25 100644 --- a/src/Model/Utility/utility.ts +++ b/src/Model/Utility/utility.ts @@ -106,7 +106,7 @@ export default function implementFilter( function update() { matches.clear(); allItems.value.forEach((item: T) => { - if (!itemToString(item).includes(query.value)) return; + if (!itemToString(item).toLowerCase().includes(query.value.toLowerCase())) return; matches.add(item); allItems.handleRemoval(item, () => { matches.remove(item); diff --git a/src/View/.translations.ts.swp b/src/View/.translations.ts.swp new file mode 100644 index 0000000000000000000000000000000000000000..58cd6c078f61101eda87f51a4c74d4960d2a88fb GIT binary patch literal 53248 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 literal 0 HcmV?d00001 diff --git a/src/View/ChatPages/.taskPage.tsx.swp b/src/View/ChatPages/.taskPage.tsx.swp index e7479c10aed06a4845d7ab93f49b82a84bdc8871..cd5595fa9172d32860e8b8b524b966c8f5910e1e 100644 GIT binary patch delta 689 zcmY+=Ur19?90%~<>~8bA*)~@6u%zA1x&Cc)&`Su8T0z#d8R<(sc;}8|vfXR9t2RO% zy-5!#zn35aA9_fla2o_dMD-#>gpkmi1@%-^qh73+`g-dj4}9Qv&iVd0hhMd7t5$6X za^1sy{lVk$Zo={so&8-Of9LF=M**Tj(Oj%WYNuX#Y?+47`@_?IvxVr*uD{6)`-0KA zj@?B2p#|Qz6Fr7HEWjz`Ci(~;;0{~>2duh?=0OEN5PWYVT8A5O5qe-tCR&4K z7=ajgWSXOItwbB}92!uEDHw-Q$iWbtff)R9A_vQG8?Hebwj4yCU=8j<4pQKT7j~iw zoP(xB^cwENyp$r+Pz*p5bJ?EFCOiQXPQp*j>@Cbf5+vBL5v@R-CzWH|4DVrY*u~zc z#1ECdJL>Jbl`f}sZsn{@iq}JJ|MDrT|C!>jGD}K^mpYxi8Fh2ESK`@TnHQByRwf&g z!};PA$+CQXKuq_UqI_C2jmp7M-4Me?G2O4{Md>IfV}4goSB?DOq%bPhp1($1_Cqsh z<)_L%DOgY^_{w2FFLc@Yi*kZrc4m3xNFY!UnlRK-e5_b9g>l|U8$vZjM$L&5*CI;e oUSzd3x#RJf;FzJ8gQ0jlk=Dx-x+XO9YC`+(d!e4jQ2c@K4_P3o9smFU delta 686 zcmZ9|O=uHA7zW@k8k>zaHk*^7jW#i#!z)=Xo>)k{Tz=nPx_#PyB43lsc z4hLzDLKys%h*n_*7GVLN!Bcn$cVH5Z!D;}7U>O>48~WiO5PWV!4sOB-Z0#aig1c}6 zHvPB+)Zw1LNOT#4G<@5MAk0D*e(fN73G;9rPC^7W@P1#Q4mDAY9~Wzhs8~!K5tTxx zcpmrv{Y$}IU#V)_rcn@YQgQLMHx$+s(?}GUs^wHkvW>`t*YW|ixE1AZiqH9V;yhsgs1#o^>M){W=_Bt4< zs+u{ - -
+
+ {NewItemEntry(coreViewModel, taskPageViewModel.boardQuery, taskPageViewModel.createBoard)}
FQ)A%uJfp5d9DI zrvHIQ4}v%EUc3m37yk#nc~jqPHa|AO)~oV{d|7tpy*F<@GY=9n^_894CcojWFl=WS zd+_Vc!_}qp?DaXu8nJb~M>e6tK>Y5g-CYfCvx)B0vO) z01+Sp{~&=NV(i*U#y+9k|Nq0^{~t~>_6ilE>ZpsTMbt6W=LH-?Nz_f$0_x*DWA9OK zQ7=&UQMXYiP(MyF_8s*N^$ztC^&IsK)kpPEk5L8Ganw)Dz$;bWORTeF#ev(%_A-NR zOKHnPC5@dL+*Zjw-6FpWL1?`#8(64WXs#={588q*CpnCQRe6Qy@vHx2miw4hi6uRK zOpK?^b$iAh2=J7SK%=LGPEAJ89T;WP_F^~UnReZTI<7-LKeSF)ngpJRU-s*5Yn7~y zW^@ym>wFZV7)uFy8@jgAo0?1pP3TuKMAjR7Oe>fQ>B9bXOy;a7TPOl!Dmk+kM5>cx zlS5@U*Qh6(iIT-gtJX~7dx4AuY~auu*bab9_Qwo1WEebg4jKx#u+npThudkj5(2ar z2%$R8f5s&garkIvLIVOqn>Dto(GXA^3_&#G6PvBX3!pc&8mJCtCx2 zSF0w^d7h6SM>i=+{|;V_Pw&2uI&-CAh)X;$gCfhgYgcw-s~*qp7VnR(-IB)ph(5mo DO>c{W literal 0 HcmV?d00001 diff --git a/src/View/Components/boardEntry.tsx b/src/View/Components/boardEntry.tsx index 80bef85f..a2e34ab5 100644 --- a/src/View/Components/boardEntry.tsx +++ b/src/View/Components/boardEntry.tsx @@ -6,7 +6,7 @@ export function BoardEntry(boardViewModel: BoardViewModel) { const view = ( +} diff --git a/src/View/translations.ts b/src/View/translations.ts index c659972a..9793717b 100644 --- a/src/View/translations.ts +++ b/src/View/translations.ts @@ -22,6 +22,9 @@ const englishTranslations = { saveButton: "Save", setButton: "Set", + filterOrCreateLabel: "Search or create", + createLabel: (query: string) => `Create "${query}"`, + reloadAppButton: "Reload App", fileVersionLabel: "Version", @@ -248,11 +251,6 @@ const englishTranslations = { }, task: { - newBoardNamePlaceholder: "Create a board", - createBoardButtonAudioLabel: "create board", - - /// - noBoardSelected: "No board selected", boardNotFound: "Board not found", @@ -359,587 +357,587 @@ export const allTranslations: { confirmButton: "Bestätigen", saveButton: "Speichern", setButton: "OK", + + filterOrCreateLabel: "Suchen oder erstellen", + createLabel: (query: string) => `"${query}" erstellen`, + + reloadAppButton: "Neu laden", + + fileVersionLabel: "Version", + searchLabel: "Suche", + searchSuggestionsLabel: "Vorherige Suchen", + waitingLabel: "Warten...", + + restoreConnection: "Verbindung wiederherstellen", + + noPageSelected: "Keine Seite ausgewählt", + }, + + regional: { + weekdays: { + full: [ + "Sonntag", + "Montag", + "Dienstag", + "Mittwoch", + "Donnerstag", + "Freitag", + "Samstag", + ], + abbreviated: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], + }, + }, + + homePage: { + appName: "Comms", + + overviewHeadline: "Übersicht", + + 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", + + settingsButton: "Einstellungen", + manageStorageButton: "Daten verwalten", + transferDataButton: "Daten übertragen", + + scrollToChatButton: "Chats", + + backToOverviewAudioLabel: "zurück zur übersicht", + chatsHeadline: "Chats", + + addChatAudioLabel: "Name des neuen Chats", + addChatPlaceholder: "Chat hinzufügen", + addChatButton: "Chat hinzufügen", + }, + + settings: { + pages: { + appearance: "Erscheinungsbild", + regional: "Sprache & Region", + info: "Über Comms", + }, + themes: { + dynamic: "Dynamisch", + dark: "Dunkel", + light: "Hell", + system: "Geräteeinstellung", + }, + + version: "Version", + language: "Sprache", + + firstDayOfWeekLabel: "Erster Wochentag", + }, + + connectionModal: { + connectionModalHeadline: "Verbindungen verwalten", + + connectButtonAudioLabel: "verbinden", + }, + + dataTransferModal: { + transferDataHeadline: "Datenübertragung", + sendHeadline: "An anderes Gerät senden", + receiveHeadline: "An dieses Gerät senden", + exportHeadline: "Daten exportieren", + importHeadline: "Daten importieren", + selectionDescription: + "Wähle die Daten aus, die du übertragen möchtest.", + exportSelectionDescription: + "Wähle die Daten aus, die du exportieren möchtest.", + dataEntryDescription: + "Gib diese Informationen auf dem anderen Gerät ein.", + dataEntryInputDescription: + "Gib die auf dem anderen Gerät angezeigten Informationen ein.", + + fromThisDeviceButton: "An anderes Gerät senden", + toThisDeviceButton: "An dieses Gerät senden", + exportButton: "Als Datei exportieren", + importButton: "Aus Datei importieren", + + generalHeadline: "Allgemein", + + connectionData: "Verbindungsdaten", + settingsData: "Einstellungen", + + chatsHeadline: "Chats", + + transferChannelHeadline: "Übertragungskanal", + transferKeyHeadline: "Schlüssel", + + sendButton: "Senden", + sendAgainButton: "Erneut senden", + + filesSentCount: (count) => `Dateien gesendet: ${count}.`, + allFilesSent: "Fertig.", + + filesReceivedCount: (count) => `Dateien empfangen: ${count}.`, + + exportKey: "Schlüssel", + exportKeyConfirmation: "Schlüssel bestätigen", + downloadFileButton: "Herunterladen", + importFileButton: "Importieren", + decryptImportButton: "Entschlüsseln", + incorrectPassphraseError: "Der Schlüssel ist nicht korrekt", + }, + + storage: { + noItemSelected: "Kein Element ausgewählt", + notAFile: "(keine Datei)", + contentEmpty: "(leer)", + + path: "Pfad", + content: "Inhalt", + + deleteItem: "Element löschen", + + removeJunkButton: "Datenmüll löschen", + }, + + chatPage: { + closeChatAudioLabe: "Chat schließen", + chatSettingsAudioLabel: "Chateinstellungen", + + pages: { + settings: "Einstellungen", + messages: "Nachrichten", + tasks: "Aufgaben", + calendar: "Kalender", + }, + + settings: { + settingsHeadline: "Einstellungen", + + primaryChannelLabel: "Hauptkanal", + setPrimaryChannelButtonAudioLabel: "Hauptkanal festlegen", - reloadAppButton: "Neu laden", - - fileVersionLabel: "Version", - searchLabel: "Suche", - searchSuggestionsLabel: "Vorherige Suchen", - waitingLabel: "Warten...", - - restoreConnection: "Verbindung wiederherstellen", - - noPageSelected: "Keine Seite ausgewählt", - }, - - regional: { - weekdays: { - full: [ - "Sonntag", - "Montag", - "Dienstag", - "Mittwoch", - "Donnerstag", - "Freitag", - "Samstag", - ], - abbreviated: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], - }, - }, - - homePage: { - appName: "Comms", - - overviewHeadline: "Übersicht", - - 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", - - settingsButton: "Einstellungen", - manageStorageButton: "Daten verwalten", - transferDataButton: "Daten übertragen", - - scrollToChatButton: "Chats", - - backToOverviewAudioLabel: "zurück zur übersicht", - chatsHeadline: "Chats", - - addChatAudioLabel: "Name des neuen Chats", - addChatPlaceholder: "Chat hinzufügen", - addChatButton: "Chat hinzufügen", - }, - - settings: { - pages: { - appearance: "Erscheinungsbild", - regional: "Sprache & Region", - info: "Über Comms", - }, - themes: { - dynamic: "Dynamisch", - dark: "Dunkel", - light: "Hell", - system: "Geräteeinstellung", - }, - - version: "Version", - language: "Sprache", - - firstDayOfWeekLabel: "Erster Wochentag", - }, - - connectionModal: { - connectionModalHeadline: "Verbindungen verwalten", - - connectButtonAudioLabel: "verbinden", - }, - - dataTransferModal: { - transferDataHeadline: "Datenübertragung", - sendHeadline: "An anderes Gerät senden", - receiveHeadline: "An dieses Gerät senden", - exportHeadline: "Daten exportieren", - importHeadline: "Daten importieren", - selectionDescription: - "Wähle die Daten aus, die du übertragen möchtest.", - exportSelectionDescription: - "Wähle die Daten aus, die du exportieren möchtest.", - dataEntryDescription: - "Gib diese Informationen auf dem anderen Gerät ein.", - dataEntryInputDescription: - "Gib die auf dem anderen Gerät angezeigten Informationen ein.", - - fromThisDeviceButton: "An anderes Gerät senden", - toThisDeviceButton: "An dieses Gerät senden", - exportButton: "Als Datei exportieren", - importButton: "Aus Datei importieren", - - generalHeadline: "Allgemein", - - connectionData: "Verbindungsdaten", - settingsData: "Einstellungen", - - chatsHeadline: "Chats", - - transferChannelHeadline: "Übertragungskanal", - transferKeyHeadline: "Schlüssel", - - sendButton: "Senden", - sendAgainButton: "Erneut senden", - - filesSentCount: (count) => `Dateien gesendet: ${count}.`, - allFilesSent: "Fertig.", - - filesReceivedCount: (count) => `Dateien empfangen: ${count}.`, - - exportKey: "Schlüssel", - exportKeyConfirmation: "Schlüssel bestätigen", - downloadFileButton: "Herunterladen", - importFileButton: "Importieren", - decryptImportButton: "Entschlüsseln", - incorrectPassphraseError: "Der Schlüssel ist nicht korrekt", - }, - - storage: { - noItemSelected: "Kein Element ausgewählt", - notAFile: "(keine Datei)", - contentEmpty: "(leer)", - - path: "Pfad", - content: "Inhalt", - - deleteItem: "Element löschen", - - removeJunkButton: "Datenmüll löschen", - }, - - chatPage: { - closeChatAudioLabe: "Chat schließen", - chatSettingsAudioLabel: "Chateinstellungen", - - pages: { - settings: "Einstellungen", - messages: "Nachrichten", - tasks: "Aufgaben", - calendar: "Kalender", - }, + namespaceLabel: "Namensraum", + namespacePlaceholder: "Ohne Namensraum", + setNamespaceButtonAudioLabel: "Namensraum festlegen", - settings: { - settingsHeadline: "Einstellungen", - - primaryChannelLabel: "Hauptkanal", - setPrimaryChannelButtonAudioLabel: "Hauptkanal festlegen", - - namespaceLabel: "Namensraum", - namespacePlaceholder: "Ohne Namensraum", - setNamespaceButtonAudioLabel: "Namensraum festlegen", + newSecondaryChannelPlaceholder: "Sekundären Kanal hinzufügen", + newSecondaryChannelAudioLabel: + "Name des neuen sekundären Kanals", + addSecondaryChannelButtonAudioLabel: + "Sekundären Kanal hinzufügen", - newSecondaryChannelPlaceholder: "Sekundären Kanal hinzufügen", - newSecondaryChannelAudioLabel: - "Name des neuen sekundären Kanals", - addSecondaryChannelButtonAudioLabel: - "Sekundären Kanal hinzufügen", + encryptionKeyLabel: "Schlüssel", + setEncryptionKeyButtonAudioLabel: "Schlüssel festlegen", + showEncryptionKey: "Schlüssel anzeigen", - encryptionKeyLabel: "Schlüssel", - setEncryptionKeyButtonAudioLabel: "Schlüssel festlegen", - showEncryptionKey: "Schlüssel anzeigen", + deleteChatButton: "Gesamten Chat löschen", + }, - deleteChatButton: "Gesamten Chat löschen", - }, + message: { + messagesHeadline: "Nachrichten", - message: { - messagesHeadline: "Nachrichten", + messageFilterHeadline: "Nachrichten filtern", + messageFilterReactionsHadline: "Reaktionen", + messageFilterAllReactionsButton: "Alle anzeigen", - messageFilterHeadline: "Nachrichten filtern", - messageFilterReactionsHadline: "Reaktionen", - messageFilterAllReactionsButton: "Alle anzeigen", + composerInputPlaceholder: "Schreib eine Nachricht...", + sendMessageButtonAudioLabel: "nachricht senden", + filterMessagesButtonAudioLabel: "nachrichten filtern", - composerInputPlaceholder: "Schreib eine Nachricht...", - sendMessageButtonAudioLabel: "nachricht senden", - filterMessagesButtonAudioLabel: "nachrichten filtern", + showMessageInfoButtonAudioLabel: "nachrichteninfo anzeigen", + messageInfoHeadline: "Nachrichteninfo", + cancelReplyAudioLabel: "antwort abbrechen", - showMessageInfoButtonAudioLabel: "nachrichteninfo anzeigen", - messageInfoHeadline: "Nachrichteninfo", - cancelReplyAudioLabel: "antwort abbrechen", + sentBy: "Gesendet von", + timeSent: "Sendezeit", + channel: "Kanal", + messageContent: "Nachrichteninhalt", - sentBy: "Gesendet von", - timeSent: "Sendezeit", - channel: "Kanal", - messageContent: "Nachrichteninhalt", + copyMessageButton: "Nachricht kopieren", + resendMessageButton: "Nachricht erneut senden", + decryptMessageButton: "Nachricht entschlüsseln", + replyToMessageButton: "Auf Nachricht antworten", + deleteMessageButton: "Nachricht löschen", - copyMessageButton: "Nachricht kopieren", - resendMessageButton: "Nachricht erneut senden", - decryptMessageButton: "Nachricht entschlüsseln", - replyToMessageButton: "Auf Nachricht antworten", - deleteMessageButton: "Nachricht löschen", + // - // + thumbsUpReaction: "Reaktion: Daumen hoch", + checkReaction: "Reaktion: Haken", + stopReaction: "Reaktion: Stopp", + attentionReaction: "Reaktion: Ausrufezeichen", + doubleAttentionReaction: "Reaktion: doppeltes Ausrufezeichen", + questionReaction: "Reaktion: Fragezeichen", + }, - thumbsUpReaction: "Reaktion: Daumen hoch", - checkReaction: "Reaktion: Haken", - stopReaction: "Reaktion: Stopp", - attentionReaction: "Reaktion: Ausrufezeichen", - doubleAttentionReaction: "Reaktion: doppeltes Ausrufezeichen", - questionReaction: "Reaktion: Fragezeichen", - }, + task: { + noBoardSelected: "Kein Board ausgewählt", + boardNotFound: "Board nicht gefunden", - task: { - newBoardNamePlaceholder: "Board erstellen", - createBoardButtonAudioLabel: "board erstellen", + closeBoardButtonAudioLabel: "board schließen", + toggleBoardButtonAudioLabel: "board-liste ein/ausblenden", + showBoardSettingsButtonAudioLabel: + "Board-Einstellungen anzeigen", - noBoardSelected: "Kein Board ausgewählt", - boardNotFound: "Board nicht gefunden", + listViewButtonAudioLabel: "Listenansicht", + kanbanViewButtonAudioLabel: "Kanban-Ansicht", + statusViewButtonAudioLabel: "Statusrasteransicht", - closeBoardButtonAudioLabel: "board schließen", - toggleBoardButtonAudioLabel: "board-liste ein/ausblenden", - showBoardSettingsButtonAudioLabel: - "Board-Einstellungen anzeigen", + filterTasksButtonAudioLabel: "Aufgaben filtern", + createTaskButtonAudioLabel: "Neue Aufgabe erstellen", - listViewButtonAudioLabel: "Listenansicht", - kanbanViewButtonAudioLabel: "Kanban-Ansicht", - statusViewButtonAudioLabel: "Statusrasteransicht", + boardSettingsHeadline: "Board-Einstellungen", + boardNameInputLabel: "Boardname", + deleteBoardButton: "Board und alle Aufgaben löschen", - filterTasksButtonAudioLabel: "Aufgaben filtern", - createTaskButtonAudioLabel: "Neue Aufgabe erstellen", + taskSettingsHeadline: "Aufgabe bearbeiten", - boardSettingsHeadline: "Board-Einstellungen", - boardNameInputLabel: "Boardname", - deleteBoardButton: "Board und alle Aufgaben löschen", + taskNameLabel: "Titel", + taskBoardLabel: "Board", - taskSettingsHeadline: "Aufgabe bearbeiten", + taskCategoryLabel: "Kategorie", + taskStatusLabel: "Status", + taskPriorityLabel: "Priorität", - taskNameLabel: "Titel", - taskBoardLabel: "Board", + taskDescriptionLabel: "Beschreibung", - taskCategoryLabel: "Kategorie", - taskStatusLabel: "Status", - taskPriorityLabel: "Priorität", + taskDateLabel: "Datum", + taskTimeLabel: "Uhrzeit", - taskDescriptionLabel: "Beschreibung", + deleteTaskButton: "Aufgabe löschen", - taskDateLabel: "Datum", - taskTimeLabel: "Uhrzeit", + filterTasksHeadline: "Aufgaben filtern", - deleteTaskButton: "Aufgabe löschen", + renameCategoryInputPlaceholder: "Kategorie umbenennen", + renameStatusInputPlaceholder: "Status umbenennen", + }, - filterTasksHeadline: "Aufgaben filtern", + calendar: { + eventsBoard: "Ereignisse", - renameCategoryInputPlaceholder: "Kategorie umbenennen", - renameStatusInputPlaceholder: "Status umbenennen", - }, + /// - calendar: { - eventsBoard: "Ereignisse", + todayButtonAudioLabel: "gehe zu heute", - /// + previousMonthButtonAudioLabel: "vorheriger monat", + nextMonthButtonAudioLabel: "nächster monat", - todayButtonAudioLabel: "gehe zu heute", + yearInputAudioLabel: "Jahr", + monthInputAudioLabel: "Monat", - previousMonthButtonAudioLabel: "vorheriger monat", - nextMonthButtonAudioLabel: "nächster monat", + yearInputPlaceholder: "2000", + monthInputPlaceholder: "01", - yearInputAudioLabel: "Jahr", - monthInputAudioLabel: "Monat", + searchEventsHeadline: "Ereignisse suchen", - yearInputPlaceholder: "2000", - monthInputPlaceholder: "01", - - searchEventsHeadline: "Ereignisse suchen", - - events: "Ereignisse", - noEvents: "Keine Ereignisse", - }, - }, + events: "Ereignisse", + noEvents: "Keine Ereignisse", + }, + }, }, es: { - updater: { - migrated: "Migrado", - }, - - general: { - deleteItemButtonAudioLabel: "eliminar elemento", - searchButtonAudioLabel: "buscar", - searchButtonClearAudioLabel: "borrar büsqueda", - - abortButton: "Abortar", - applyButton: "Guardar", - backButton: "Atrás", - cancelButton: "Cancelar", - closeButton: "Cerrar", - deleteButton: "Borrar", - exitButton: "Salir", - fullscreenButton: "Pantalla completa", - - continueButton: "Continuar", - confirmButton: "Confirmar", - saveButton: "Guardar", - setButton: "OK", - - reloadAppButton: "Recargar app", - - fileVersionLabel: "Versión", - searchLabel: "Buscar", - searchSuggestionsLabel: "Búsquedas anteriores", - waitingLabel: "Esperando...", - - restoreConnection: "Conectar de nuevo", - - noPageSelected: "No página seleccionada", - }, - - regional: { - weekdays: { - full: [ - "Domingo", - "Lunes", - "Martes", - "Miércoles", - "Jueves", - "Viernes", - "Sábado", - ], - abbreviated: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"], - }, - }, - - homePage: { - appName: "Comms", - - overviewHeadline: "Resumen", - - serverAddress: "Dirección 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érez", - setNameButtonAudioLabel: "establecer nombre", - - settingsButton: "Ajustes", - manageStorageButton: "Gestionar almacenamiento", - transferDataButton: "Enviar o exportar archivos", - - scrollToChatButton: "Chats", - - backToOverviewAudioLabel: "volver al resumen", - chatsHeadline: "Chats", - - addChatAudioLabel: "nombre del nuevo chat", - addChatPlaceholder: "Añadir chat", - addChatButton: "Añadir chat", - }, - - settings: { - pages: { - appearance: "Aspecto", - regional: "Idioma y Región", - info: "Sobre Comms", - }, - themes: { - dynamic: "Dinámico", - dark: "Oscuro", - light: "Claro", - system: "Según dispositivo", - }, - - version: "Versión", - language: "Idioma", - - firstDayOfWeekLabel: "Primer día de la semana", - }, - connectionModal: { - connectionModalHeadline: "Gestionar Conexiones", - - connectButtonAudioLabel: "conectar", - }, - - dataTransferModal: { - transferDataHeadline: "Transferencia de datos", - sendHeadline: "Enviar a otro dispositivo", - receiveHeadline: "Enviar a este dispositivo", - exportHeadline: "Exportar archivo", - importHeadline: "Importar archivo", - selectionDescription: - "Selecciona los datos que quieres transferir.", - exportSelectionDescription: - "Selecciona los datos que quieres exportar.", - dataEntryDescription: - "Introduce estos datos en el otro dispositivo.", - dataEntryInputDescription: - "Introduce los datos mostrados en el otro dispositivo.", - - fromThisDeviceButton: "Enviar a otro dispositivo", - toThisDeviceButton: "Enviar a este dispositivo", - exportButton: "Exportar archivo", - importButton: "Importar archivo", - - generalHeadline: "General", - - connectionData: "Datos de Conexión", - settingsData: "Datos de Configuración", - - chatsHeadline: "Chats", - - transferChannelHeadline: "Canal de Transferencia", - transferKeyHeadline: "Clave de encriptación de transferencia", - - sendButton: "Enviar", - sendAgainButton: "Enviar otra vez", - - filesSentCount: (count) => `Archivos enviados: ${count}.`, - allFilesSent: "Hecho.", - - filesReceivedCount: (count) => `Archivos recibidos: ${count}.`, - - exportKey: "Clave de encriptación", - exportKeyConfirmation: "Confirmar clave", - downloadFileButton: "Descargar", - importFileButton: "Importar", - decryptImportButton: "Descifrar", - incorrectPassphraseError: "La clave no es correcta", - }, - - storage: { - noItemSelected: "Ningún elemento seleccionado", - notAFile: "(no es un archivo)", - contentEmpty: "(vacío)", - - path: "Ruta", - content: "Contenido", - - deleteItem: "Eliminar elemento", - - removeJunkButton: "Eliminar archivos basura", - }, - - chatPage: { - closeChatAudioLabe: "cerrar chat", - chatSettingsAudioLabel: "configuración del chat", - - pages: { - settings: "Configuración", - messages: "Mensajes", - tasks: "Tareas", - calendar: "Calendario", - }, - - settings: { - settingsHeadline: "Configuración", - - primaryChannelLabel: "Canal principal", - setPrimaryChannelButtonAudioLabel: "establecer canal principal", - - namespaceLabel: "Espacio de nombres", - namespacePlaceholder: "Sin espacio de nombres", - setNamespaceButtonAudioLabel: "establecer espacio de nombres", - - newSecondaryChannelPlaceholder: "Añadir canal secundario", - newSecondaryChannelAudioLabel: - "nombre del nuevo canal secundario", - addSecondaryChannelButtonAudioLabel: "añadir canal secundario", + updater: { + migrated: "Migrado", + }, + + general: { + deleteItemButtonAudioLabel: "eliminar elemento", + searchButtonAudioLabel: "buscar", + searchButtonClearAudioLabel: "borrar büsqueda", + + abortButton: "Abortar", + applyButton: "Guardar", + backButton: "Atrás", + cancelButton: "Cancelar", + closeButton: "Cerrar", + deleteButton: "Borrar", + exitButton: "Salir", + fullscreenButton: "Pantalla completa", + + continueButton: "Continuar", + confirmButton: "Confirmar", + saveButton: "Guardar", + setButton: "OK", + + filterOrCreateLabel: "Buscar o crear", + createLabel: (query: string) => `Crear "${query}"`, + + reloadAppButton: "Recargar app", + + fileVersionLabel: "Versión", + searchLabel: "Buscar", + searchSuggestionsLabel: "Búsquedas anteriores", + waitingLabel: "Esperando...", + + restoreConnection: "Conectar de nuevo", + + noPageSelected: "No página seleccionada", + }, + + regional: { + weekdays: { + full: [ + "Domingo", + "Lunes", + "Martes", + "Miércoles", + "Jueves", + "Viernes", + "Sábado", + ], + abbreviated: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"], + }, + }, + + homePage: { + appName: "Comms", + + overviewHeadline: "Resumen", + + serverAddress: "Dirección 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érez", + setNameButtonAudioLabel: "establecer nombre", + + settingsButton: "Ajustes", + manageStorageButton: "Gestionar almacenamiento", + transferDataButton: "Enviar o exportar archivos", + + scrollToChatButton: "Chats", + + backToOverviewAudioLabel: "volver al resumen", + chatsHeadline: "Chats", + + addChatAudioLabel: "nombre del nuevo chat", + addChatPlaceholder: "Añadir chat", + addChatButton: "Añadir chat", + }, + + settings: { + pages: { + appearance: "Aspecto", + regional: "Idioma y Región", + info: "Sobre Comms", + }, + themes: { + dynamic: "Dinámico", + dark: "Oscuro", + light: "Claro", + system: "Según dispositivo", + }, + + version: "Versión", + language: "Idioma", + + firstDayOfWeekLabel: "Primer día de la semana", + }, + connectionModal: { + connectionModalHeadline: "Gestionar Conexiones", + + connectButtonAudioLabel: "conectar", + }, + + dataTransferModal: { + transferDataHeadline: "Transferencia de datos", + sendHeadline: "Enviar a otro dispositivo", + receiveHeadline: "Enviar a este dispositivo", + exportHeadline: "Exportar archivo", + importHeadline: "Importar archivo", + selectionDescription: + "Selecciona los datos que quieres transferir.", + exportSelectionDescription: + "Selecciona los datos que quieres exportar.", + dataEntryDescription: + "Introduce estos datos en el otro dispositivo.", + dataEntryInputDescription: + "Introduce los datos mostrados en el otro dispositivo.", + + fromThisDeviceButton: "Enviar a otro dispositivo", + toThisDeviceButton: "Enviar a este dispositivo", + exportButton: "Exportar archivo", + importButton: "Importar archivo", + + generalHeadline: "General", + + connectionData: "Datos de Conexión", + settingsData: "Datos de Configuración", + + chatsHeadline: "Chats", + + transferChannelHeadline: "Canal de Transferencia", + transferKeyHeadline: "Clave de encriptación de transferencia", + + sendButton: "Enviar", + sendAgainButton: "Enviar otra vez", + + filesSentCount: (count) => `Archivos enviados: ${count}.`, + allFilesSent: "Hecho.", + + filesReceivedCount: (count) => `Archivos recibidos: ${count}.`, + + exportKey: "Clave de encriptación", + exportKeyConfirmation: "Confirmar clave", + downloadFileButton: "Descargar", + importFileButton: "Importar", + decryptImportButton: "Descifrar", + incorrectPassphraseError: "La clave no es correcta", + }, + + storage: { + noItemSelected: "Ningún elemento seleccionado", + notAFile: "(no es un archivo)", + contentEmpty: "(vacío)", + + path: "Ruta", + content: "Contenido", + + deleteItem: "Eliminar elemento", + + removeJunkButton: "Eliminar archivos basura", + }, + + chatPage: { + closeChatAudioLabe: "cerrar chat", + chatSettingsAudioLabel: "configuración del chat", + + pages: { + settings: "Configuración", + messages: "Mensajes", + tasks: "Tareas", + calendar: "Calendario", + }, + + settings: { + settingsHeadline: "Configuración", + + primaryChannelLabel: "Canal principal", + setPrimaryChannelButtonAudioLabel: "establecer canal principal", + + namespaceLabel: "Espacio de nombres", + namespacePlaceholder: "Sin espacio de nombres", + setNamespaceButtonAudioLabel: "establecer espacio de nombres", - encryptionKeyLabel: "Clave de encriptación", - setEncryptionKeyButtonAudioLabel: - "establecer clave de encriptación", - showEncryptionKey: "Mostrar clave de encriptación", + newSecondaryChannelPlaceholder: "Añadir canal secundario", + newSecondaryChannelAudioLabel: + "nombre del nuevo canal secundario", + addSecondaryChannelButtonAudioLabel: "añadir canal secundario", - deleteChatButton: "Eliminar todo el chat", - }, + encryptionKeyLabel: "Clave de encriptación", + setEncryptionKeyButtonAudioLabel: + "establecer clave de encriptación", + showEncryptionKey: "Mostrar clave de encriptación", - message: { - messagesHeadline: "Mensajes", + deleteChatButton: "Eliminar todo el chat", + }, - messageFilterHeadline: "Filtrar mensajes", - messageFilterReactionsHadline: "Reacciones", - messageFilterAllReactionsButton: "Mostrar todas", + message: { + messagesHeadline: "Mensajes", - composerInputPlaceholder: "Escribe un mensaje...", - sendMessageButtonAudioLabel: "enviar mensaje", - filterMessagesButtonAudioLabel: "filtrar mensajes", + messageFilterHeadline: "Filtrar mensajes", + messageFilterReactionsHadline: "Reacciones", + messageFilterAllReactionsButton: "Mostrar todas", - showMessageInfoButtonAudioLabel: - "mostrar información del mensaje", - messageInfoHeadline: "Información del Mensaje", - cancelReplyAudioLabel: "abortar la respuesta", + composerInputPlaceholder: "Escribe un mensaje...", + sendMessageButtonAudioLabel: "enviar mensaje", + filterMessagesButtonAudioLabel: "filtrar mensajes", - sentBy: "Enviado por", - timeSent: "Hora de envío", - channel: "Canal", - messageContent: "Contenido del mensaje", + showMessageInfoButtonAudioLabel: + "mostrar información del mensaje", + messageInfoHeadline: "Información del Mensaje", + cancelReplyAudioLabel: "abortar la respuesta", - copyMessageButton: "Copiar mensaje", - resendMessageButton: "Reenviar mensaje", - decryptMessageButton: "Desencriptar mensaje", - replyToMessageButton: "Responder al mensaje", - deleteMessageButton: "Eliminar mensaje", + sentBy: "Enviado por", + timeSent: "Hora de envío", + channel: "Canal", + messageContent: "Contenido del mensaje", - // + copyMessageButton: "Copiar mensaje", + resendMessageButton: "Reenviar mensaje", + decryptMessageButton: "Desencriptar mensaje", + replyToMessageButton: "Responder al mensaje", + deleteMessageButton: "Eliminar mensaje", - thumbsUpReaction: "Reacción: pulgar hacia arriba", - checkReaction: "Reacción: marca de verificación", - stopReaction: "Reacción: signo de parada", - attentionReaction: "Reaccion: signo de atención", - doubleAttentionReaction: "Reaccion: signo de atención doble", - questionReaction: "Reaccion: signo de interrogación", - }, + // - task: { - newBoardNamePlaceholder: "Crear un tablero", - createBoardButtonAudioLabel: "crear tablero", + thumbsUpReaction: "Reacción: pulgar hacia arriba", + checkReaction: "Reacción: marca de verificación", + stopReaction: "Reacción: signo de parada", + attentionReaction: "Reaccion: signo de atención", + doubleAttentionReaction: "Reaccion: signo de atención doble", + questionReaction: "Reaccion: signo de interrogación", + }, - noBoardSelected: "Ningún tablero seleccionado", - boardNotFound: "Tablero no encontrado", + task: { + noBoardSelected: "Ningún tablero seleccionado", + boardNotFound: "Tablero no encontrado", - closeBoardButtonAudioLabel: "cerrar tablero", - toggleBoardButtonAudioLabel: - "mostrar o ocultar lista de tableros", - showBoardSettingsButtonAudioLabel: - "mostrar configuración del tablero", + closeBoardButtonAudioLabel: "cerrar tablero", + toggleBoardButtonAudioLabel: + "mostrar o ocultar lista de tableros", + showBoardSettingsButtonAudioLabel: + "mostrar configuración del tablero", - listViewButtonAudioLabel: "vista de lista", - kanbanViewButtonAudioLabel: "vista kanban", - statusViewButtonAudioLabel: "vista de cuadrícula de estado", + listViewButtonAudioLabel: "vista de lista", + kanbanViewButtonAudioLabel: "vista kanban", + statusViewButtonAudioLabel: "vista de cuadrícula de estado", - filterTasksButtonAudioLabel: "filtrar tareas", - createTaskButtonAudioLabel: "crear nueva tarea", + filterTasksButtonAudioLabel: "filtrar tareas", + createTaskButtonAudioLabel: "crear nueva tarea", - boardSettingsHeadline: "Configuración del Tablero", - boardNameInputLabel: "Nombre del tablero", - deleteBoardButton: "Eliminar tablero y todas las tareas", + boardSettingsHeadline: "Configuración del Tablero", + boardNameInputLabel: "Nombre del tablero", + deleteBoardButton: "Eliminar tablero y todas las tareas", - taskSettingsHeadline: "Editar Tarea", + taskSettingsHeadline: "Editar Tarea", - taskNameLabel: "Título", - taskBoardLabel: "Tablero", + taskNameLabel: "Título", + taskBoardLabel: "Tablero", - taskCategoryLabel: "Categoría", - taskStatusLabel: "Estado", - taskPriorityLabel: "Prioridad", + taskCategoryLabel: "Categoría", + taskStatusLabel: "Estado", + taskPriorityLabel: "Prioridad", - taskDescriptionLabel: "Descripción", + taskDescriptionLabel: "Descripción", - taskDateLabel: "Fecha", - taskTimeLabel: "Hora", + taskDateLabel: "Fecha", + taskTimeLabel: "Hora", - deleteTaskButton: "Eliminar tarea", + deleteTaskButton: "Eliminar tarea", - filterTasksHeadline: "Filtrar Tareas", + filterTasksHeadline: "Filtrar Tareas", - renameCategoryInputPlaceholder: "Renombrar categoría", - renameStatusInputPlaceholder: "Renombrar estado", - }, + renameCategoryInputPlaceholder: "Renombrar categoría", + renameStatusInputPlaceholder: "Renombrar estado", + }, - calendar: { - eventsBoard: "Eventos", + calendar: { + eventsBoard: "Eventos", - /// + /// - todayButtonAudioLabel: "ir a hoy", + todayButtonAudioLabel: "ir a hoy", - previousMonthButtonAudioLabel: "mes anterior", - nextMonthButtonAudioLabel: "mes siguiente", + previousMonthButtonAudioLabel: "mes anterior", + nextMonthButtonAudioLabel: "mes siguiente", - yearInputAudioLabel: "año", - monthInputAudioLabel: "mes", + yearInputAudioLabel: "año", + monthInputAudioLabel: "mes", - yearInputPlaceholder: "2000", - monthInputPlaceholder: "01", + yearInputPlaceholder: "2000", + monthInputPlaceholder: "01", - searchEventsHeadline: "Buscar Eventos", + searchEventsHeadline: "Buscar Eventos", - events: "Eventos", - noEvents: "No hay eventos", - }, - }, + events: "Eventos", + noEvents: "No hay eventos", + }, + }, }, }; diff --git a/src/ViewModel/Pages/.taskPageViewModel.ts.swp b/src/ViewModel/Pages/.taskPageViewModel.ts.swp deleted file mode 100644 index a32dc84f9cc4d5793773fb24870d2b08767712a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20480 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