logout confirmation popup

This commit is contained in:
10G Meow 2022-06-11 09:31:14 +03:00
parent 431e26f539
commit 9f2e543d07
16 changed files with 114 additions and 5 deletions

View file

@ -214,6 +214,9 @@
"text_public": "གལ་ཏེ་ཁྱེད་ཀྱིས་འབྲེལ་ཐག་དེ་ཧ་གོ་ཚེ། ག་དུས་ཡིན་ཡང་། ཁ་བརྡ་ཁང་དུ་འཛུལ་ཆོག",
"title_public": "{user} ག་ལེེར་བཞུགས།"
},
"logout": {
"confirm_text": ""
},
"join": {
"status_joining": "ཁ་བརྡ་ཁང་དུ་འཛུལ་བཞིན་པ།...",
"status_logging_in": "ནང་འཛུལ་བྱེད་བཞིན་པ།...",

View file

@ -165,6 +165,9 @@
"leave": "Verlassen",
"title_invite": "Bist du sicher, dass du gehen willst?"
},
"logout": {
"confirm_text": ""
},
"purge_room": {
"info": "Alle Mitglieder und Nachrichten werden entfernt. Diese Aktion kann nicht rückgängig gemacht werden.",
"button": "Löschen",

View file

@ -179,6 +179,9 @@
"go_back": "Go back",
"leave": "Leave"
},
"logout": {
"confirm_text": "Are you sure you want to logout ?"
},
"purge_room": {
"title": "Delete room?",
"info": "All members and messages will be removed. This action cannot be undone.",

View file

@ -47,6 +47,9 @@
"text_public": "Siempre puedes volver a unirte a esta sala si conoces el enlace.",
"title_public": "Adios, [user}"
},
"logout": {
"confirm_text": ""
},
"invite": {
"status_error": "No se pudo invitar a uno o más amigos!",
"status_inviting": "Invitando amigo {index} de {count}",

View file

@ -84,6 +84,9 @@
"leave": "Poistu",
"text_invite": "Tämä huone on lukittu. Et pääse takaisin ilman erillistä lupaa."
},
"logout": {
"confirm_text": ""
},
"message": {
"you": "Sinä",
"user_created_room": "{user} loi huoneen",

View file

@ -165,6 +165,9 @@
"text_invite": "Ce salon est verrouillé. Vous ne pouvez pas le rejoindre sans une autorisation spéciale.",
"go_back": "Retour"
},
"logout": {
"confirm_text": ""
},
"purge_room": {
"title": "Supprimer le salon ?",
"info": "Tous les membres et les messages seront supprimés. Cette action ne peut être annulée.",

View file

@ -164,6 +164,9 @@
"leave": "Lascia",
"text_public_lastroom": "Se vuoi unirti di nuovo a questa stanza, puoi farlo con una nuova identità. Per mantenere {user}, {action}."
},
"logout": {
"confirm_text": ""
},
"purge_room": {
"info": "Tutti i membri e i messaggi saranno rimossi. Questa azione non può essere annullata.",
"button": "Elimina",

View file

@ -139,6 +139,9 @@
"create_account": "opprett en konto",
"title_public": "Adjø, {user}"
},
"logout": {
"confirm_text": ""
},
"invite": {
"status_inviting": "Inviterer venn {index} av {count}",
"send_invites_to": "Send invitasjoner til",

View file

@ -183,6 +183,9 @@
"go_back": "Retorna",
"leave": "Sair"
},
"logout": {
"confirm_text": ""
},
"purge_room": {
"title": "Exclui a sala?",
"info": "Todos os membros e as mensagens serão excluídos. Essa ação não pode ser desfeita.",

View file

@ -83,6 +83,9 @@
"text_public": "Puteți oricând să vă alăturați din nou acestei camere dacă știți link-ul.",
"title_public": "La revedere, {user}"
},
"logout": {
"confirm_text": ""
},
"invite": {
"status_error": "Nu ați reușit să invitați unul sau mai mulți prieteni!",
"status_inviting": "Invitați prietenul {index} din {count}",

View file

@ -29,5 +29,8 @@
},
"login": {
"invalid_message": ""
},
"logout": {
"confirm_text": ""
}
}

View file

@ -106,6 +106,9 @@
"text_public": "ئۇلىنىشنى بىلسىڭىز ھەمىشە بۇ ئۆيگە قايتا كىرەلەيسىز.",
"title_public": "خەير خوش ، {ئىشلەتكۈچى}"
},
"logout": {
"confirm_text": ""
},
"join": {
"join_failed": "مۇنازىرە ئۆيىگە قوشۇلۇش مەغلۇب بولدى.",
"status_joining": "مۇنازىرىگە كىرىش...",

View file

@ -42,6 +42,9 @@
"text_public": "如果您知道链接,您可以随时再次加入此聊天室。",
"title_public": "再见,{user}"
},
"logout": {
"confirm_text": ""
},
"login": {
"login": "登录",
"password": "输入密码",

View file

@ -0,0 +1,54 @@
<template>
<v-dialog
:value="showLogoutPopup"
class="ma-0 pa-0"
:width="$vuetify.breakpoint.smAndUp ? '688px' : '95%'"
@click:outside="$emit('onOutsideLogoutPopupClicked')"
>
<div class="dialog-content text-center">
<template>
<h2 class="dialog-title">
{{ $t("logout.confirm_text")}}
</h2>
</template>
<v-container fluid>
<v-row cols="12">
<v-col cols="6">
<v-btn
depressed
text
block
class="text-button"
@click.stop="$emit('onCancelLogoutClicked')"
>{{ $t("menu.cancel") }}</v-btn
>
</v-col>
<v-col cols="6" align="center">
<v-btn
color="red"
depressed
block
class="filled-button"
@click.stop="logout"
>{{ $t("menu.logout") }}</v-btn
>
</v-col>
</v-row>
</v-container>
</div>
</v-dialog>
</template>
<script>
import profileInfoMixin from "./profileInfoMixin";
export default {
name: "LogoutRoomDialog",
mixins: [profileInfoMixin],
props: {
showLogoutPopup: {
type: Boolean,
default: false
}
}
};
</script>

View file

@ -53,9 +53,14 @@
<!-- <div v-if="$matrix.currentUser.is_guest">
{{ $t("profile.temporary_identity") }}
</div> -->
<v-btn id="btn-logout" depressed block class="outlined-button" @click.stop="logout">{{
$t("menu.logout")
}}</v-btn>
<v-btn id="btn-logout" depressed block class="outlined-button" @click.stop="showLogoutPopup=true">
{{ $t("menu.logout") }}
</v-btn>
<LogoutRoomDialog
:showLogoutPopup="showLogoutPopup"
@onOutsideLogoutPopupClicked="showLogoutPopup=false"
@onCancelLogoutClicked="showLogoutPopup=false"
/>
</v-col>
</v-row>
</v-container>
@ -182,6 +187,7 @@ const sizeOf = require("image-size");
//const dataUriToBuffer = require("data-uri-to-buffer");
import util from "../plugins/utils";
import profileInfoMixin from "./profileInfoMixin";
import LogoutRoomDialog from './LogoutRoomDialog.vue';
export default {
name: "Profile",
@ -189,12 +195,14 @@ export default {
components: {
ActionRow,
SelectLanguageDialog,
LogoutRoomDialog,
},
data() {
return {
showEditPasswordDialog: false,
showEditDisplaynameDialog: false,
showSelectLanguageDialog: false,
showLogoutPopup: false,
editValue: null,
password: null,
newPassword1: null,

View file

@ -60,10 +60,15 @@
:text="$t('profile_info_popup.edit_profile')"
/>
<ActionRow
@click="logout"
@click.stop="showLogoutPopup=true"
:icon="'logout'"
:text="$t('profile_info_popup.logout')"
/>
<LogoutRoomDialog
:showLogoutPopup="showLogoutPopup"
@onOutsideLogoutPopupClicked="showLogoutPopup=false"
@onCancelLogoutClicked="showLogoutPopup=false"
/>
</v-container>
<div class="more-container">
@ -89,12 +94,14 @@
<script>
import profileInfoMixin from "./profileInfoMixin";
import ActionRow from "./ActionRow.vue";
import LogoutRoomDialog from './LogoutRoomDialog.vue';
export default {
name: "ProfileInfoPopup",
mixins: [profileInfoMixin],
components: {
ActionRow,
LogoutRoomDialog
},
props: {
show: {
@ -107,7 +114,8 @@ export default {
data() {
return {
showDialog: false,
editDisplayName: false
editDisplayName: false,
showLogoutPopup: false
};
},
computed: {