Add join requests actions
This commit is contained in:
parent
a9e9c8b3d4
commit
811957d900
@ -799,6 +799,15 @@
|
||||
"mg49":"Beim Drücken auf Bestätigen wird die Anfrage zum Abbrechen der Einladung gesendet!",
|
||||
"mg50":"Kommt bald...",
|
||||
"mg51":"Minimum 3 Zeichen / Maximum 32 Zeichen",
|
||||
"mg52":"Maximal 128 Zeichen"
|
||||
"mg52":"Maximal 128 Zeichen",
|
||||
"mg53":"Ihre offenen Beitrittsanfragen",
|
||||
"mg54":"Keine offenen Beitrittsanfragen",
|
||||
"mg55":"Sind Sie sicher, dass Sie die Beitrittsanfrage von diesem Mitglied annehmen werden?",
|
||||
"mg56":"Beim Drücken von Bestätigen wird die Beitrittsanfrage gesendet!",
|
||||
"mg57":"Beitrittsanfrage erfolgreich angenommen",
|
||||
"mg58":"ETWAS GING FALSCH",
|
||||
"mg59":"Beitrittsanfrage abbrechen erfolgreich akzeptiert",
|
||||
"mg60":"Sind Sie sicher, dass Sie die Beitrittsanfrage dieses Mitglieds abbrechen möchten?",
|
||||
"mg61":"Beim Drücken auf Bestätigen wird die Anfrage zum Abbrechen des Beitritts gesendet!"
|
||||
}
|
||||
}
|
||||
|
@ -799,6 +799,15 @@
|
||||
"mg49":"¡Al presionar confirmar, se enviará la solicitud de cancelación de invitación!",
|
||||
"mg50":"Próximamente...",
|
||||
"mg51":"Mínimo 3 Caracteres / Máximo 32 Caracteres",
|
||||
"mg52":"Máximo de 128 caracteres"
|
||||
"mg52":"Máximo de 128 caracteres",
|
||||
"mg53":"Tus solicitudes abiertas de unión",
|
||||
"mg54":"Sin solicitudes de unión abiertas",
|
||||
"mg55":"¿Está seguro de aceptar la solicitud de ingreso de este miembro?",
|
||||
"mg56":"¡Al presionar confirmar, se enviará la solicitud de aceptación de ingreso!",
|
||||
"mg57":"Solicitud de ingreso aceptada con éxito",
|
||||
"mg58":"ALGO SALIO MAL",
|
||||
"mg59":"Solicitud de cancelación de unión aceptada con éxito",
|
||||
"mg60":"¿Está seguro de cancelar la solicitud de ingreso de este miembro?",
|
||||
"mg61":"¡Al presionar confirmar, se enviará la solicitud de cancelación de unión!"
|
||||
}
|
||||
}
|
||||
|
@ -799,6 +799,15 @@
|
||||
"mg49":"En appuyant sur confirmer, la demande d'annulation d'invitation sera envoyée !",
|
||||
"mg50":"Bientôt disponible...",
|
||||
"mg51":"Minimum 3 caractères / Maximum 32 caractères",
|
||||
"mg52":"Maximum 128 caractères"
|
||||
"mg52":"Maximum 128 caractères",
|
||||
"mg53":"Vos demandes d'ouverture de jointure",
|
||||
"mg54":"Aucune demande de jointure ouverte",
|
||||
"mg55":"Êtes-vous sûr d'accepter la demande d'adhésion de ce membre ?",
|
||||
"mg56":"En appuyant sur confirmer, la demande d'adhésion acceptée sera envoyée !",
|
||||
"mg57":"Demande d'adhésion acceptée avec succès",
|
||||
"mg58":"QUELQUE CHOSE S'EST TROMPÉ",
|
||||
"mg59":"Annuler la demande d'adhésion acceptée avec succès",
|
||||
"mg60":"Êtes-vous sûr d'annuler la demande d'adhésion de ce membre ?",
|
||||
"mg61":"En appuyant sur confirmer, la demande d'annulation de l'adhésion sera envoyée !"
|
||||
}
|
||||
}
|
||||
|
@ -799,7 +799,16 @@
|
||||
"mg48":"क्या आप वाकई इस सदस्य के लिए आमंत्रण रद्द करना चाहते हैं?",
|
||||
"mg49":"पुष्टि करें दबाने पर, रद्द आमंत्रण अनुरोध भेजा जाएगा!",
|
||||
"mg50":"जल्द ही आ रहा है ...",
|
||||
"mg51": "न्यूनतम 3 वर्ण / अधिकतम 32 वर्ण",
|
||||
"mg52": "अधिकतम 128 वर्ण"
|
||||
"mg51":"न्यूनतम 3 वर्ण / अधिकतम 32 वर्ण",
|
||||
"mg52":"अधिकतम 128 वर्ण",
|
||||
"mg53":"आपका खुला शामिल होने का अनुरोध",
|
||||
"mg54":"नो ओपन जॉइन रिक्वेस्ट",
|
||||
"mg55":"क्या आप निश्चित रूप से इस सदस्य के शामिल होने के अनुरोध को स्वीकार करना चाहते हैं?",
|
||||
"mg56":"पुष्टि करें दबाने पर, स्वीकार करने का अनुरोध भेजा जाएगा!",
|
||||
"mg57":"जुड़ने का अनुरोध सफलतापूर्वक स्वीकार किया गया",
|
||||
"mg58":"कुछ गलत हो गया",
|
||||
"mg59":"रद्द करें शामिल होने का अनुरोध सफलतापूर्वक स्वीकार किया गया",
|
||||
"mg60":"क्या आप निश्चित रूप से इस सदस्य के शामिल होने के अनुरोध को रद्द करना चाहते हैं?",
|
||||
"mg61":"पुष्टि करें दबाने पर, रद्द करने का अनुरोध भेजा जाएगा!"
|
||||
}
|
||||
}
|
||||
|
@ -798,7 +798,16 @@
|
||||
"mg48":"Jeste li sigurni da želite otkazati poziv za ovog člana?",
|
||||
"mg49":"Pritiskom na potvrdu, zahtjev za pozivnicu za otkazivanje bit će poslan!",
|
||||
"mg50":"Uskoro...",
|
||||
"mg51": "Minimalno 3 znaka / Maksimalno 32 znaka",
|
||||
"mg52": "Maksimalno 128 znakova"
|
||||
"mg51":"Minimalno 3 znaka / Maksimalno 32 znaka",
|
||||
"mg52":"Maksimalno 128 znakova",
|
||||
"mg53":"Vaši otvoreni zahtjevi za pridruživanje",
|
||||
"mg54":"Nema otvorenih zahtjeva za pridruživanje",
|
||||
"mg55":"Jeste li sigurni da prihvaćate zahtjev za pridruživanje ovog člana?",
|
||||
"mg56":"Pritiskom na potvrdu, zahtjev za prihvaćanje pridruživanja bit će poslan!",
|
||||
"mg57":"Zahtjev za pridruživanje uspješno prihvaćen",
|
||||
"mg58":"NEŠTO JE POŠLO PO ZLOU",
|
||||
"mg59":"Poništi zahtjev za pridruživanje uspješno prihvaćen",
|
||||
"mg60":"Jeste li sigurni da želite otkazati zahtjev za pridruživanje ovog člana?",
|
||||
"mg61":"Pritiskom na potvrdu, bit će poslan zahtjev za otkazivanje pridruživanja!"
|
||||
}
|
||||
}
|
||||
|
@ -799,6 +799,15 @@
|
||||
"mg49":"A megerősítés megnyomására a rendszer elküldi a meghívó visszavonási kérelmét!",
|
||||
"mg50":"Hamarosan...",
|
||||
"mg51":"Minimum 3 karakter / legfeljebb 32 karakter",
|
||||
"mg52":"Legfeljebb 128 karakter"
|
||||
"mg52":"Legfeljebb 128 karakter",
|
||||
"mg53":"Az Ön nyitott csatlakozási kérelmei",
|
||||
"mg54":"Nincsenek nyitott csatlakozási kérelmek",
|
||||
"mg55":"Biztosan elfogadja ennek a tagnak a csatlakozási kérelmét?",
|
||||
"mg56":"A megerősítés megnyomására a rendszer elküldi az elfogadási csatlakozási kérelmet!",
|
||||
"mg57":"Csatlakozási kérelem sikeresen elfogadva",
|
||||
"mg58":"VALAMI RÁMADT",
|
||||
"mg59":"Csatlakozási kérelem visszavonása sikeresen elfogadva",
|
||||
"mg60":"Biztosan visszavonja ennek a tagnak a csatlakozási kérelmét?",
|
||||
"mg61":"A megerősítés megnyomására a csatlakozás megszakítási kérelme elküldésre kerül!"
|
||||
}
|
||||
}
|
||||
|
@ -799,6 +799,15 @@
|
||||
"mg49":"Premendo conferma, verrà inviata la richiesta di annullamento dell'invito!",
|
||||
"mg50":"Prossimamente...",
|
||||
"mg51":"Minimo 3 caratteri / Massimo 32 caratteri",
|
||||
"mg52":"Massimo 128 caratteri"
|
||||
"mg52":"Massimo 128 caratteri",
|
||||
"mg53":"Le tue richieste di partecipazione aperte",
|
||||
"mg54":"Nessuna richiesta di partecipazione aperta",
|
||||
"mg55":"Sei sicuro di accettare la richiesta di adesione di questo membro ?",
|
||||
"mg56":"Premendo conferma, verrà inviata la richiesta di partecipazione accettata!",
|
||||
"mg57":"Richiesta di partecipazione accettata con successo",
|
||||
"mg58":"QUALCOSA È ANDATO storto",
|
||||
"mg59":"Annulla richiesta di partecipazione accettata con successo",
|
||||
"mg60":"Sei sicuro di voler annullare la richiesta di adesione di questo membro ?",
|
||||
"mg61":"Premendo conferma, verrà inviata la richiesta di annullamento partecipazione!"
|
||||
}
|
||||
}
|
||||
|
@ -799,6 +799,15 @@
|
||||
"mg49":"확인을 누르면 초대 취소 요청이 전송됩니다!",
|
||||
"mg50":"출시 예정...",
|
||||
"mg51":"최소 3자 / 최대 32자",
|
||||
"mg52":"최대 128자"
|
||||
"mg52":"최대 128자",
|
||||
"mg53":"귀하의 오픈 조인 요청",
|
||||
"mg54":"오픈 조인 요청 없음",
|
||||
"mg55":"이 회원의 가입 요청을 수락하시겠습니까?",
|
||||
"mg56":"확인을 누르면 가입 수락 요청이 전송됩니다!",
|
||||
"mg57":"가입 요청이 성공적으로 수락됨",
|
||||
"mg58":"뭔가 잘못되었습니다",
|
||||
"mg59":"가입 요청 취소 성공",
|
||||
"mg60":"이 회원의 가입 요청을 취소하시겠습니까?",
|
||||
"mg61":"확인을 누르면 가입 취소 요청이 전송됩니다!"
|
||||
}
|
||||
}
|
||||
|
@ -799,6 +799,15 @@
|
||||
"mg49":"Når du trykker på bekreftelse, vil forespørselen om kansellering av invitasjon bli sendt!",
|
||||
"mg50":"Kommer snart...",
|
||||
"mg51":"Minimum 3 tegn / maksimum 32 tegn",
|
||||
"mg52": "Maksimalt 128 tegn"
|
||||
"mg52":"Maksimalt 128 tegn",
|
||||
"mg53":"Dine åpne forespørsler om bli med",
|
||||
"mg54":"Ingen åpne forespørsler om medlemskap",
|
||||
"mg55":"Er du sikker på å godta forespørselen fra dette medlemmet?",
|
||||
"mg56":"Når du trykker på bekreft, vil forespørselen om å godta bli sendt bli sendt!",
|
||||
"mg57":"Bli med forespørsel ble godtatt",
|
||||
"mg58":"NOE GIKK FEIL",
|
||||
"mg59":"Avbryt deltakelsesforespørsel ble godtatt",
|
||||
"mg60":"Er du sikker på å avbryte forespørselen om å bli medlem fra dette medlemmet?",
|
||||
"mg61":"Når du trykker på bekreft, vil forespørselen om kansellering bli sendt!"
|
||||
}
|
||||
}
|
||||
|
@ -798,7 +798,16 @@
|
||||
"mg48":"Czy na pewno chcesz anulować zaproszenie dla tego członka?",
|
||||
"mg49":"Po naciśnięciu potwierdzenia zostanie wysłana prośba o anulowanie zaproszenia!",
|
||||
"mg50":"Już wkrótce...",
|
||||
"mg51": "Minimum 3 znaki / Maksymalnie 32 znaki",
|
||||
"mg52": "Maksymalnie 128 znaków"
|
||||
"mg51":"Minimum 3 znaki / Maksymalnie 32 znaki",
|
||||
"mg52":"Maksymalnie 128 znaków",
|
||||
"mg53":"Twoje otwarte prośby o dołączenie",
|
||||
"mg54":"Brak otwartych próśb o dołączenie",
|
||||
"mg55":"Czy na pewno akceptujesz prośbę o dołączenie od tego członka?",
|
||||
"mg56":"Po naciśnięciu potwierdzenia zostanie wysłana prośba o zaakceptowanie dołączenia!",
|
||||
"mg57":"Prośba o dołączenie pomyślnie zaakceptowana",
|
||||
"mg58":"COŚ POszło nie tak",
|
||||
"mg59":"Anuluj prośbę o dołączenie pomyślnie zaakceptowaną",
|
||||
"mg60":"Czy na pewno chcesz anulować prośbę o dołączenie od tego członka?",
|
||||
"mg61":"Po naciśnięciu potwierdzenia, zostanie wysłana prośba o anulowanie dołączenia!"
|
||||
}
|
||||
}
|
||||
|
@ -799,6 +799,15 @@
|
||||
"mg49":"Ao pressionar confirmar, a solicitação de cancelamento do convite será enviada!",
|
||||
"mg50":"Em Breve...",
|
||||
"mg51":"Mínimo de 3 caracteres / Máximo de 32 caracteres",
|
||||
"mg52":"Máximo de 128 caracteres"
|
||||
"mg52":"Máximo de 128 caracteres",
|
||||
"mg53":"Suas solicitações de entrada abertas",
|
||||
"mg54":"Nenhuma solicitação de entrada aberta",
|
||||
"mg55":"Tem certeza que aceita a solicitação de entrada deste membro?",
|
||||
"mg56":"Ao pressionar confirmar, o pedido de aceitação de entrada será enviado!",
|
||||
"mg57":"Solicitação de entrada aceita com sucesso",
|
||||
"mg58":"ALGO DEU ERRADO",
|
||||
"mg59":"Cancelar pedido de entrada aceito com sucesso",
|
||||
"mg60":"Tem certeza que deseja cancelar a solicitação de ingresso deste membro ?",
|
||||
"mg61":"Ao pressionar confirmar, o pedido de cancelamento de adesão será enviado!"
|
||||
}
|
||||
}
|
||||
|
@ -799,6 +799,15 @@
|
||||
"mg49":"La apăsarea confirmării, cererea de anulare a invitației va fi trimisă!",
|
||||
"mg50":"În curând...",
|
||||
"mg51":"Minim 3 caractere / Maxim 32 de caractere",
|
||||
"mg52":"Maximum 128 de caractere"
|
||||
"mg52":"Maximum 128 de caractere",
|
||||
"mg53":"Solicitările dvs. de înscriere deschise",
|
||||
"mg54":"Fără solicitări de aderare deschise",
|
||||
"mg55":"Sunteți sigur că acceptați solicitarea de alăturare de la acest membru?",
|
||||
"mg56":"La apăsarea confirmării, va fi trimisă cererea de acceptare a înscrierii!",
|
||||
"mg57":"Solicitarea de înscriere a fost acceptată cu succes",
|
||||
"mg58":"CEVA A MERAT GREUT",
|
||||
"mg59":"Anularea cererii de aderare a fost acceptată cu succes",
|
||||
"mg60":"Sigur anulați solicitarea de alăturare de la acest membru?",
|
||||
"mg61":"La apăsarea confirmării, cererea de anulare a aderării va fi trimisă!"
|
||||
}
|
||||
}
|
||||
|
@ -799,6 +799,15 @@
|
||||
"mg49":"Pritiskom na potvrdi, zahtev za otkazivanje pozivnice će biti poslat!",
|
||||
"mg50":"Uskoro...",
|
||||
"mg51":"Najmanje 3 znaka / maksimalno 32 znaka",
|
||||
"mg52":"Maksimalno 128 znakova"
|
||||
"mg52":"Maksimalno 128 znakova",
|
||||
"mg53":"Vaši zahtevi za otvoreno pridruživanje",
|
||||
"mg54":"Nema otvorenih zahteva za pridruživanje",
|
||||
"mg55":"Da li ste sigurni da prihvatate zahtev za pridruživanje ovog člana?",
|
||||
"mg56":"Pritiskom na potvrdi, biće poslat zahtev za prihvatanje pridruživanja!",
|
||||
"mg57":"Zahtev za pridruživanje je uspešno prihvaćen",
|
||||
"mg58":"NEŠTO JE POŠLO NA ZLO",
|
||||
"mg59":"Zahtev za otkazivanje pridruživanja je uspešno prihvaćen",
|
||||
"mg60":"Da li ste sigurni da otkažete zahtev za pridruživanje ovog člana?",
|
||||
"mg61":"Pritiskom na potvrdu, zahtev za otkazivanje pridruživanja će biti poslat!"
|
||||
}
|
||||
}
|
||||
|
@ -799,6 +799,15 @@
|
||||
"mg49":"При нажатии подтверждения будет отправлен запрос на отмену приглашения!",
|
||||
"mg50":"Скоро...",
|
||||
"mg51":"Минимум 3 символа / максимум 32 символа",
|
||||
"mg52":"Максимум 128 символов"
|
||||
"mg52":"Максимум 128 символов",
|
||||
"mg53":"Ваши открытые запросы на вступление",
|
||||
"mg54":"Открытых запросов на присоединение нет",
|
||||
"mg55":"Вы уверены, что принимаете запрос на вступление от этого участника?",
|
||||
"mg56":"При нажатии подтверждения будет отправлен запрос на присоединение!",
|
||||
"mg57":"Запрос на присоединение успешно принят",
|
||||
"mg58":"ЧТО-ТО ПОШЛО НЕ ТАК",
|
||||
"mg59":"Запрос на отмену присоединения успешно принят",
|
||||
"mg60":"Вы уверены, что отмените запрос на вступление от этого участника?",
|
||||
"mg61":"При нажатии кнопки подтверждения будет отправлен запрос на отмену присоединения!"
|
||||
}
|
||||
}
|
||||
|
@ -799,6 +799,15 @@
|
||||
"mg49":"On pressing confirm, the cancel invite request will be sent!",
|
||||
"mg50":"Coming Soon...",
|
||||
"mg51":"Minimum 3 Characters / Maximum 32 Characters",
|
||||
"mg52":"Maximum 128 Characters"
|
||||
"mg52":"Maximum 128 Characters",
|
||||
"mg53":"Your Open Join Requests",
|
||||
"mg54":"No Open Join Requests",
|
||||
"mg55":"Are you sure to accept the join request from this member ?",
|
||||
"mg56":"On pressing confirm, the accept join request will be sent!",
|
||||
"mg57":"Join Request Successfully Accepted",
|
||||
"mg58":"SOMETHING WENT WRONG",
|
||||
"mg59":"Cancel Join Request Successfully Accepted",
|
||||
"mg60":"Are you sure to cancel the join request from this member ?",
|
||||
"mg61":"On pressing confirm, the cancel join request will be sent!"
|
||||
}
|
||||
}
|
||||
|
@ -799,6 +799,15 @@
|
||||
"mg49":"按下确认后,将发送取消邀请请求!",
|
||||
"mg50":"即将推出……",
|
||||
"mg51":"最少 3 个字符 / 最多 32 个字符",
|
||||
"mg52":"最多 128 个字符"
|
||||
"mg52":"最多 128 个字符",
|
||||
"mg53":"您的公开加入请求",
|
||||
"mg54":"没有开放的加入请求",
|
||||
"mg55":"您确定接受该会员的加入请求吗?",
|
||||
"mg56":"按下确认后,将发送接受加入请求!",
|
||||
"mg57":"成功接受加入请求",
|
||||
"mg58":"出了点问题",
|
||||
"mg59":"取消加入请求已成功接受",
|
||||
"mg60":"您确定要取消该会员的加入请求吗?",
|
||||
"mg61":"按下确认后,将发送取消加入请求!"
|
||||
}
|
||||
}
|
||||
|
@ -799,6 +799,15 @@
|
||||
"mg49":"按下確認後,將發送取消邀請請求!",
|
||||
"mg50":"即將推出……",
|
||||
"mg51":"最少 3 個字符 / 最多 32 個字符",
|
||||
"mg52":"最多 128 個字符"
|
||||
"mg52":"最多 128 個字符",
|
||||
"mg53":"您的公開加入請求",
|
||||
"mg54":"沒有開放的加入請求",
|
||||
"mg55":"您確定接受該會員的加入請求嗎?",
|
||||
"mg56":"按下確認後,將發送接受加入請求!",
|
||||
"mg57":"成功接受加入請求",
|
||||
"mg58":"出了點問題",
|
||||
"mg59":"取消加入請求已成功接受",
|
||||
"mg60":"您確定要取消該會員的加入請求嗎?",
|
||||
"mg61":"按下確認後,將發送取消加入請求!"
|
||||
}
|
||||
}
|
||||
|
@ -38,6 +38,7 @@ class GroupManagement extends LitElement {
|
||||
newAdminsList: { type: Array },
|
||||
newBannedList: { type: Array },
|
||||
newGroupInvitesList: { type: Array },
|
||||
newGroupJoinsList: { type: Array },
|
||||
recipientPublicKey: { type: String },
|
||||
selectedAddress: { type: Object },
|
||||
manageGroupObj: { type: Object },
|
||||
@ -155,6 +156,11 @@ class GroupManagement extends LitElement {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.success-icon {
|
||||
font-size: 48px;
|
||||
color: #198754;
|
||||
}
|
||||
|
||||
.close-icon {
|
||||
font-size: 36px;
|
||||
}
|
||||
@ -436,6 +442,7 @@ class GroupManagement extends LitElement {
|
||||
this.newAdminsList = []
|
||||
this.newBannedList = []
|
||||
this.newGroupInvitesList = []
|
||||
this.newGroupJoinsList = []
|
||||
this.manageGroupObj = {}
|
||||
this.joinGroupObj = {}
|
||||
this.leaveGroupObj = {}
|
||||
@ -836,6 +843,7 @@ class GroupManagement extends LitElement {
|
||||
|
||||
groupInviteTemplate() {
|
||||
return html`
|
||||
<h3 style="margin: 0; margin-bottom: 1em; text-align: center;">${translate("managegroup.mg36")}</h3>
|
||||
<vaadin-grid theme="large" id="groupInvitesGrid" ?hidden="${this.isEmptyArray(this.newGroupInvitesList)}" .items="${this.newGroupInvitesList}" aria-label="Group Invites" all-rows-visible>
|
||||
<vaadin-grid-column
|
||||
width="6rem"
|
||||
@ -880,6 +888,54 @@ class GroupManagement extends LitElement {
|
||||
${this.isEmptyArray(this.newGroupInvitesList) ? html`
|
||||
<span style="color: var(--black);">${translate("managegroup.mg35")}</span>
|
||||
` : html``}
|
||||
<br><hr><br>
|
||||
<h3 style="margin: 0; margin-bottom: 1em; text-align: center;">${translate("managegroup.mg53")}</h3>
|
||||
<vaadin-grid theme="large" id="groupJoinsGrid" ?hidden="${this.isEmptyArray(this.newGroupJoinsList)}" .items="${this.newGroupJoinsList}" aria-label="Group Join Requests" all-rows-visible>
|
||||
<vaadin-grid-column
|
||||
width="6rem"
|
||||
flex-grow="0"
|
||||
header="${translate("websitespage.schange5")}"
|
||||
.renderer=${(root, column, data) => {
|
||||
render(html`${this.renderAvatar(data.item)}`, root)
|
||||
}}
|
||||
></vaadin-grid-column>
|
||||
<vaadin-grid-column
|
||||
auto-width
|
||||
resizable
|
||||
header="${translate("puzzlepage.pchange4")}"
|
||||
.renderer=${(root, column, data) => {
|
||||
render(html`${data.item.name}`, root)
|
||||
}}
|
||||
></vaadin-grid-column>
|
||||
<vaadin-grid-column
|
||||
auto-width
|
||||
resizable
|
||||
header="${translate("login.address")}"
|
||||
.renderer=${(root, column, data) => {
|
||||
render(html`${data.item.owner}`, root)
|
||||
}}
|
||||
></vaadin-grid-column>
|
||||
<vaadin-grid-column
|
||||
width="12rem"
|
||||
flex-grow="0"
|
||||
header="${translate("websitespage.schange8")}"
|
||||
.renderer=${(root, column, data) => {
|
||||
render(html`${this.renderConfirmRequestButton(data.item)}`, root)
|
||||
}}
|
||||
></vaadin-grid-column>
|
||||
<vaadin-grid-column
|
||||
width="12rem"
|
||||
flex-grow="0"
|
||||
.renderer=${(root, column, data) => {
|
||||
render(html`${this.renderDeclineRequestButton(data.item)}`, root)
|
||||
}}
|
||||
></vaadin-grid-column>
|
||||
</vaadin-grid>
|
||||
${this.isEmptyArray(this.newGroupJoinsList) ? html`
|
||||
<span style="color: var(--black);">${translate("managegroup.mg54")}</span>
|
||||
` : html``}
|
||||
<br>
|
||||
<hr>
|
||||
<div style="padding-top: 20px;">
|
||||
<vaadin-button theme="primary medium" @click=${() => this.openInviteMemberToGroupDialog()}>
|
||||
${translate("managegroup.mg2")}
|
||||
@ -1033,6 +1089,72 @@ class GroupManagement extends LitElement {
|
||||
${translate("general.close")}
|
||||
</mwc-button>
|
||||
</mwc-dialog>
|
||||
|
||||
<mwc-dialog id="successJoinDialog" scrimClickAction="" escapeKeyAction="">
|
||||
<div class="card-container">
|
||||
<mwc-icon class="success-icon">group_add</mwc-icon>
|
||||
<h2>${translate("managegroup.mg57")}</h2>
|
||||
<h4>${translate("walletpage.wchange43")}</h4>
|
||||
</div>
|
||||
|
||||
<mwc-button
|
||||
slot="primaryAction"
|
||||
@click=${() => this.closeSuccessJoinDialog()}
|
||||
class="red"
|
||||
>
|
||||
${translate("general.close")}
|
||||
</mwc-button>
|
||||
</mwc-dialog>
|
||||
|
||||
<mwc-dialog id="errorJoinDialog" scrimClickAction="" escapeKeyAction="">
|
||||
<div class="card-container">
|
||||
<mwc-icon class="error-icon">warning</mwc-icon>
|
||||
<h2>${translate("managegroup.mg58")}</h2>
|
||||
<h4>${this.errorMessage}</h4>
|
||||
<h4>${translate("walletpage.wchange44")}</h4>
|
||||
</div>
|
||||
|
||||
<mwc-button
|
||||
slot="primaryAction"
|
||||
@click=${() => this.closeErrorJoinDialog()}
|
||||
class="red"
|
||||
>
|
||||
${translate("general.close")}
|
||||
</mwc-button>
|
||||
</mwc-dialog>
|
||||
|
||||
<mwc-dialog id="cancelSuccessJoinDialog" scrimClickAction="" escapeKeyAction="">
|
||||
<div class="card-container">
|
||||
<mwc-icon class="success-icon">person_remove</mwc-icon>
|
||||
<h2>${translate("managegroup.mg59")}</h2>
|
||||
<h4>${translate("walletpage.wchange43")}</h4>
|
||||
</div>
|
||||
|
||||
<mwc-button
|
||||
slot="primaryAction"
|
||||
@click=${() => this.closeCancelSuccessJoinDialog()}
|
||||
class="red"
|
||||
>
|
||||
${translate("general.close")}
|
||||
</mwc-button>
|
||||
</mwc-dialog>
|
||||
|
||||
<mwc-dialog id="cancelErrorJoinDialog" scrimClickAction="" escapeKeyAction="">
|
||||
<div class="card-container">
|
||||
<mwc-icon class="error-icon">warning</mwc-icon>
|
||||
<h2>${translate("managegroup.mg58")}</h2>
|
||||
<h4>${this.errorMessage}</h4>
|
||||
<h4>${translate("walletpage.wchange44")}</h4>
|
||||
</div>
|
||||
|
||||
<mwc-button
|
||||
slot="primaryAction"
|
||||
@click=${() => this.closeCancelErrorJoinDialog()}
|
||||
class="red"
|
||||
>
|
||||
${translate("general.close")}
|
||||
</mwc-button>
|
||||
</mwc-dialog>
|
||||
`
|
||||
}
|
||||
|
||||
@ -1986,6 +2108,38 @@ class GroupManagement extends LitElement {
|
||||
this.errorMessage = ''
|
||||
}
|
||||
|
||||
renderConfirmRequestButton(joinObj) {
|
||||
return html`<mwc-button class="green" @click=${() => this.createAcceptJoinGroupMember(joinObj)}><mwc-icon>add_task</mwc-icon> ${translate("transpage.tchange3")}</mwc-button>`
|
||||
}
|
||||
|
||||
renderDeclineRequestButton(joinObj) {
|
||||
return html`<mwc-button class="red" @click=${() => this.kickJoinGroupMember(joinObj)}><mwc-icon>cancel</mwc-icon> ${translate("transpage.tchange2")}</mwc-button>`
|
||||
}
|
||||
|
||||
closeSuccessJoinDialog() {
|
||||
this.shadowRoot.querySelector('#successJoinDialog').close()
|
||||
this.successMessage = ''
|
||||
this.errorMessage = ''
|
||||
}
|
||||
|
||||
closeErrorJoinDialog() {
|
||||
this.shadowRoot.querySelector('#errorJoinDialog').close()
|
||||
this.successMessage = ''
|
||||
this.errorMessage = ''
|
||||
}
|
||||
|
||||
closeCancelSuccessJoinDialog() {
|
||||
this.shadowRoot.querySelector('#cancelSuccessJoinDialog').close()
|
||||
this.successMessage = ''
|
||||
this.errorMessage = ''
|
||||
}
|
||||
|
||||
closeCancelErrorJoinDialog() {
|
||||
this.shadowRoot.querySelector('#cancelErrorJoinDialog').close()
|
||||
this.successMessage = ''
|
||||
this.errorMessage = ''
|
||||
}
|
||||
|
||||
openMemberInfo(inviteGroupId) {
|
||||
const _inviteMemberInfo = this.shadowRoot.getElementById('toInviteMemberToGroup').value
|
||||
const _nviteMemberTime = this.shadowRoot.getElementById("inviteMemberTime").value
|
||||
@ -2361,6 +2515,57 @@ class GroupManagement extends LitElement {
|
||||
}
|
||||
}
|
||||
|
||||
async getNewGroupJoinList(theGroup) {
|
||||
let callGroupID = theGroup
|
||||
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
|
||||
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
|
||||
|
||||
let joinObj = []
|
||||
this.groupJoinMembers = []
|
||||
|
||||
await parentEpml.request('apiCall', {
|
||||
url: `/groups/joinrequests/${callGroupID}`
|
||||
}).then(res => {
|
||||
this.groupJoinMembers = res
|
||||
})
|
||||
|
||||
if (this.groupJoinMembers.length === 0) {
|
||||
return
|
||||
} else {
|
||||
this.groupJoinMembers.map(a => {
|
||||
let callTheJoinMember = a.joiner
|
||||
let callSingleJoinMemberUrl = `${nodeUrl}/names/address/${callTheJoinMember}`
|
||||
fetch(callSingleJoinMemberUrl).then(res => {
|
||||
return res.json()
|
||||
}).then(jsonRes => {
|
||||
if (jsonRes.length) {
|
||||
jsonRes.map(b => {
|
||||
const joinObjToAdd = {
|
||||
groupId: a.groupId,
|
||||
name: b.name,
|
||||
owner: b.owner,
|
||||
time: '86400',
|
||||
reason: 'NotAllowed'
|
||||
}
|
||||
joinObj.push(joinObjToAdd)
|
||||
})
|
||||
} else {
|
||||
const noName = 'No registered name'
|
||||
const noNameObj = {
|
||||
groupId: a.groupId,
|
||||
name: noName,
|
||||
owner: a.joiner,
|
||||
time: '86400',
|
||||
reason: 'NotAllowed'
|
||||
}
|
||||
joinObj.push(noNameObj)
|
||||
}
|
||||
this.newGroupJoinsList = joinObj
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
closeManageGroupOwnerDialog() {
|
||||
this.resetDefaultSettings()
|
||||
this.shadowRoot.getElementById('manageGroupOwnerDialog').close()
|
||||
@ -2389,6 +2594,7 @@ class GroupManagement extends LitElement {
|
||||
await this.getNewMemberList(groupObj.groupId)
|
||||
await this.getNewBannedList(groupObj.groupId)
|
||||
await this.getNewGroupInvitesList(groupObj.groupId)
|
||||
await this.getNewGroupJoinList(groupObj.groupId)
|
||||
await manageGroupDelay(1000)
|
||||
this.shadowRoot.getElementById('manageGroupOwnerDialog').open()
|
||||
}
|
||||
@ -3057,6 +3263,148 @@ class GroupManagement extends LitElement {
|
||||
validateReceiver()
|
||||
}
|
||||
|
||||
async createAcceptJoinGroupMember(joinObj) {
|
||||
const member = joinObj.owner
|
||||
const inviteTime = joinObj.time
|
||||
const inviteGroupMemberFeeInput = this.inviteGroupMemberFee
|
||||
const theGroupId = joinObj.groupId
|
||||
this.isLoading = true
|
||||
this.btnDisable = true
|
||||
|
||||
const getLastRef = async () => {
|
||||
let myRef = await parentEpml.request('apiCall', {
|
||||
type: 'api',
|
||||
url: `/addresses/lastreference/${this.selectedAddress.address}`
|
||||
})
|
||||
return myRef
|
||||
}
|
||||
|
||||
const validateReceiver = async () => {
|
||||
let lastRef = await getLastRef()
|
||||
let myTransaction = await makeTransactionRequest(lastRef)
|
||||
getTxnRequestResponse(myTransaction)
|
||||
}
|
||||
|
||||
const makeTransactionRequest = async (lastRef) => {
|
||||
const myMember = member
|
||||
const myLastRef = lastRef
|
||||
const myGroupId = theGroupId
|
||||
const myFee = inviteGroupMemberFeeInput
|
||||
const myInviteTime = inviteTime
|
||||
const myInviteMemberDialog1 = get("managegroup.mg55")
|
||||
const myInviteMemberDialog2 = get("managegroup.mg56")
|
||||
|
||||
let myTxnrequest = await parentEpml.request('transaction', {
|
||||
type: 29,
|
||||
nonce: this.selectedAddress.nonce,
|
||||
params: {
|
||||
fee: myFee,
|
||||
recipient: myMember,
|
||||
rGroupId: myGroupId,
|
||||
rInviteTime: myInviteTime,
|
||||
lastReference: myLastRef,
|
||||
inviteMemberDialog1: myInviteMemberDialog1,
|
||||
inviteMemberDialog2: myInviteMemberDialog2
|
||||
}
|
||||
})
|
||||
return myTxnrequest
|
||||
}
|
||||
|
||||
const getTxnRequestResponse = (txnResponse) => {
|
||||
if (txnResponse.success === false && txnResponse.message) {
|
||||
this.errorMessage = txnResponse.message
|
||||
this.shadowRoot.querySelector('#errorJoinDialog').show()
|
||||
this.isLoading = false
|
||||
this.btnDisable = false
|
||||
throw new Error(txnResponse)
|
||||
} else if (txnResponse.success === true && !txnResponse.data.error) {
|
||||
this.shadowRoot.querySelector('#successJoinDialog').show()
|
||||
this.errorMessage = ''
|
||||
this.successMessage = this.renderSuccessText()
|
||||
this.isLoading = false
|
||||
this.btnDisable = false
|
||||
} else {
|
||||
this.errorMessage = txnResponse.data.message
|
||||
this.shadowRoot.querySelector('#errorJoinDialog').show()
|
||||
this.isLoading = false
|
||||
this.btnDisable = false
|
||||
throw new Error(txnResponse)
|
||||
}
|
||||
}
|
||||
validateReceiver()
|
||||
}
|
||||
|
||||
async kickJoinGroupMember(joinObj) {
|
||||
const member = joinObj.owner
|
||||
const reason = joinObj.reason
|
||||
const kickGroupMemberFeeInput = this.kickGroupMemberFee
|
||||
const theGroupId = joinObj.groupId
|
||||
this.isLoading = true
|
||||
this.btnDisable = true
|
||||
|
||||
const getLastRef = async () => {
|
||||
let myRef = await parentEpml.request('apiCall', {
|
||||
type: 'api',
|
||||
url: `/addresses/lastreference/${this.selectedAddress.address}`
|
||||
})
|
||||
return myRef
|
||||
}
|
||||
|
||||
const validateReceiver = async () => {
|
||||
let lastRef = await getLastRef()
|
||||
let myTransaction = await makeTransactionRequest(lastRef)
|
||||
getTxnRequestResponse(myTransaction)
|
||||
}
|
||||
|
||||
const makeTransactionRequest = async (lastRef) => {
|
||||
const myMember = member
|
||||
const myLastRef = lastRef
|
||||
const myGroupId = theGroupId
|
||||
const myFee = kickGroupMemberFeeInput
|
||||
const myReason = reason
|
||||
const myKickMemberDialog1 = get("managegroup.mg60")
|
||||
const myKickMemberDialog2 = get("managegroup.mg61")
|
||||
|
||||
let myTxnrequest = await parentEpml.request('transaction', {
|
||||
type: 28,
|
||||
nonce: this.selectedAddress.nonce,
|
||||
params: {
|
||||
fee: myFee,
|
||||
recipient: myMember,
|
||||
rGroupId: myGroupId,
|
||||
rBanReason: myReason,
|
||||
lastReference: myLastRef,
|
||||
kickMemberDialog1: myKickMemberDialog1,
|
||||
kickMemberDialog2: myKickMemberDialog2
|
||||
}
|
||||
})
|
||||
return myTxnrequest
|
||||
}
|
||||
|
||||
const getTxnRequestResponse = (txnResponse) => {
|
||||
if (txnResponse.success === false && txnResponse.message) {
|
||||
this.errorMessage = txnResponse.message
|
||||
this.shadowRoot.querySelector('#cancelErrorJoinDialog').show()
|
||||
this.isLoading = false
|
||||
this.btnDisable = false
|
||||
throw new Error(txnResponse)
|
||||
} else if (txnResponse.success === true && !txnResponse.data.error) {
|
||||
this.shadowRoot.querySelector('#cancelSuccessJoinDialog').show()
|
||||
this.errorMessage = ''
|
||||
this.successMessage = this.renderSuccessText()
|
||||
this.isLoading = false
|
||||
this.btnDisable = false
|
||||
} else {
|
||||
this.errorMessage = txnResponse.data.message
|
||||
this.shadowRoot.querySelector('#cancelErrorJoinDialog').show()
|
||||
this.isLoading = false
|
||||
this.btnDisable = false
|
||||
throw new Error(txnResponse)
|
||||
}
|
||||
}
|
||||
validateReceiver()
|
||||
}
|
||||
|
||||
async addGroupAdmin(groupId) {
|
||||
const member = this.shadowRoot.getElementById('memberToAdmin').value
|
||||
const addGroupAdminFeeInput = this.addGroupAdminFee
|
||||
|
Loading…
x
Reference in New Issue
Block a user