forked from Qortal/qortal-ui
Merge pull request #306 from AlphaX-Projects/master
Q-Chat fixes and additions: Updated dependencies Added translations Added copy paste with line breaks to message field Added upload file ( max file size 125 MB ) Added auto detect if image is GIF and display it so ( max file size 3 MB ) Added auto detect if file is attachment or file Added download splash if download larger files Fixed regex for qortal// links Fixed rporsemirror whitespace error Fixed upload attachment like pdf ( max file size 10 MB ) Fixed delete image, gif, attachment, file
This commit is contained in:
commit
b2da63d694
@ -27,7 +27,7 @@ Easiest way to install the lastest required packages on Linux is via nvm.
|
||||
``` source ~/.bashrc ``` (For Fedora / CentOS) <br/>
|
||||
``` nvm ls-remote ``` (Fetch list of available versions) <br/>
|
||||
``` nvm install v20.11.1 ``` (LTS: Iron supported by Electron V30) <br/>
|
||||
``` npm --location=global install npm@10.7.0 ``` <br/>
|
||||
``` npm --location=global install npm@10.8.0 ``` <br/>
|
||||
|
||||
Adding via binary package mirror will only work if you have set the package path. You can do a node or java build via ports instead by downloading ports with portsnap fetch method.
|
||||
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "reagiert mit",
|
||||
"cchange75": "Anhang wird hochgeladen. Dies kann bis zu einer Minute dauern.",
|
||||
"cchange76": "Anhang wird gelöscht. Dies kann bis zu einer Minute dauern.",
|
||||
"cchange77": "Größe des Anhangs überschreitet 1 MB",
|
||||
"cchange77": "Größe des Anhangs überschreitet 10 MB",
|
||||
"cchange78": "Möchten Sie dieses Bild wirklich löschen?",
|
||||
"cchange79": "Möchten Sie diesen Anhang wirklich löschen?",
|
||||
"cchange80": "Dieses Bild wurde gelöscht",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "geladen",
|
||||
"cchange95": "Nur meine Ressourcen",
|
||||
"cchange96": "Gruppenverwaltung öffnen",
|
||||
"cchange97": "Link zur Gruppe beitreten, in Zwischenablage kopiert"
|
||||
"cchange97": "Link zur Gruppe beitreten, in Zwischenablage kopiert",
|
||||
"cchange98": "Datei wird hochgeladen. Dies kann einige Minuten dauern.",
|
||||
"cchange99": "Datei wird gelöscht. Dies kann bis zu einer Minute dauern.",
|
||||
"cchange100": "Dateigröße überschreitet 125 MB",
|
||||
"cchange101": "Sind Sie sicher, dass Sie diese Datei löschen möchten?",
|
||||
"cchange102": "Diese Datei wurde gelöscht",
|
||||
"cchange103": "GIF wird hochgeladen. Dies kann bis zu einer Minute dauern.",
|
||||
"cchange104": "GIF wird gelöscht. Dies kann bis zu einer Minute dauern.",
|
||||
"cchange105": "Dateigröße überschreitet 3 MB",
|
||||
"cchange106": "Sind Sie sicher, dass Sie dieses GIF löschen möchten?",
|
||||
"cchange107": "Dieses GIF wurde gelöscht",
|
||||
"cchange108": "Der Download wird im Hintergrund fortgesetzt, es kann nur EINE Q-Chat-Datei gleichzeitig heruntergeladen werden.",
|
||||
"cchange109": "Dateityp nicht unterstützt!",
|
||||
"cchange110": "BILD HOCHLADEN",
|
||||
"cchange111": "GIF HOCHLADEN",
|
||||
"cchange112": "ANHANG HOCHLADEN",
|
||||
"cchange113": "DATEI HOCHLADEN",
|
||||
"cchange114": "Schreibe etwas …"
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Willkommen zu Q-Chat",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "reaccionó con",
|
||||
"cchange75": "Cargando archivo adjunto. Esto puede demorar hasta un minuto.",
|
||||
"cchange76": "Eliminando archivo adjunto. Esto puede demorar hasta un minuto.",
|
||||
"cchange77": "El tamaño del archivo adjunto supera 1 MB",
|
||||
"cchange77": "El tamaño del archivo adjunto supera 10 MB",
|
||||
"cchange78": "¿Está seguro de que desea eliminar esta imagen?",
|
||||
"cchange79": "¿Está seguro de que desea eliminar este archivo adjunto?",
|
||||
"cchange80": "Esta imagen ha sido eliminada",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "cargado",
|
||||
"cchange95": "Sólo mis recursos",
|
||||
"cchange96": "Gestión de grupos abiertos",
|
||||
"cchange97": "Enlace para unirse al grupo copiado al portapapeles"
|
||||
"cchange97": "Enlace para unirse al grupo copiado al portapapeles",
|
||||
"cchange98": "Subiendo archivo. Esto puede tardar algunos minutos.",
|
||||
"cchange99": "Eliminando archivo. Esto puede tardar hasta un minuto.",
|
||||
"cchange100": "El tamaño del archivo supera los 125 MB",
|
||||
"cchange101": "¿Está seguro de que desea eliminar este archivo?",
|
||||
"cchange102": "Este archivo ha sido eliminado",
|
||||
"cchange103": "Subiendo gif. Esto puede tardar hasta un minuto.",
|
||||
"cchange104": "Eliminando gif. Esto puede tardar hasta un minuto.",
|
||||
"cchange105": "El tamaño del archivo supera los 3 MB",
|
||||
"cchange106": "¿Estás seguro de que deseas eliminar este gif?",
|
||||
"cchange107": "Este gif ha sido eliminado",
|
||||
"cchange108": "La descarga continuará en segundo plano, sólo se puede descargar UN archivo Q-Chat simultáneamente.",
|
||||
"cchange109": "¡Tipo de archivo no compatible!",
|
||||
"cchange110": "CARGAR IMAGEN",
|
||||
"cchange111": "CARGAR GIF",
|
||||
"cchange112": "CARGA DE ADJUNTOS",
|
||||
"cchange113": "CARGA DE ARCHIVO",
|
||||
"cchange114": "Escribe algo ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Bienvenido al Q-Chat",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "reageerisid",
|
||||
"cchange75": "Manuse üleslaadimine. See võib võtta kuni minuti.",
|
||||
"cchange76": "Manuse kustutamine, võib võtta kuni minuti.",
|
||||
"cchange77": "Manuse suurus ületab 1 MB mahu",
|
||||
"cchange77": "Manuse suurus ületab 10 MB mahu",
|
||||
"cchange78": "Kas oled kindel, et soovid selle pildi kustutada?",
|
||||
"cchange79": "Kas oled kindel, et soovid selle manuse kustutada?",
|
||||
"cchange80": "Pilt kustutatud",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "laaditud",
|
||||
"cchange95": "Ainult minu ressursid",
|
||||
"cchange96": "Avatud rühmahaldus",
|
||||
"cchange97": "Grupiga liitumise link on lõikelauale kopeeritud"
|
||||
"cchange97": "Grupiga liitumise link on lõikelauale kopeeritud",
|
||||
"cchange98": "Faili üleslaadimine. See võib võtta mõne minuti.",
|
||||
"cchange99": "Faili kustutamine. Selleks võib kuluda kuni üks minut.",
|
||||
"cchange100": "Faili suurus ületab 125 MB",
|
||||
"cchange101": "Kas soovite kindlasti selle faili kustutada?",
|
||||
"cchange102": "See fail on kustutatud",
|
||||
"cchange103": "GIF-i üleslaadimine. Selleks võib kuluda kuni üks minut.",
|
||||
"cchange104": "GIF-i kustutamine. Selleks võib kuluda kuni üks minut.",
|
||||
"cchange105": "Faili suurus ületab 3 MB",
|
||||
"cchange106": "Kas soovite kindlasti selle GIF-i kustutada?",
|
||||
"cchange107": "See gif on kustutatud",
|
||||
"cchange108": "Allalaadimine jätkub taustal, korraga saab alla laadida ainult ÜHE Q-Chat faili.",
|
||||
"cchange109": "Failitüüpi ei toetata!",
|
||||
"cchange110": "PILDI ÜLESLAADIMINE",
|
||||
"cchange111": "GIF-I ÜLESLAADIMINE",
|
||||
"cchange112": "MANUSE ÜLESLAADIMINE",
|
||||
"cchange113": "FAILI ÜLESLAADIMINE",
|
||||
"cchange114": "Kirjutage midagi ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Tere tulemast Q-Chatti",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "vastasi",
|
||||
"cchange75": "Lähetetään liitettä. Tämä voi kestää minuutin.",
|
||||
"cchange76": "Liitetiedoston poistaminen voi kestää minuutin.",
|
||||
"cchange77": "Liitekoko ylittää 1 Mt",
|
||||
"cchange77": "Liitekoko ylittää 10 Mt",
|
||||
"cchange78": "Haluatko varmasti poistaa tämän kuvan?",
|
||||
"cchange79": "Haluatko varmasti poistaa tämän liitteen?",
|
||||
"cchange80": "Kuva poistettu",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "ladattu",
|
||||
"cchange95": "Vain minun resurssit",
|
||||
"cchange96": "Avoin ryhmänhallinta",
|
||||
"cchange97": "Ryhmän liittymislinkki kopioitu leikepöydälle"
|
||||
"cchange97": "Ryhmän liittymislinkki kopioitu leikepöydälle",
|
||||
"cchange98": "Ladataan tiedostoa. Tämä voi kestää muutaman minuutin.",
|
||||
"cchange99": "Poistetaan tiedostoa. Tämä voi kestää minuutin.",
|
||||
"cchange100": "Tiedoston koko ylittää 125 Mt",
|
||||
"cchange101": "Haluatko varmasti poistaa tämän tiedoston?",
|
||||
"cchange102": "Tämä tiedosto on poistettu",
|
||||
"cchange103": "Ladataan GIF-tiedostoa. Tämä voi kestää minuutin.",
|
||||
"cchange104": "Poistetaan GIF-tiedostoa. Tämä voi kestää minuutin.",
|
||||
"cchange105": "Tiedoston koko ylittää 3 Mt",
|
||||
"cchange106": "Haluatko varmasti poistaa tämän gifin?",
|
||||
"cchange107": "Tämä gif on poistettu",
|
||||
"cchange108": "Lataus jatkuu taustalla, vain YKSI Q-Chat-tiedosto voidaan ladata samanaikaisesti.",
|
||||
"cchange109": "Tiedostotyyppiä ei tueta!",
|
||||
"cchange110": "KUVAN LATAUS",
|
||||
"cchange111": "GIF LATAUS",
|
||||
"cchange112": "LIITTEEN LATAUS",
|
||||
"cchange113": "TIEDOSTON LATAUS",
|
||||
"cchange114": "Kirjoita jotain ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Tervetuloa Q-Chatiin",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "a réagi avec",
|
||||
"cchange75": "Téléchargement de la pièce jointe. Cela peut prendre jusqu'à une minute.",
|
||||
"cchange76": "Suppression de la pièce jointe. Cela peut prendre jusqu'à une minute.",
|
||||
"cchange77": "La taille de la pièce jointe dépasse 1 Mo",
|
||||
"cchange77": "La taille de la pièce jointe dépasse 10 Mo",
|
||||
"cchange78": "Êtes-vous sûr de vouloir supprimer cette image ?",
|
||||
"cchange79": "Êtes-vous sûr de vouloir supprimer cette pièce jointe ?",
|
||||
"cchange80": "Cette image a été supprimée",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "chargé",
|
||||
"cchange95": "Uniquement mes ressources",
|
||||
"cchange96": "Gestion de groupe ouverte",
|
||||
"cchange97": "Lien de rejoindre le groupe copié dans le presse-papiers"
|
||||
"cchange97": "Lien de rejoindre le groupe copié dans le presse-papiers",
|
||||
"cchange98": "Téléchargement du fichier. Cela peut prendre quelques minutes.",
|
||||
"cchange99": "Suppression du fichier. Cela peut prendre jusqu'à une minute.",
|
||||
"cchange100": "La taille du fichier dépasse 125 Mo",
|
||||
"cchange101": "Etes-vous sûr de vouloir supprimer ce fichier ?",
|
||||
"cchange102": "Ce fichier a été supprimé",
|
||||
"cchange103": "Téléchargement du gif. Cela peut prendre jusqu'à une minute.",
|
||||
"cchange104": "Suppression du gif. Cela peut prendre jusqu'à une minute.",
|
||||
"cchange105": "La taille du fichier dépasse 3 Mo",
|
||||
"cchange106": "Etes-vous sûr de vouloir supprimer ce gif ?",
|
||||
"cchange107": "Ce gif a été supprimé",
|
||||
"cchange108": "Le téléchargement continuera en arrière-plan, UN seul fichier Q-Chat peut être téléchargé simultanément.",
|
||||
"cchange109": "Type de fichier non pris en charge !",
|
||||
"cchange110": "TÉLÉCHARGEMENT D'IMAGE",
|
||||
"cchange111": "TÉLÉCHARGEMENT GIF",
|
||||
"cchange112": "TÉLÉCHARGEMENT DE PIÈCE JOINTE",
|
||||
"cchange113": "TÉLÉCHARGEMENT DE FICHIER",
|
||||
"cchange114": "Écrivez quelque chose ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Bienvenue dans Q-Chat",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "के साथ प्रतिक्रिया",
|
||||
"cchange75": "अटैचमेंट अपलोड हो रहा है। इसमें एक मिनट तक का समय लग सकता है।",
|
||||
"cchange76": "अनुलग्नक हटाया जा रहा है। इसमें एक मिनट तक का समय लग सकता है।",
|
||||
"cchange77": "अटैचमेंट का आकार 1 एमबी से अधिक है",
|
||||
"cchange77": "अटैचमेंट का आकार 10 एमबी से अधिक है",
|
||||
"cchange78": "क्या आप सुनिश्चित हैं कि आप इस चित्र को हटाना चाहते हैं?",
|
||||
"cchange79": "क्या आप वाकई इस अटैचमेंट को मिटाना चाहते हैं?",
|
||||
"cchange80": "इस चित्र को हटा दिया गया है",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "लोड किया गया",
|
||||
"cchange95": "केवल मेरे संसाधन",
|
||||
"cchange96": "समूह प्रबंधन खोलें",
|
||||
"cchange97": "ग्रुप में शामिल होने का लिंक क्लिपबोर्ड पर कॉपी किया गया"
|
||||
"cchange97": "ग्रुप में शामिल होने का लिंक क्लिपबोर्ड पर कॉपी किया गया",
|
||||
"cchange98": "फ़ाइल अपलोड हो रही है। इसमें कुछ मिनट लग सकते हैं।",
|
||||
"cchange99": "फ़ाइल हटाई जा रही है। इसमें एक मिनट तक का समय लग सकता है।",
|
||||
"cchange100": "फ़ाइल का आकार 125 एमबी से अधिक है",
|
||||
"cchange101": "क्या आप वाकई इस फ़ाइल को हटाना चाहते हैं?",
|
||||
"cchange102": "यह फ़ाइल हटा दी गई है",
|
||||
"cchange103": "gif अपलोड हो रहा है। इसमें एक मिनट तक का समय लग सकता है।",
|
||||
"cchange104": "Gif हटा रहा हूँ। इसमें एक मिनट तक का समय लग सकता है।",
|
||||
"cchange105": "फ़ाइल का आकार 3 एमबी से अधिक है",
|
||||
"cchange106": "क्या आप वाकई इस GIF को हटाना चाहते हैं?",
|
||||
"cchange107": "यह GIF हटा दिया गया है",
|
||||
"cchange108": "डाउनलोड पृष्ठभूमि में जारी रहेगा, केवल एक Q-चैट फ़ाइल एक साथ डाउनलोड की जा सकती है।",
|
||||
"cchange109": "फ़ाइल प्रकार समर्थित नहीं है!",
|
||||
"cchange110": "छवि अपलोड करें",
|
||||
"cchange111": "जीआईएफ अपलोड",
|
||||
"cchange112": "अटैचमेंट अपलोड",
|
||||
"cchange113": "फ़ाइल अपलोड करें",
|
||||
"cchange114": "कुछ लिखें ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "क्यू-चैट में आपका स्वागत है",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "reagirao sa",
|
||||
"cchange75": "Učitavanje privitka. Ovo može potrajati do jedne minute.",
|
||||
"cchange76": "Brisanje privitka. Ovo može potrajati do jedne minute.",
|
||||
"cchange77": "Veličina privitka premašuje 1 MB",
|
||||
"cchange77": "Veličina privitka premašuje 10 MB",
|
||||
"cchange78": "Jeste li sigurni da želite izbrisati ovu sliku?",
|
||||
"cchange79": "Jeste li sigurni da želite izbrisati ovaj privitak?",
|
||||
"cchange80": "Ova slika je izbrisana",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "učitano",
|
||||
"cchange95": "Samo moji resursi",
|
||||
"cchange96": "Otvoreno upravljanje grupom",
|
||||
"cchange97": "Veza za pridruživanje grupi kopirana je u međuspremnik"
|
||||
"cchange97": "Veza za pridruživanje grupi kopirana je u međuspremnik",
|
||||
"cchange98": "Učitavanje datoteke. Ovo može potrajati nekoliko minuta.",
|
||||
"cchange99": "Brisanje datoteke. Ovo može potrajati do jedne minute.",
|
||||
"cchange100": "Veličina datoteke premašuje 125 MB",
|
||||
"cchange101": "Jeste li sigurni da želite izbrisati ovu datoteku?",
|
||||
"cchange102": "Ova datoteka je izbrisana",
|
||||
"cchange103": "Učitavanje GIF-a. Ovo može potrajati do jedne minute.",
|
||||
"cchange104": "Brisanje GIF-a. Ovo može potrajati do jedne minute.",
|
||||
"cchange105": "Veličina datoteke premašuje 3 MB",
|
||||
"cchange106": "Jeste li sigurni da želite izbrisati ovaj gif?",
|
||||
"cchange107": "Ovaj gif je izbrisan",
|
||||
"cchange108": "Preuzimanje će se nastaviti u pozadini, samo JEDNA Q-Chat datoteka može se preuzeti istovremeno.",
|
||||
"cchange109": "Vrsta datoteke nije podržana!",
|
||||
"cchange110": "PRIJENOS SLIKE",
|
||||
"cchange111": "PRIJENOS GIF-a",
|
||||
"cchange112": "PRIJENOS PRIVITA",
|
||||
"cchange113": "PRIJENOS DATOTEKE",
|
||||
"cchange114": "Napiši nešto ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Dobrodošli u Q-Čavrljanje",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "reagált:",
|
||||
"cchange75": "Melléklet feltöltése. Ez akár egy percig is eltarthat.",
|
||||
"cchange76": "Melléklet törlése. Ez akár egy percig is eltarthat.",
|
||||
"cchange77": "A melléklet mérete meghaladja az 1 MB-ot",
|
||||
"cchange77": "A melléklet mérete meghaladja az 10 MB-ot",
|
||||
"cchange78": "Biztosan törli ezt a képet?",
|
||||
"cchange79": "Biztosan törli ezt a mellékletet?",
|
||||
"cchange80": "Ezt a képet törölték",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "betöltve",
|
||||
"cchange95": "Csak az én erőforrásaim",
|
||||
"cchange96": "Nyitott csoportkezelés",
|
||||
"cchange97": "Csatlakozási link a vágólapra másolva"
|
||||
"cchange97": "Csatlakozási link a vágólapra másolva",
|
||||
"cchange98": "Fájl feltöltése folyamatban. Ez eltarthat néhány percig.",
|
||||
"cchange99": "Fájl törlése. Ez akár egy percig is eltarthat.",
|
||||
"cchange100": "A fájl mérete meghaladja a 125 MB-ot",
|
||||
"cchange101": "Biztosan törli ezt a fájlt?",
|
||||
"cchange102": "Ez a fájl törölve lett",
|
||||
"cchange103": "Gif feltöltése. Ez akár egy percig is eltarthat.",
|
||||
"cchange104": "Gif törlése. Ez akár egy percig is eltarthat.",
|
||||
"cchange105": "A fájl mérete meghaladja a 3 MB-ot",
|
||||
"cchange106": "Biztosan törli ezt a gifet?",
|
||||
"cchange107": "Ez a gif törölve lett",
|
||||
"cchange108": "A letöltés a háttérben folytatódik, egyszerre csak EGY Q-Chat fájl tölthető le.",
|
||||
"cchange109": "A fájltípus nem támogatott!",
|
||||
"cchange110": "KÉP FELTÖLTÉS",
|
||||
"cchange111": "GIF FELTÖLTÉS",
|
||||
"cchange112": "MELLÉKLET FELTÖLTÉSE",
|
||||
"cchange113": "FÁJL FELTÖLTÉS",
|
||||
"cchange114": "Írj valamit ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Üdvözöljük a Q-Chathoz",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "ha reagito con",
|
||||
"cchange75": "Caricamento dell'allegato. L'operazione potrebbe richiedere fino a un minuto.",
|
||||
"cchange76": "Eliminazione dell'allegato. L'operazione potrebbe richiedere fino a un minuto.",
|
||||
"cchange77": "La dimensione dell'allegato supera 1 MB",
|
||||
"cchange77": "La dimensione dell'allegato supera 10 MB",
|
||||
"cchange78": "Sei sicuro di voler eliminare questa immagine?",
|
||||
"cchange79": "Sei sicuro di voler eliminare questo allegato?",
|
||||
"cchange80": "Questa immagine è stata cancellata",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "caricato",
|
||||
"cchange95": "Solo le mie risorse",
|
||||
"cchange96": "Apri gestione gruppo",
|
||||
"cchange97": "Link per unirti al gruppo copiato negli appunti"
|
||||
"cchange97": "Link per unirti al gruppo copiato negli appunti",
|
||||
"cchange98": "Caricamento del file. L'operazione potrebbe richiedere alcuni minuti.",
|
||||
"cchange99": "Eliminazione del file. L'operazione potrebbe richiedere fino a un minuto.",
|
||||
"cchange100": "La dimensione del file supera 125 MB",
|
||||
"cchange101": "Sei sicuro di voler eliminare questo file?",
|
||||
"cchange102": "Questo file è stato eliminato",
|
||||
"cchange103": "Caricamento gif. L'operazione potrebbe richiedere fino a un minuto.",
|
||||
"cchange104": "Eliminazione gif. L'operazione potrebbe richiedere fino a un minuto.",
|
||||
"cchange105": "La dimensione del file supera i 3 MB",
|
||||
"cchange106": "Sei sicuro di voler eliminare questa gif?",
|
||||
"cchange107": "Questa gif è stata eliminata",
|
||||
"cchange108": "Il download continuerà in background, solo UN file Q-Chat potrà essere scaricato contemporaneamente.",
|
||||
"cchange109": "Tipo di file non supportato!",
|
||||
"cchange110": "CARICA IMMAGINE",
|
||||
"cchange111": "CARICA GIF",
|
||||
"cchange112": "CARICA ALLEGATO",
|
||||
"cchange113": "CARICA FILE",
|
||||
"cchange114": "Scrivi qualcosa ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Benvenuto in Q-Chat",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "リアクション",
|
||||
"cchange75": "添付ファイルをアップロード中。これには最大 1 分かかる場合があります。",
|
||||
"cchange76": "添付ファイルを削除中。これには最大 1 分かかる場合があります。",
|
||||
"cchange77": "添付ファイルのサイズが 1 MB を超えています",
|
||||
"cchange77": "添付ファイルのサイズが 10 MB を超えています",
|
||||
"cchange78": "この画像を削除しますか?",
|
||||
"cchange79": "この添付ファイルを削除しますか?",
|
||||
"cchange80": "この画像は削除されました",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "ロードされました",
|
||||
"cchange95": "私のリソースのみ",
|
||||
"cchange96": "オープングループ管理",
|
||||
"cchange97": "グループに参加するリンクがクリップボードにコピーされました"
|
||||
"cchange97": "グループに参加するリンクがクリップボードにコピーされました",
|
||||
"cchange98": "ファイルをアップロードしています。これには数分かかる場合があります。",
|
||||
"cchange99": "ファイルを削除しています。これには最大 1 分かかる場合があります。",
|
||||
"cchange100": "ファイル サイズが 125 MB を超えています",
|
||||
"cchange101": "このファイルを削除してもよろしいですか?",
|
||||
"cchange102": "このファイルは削除されました",
|
||||
"cchange103": "gif をアップロードしています。これには最大 1 分かかる場合があります。",
|
||||
"cchange104": "gif を削除しています。これには最大 1 分かかる場合があります。",
|
||||
"cchange105": "ファイル サイズが 3 MB を超えています",
|
||||
"cchange106": "この gif を削除してもよろしいですか?",
|
||||
"cchange107": "このGIFは削除されました",
|
||||
"cchange108": "ダウンロードはバックグラウンドで続行されます。同時にダウンロードできる Q-Chat ファイルは 1 つだけです。",
|
||||
"cchange109": "ファイルの種類はサポートされていません!",
|
||||
"cchange110": "画像アップロード",
|
||||
"cchange111": "GIF アップロード",
|
||||
"cchange112": "添付ファイルのアップロード",
|
||||
"cchange113": "ファイルのアップロード",
|
||||
"cchange114": "何か書いてください ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Q-Chat へようこそ",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "반응",
|
||||
"cchange75": "첨부파일을 업로드하는 중입니다. 최대 1분이 소요될 수 있습니다.",
|
||||
"cchange76": "첨부파일을 삭제하는 중입니다. 최대 1분이 소요될 수 있습니다.",
|
||||
"cchange77": "첨부 파일 크기가 1MB를 초과함",
|
||||
"cchange77": "첨부 파일 크기가 10MB를 초과함",
|
||||
"cchange78": "정말 이 이미지를 삭제하시겠습니까?",
|
||||
"cchange79": "이 첨부파일을 삭제하시겠습니까?",
|
||||
"cchange80": "이 이미지는 삭제되었습니다",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "로드됨",
|
||||
"cchange95": "내 리소스만",
|
||||
"cchange96": "그룹 관리 열기",
|
||||
"cchange97": "그룹 가입 링크가 클립보드에 복사되었습니다."
|
||||
"cchange97": "그룹 가입 링크가 클립보드에 복사되었습니다.",
|
||||
"cchange98": "파일을 업로드하는 중입니다. 몇 분 정도 걸릴 수 있습니다.",
|
||||
"cchange99": "파일을 삭제하는 중입니다. 최대 1분이 걸릴 수 있습니다.",
|
||||
"cchange100": "파일 크기가 125MB를 초과합니다",
|
||||
"cchange101": "정말 이 파일을 삭제하시겠습니까?",
|
||||
"cchange102": "이 파일은 삭제되었습니다",
|
||||
"cchange103": "gif를 업로드하는 중입니다. 최대 1분이 걸릴 수 있습니다.",
|
||||
"cchange104": "gif를 삭제하는 중입니다. 최대 1분이 걸릴 수 있습니다.",
|
||||
"cchange105": "파일 크기가 3MB를 초과합니다",
|
||||
"cchange106": "이 GIF를 삭제하시겠습니까?",
|
||||
"cchange107": "이 GIF는 삭제되었습니다",
|
||||
"cchange108": "다운로드는 백그라운드에서 계속됩니다. 동시에 하나의 Q-Chat 파일만 다운로드할 수 있습니다.",
|
||||
"cchange109": "파일 형식이 지원되지 않습니다!",
|
||||
"cchange110": "이미지 업로드",
|
||||
"cchange111": "GIF 업로드",
|
||||
"cchange112": "첨부 파일 업로드",
|
||||
"cchange113": "파일 업로드",
|
||||
"cchange114": "뭔가를 쓰세요 ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Q-Chat에 오신 것을 환영합니다.",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "reageerden met",
|
||||
"cchange75": "Bijlage wordt opgeladen. Dit kan ongeveer een minuut duren.",
|
||||
"cchange76": "Bijlage wordt verwijderd. Dit kan ongeveer een minuut duren.",
|
||||
"cchange77": "Bijlage is groter dan 1 MB",
|
||||
"cchange77": "Bijlage is groter dan 10 MB",
|
||||
"cchange78": "Bent U zeker dat U deze afbeelding wenst te verwijderen?",
|
||||
"cchange79": "Bent U zeker dat U deze bijlage wenst te verwijderen?",
|
||||
"cchange80": "Deze afbeelding werd verwijderd",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "opgeladen",
|
||||
"cchange95": "Enkel mijn gegevens",
|
||||
"cchange96": "Groep-beheer openen",
|
||||
"cchange97": "Link voor lid-aanvraag naar klembord gekopieerd"
|
||||
"cchange97": "Link voor lid-aanvraag naar klembord gekopieerd",
|
||||
"cchange98": "Bestand uploaden. Dit kan enkele minuten duren.",
|
||||
"cchange99": "Bestand verwijderen. Dit kan maximaal één minuut duren.",
|
||||
"cchange100": "Bestandsgrootte is groter dan 125 MB",
|
||||
"cchange101": "Weet u zeker dat u dit bestand wilt verwijderen?",
|
||||
"cchange102": "Dit bestand is verwijderd",
|
||||
"cchange103": "Gif uploaden. Dit kan maximaal een minuut duren.",
|
||||
"cchange104": "Gif verwijderen. Dit kan maximaal een minuut duren.",
|
||||
"cchange105": "Bestandsgrootte is groter dan 3 MB",
|
||||
"cchange106": "Weet je zeker dat je deze gif wilt verwijderen?",
|
||||
"cchange107": "Deze gif is verwijderd",
|
||||
"cchange108": "Het downloaden gaat door op de achtergrond, er kan slechts ÉÉN Q-Chat-bestand tegelijkertijd worden gedownload.",
|
||||
"cchange109": "Bestandstype niet ondersteund!",
|
||||
"cchange110": "AFBEELDING UPLOADEN",
|
||||
"cchange111": "GIF-UPLOAD",
|
||||
"cchange112": "BIJLAGE UPLOADEN",
|
||||
"cchange113": "BESTAND UPLOADEN",
|
||||
"cchange114": "Schrijf iets ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Welkom bij Q-Chat",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "reagerte med",
|
||||
"cchange75": "Laster opp vedlegg. Dette kan ta opptil ett minutt.",
|
||||
"cchange76": "Sletter vedlegg. Dette kan ta opptil ett minutt.",
|
||||
"cchange77": "Vedleggsstørrelsen overstiger 1 MB",
|
||||
"cchange77": "Vedleggsstørrelsen overstiger 10 MB",
|
||||
"cchange78": "Er du sikker på at du vil slette dette bildet?",
|
||||
"cchange79": "Er du sikker på at du vil slette dette vedlegget?",
|
||||
"cchange80": "Dette bildet har blitt slettet",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "lastet",
|
||||
"cchange95": "Kun mine ressurser",
|
||||
"cchange96": "Åpne gruppeadministrasjon",
|
||||
"cchange97": "Bli med i gruppekoblingen kopiert til utklippstavlen"
|
||||
"cchange97": "Bli med i gruppekoblingen kopiert til utklippstavlen",
|
||||
"cchange98": "Laster opp fil. Dette kan ta noen minutter.",
|
||||
"cchange99": "Sletter fil. Dette kan ta opptil ett minutt.",
|
||||
"cchange100": "Filstørrelse overstiger 125 MB",
|
||||
"cchange101": "Er du sikker på at du vil slette denne filen?",
|
||||
"cchange102": "Denne filen har blitt slettet",
|
||||
"cchange103": "Laster opp gif. Dette kan ta opptil ett minutt.",
|
||||
"cchange104": "Sletter gif. Dette kan ta opptil ett minutt.",
|
||||
"cchange105": "Filstørrelsen overstiger 3 MB",
|
||||
"cchange106": "Er du sikker på at du vil slette denne gif-filen?",
|
||||
"cchange107": "Denne gif-filen har blitt slettet",
|
||||
"cchange108": "Nedlastingen fortsetter i bakgrunnen, kun EN Q-Chat-fil kan lastes ned samtidig.",
|
||||
"cchange109": "Filtype støttes ikke!",
|
||||
"cchange110": "OPPLAST BILDE",
|
||||
"cchange111": "LAST OPP GIF",
|
||||
"cchange112": "LAST OPP VEDLEGG",
|
||||
"cchange113": "LAST OPP FIL",
|
||||
"cchange114": "Skriv noe ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Velkommen til Q-Chat",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "zareagował z",
|
||||
"cchange75": "Przesyłanie załącznika. Może to potrwać do jednej minuty.",
|
||||
"cchange76": "Usuwanie załącznika. Może to potrwać do jednej minuty.",
|
||||
"cchange77": "Rozmiar załącznika przekracza 1 MB",
|
||||
"cchange77": "Rozmiar załącznika przekracza 10 MB",
|
||||
"cchange78": "Czy na pewno chcesz usunąć ten obraz?",
|
||||
"cchange79": "Czy na pewno chcesz usunąć ten załącznik?",
|
||||
"cchange80": "Ten obraz został usunięty",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "załadowano",
|
||||
"cchange95": "Tylko moje zasoby",
|
||||
"cchange96": "Otwarte zarządzanie grupą",
|
||||
"cchange97": "Link do dołączenia do grupy skopiowany do schowka"
|
||||
"cchange97": "Link do dołączenia do grupy skopiowany do schowka",
|
||||
"cchange98": "Ładowanie pliku. To może zająć kilka minut.",
|
||||
"cchange99": "Usuwanie pliku. To może zająć do jednej minuty.",
|
||||
"cchange100": "Rozmiar pliku przekracza 125 MB",
|
||||
"cchange101": "Czy na pewno chcesz usunąć ten plik?",
|
||||
"cchange102": "Ten plik został usunięty",
|
||||
"cchange103": "Ładowanie gifa. Może to zająć do jednej minuty.",
|
||||
"cchange104": "Usuwanie GIF. Może to zająć do jednej minuty.",
|
||||
"cchange105": "Rozmiar pliku przekracza 3 MB",
|
||||
"cchange106": "Czy na pewno chcesz usunąć ten gif?",
|
||||
"cchange107": "Ten gif został usunięty",
|
||||
"cchange108": "Pobieranie będzie kontynuowane w tle, jednocześnie można pobrać tylko JEDEN plik Q-Chat.",
|
||||
"cchange109": "Typ pliku nie jest obsługiwany!",
|
||||
"cchange110": "PRZESYŁANIE OBRAZU",
|
||||
"cchange111": "PRZEŚLIJ GIF",
|
||||
"cchange112": "PRZESYŁANIE ZAŁĄCZNIKÓW",
|
||||
"cchange113": "PRZESYŁANIE PLIKU",
|
||||
"cchange114": "Napisz coś ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Witamy w Q-Chat",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "reagiu com",
|
||||
"cchange75": "Carregando anexo. Isso pode levar até um minuto.",
|
||||
"cchange76": "Excluindo anexo. Isso pode levar até um minuto.",
|
||||
"cchange77": "O tamanho do anexo excede 1 MB",
|
||||
"cchange77": "O tamanho do anexo excede 10 MB",
|
||||
"cchange78": "Tem certeza que deseja excluir esta imagem?",
|
||||
"cchange79": "Tem certeza que deseja excluir este anexo?",
|
||||
"cchange80": "Esta imagem foi apagada",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "carregado",
|
||||
"cchange95": "Somente meus recursos",
|
||||
"cchange96": "Gerenciamento de grupo aberto",
|
||||
"cchange97": "Link para entrar no grupo copiado para a área de transferência"
|
||||
"cchange97": "Link para entrar no grupo copiado para a área de transferência",
|
||||
"cchange98": "Enviando arquivo. Isso pode levar alguns minutos.",
|
||||
"cchange99": "Excluindo arquivo. Isso pode levar até um minuto.",
|
||||
"cchange100": "Tamanho do arquivo excede 125 MB",
|
||||
"cchange101": "Tem certeza que deseja excluir este arquivo?",
|
||||
"cchange102": "Este arquivo foi excluído",
|
||||
"cchange103": "Enviando gif. Isso pode levar até um minuto.",
|
||||
"cchange104": "Excluindo gif. Isso pode levar até um minuto.",
|
||||
"cchange105": "Tamanho do arquivo excede 3 MB",
|
||||
"cchange106": "Tem certeza que deseja excluir este gif?",
|
||||
"cchange107": "Este gif foi excluído",
|
||||
"cchange108": "O download continuará em segundo plano, apenas UM arquivo Q-Chat pode ser baixado simultaneamente.",
|
||||
"cchange109": "Tipo de arquivo não suportado!",
|
||||
"cchange110": "CARREGAR IMAGEM",
|
||||
"cchange111": "CARREGAR GIF",
|
||||
"cchange112": "UPLOAD DE ANEXO",
|
||||
"cchange113": "CARREGAR ARQUIVO",
|
||||
"cchange114": "Escreva algo ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Bem-vindo ao Q-Chat",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "a reacționat cu",
|
||||
"cchange75": "Se încarcă atașamentul. Aceasta poate dura până la un minut.",
|
||||
"cchange76": "Se șterge atașamentul. Aceasta poate dura până la un minut.",
|
||||
"cchange77": "Dimensiunea atașamentului depășește 1 MB",
|
||||
"cchange77": "Dimensiunea atașamentului depășește 10 MB",
|
||||
"cchange78": "Sunteți sigur că doriți să ștergeți această imagine?",
|
||||
"cchange79": "Sunteți sigur că doriți să ștergeți acest atașament?",
|
||||
"cchange80": "Această imagine a fost ștearsă",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "încărcat",
|
||||
"cchange95": "Numai resursele mele",
|
||||
"cchange96": "Deschideți managementul grupului",
|
||||
"cchange97": "Linkul de alaturare grupului a fost copiat in clipboard"
|
||||
"cchange97": "Linkul de alaturare grupului a fost copiat in clipboard",
|
||||
"cchange98": "Se încarcă fișierul. Aceasta poate dura câteva minute.",
|
||||
"cchange99": "Ștergerea fișierului. Aceasta poate dura până la un minut.",
|
||||
"cchange100": "Dimensiunea fișierului depășește 125 MB",
|
||||
"cchange101": "Sunteți sigur că doriți să ștergeți acest fișier?",
|
||||
"cchange102": "Acest fișier a fost șters",
|
||||
"cchange103": "Încărcarea GIF-ului. Aceasta poate dura până la un minut.",
|
||||
"cchange104": "Ștergerea GIF-ului. Aceasta poate dura până la un minut.",
|
||||
"cchange105": "Dimensiunea fișierului depășește 3 MB",
|
||||
"cchange106": "Sunteți sigur că doriți să ștergeți acest gif?",
|
||||
"cchange107": "Acest gif a fost șters",
|
||||
"cchange108": "Descărcarea va continua în fundal, un singur fișier Q-Chat poate fi descărcat simultan.",
|
||||
"cchange109": "Tipul de fișier nu este acceptat!",
|
||||
"cchange110": "ÎNCĂRCARE IMAGINEA",
|
||||
"cchange111": "ÎNCĂRCARE GIF",
|
||||
"cchange112": "ÎNCĂRCARE AATAșAMENT",
|
||||
"cchange113": "ÎNCĂRCARE FIȘIER",
|
||||
"cchange114": "Scrie ceva ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Bine ai venit la Q-Chat",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "reagovao sa",
|
||||
"cchange75": "Otpremanje priloga. Ovo može potrajati do jednog minuta.",
|
||||
"cchange76": "Brisanje priloga. Ovo može potrajati do jednog minuta.",
|
||||
"cchange77": "Veličina priloga prelazi 1 MB",
|
||||
"cchange77": "Veličina priloga prelazi 10 MB",
|
||||
"cchange78": "Da li ste sigurni da želite da izbrišete ovu sliku?",
|
||||
"cchange79": "Da li ste sigurni da želite da izbrišete ovaj prilog?",
|
||||
"cchange80": "Ova slika je izbrisana",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "učitano",
|
||||
"cchange95": "Samo moji resursi",
|
||||
"cchange96": "Otvoreno upravljanje grupom",
|
||||
"cchange97": "Link pridruživanja grupi je kopiran u međuspremnik"
|
||||
"cchange97": "Link pridruživanja grupi je kopiran u međuspremnik",
|
||||
"cchange98": "Otpremanje datoteke. Ovo može potrajati nekoliko minuta.",
|
||||
"cchange99": "Brisanje datoteke. Ovo može potrajati do jednog minuta.",
|
||||
"cchange100": "Veličina datoteke premašuje 125 MB",
|
||||
"cchange101": "Da li ste sigurni da želite da izbrišete ovu datoteku?",
|
||||
"cchange102": "Ova datoteka je izbrisana",
|
||||
"cchange103": "Otpremanje gif-a. Ovo može potrajati do jednog minuta.",
|
||||
"cchange104": "Brisanje gif-a. Ovo može potrajati do jednog minuta.",
|
||||
"cchange105": "Veličina datoteke prelazi 3 MB",
|
||||
"cchange106": "Da li ste sigurni da želite da izbrišete ovaj gif?",
|
||||
"cchange107": "Ovaj gif je izbrisan",
|
||||
"cchange108": "Preuzimanje će se nastaviti u pozadini, samo JEDAN K-Chat fajl može da se preuzme istovremeno.",
|
||||
"cchange109": "Tip datoteke nije podržan!",
|
||||
"cchange110": "OTPREMA SLIKE",
|
||||
"cchange111": "OSTAVLJANJE GIFOVA",
|
||||
"cchange112": "OTDAVANJE PRILOGA",
|
||||
"cchange113": "OTPREMA DATOTEKA",
|
||||
"cchange114": "Napiši nešto ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Dobrodošli na Q-Chat",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "отреагировал",
|
||||
"cchange75": "Выполняется загрузка вложения. Это может занять до одной минуты.",
|
||||
"cchange76": "Удаление вложения. Это может занять до одной минуты.",
|
||||
"cchange77": "Размер вложения превышает 1 МБ",
|
||||
"cchange77": "Размер вложения превышает 10 МБ",
|
||||
"cchange78": "Вы уверены, что хотите удалить это изображение?",
|
||||
"cchange79": "Вы уверены, что хотите удалить это вложение?",
|
||||
"cchange80": "Это изображение было удалено",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "загружено",
|
||||
"cchange95": "Только мои ресурсы",
|
||||
"cchange96": "Открытое управление группой",
|
||||
"cchange97": "Ссылка на вступление в группу скопирована в буфер обмена"
|
||||
"cchange97": "Ссылка на вступление в группу скопирована в буфер обмена",
|
||||
"cchange98": "Загрузка файла. Это может занять несколько минут.",
|
||||
"cchange99": "Удаление файла. Это может занять до одной минуты.",
|
||||
"cchange100": "Размер файла превышает 125 МБ",
|
||||
"cchange101": "Вы уверены, что хотите удалить этот файл?",
|
||||
"cchange102": "Этот файл был удален",
|
||||
"cchange103": "Загрузка gif. Это может занять до одной минуты.",
|
||||
"cchange104": "Удаление gif. Это может занять до одной минуты.",
|
||||
"cchange105": "Размер файла превышает 3 МБ",
|
||||
"cchange106": "Вы уверены, что хотите удалить эту гифку?",
|
||||
"cchange107": "Эта гифка была удалена",
|
||||
"cchange108": "Загрузка продолжится в фоновом режиме, одновременно можно загрузить только ОДИН файл Q-Chat.",
|
||||
"cchange109": "Тип файла не поддерживается!",
|
||||
"cchange110": "ЗАГРУЗКА ИЗОБРАЖЕНИЯ",
|
||||
"cchange111": "ЗАГРУЗИТЬ GIF",
|
||||
"cchange112": "ЗАГРУЗКА ВЛОЖЕНИЯ",
|
||||
"cchange113": "ЗАГРУЗКА ФАЙЛА",
|
||||
"cchange114": "Напишите что-нибудь ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Добро пожаловать в Q-Chat",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "reacted with",
|
||||
"cchange75": "Uploading attachment. This may take up to one minute.",
|
||||
"cchange76": "Deleting attachment. This may take up to one minute.",
|
||||
"cchange77": "Attachment size exceeds 1 MB",
|
||||
"cchange77": "Attachment size exceeds 10 MB",
|
||||
"cchange78": "Are you sure you want to delete this image?",
|
||||
"cchange79": "Are you sure you want to delete this attachment?",
|
||||
"cchange80": "This image has been deleted",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "loaded",
|
||||
"cchange95": "Only my resources",
|
||||
"cchange96": "Open Group Management",
|
||||
"cchange97": "Join group link copied to clipboard"
|
||||
"cchange97": "Join group link copied to clipboard",
|
||||
"cchange98": "Uploading file. This may take some minutes.",
|
||||
"cchange99": "Deleting file. This may take up to one minute.",
|
||||
"cchange100": "File size exceeds 125 MB",
|
||||
"cchange101": "Are you sure you want to delete this file?",
|
||||
"cchange102": "This file has been deleted",
|
||||
"cchange103": "Uploading gif. This may take up to one minutes.",
|
||||
"cchange104": "Deleting gif. This may take up to one minute.",
|
||||
"cchange105": "File size exceeds 3 MB",
|
||||
"cchange106": "Are you sure you want to delete this gif?",
|
||||
"cchange107": "This gif has been deleted",
|
||||
"cchange108": "Download will continue in the background, only ONE Q-Chat file can be downloaded simultaneously.",
|
||||
"cchange109": "File type not supported!",
|
||||
"cchange110": "IMAGE UPLOAD",
|
||||
"cchange111": "GIF UPLOAD",
|
||||
"cchange112": "ATTACHMENT UPLOAD",
|
||||
"cchange113": "FILE UPLOAD",
|
||||
"cchange114": "Write something ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "Welcome to Q-Chat",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "心情回应",
|
||||
"cchange75": "上传附件。这可能需要一分钟。",
|
||||
"cchange76": "正在删除附件。这可能需要一分钟。",
|
||||
"cchange77": "附件大小超过 1 MB",
|
||||
"cchange77": "附件大小超过 10 MB",
|
||||
"cchange78": "你确定要删除这张图片吗?",
|
||||
"cchange79": "你确定要删除这个附件吗?",
|
||||
"cchange80": "这张图片已被删除",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "已加载",
|
||||
"cchange95": "只有我的资源",
|
||||
"cchange96": "打开群组管理",
|
||||
"cchange97": "加入群组链接已复制到剪贴板"
|
||||
"cchange97": "加入群组链接已复制到剪贴板",
|
||||
"cchange98": "正在上传文件。这可能需要几分钟时间。",
|
||||
"cchange99": "正在删除文件。这可能最多需要一分钟。",
|
||||
"cchange100": "文件大小超过 125 MB",
|
||||
"cchange101": "您确定要删除此文件吗?",
|
||||
"cchange102": "该文件已被删除",
|
||||
"cchange103": "正在上传 gif。这最多可能需要一分钟。",
|
||||
"cchange104": "正在删除 gif。这可能最多需要一分钟。",
|
||||
"cchange105": "文件大小超过 3 MB",
|
||||
"cchange106": "您确定要删除这个 gif 吗?",
|
||||
"cchange107": "该动图已被删除",
|
||||
"cchange108": "下载将在后台继续,只能同时下载一个 Q-Chat 文件。",
|
||||
"cchange109": "不支持文件类型!",
|
||||
"cchange110": "图片上传",
|
||||
"cchange111": "GIF 上传",
|
||||
"cchange112": "附件上传",
|
||||
"cchange113": "文件上传",
|
||||
"cchange114": "写点东西 ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "欢迎来到Q-Chat",
|
||||
|
@ -842,7 +842,7 @@
|
||||
"cchange74": "心情回應",
|
||||
"cchange75": "上傳附件。這可能需要一分鐘。",
|
||||
"cchange76": "正在刪除附件。這可能需要一分鐘。",
|
||||
"cchange77": "附件大小超過 1 MB",
|
||||
"cchange77": "附件大小超過 10 MB",
|
||||
"cchange78": "你確定要刪除這張圖片嗎?",
|
||||
"cchange79": "你確定要刪除這個附件嗎?",
|
||||
"cchange80": "這張圖片已被刪除",
|
||||
@ -855,7 +855,24 @@
|
||||
"cchange94": "已載入",
|
||||
"cchange95": "只有我的資源",
|
||||
"cchange96": "開啟群組管理",
|
||||
"cchange97": "加入群組連結已複製到剪貼簿"
|
||||
"cchange97": "加入群組連結已複製到剪貼簿",
|
||||
"cchange98": "正在上傳檔案。這可能需要幾分鐘。",
|
||||
"cchange99": "正在刪除檔案。這可能最多需要一分鐘。",
|
||||
"cchange100": "檔案大小超過 125 MB",
|
||||
"cchange101": "您確定要刪除此檔案嗎?",
|
||||
"cchange102": "該檔案已刪除",
|
||||
"cchange103": "正在上傳 gif。這最多可能需要一分鐘。",
|
||||
"cchange104": "正在刪除 gif。這可能最多需要一分鐘。",
|
||||
"cchange105": "檔案大小超過 3 MB",
|
||||
"cchange106": "您確定要刪除這個 gif 嗎?",
|
||||
"cchange107": "該動圖已刪除",
|
||||
"cchange108": "下載將在背景繼續,只能同時下載一個 Q-Chat 檔案。",
|
||||
"cchange109": "不支援檔案類型!",
|
||||
"cchange110": "圖片上傳",
|
||||
"cchange111": "GIF 上傳",
|
||||
"cchange112": "附件上傳",
|
||||
"cchange113": "檔案上傳",
|
||||
"cchange114": "寫點東西 ..."
|
||||
},
|
||||
"welcomepage": {
|
||||
"wcchange1": "歡迎來到 Q-Chat",
|
||||
|
BIN
img/file-icon.png
Normal file
BIN
img/file-icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
1639
package-lock.json
generated
1639
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
10
package.json
10
package.json
@ -74,7 +74,7 @@
|
||||
"xhr2": "0.2.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.24.5",
|
||||
"@babel/core": "7.24.6",
|
||||
"@electron/packager": "18.3.2",
|
||||
"@material/mwc-button": "0.27.0",
|
||||
"@material/mwc-checkbox": "0.27.0",
|
||||
@ -114,7 +114,7 @@
|
||||
"@qortal/rollup-plugin-web-worker-loader": "1.6.5",
|
||||
"@rollup/plugin-alias": "5.1.0",
|
||||
"@rollup/plugin-babel": "6.0.4",
|
||||
"@rollup/plugin-commonjs": "25.0.7",
|
||||
"@rollup/plugin-commonjs": "25.0.8",
|
||||
"@rollup/plugin-node-resolve": "15.2.3",
|
||||
"@rollup/plugin-replace": "5.0.5",
|
||||
"@rollup/plugin-terser": "0.4.4",
|
||||
@ -128,8 +128,8 @@
|
||||
"@vaadin/tabsheet": "24.2.9",
|
||||
"@vaadin/tooltip": "24.2.9",
|
||||
"@zip.js/zip.js": "2.7.44",
|
||||
"axios": "1.7.1",
|
||||
"electron": "30.0.6",
|
||||
"axios": "1.7.2",
|
||||
"electron": "30.0.8",
|
||||
"electron-builder": "24.13.3",
|
||||
"epml": "0.3.3",
|
||||
"eslint": "8.57.0",
|
||||
@ -144,7 +144,7 @@
|
||||
"pwa-helpers": "0.9.1",
|
||||
"redux": "5.0.1",
|
||||
"redux-thunk": "3.1.0",
|
||||
"rollup": "4.17.2",
|
||||
"rollup": "4.18.0",
|
||||
"rollup-plugin-node-globals": "1.4.0",
|
||||
"rollup-plugin-progress": "1.1.2",
|
||||
"rollup-plugin-scss": "3.0.0",
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -21,6 +21,9 @@ import './ChatImage'
|
||||
import '@material/mwc-button'
|
||||
import '@material/mwc-dialog'
|
||||
import '@material/mwc-icon'
|
||||
import '@polymer/paper-dialog/paper-dialog.js'
|
||||
import '@polymer/paper-icon-button/paper-icon-button.js'
|
||||
import '@polymer/iron-icons/iron-icons.js'
|
||||
import '@vaadin/icon'
|
||||
import '@vaadin/icons'
|
||||
import '@vaadin/tooltip'
|
||||
@ -96,6 +99,7 @@ function processText(input) {
|
||||
parts.forEach((part) => {
|
||||
if (part.startsWith('qortal://')) {
|
||||
const link = document.createElement('span')
|
||||
|
||||
// Store the URL in a data attribute
|
||||
link.setAttribute('data-url', part)
|
||||
link.textContent = part
|
||||
@ -107,7 +111,9 @@ function processText(input) {
|
||||
e.preventDefault()
|
||||
try {
|
||||
const res = await extractComponents(part)
|
||||
|
||||
if (!res) return
|
||||
|
||||
if (res.type && res.groupid && res.action === 'join') {
|
||||
window.parent.reduxStore.dispatch(
|
||||
window.parent.reduxAction.setNewTab({
|
||||
@ -130,7 +136,7 @@ function processText(input) {
|
||||
window.parent.reduxStore.dispatch(
|
||||
window.parent.reduxAction.setSideEffectAction({
|
||||
type: 'openJoinGroupModal',
|
||||
data: +res.groupid
|
||||
data: res.groupid
|
||||
})
|
||||
)
|
||||
return
|
||||
@ -987,7 +993,9 @@ class MessageTemplate extends LitElement {
|
||||
openDialogImage: { type: Boolean },
|
||||
openDialogGif: { type: Boolean },
|
||||
openDeleteImage: { type: Boolean },
|
||||
openDeleteGif: { type: Boolean },
|
||||
openDeleteAttachment: { type: Boolean },
|
||||
openDeleteFile: { type: Boolean },
|
||||
isImageLoaded: { type: Boolean },
|
||||
isGifLoaded: { type: Boolean },
|
||||
isFirstMessage: { type: Boolean },
|
||||
@ -1032,6 +1040,10 @@ class MessageTemplate extends LitElement {
|
||||
this.isLastMessageInGroup = false
|
||||
this.viewImage = false
|
||||
this.isInProgress = false
|
||||
this.openDeleteImage = false
|
||||
this.openDeleteGif = false
|
||||
this.openDeleteAttachment = false
|
||||
this.openDeleteFile = false
|
||||
}
|
||||
|
||||
render() {
|
||||
@ -1044,36 +1056,50 @@ class MessageTemplate extends LitElement {
|
||||
let repliedToData = null
|
||||
let image = null
|
||||
let gif = null
|
||||
let attachment = null
|
||||
let file = null
|
||||
let isImageDeleted = false
|
||||
let isGifDeleted = false
|
||||
let isAttachmentDeleted = false
|
||||
let isFileDeleted = false
|
||||
let version = 0
|
||||
let isForwarded = false
|
||||
let isEdited = false
|
||||
let attachment = null
|
||||
|
||||
try {
|
||||
const parsedMessageObj = JSON.parse(this.messageObj.decodedMessage)
|
||||
|
||||
if (+parsedMessageObj.version > 1 && parsedMessageObj.messageText) {
|
||||
messageVersion2 = generateHTML(parsedMessageObj.messageText, [StarterKit, Underline, Highlight])
|
||||
messageVersion2WithLink = processText(messageVersion2)
|
||||
}
|
||||
|
||||
message = parsedMessageObj.messageText
|
||||
repliedToData = this.messageObj.repliedToData
|
||||
isImageDeleted = parsedMessageObj.isImageDeleted
|
||||
isGifDeleted = parsedMessageObj.isGifDeleted
|
||||
isAttachmentDeleted = parsedMessageObj.isAttachmentDeleted
|
||||
isFileDeleted = parsedMessageObj.isFileDeleted
|
||||
// reactions = parsedMessageObj.reactions || []
|
||||
version = parsedMessageObj.version
|
||||
isForwarded = parsedMessageObj.type === 'forward'
|
||||
isEdited = parsedMessageObj.isEdited && true
|
||||
if (parsedMessageObj.attachments && Array.isArray(parsedMessageObj.attachments) && parsedMessageObj.attachments.length > 0) {
|
||||
attachment = parsedMessageObj.attachments[0]
|
||||
}
|
||||
|
||||
if (parsedMessageObj.images && Array.isArray(parsedMessageObj.images) && parsedMessageObj.images.length > 0) {
|
||||
image = parsedMessageObj.images[0]
|
||||
}
|
||||
|
||||
if (parsedMessageObj.gifs && Array.isArray(parsedMessageObj.gifs) && parsedMessageObj.gifs.length > 0) {
|
||||
gif = parsedMessageObj.gifs[0]
|
||||
}
|
||||
|
||||
if (parsedMessageObj.attachments && Array.isArray(parsedMessageObj.attachments) && parsedMessageObj.attachments.length > 0) {
|
||||
attachment = parsedMessageObj.attachments[0]
|
||||
}
|
||||
|
||||
if (parsedMessageObj.files && Array.isArray(parsedMessageObj.files) && parsedMessageObj.files.length > 0) {
|
||||
file = parsedMessageObj.files[0]
|
||||
}
|
||||
} catch (error) {
|
||||
message = this.messageObj.decodedMessage
|
||||
}
|
||||
@ -1141,7 +1167,7 @@ class MessageTemplate extends LitElement {
|
||||
if (gif) {
|
||||
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
|
||||
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
|
||||
gifUrl = `${nodeUrl}/arbitrary/${gif.service}/${gif.name}/${gif.identifier}?filepath=${gif.filePath}`
|
||||
gifUrl = `${nodeUrl}/arbitrary/${gif.service}/${gif.name}/${gif.identifier}?async=true`
|
||||
if (this.viewImage || this.myAddress === this.messageObj.sender) {
|
||||
gifHTML = createGif(gifUrl)
|
||||
gifHTMLDialog = createGif(gifUrl)
|
||||
@ -1280,7 +1306,7 @@ class MessageTemplate extends LitElement {
|
||||
class=${[`image-container`, !this.isImageLoaded ? 'defaultSize' : '',].join(' ')}
|
||||
style=${this.isFirstMessage && 'margin-top: 10px;'}
|
||||
>
|
||||
<div style="display:flex;width:100%;height:100%;justify-content:center;align-items:center;cursor:pointer;color:var(--black);">
|
||||
<div style="display: flex; width: 100%; height: 100%; justify-content: center; align-items: center; cursor: pointer; color: var(--black);">
|
||||
${translate('chatpage.cchange40')}
|
||||
</div>
|
||||
</div>
|
||||
@ -1293,7 +1319,12 @@ class MessageTemplate extends LitElement {
|
||||
${imageHTML}
|
||||
${this.myAddress === this.messageObj.sender ?
|
||||
html`
|
||||
<vaadin-icon @click=${() => {this.openDeleteImage = true;}} class="image-delete-icon" icon="vaadin:close" slot="icon"></vaadin-icon>
|
||||
<vaadin-icon
|
||||
@click=${() => this.openDeleteImageDialog()}
|
||||
icon="vaadin:close"
|
||||
slot="icon"
|
||||
class="image-delete-icon"
|
||||
></vaadin-icon>
|
||||
`
|
||||
: ''
|
||||
}
|
||||
@ -1301,35 +1332,62 @@ class MessageTemplate extends LitElement {
|
||||
`
|
||||
: image && isImageDeleted ?
|
||||
html`
|
||||
<p class="image-deleted-msg">${translate('chatpage.cchange80')}</p>
|
||||
<div class="attachment-container">
|
||||
<div class="attachment-info">
|
||||
<p style=${'font-style: italic;'} class="attachment-name">
|
||||
${translate('chatpage.cchange80')}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
: html``
|
||||
}
|
||||
${gif && !this.viewImage && this.myAddress !== this.messageObj.sender ?
|
||||
${gif && !isGifDeleted && !this.viewImage && this.myAddress !== this.messageObj.sender ?
|
||||
html`
|
||||
<div
|
||||
@click=${() => {this.viewImage = true;}}
|
||||
class=${[`image-container`, !this.isImageLoaded ? 'defaultSize' : '', ].join(' ')}
|
||||
class=${[`image-container`, !this.isGifoaded ? 'defaultSize' : '', ].join(' ')}
|
||||
style=${this.isFirstMessage && 'margin-top: 10px;'}
|
||||
>
|
||||
<div style="display:flex;width:100%;height:100%;justify-content:center;align-items:center;cursor:pointer;color:var(--black);">
|
||||
<div style="display: flex; width: 100%; height: 100%; justify-content: center; align-items: center; cursor: pointer; color: var(--black);">
|
||||
${translate('gifs.gchange25')}
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
: html``
|
||||
}
|
||||
${gif && (this.viewImage || this.myAddress === this.messageObj.sender) ?
|
||||
${gif && !isGifDeleted && (this.viewImage || this.myAddress === this.messageObj.sender) ?
|
||||
html`
|
||||
<div class=${[`image-container`, !this.isGifLoaded ? 'defaultSize' : '',].join(' ')} style=${this.isFirstMessage && 'margin-top: 10px;'}>
|
||||
${gifHTML}
|
||||
${this.myAddress === this.messageObj.sender ?
|
||||
html`
|
||||
<vaadin-icon
|
||||
@click=${() => this.openDeleteGifDialog()}
|
||||
icon="vaadin:close"
|
||||
slot="icon"
|
||||
class="image-delete-icon"
|
||||
></vaadin-icon>
|
||||
`
|
||||
: ''
|
||||
}
|
||||
</div>
|
||||
`
|
||||
: gif && isGifDeleted ?
|
||||
html`
|
||||
<div class="attachment-container">
|
||||
<div class="attachment-info">
|
||||
<p style=${'font-style: italic;'} class="attachment-name">
|
||||
${translate('chatpage.cchange107')}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
: html``
|
||||
}
|
||||
${attachment && !isAttachmentDeleted ?
|
||||
html`
|
||||
<div @click=${async () => await this.downloadAttachment(attachment)} class="attachment-container">
|
||||
<div class="attachment-container">
|
||||
<div class="attachment-icon-container">
|
||||
<img src="/img/attachment-icon.png" alt="attachment-icon" class="attachment-icon" />
|
||||
</div>
|
||||
@ -1341,11 +1399,16 @@ class MessageTemplate extends LitElement {
|
||||
${roundToNearestDecimal(attachment.attachmentSize)} mb
|
||||
</p>
|
||||
</div>
|
||||
<vaadin-icon icon="vaadin:download-alt" slot="icon" class="download-icon"></vaadin-icon>
|
||||
<vaadin-icon
|
||||
@click=${async () => await this.downloadAttachment(attachment)}
|
||||
icon="vaadin:download-alt"
|
||||
slot="icon"
|
||||
class="download-icon"
|
||||
></vaadin-icon>
|
||||
${this.myAddress === this.messageObj.sender ?
|
||||
html`
|
||||
<vaadin-icon
|
||||
@click=${(e) => {e.stopPropagation(); this.openDeleteAttachment = true;}}
|
||||
@click=${() => this.openDeleteAttachmentDialog()}
|
||||
class="image-delete-icon"
|
||||
icon="vaadin:close"
|
||||
slot="icon"
|
||||
@ -1368,6 +1431,51 @@ class MessageTemplate extends LitElement {
|
||||
`
|
||||
: html``
|
||||
}
|
||||
${file && !isFileDeleted ?
|
||||
html`
|
||||
<div class="file-container">
|
||||
<div class="file-icon-container">
|
||||
<img src="/img/file-icon.png" alt="file-icon" class="file-icon" />
|
||||
</div>
|
||||
<div class="attachment-info">
|
||||
<p class="attachment-name">
|
||||
${file && file.appFileName}
|
||||
</p>
|
||||
<p class="attachment-size">
|
||||
${roundToNearestDecimal(file.appFileSize)} mb
|
||||
</p>
|
||||
</div>
|
||||
<vaadin-icon
|
||||
@click=${async () => await this.downloadFile(file)}
|
||||
icon="vaadin:download-alt"
|
||||
slot="icon"
|
||||
class="download-icon"
|
||||
></vaadin-icon>
|
||||
${this.myAddress === this.messageObj.sender ?
|
||||
html`
|
||||
<vaadin-icon
|
||||
@click=${() => this.openDeleteFileDialog()}
|
||||
class="image-delete-icon"
|
||||
icon="vaadin:close"
|
||||
slot="icon"
|
||||
></vaadin-icon>
|
||||
`
|
||||
: html``
|
||||
}
|
||||
</div>
|
||||
`
|
||||
: file && isFileDeleted ?
|
||||
html`
|
||||
<div class="attachment-container">
|
||||
<div class="attachment-info">
|
||||
<p style=${'font-style: italic;'} class="attachment-name">
|
||||
${translate('chatpage.cchange102')}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
: html``
|
||||
}
|
||||
<div id="messageContent" class="message" style=${image && replacedMessage !== '' && 'margin-top: 15px;'}>
|
||||
${+version > 1 ? messageVersion2WithLink ?
|
||||
html`
|
||||
@ -1511,7 +1619,6 @@ class MessageTemplate extends LitElement {
|
||||
</mwc-button>
|
||||
</mwc-dialog>
|
||||
<mwc-dialog id="showDialogPublicKey" ?open=${this.openDialogGif} @closed=${() => {this.openDialogGif = false;}}>
|
||||
MessageTemplate
|
||||
<div class="dialog-header"></div>
|
||||
<div class="dialog-container imageContainer">
|
||||
${gifHTMLDialog}
|
||||
@ -1519,34 +1626,88 @@ class MessageTemplate extends LitElement {
|
||||
<mwc-button slot="primaryAction" dialogAction="cancel" class="red" @click=${() => {this.openDialogGif = false;}}>
|
||||
${translate('general.close')}
|
||||
</mwc-button>
|
||||
MessageTemplate
|
||||
</mwc-dialog>
|
||||
<mwc-dialog hideActions ?open=${this.openDeleteImage} @closed=${() => {this.openDeleteImage = false;}}>
|
||||
<mwc-dialog hideActions id="deleteImageDialog" scrimClickAction="" escapeKeyAction="">
|
||||
<div class="delete-image-msg">
|
||||
<p>${translate('chatpage.cchange78')}</p>
|
||||
</div>
|
||||
<div class="modal-button-row" @click=${() => (this.openDeleteImage = false)}>
|
||||
<button class="modal-button-red">
|
||||
Cancel
|
||||
<div class="modal-button-row">
|
||||
<button class="modal-button-red" @click=${() => this.closeDeleteImageDialog()}>
|
||||
${translate('login.lp4')}
|
||||
</button>
|
||||
<button class="modal-button" @click=${() => this.sendMessage({type: 'delete', name: image.name, identifier: image.identifier, editedMessageObj: this.messageObj,})}>
|
||||
Yes
|
||||
<button class="modal-button" @click=${() => {
|
||||
this.sendMessage({type: 'delete', name: image.name, identifier: image.identifier, editedMessageObj: this.messageObj});
|
||||
this.closeDeleteImageDialog();
|
||||
}}>
|
||||
${translate('general.yes')}
|
||||
</button>
|
||||
</div>
|
||||
</mwc-dialog>
|
||||
<mwc-dialog hideActions ?open=${this.openDeleteAttachment} @closed=${() => {this.openDeleteAttachment = false;}}>
|
||||
<mwc-dialog hideActions id="deleteGifDialog" scrimClickAction="" escapeKeyAction="">
|
||||
<div class="delete-image-msg">
|
||||
<p>${translate('chatpage.cchange106')}</p>
|
||||
</div>
|
||||
<div class="modal-button-row">
|
||||
<button class="modal-button-red" @click=${() => this.closeDeleteGifDialog()}>
|
||||
${translate('login.lp4')}
|
||||
</button>
|
||||
<button class="modal-button" @click=${() => {
|
||||
this.sendMessage({type: 'deleteGif', gif: gif, name: gif.name, identifier: gif.identifier, editedMessageObj: this.messageObj});
|
||||
this.closeDeleteGifDialog();
|
||||
}}>
|
||||
${translate('general.yes')}
|
||||
</button>
|
||||
</div>
|
||||
</mwc-dialog>
|
||||
<mwc-dialog hideActions id="deleteAttachmentDialog" scrimClickAction="" escapeKeyAction="">
|
||||
<div class="delete-image-msg">
|
||||
<p>${translate('chatpage.cchange79')}</p>
|
||||
</div>
|
||||
<div class="modal-button-row" @click=${() => (this.openDeleteAttachment = false)}>
|
||||
<button class="modal-button-red">
|
||||
Cancel
|
||||
<div class="modal-button-row">
|
||||
<button class="modal-button-red" @click=${() => this.closeDeleteAttachmentDialog()}>
|
||||
${translate('login.lp4')}
|
||||
</button>
|
||||
<button class="modal-button" @click=${() => {this.sendMessage({type: 'deleteAttachment', attachment: attachment, name: attachment.name, identifier: attachment.identifier, editedMessageObj: this.messageObj,});}}>
|
||||
Yes
|
||||
<button class="modal-button" @click=${() => {
|
||||
this.sendMessage({type: 'deleteAttachment', attachment: attachment, name: attachment.name, identifier: attachment.identifier, editedMessageObj: this.messageObj});
|
||||
this.closeDeleteAttachmentDialog();
|
||||
}}>
|
||||
${translate('general.yes')}
|
||||
</button>
|
||||
</div>
|
||||
</mwc-dialog>
|
||||
<mwc-dialog hideActions id="deleteFileDialog" scrimClickAction="" escapeKeyAction="">
|
||||
<div class="delete-image-msg">
|
||||
<p>${translate('chatpage.cchange101')}</p>
|
||||
</div>
|
||||
<div class="modal-button-row">
|
||||
<button class="modal-button-red" @click=${() => this.closeDeleteFileDialog()}>
|
||||
${translate('login.lp4')}
|
||||
</button>
|
||||
<button class="modal-button" @click=${() => {
|
||||
this.sendMessage({type: 'deleteFile', file: file, name: file.name, identifier: file.identifier, editedMessageObj: this.messageObj});
|
||||
this.closeDeleteFileDialog();
|
||||
}}>
|
||||
${translate('general.yes')}
|
||||
</button>
|
||||
</div>
|
||||
</mwc-dialog>
|
||||
<paper-dialog id="downloadProgressDialog" class="progress" modal>
|
||||
<span class="close-download"><paper-icon-button icon="icons:close" @click="${() => this.closeDownloadProgressDialog()}" title="${translate("general.close")}"></paper-icon-button></span>
|
||||
<div class="lds-roller">
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
</div>
|
||||
<h2>${translate('appspage.schange41')}</h2>
|
||||
</paper-dialog>
|
||||
<paper-dialog id="closeProgressDialog" class="close-progress" modal>
|
||||
${translate('chatpage.cchange108')}
|
||||
</paper-dialog>
|
||||
`
|
||||
}
|
||||
|
||||
@ -1574,6 +1735,14 @@ class MessageTemplate extends LitElement {
|
||||
}, 60000)
|
||||
}
|
||||
|
||||
async closeDownloadProgressDialog() {
|
||||
const closeDelay = ms => new Promise(res => setTimeout(res, ms))
|
||||
this.shadowRoot.getElementById('downloadProgressDialog').close()
|
||||
this.shadowRoot.getElementById('closeProgressDialog').open()
|
||||
await closeDelay(3000)
|
||||
this.shadowRoot.getElementById('closeProgressDialog').close()
|
||||
}
|
||||
|
||||
// Open & Close Private Message Chat Modal
|
||||
showPrivateMessageModal() {
|
||||
this.openDialogPrivateMessage = true
|
||||
@ -1600,17 +1769,82 @@ class MessageTemplate extends LitElement {
|
||||
}
|
||||
}
|
||||
|
||||
async downloadAttachment(attachment) {
|
||||
openDeleteImageDialog() {
|
||||
this.openDeleteImage = true
|
||||
this.shadowRoot.querySelector('#deleteImageDialog').show()
|
||||
}
|
||||
|
||||
closeDeleteImageDialog() {
|
||||
this.shadowRoot.querySelector('#deleteImageDialog').close()
|
||||
this.openDeleteImage = false
|
||||
}
|
||||
|
||||
openDeleteGifDialog() {
|
||||
this.openDeleteGif = true
|
||||
this.shadowRoot.querySelector('#deleteGifDialog').show()
|
||||
}
|
||||
|
||||
closeDeleteGifDialog() {
|
||||
this.shadowRoot.querySelector('#deleteGifDialog').close()
|
||||
this.openDeleteGif = false
|
||||
}
|
||||
|
||||
openDeleteAttachmentDialog() {
|
||||
this.openDeleteAttachment = true
|
||||
this.shadowRoot.querySelector('#deleteAttachmentDialog').show()
|
||||
}
|
||||
|
||||
closeDeleteAttachmentDialog() {
|
||||
this.shadowRoot.querySelector('#deleteAttachmentDialog').close()
|
||||
this.openDeleteAttachment = false
|
||||
}
|
||||
|
||||
openDeleteFileDialog() {
|
||||
this.openDeleteFile = true
|
||||
this.shadowRoot.querySelector('#deleteFileDialog').show()
|
||||
}
|
||||
|
||||
closeDeleteFileDialog() {
|
||||
this.shadowRoot.querySelector('#deleteFileDialog').close()
|
||||
this.openDeleteFile = false
|
||||
}
|
||||
|
||||
downloadAttachment(attachment) {
|
||||
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
|
||||
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
|
||||
|
||||
this.shadowRoot.getElementById('downloadProgressDialog').open()
|
||||
|
||||
try {
|
||||
axios.get(
|
||||
`${nodeUrl}/arbitrary/QCHAT_ATTACHMENT/${attachment.name}/${attachment.identifier}`,
|
||||
`${nodeUrl}/arbitrary/ATTACHMENT/${attachment.name}/${attachment.identifier}`,
|
||||
{ responseType: 'blob' }
|
||||
).then((response) => {
|
||||
this.shadowRoot.getElementById('downloadProgressDialog').close()
|
||||
let filename = attachment.attachmentName
|
||||
let blob = new Blob([response.data], { type: 'application/octet-stream' })
|
||||
this.shadowRoot.getElementById('downloadProgressDialog').close()
|
||||
this.saveFileToDisk(blob, filename)
|
||||
})
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
}
|
||||
}
|
||||
|
||||
downloadFile(file) {
|
||||
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
|
||||
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
|
||||
|
||||
this.shadowRoot.getElementById('downloadProgressDialog').open()
|
||||
|
||||
try {
|
||||
axios.get(
|
||||
`${nodeUrl}/arbitrary/FILE/${file.name}/${file.identifier}`,
|
||||
{ responseType: 'blob' }
|
||||
).then((response) => {
|
||||
this.shadowRoot.getElementById('downloadProgressDialog').close()
|
||||
let filename = file.appFileName
|
||||
let blob = new Blob([response.data], { type: 'application/octet-stream' })
|
||||
this.saveFileToDisk(blob, filename)
|
||||
})
|
||||
} catch (error) {
|
||||
@ -1630,7 +1864,8 @@ class MessageTemplate extends LitElement {
|
||||
await writable.write(contents)
|
||||
await writable.close()
|
||||
}
|
||||
writeFile(fileHandle, blob).then(() => console.log('FILE SAVED'))
|
||||
|
||||
await writeFile(fileHandle, blob).then(() => console.log('FILE SAVED'))
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
|
@ -135,14 +135,18 @@ class ChatTextEditor extends LitElement {
|
||||
this.insertFile(e.target.files[0])
|
||||
const filePickerInput = this.shadowRoot.getElementById('file-picker')
|
||||
if (filePickerInput) {
|
||||
filePickerInput.value = ""
|
||||
filePickerInput.value = ''
|
||||
}
|
||||
}}"
|
||||
id="file-picker"
|
||||
class="file-picker-input"
|
||||
type="file"
|
||||
name="myImage"
|
||||
accept="image/*, .doc, .docx, .pdf, .zip, .pdf, .txt, .odt, .ods, .xls, .xlsx, .ppt, .pptx"
|
||||
accept="
|
||||
image/*, .doc, .docx, .zip, .pdf, .txt, .odt, .ods, .html,
|
||||
.xls, .xlsx, .ppt, .pptx, .jar, .gzip, .exe, .deb, .rar, .log,
|
||||
.sh, .dmg, .pkg, .7z, .gz, .psd, .mp4, .rpm, .snap, .AppImage
|
||||
"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
@ -295,7 +299,7 @@ class ChatTextEditor extends LitElement {
|
||||
}
|
||||
|
||||
sendMessageFunc(props) {
|
||||
if (this.editor.isEmpty && (this.iframeId !== 'newChat' && this.iframeId !== 'newAttachmentChat')) return
|
||||
if (this.editor.isEmpty && (this.iframeId !== 'newChat' && this.iframeId !== 'newGifChat' && this.iframeId !== 'newAttachmentChat' && this.iframeId !== 'newFileChat')) return
|
||||
|
||||
this.getMessageSize(this.editor.getJSON())
|
||||
|
||||
@ -351,18 +355,42 @@ class ChatTextEditor extends LitElement {
|
||||
repliedTo: '',
|
||||
version: 3
|
||||
}
|
||||
} else if (this.gifFile && this.iframeId === 'newGifChat') {
|
||||
messageObject = {
|
||||
messageText: trimmedMessage,
|
||||
images: [{
|
||||
service: "IMAGE",
|
||||
name: '123456789123456789123456789',
|
||||
identifier: '123456'
|
||||
}],
|
||||
repliedTo: '',
|
||||
version: 3
|
||||
}
|
||||
} else if (this.attachment && this.iframeId === 'newAttachmentChat') {
|
||||
messageObject = {
|
||||
messageText: trimmedMessage,
|
||||
attachments: [{
|
||||
service: "QCHAT_ATTACHMENT",
|
||||
service: "ATTACHMENT",
|
||||
name: '123456789123456789123456789',
|
||||
identifier: '123456',
|
||||
attachmentName: "123456789123456789123456789",
|
||||
attachmentSize: "123456"
|
||||
}],
|
||||
repliedTo: '',
|
||||
version: 2
|
||||
version: 3
|
||||
}
|
||||
} else if (this.appFile && this.iframeId === 'newFileChat') {
|
||||
messageObject = {
|
||||
messageText: trimmedMessage,
|
||||
files: [{
|
||||
service: "FILE",
|
||||
name: '123456789123456789123456789',
|
||||
identifier: '123456',
|
||||
appFileName: "123456789123456789123456789",
|
||||
appFileSize: "123456"
|
||||
}],
|
||||
repliedTo: '',
|
||||
version: 3
|
||||
}
|
||||
} else {
|
||||
messageObject = {
|
||||
|
@ -426,7 +426,6 @@ export const chatpageStyles = css`
|
||||
width: 800px;
|
||||
}
|
||||
|
||||
|
||||
.close-icon {
|
||||
color: #676b71;
|
||||
width: 18px;
|
||||
@ -1152,6 +1151,22 @@ export const chatpageStyles = css`
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
.file-icon-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 128px;
|
||||
width: 128px;
|
||||
border-radius: 50%;
|
||||
border: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.file-icon {
|
||||
height: 128px;
|
||||
width: 128px;
|
||||
}
|
||||
|
||||
.attachment-name {
|
||||
font-family: Work Sans, sans-serif;
|
||||
font-size: 20px;
|
||||
@ -1440,6 +1455,7 @@ export const chatStyles = css`
|
||||
--mdc-theme-secondary: var(--mdc-theme-primary);
|
||||
--mdc-dialog-max-width: 85vw;
|
||||
--mdc-dialog-max-height: 95vh;
|
||||
|
||||
}
|
||||
|
||||
* :focus-visible {
|
||||
@ -1567,7 +1583,6 @@ export const chatStyles = css`
|
||||
min-width: 150px;
|
||||
}
|
||||
|
||||
|
||||
.message-myBg {
|
||||
background-color: var(--chat-bubble-myBg) !important;
|
||||
}
|
||||
@ -2107,10 +2122,8 @@ export const chatStyles = css`
|
||||
justify-content: space-evenly;
|
||||
padding: 5px 0 10px 0;
|
||||
gap: 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
.attachment-icon-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -2126,6 +2139,30 @@ export const chatStyles = css`
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
.file-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-evenly;
|
||||
padding: 5px 0 10px 0;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.file-icon-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
border-radius: 50%;
|
||||
border: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.file-icon {
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
.attachment-info {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@ -2158,6 +2195,7 @@ export const chatStyles = css`
|
||||
color: var(--chat-bubble-msg-color);
|
||||
width: 19px;
|
||||
background-color: transparent;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.download-icon:hover::before {
|
||||
@ -2247,6 +2285,155 @@ export const chatStyles = css`
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
paper-dialog.progress {
|
||||
width: auto;
|
||||
max-width: 50vw;
|
||||
height: auto;
|
||||
max-height: 30vh;
|
||||
background-color: var(--white);
|
||||
color: var(--black);
|
||||
border: 1px solid var(--black);
|
||||
border-radius: 15px;
|
||||
text-align: center;
|
||||
padding: 15px;
|
||||
line-height: 1.6;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
paper-dialog.close-progress {
|
||||
min-width: 550px;
|
||||
max-width: 550px;
|
||||
height: auto;
|
||||
background-color: var(--white);
|
||||
color: var(--black);
|
||||
border: 1px solid var(--black);
|
||||
border-radius: 15px;
|
||||
text-align: center;
|
||||
padding: 15px;
|
||||
font-size: 17px;
|
||||
font-weight: 500;
|
||||
line-height: 20px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.lds-roller {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
}
|
||||
|
||||
.lds-roller div {
|
||||
animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
|
||||
transform-origin: 40px 40px;
|
||||
}
|
||||
|
||||
.lds-roller div:after {
|
||||
content: " ";
|
||||
display: block;
|
||||
position: absolute;
|
||||
width: 7px;
|
||||
height: 7px;
|
||||
border-radius: 50%;
|
||||
background: var(--black);
|
||||
margin: -4px 0 0 -4px;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(1) {
|
||||
animation-delay: -0.036s;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(1):after {
|
||||
top: 63px;
|
||||
left: 63px;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(2) {
|
||||
animation-delay: -0.072s;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(2):after {
|
||||
top: 68px;
|
||||
left: 56px;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(3) {
|
||||
animation-delay: -0.108s;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(3):after {
|
||||
top: 71px;
|
||||
left: 48px;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(4) {
|
||||
animation-delay: -0.144s;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(4):after {
|
||||
top: 72px;
|
||||
left: 40px;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(5) {
|
||||
animation-delay: -0.18s;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(5):after {
|
||||
top: 71px;
|
||||
left: 32px;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(6) {
|
||||
animation-delay: -0.216s;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(6):after {
|
||||
top: 68px;
|
||||
left: 24px;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(7) {
|
||||
animation-delay: -0.252s;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(7):after {
|
||||
top: 63px;
|
||||
left: 17px;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(8) {
|
||||
animation-delay: -0.288s;
|
||||
}
|
||||
|
||||
.lds-roller div:nth-child(8):after {
|
||||
top: 56px;
|
||||
left: 12px;
|
||||
}
|
||||
|
||||
@keyframes lds-roller {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
.close-download {
|
||||
color: var(--black);
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
position: absolute;
|
||||
top: -15px;
|
||||
right: -15px;
|
||||
}
|
||||
|
||||
.close-download:hover {
|
||||
color: #df3636;
|
||||
}
|
||||
`
|
||||
|
||||
export const toolTipStyles = css`
|
||||
@ -3631,6 +3818,12 @@ export const chatTextEditorStyles = css`
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ProseMirror {
|
||||
word-wrap: break-word;
|
||||
white-space: pre-wrap;
|
||||
white-space: break-spaces;
|
||||
}
|
||||
|
||||
.ProseMirror:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user