Merge branch 'develop' into Syldexia/pleroma-fe-feature/account-deletion
This commit is contained in:
commit
959b2d9d66
5 changed files with 72 additions and 29 deletions
Binary file not shown.
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 17 KiB |
|
@ -3,7 +3,7 @@
|
||||||
<div class="panel-heading conversation-heading">
|
<div class="panel-heading conversation-heading">
|
||||||
{{ $t('timeline.conversation') }}
|
{{ $t('timeline.conversation') }}
|
||||||
<span v-if="collapsable" style="float:right;">
|
<span v-if="collapsable" style="float:right;">
|
||||||
<small><a href="#" @click.prevent="$emit('toggleExpanded')">Collapse</a></small>
|
<small><a href="#" @click.prevent="$emit('toggleExpanded')">{{ $t('timeline.collapse') }}</a></small>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
|
|
|
@ -8,6 +8,7 @@ const UserSettings = {
|
||||||
followList: null,
|
followList: null,
|
||||||
followImportError: false,
|
followImportError: false,
|
||||||
followsImported: false,
|
followsImported: false,
|
||||||
|
enableFollowsExport: true,
|
||||||
uploading: [ false, false, false, false ],
|
uploading: [ false, false, false, false ],
|
||||||
previews: [ null, null, null ],
|
previews: [ null, null, null ],
|
||||||
deletingAccount: false,
|
deletingAccount: false,
|
||||||
|
@ -140,6 +141,37 @@ const UserSettings = {
|
||||||
this.uploading[3] = false
|
this.uploading[3] = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
/* This function takes an Array of Users
|
||||||
|
* and outputs a file with all the addresses for the user to download
|
||||||
|
*/
|
||||||
|
exportPeople (users, filename) {
|
||||||
|
// Get all the friends addresses
|
||||||
|
var UserAddresses = users.map(function (user) {
|
||||||
|
// check is it's a local user
|
||||||
|
if (user && user.is_local) {
|
||||||
|
// append the instance address
|
||||||
|
// eslint-disable-next-line no-undef
|
||||||
|
user.screen_name += '@' + location.hostname
|
||||||
|
}
|
||||||
|
return user.screen_name
|
||||||
|
}).join('\n')
|
||||||
|
// Make the user download the file
|
||||||
|
var fileToDownload = document.createElement('a')
|
||||||
|
fileToDownload.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(UserAddresses))
|
||||||
|
fileToDownload.setAttribute('download', filename)
|
||||||
|
fileToDownload.style.display = 'none'
|
||||||
|
document.body.appendChild(fileToDownload)
|
||||||
|
fileToDownload.click()
|
||||||
|
document.body.removeChild(fileToDownload)
|
||||||
|
},
|
||||||
|
exportFollows () {
|
||||||
|
this.enableFollowsExport = false
|
||||||
|
this.$store.state.api.backendInteractor
|
||||||
|
.fetchFriends({id: this.$store.state.users.currentUser.id})
|
||||||
|
.then((friendList) => {
|
||||||
|
this.exportPeople(friendList, 'friends.csv')
|
||||||
|
})
|
||||||
|
},
|
||||||
followListChange () {
|
followListChange () {
|
||||||
// eslint-disable-next-line no-undef
|
// eslint-disable-next-line no-undef
|
||||||
let formData = new FormData()
|
let formData = new FormData()
|
||||||
|
@ -156,10 +188,9 @@ const UserSettings = {
|
||||||
deleteAccount () {
|
deleteAccount () {
|
||||||
this.$store.state.api.backendInteractor.deleteAccount({password: this.deleteAccountConfirmPasswordInput})
|
this.$store.state.api.backendInteractor.deleteAccount({password: this.deleteAccountConfirmPasswordInput})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res)
|
|
||||||
if (res.status === 'success') {
|
if (res.status === 'success') {
|
||||||
this.$store.dispatch('logout')
|
this.$store.dispatch('logout')
|
||||||
window.location.href = '/main/all'
|
this.$router.push('/main/all')
|
||||||
} else {
|
} else {
|
||||||
this.deleteAccountError = res.error
|
this.deleteAccountError = res.error
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,6 +66,13 @@
|
||||||
<p>{{$t('settings.follow_import_error')}}</p>
|
<p>{{$t('settings.follow_import_error')}}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="setting-item" v-if="enableFollowsExport">
|
||||||
|
<h3>{{$t('settings.follow_export')}}</h3>
|
||||||
|
<button class="btn btn-default" @click="exportFollows">{{$t('settings.follow_export_button')}}</button>
|
||||||
|
</div>
|
||||||
|
<div class="setting-item" v-else>
|
||||||
|
<h3>{{$t('settings.follow_export_processing')}}</h3>
|
||||||
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="setting-item">
|
<div class="setting-item">
|
||||||
<h3>{{$t('settings.delete_account')}}</h3>
|
<h3>{{$t('settings.delete_account')}}</h3>
|
||||||
|
|
|
@ -293,7 +293,10 @@ const en = {
|
||||||
delete_account: 'Delete Account',
|
delete_account: 'Delete Account',
|
||||||
delete_account_description: 'Permanantly delete your account and all your messages.',
|
delete_account_description: 'Permanantly delete your account and all your messages.',
|
||||||
delete_account_instructions: 'Type your password in the input below to confirm account deletion.',
|
delete_account_instructions: 'Type your password in the input below to confirm account deletion.',
|
||||||
delete_account_error: 'There was an issue deleting your account. If this persists please contact your instance administrator.'
|
delete_account_error: 'There was an issue deleting your account. If this persists please contact your instance administrator.',
|
||||||
|
follow_export: 'Follow export',
|
||||||
|
follow_export_processing: 'Processing, you\'ll soon be asked to download your file',
|
||||||
|
follow_export_button: 'Export your follows to a csv file'
|
||||||
},
|
},
|
||||||
notifications: {
|
notifications: {
|
||||||
notifications: 'Notifications',
|
notifications: 'Notifications',
|
||||||
|
@ -835,8 +838,8 @@ const fr = {
|
||||||
blocked: 'Bloqué',
|
blocked: 'Bloqué',
|
||||||
block: 'Bloquer',
|
block: 'Bloquer',
|
||||||
statuses: 'Statuts',
|
statuses: 'Statuts',
|
||||||
mute: 'Mettre en muet',
|
mute: 'Masquer',
|
||||||
muted: 'Mis en muet',
|
muted: 'Masqué',
|
||||||
followers: 'Vous suivent',
|
followers: 'Vous suivent',
|
||||||
followees: 'Suivis',
|
followees: 'Suivis',
|
||||||
per_day: 'par jour',
|
per_day: 'par jour',
|
||||||
|
@ -844,7 +847,7 @@ const fr = {
|
||||||
},
|
},
|
||||||
timeline: {
|
timeline: {
|
||||||
show_new: 'Afficher plus',
|
show_new: 'Afficher plus',
|
||||||
error_fetching: 'Erreur en cherchant des mises à jours',
|
error_fetching: 'Erreur en cherchant les mises à jour',
|
||||||
up_to_date: 'À jour',
|
up_to_date: 'À jour',
|
||||||
load_older: 'Afficher plus',
|
load_older: 'Afficher plus',
|
||||||
conversation: 'Conversation',
|
conversation: 'Conversation',
|
||||||
|
@ -855,32 +858,32 @@ const fr = {
|
||||||
user_settings: 'Paramètres utilisateur',
|
user_settings: 'Paramètres utilisateur',
|
||||||
name_bio: 'Nom & Bio',
|
name_bio: 'Nom & Bio',
|
||||||
name: 'Nom',
|
name: 'Nom',
|
||||||
bio: 'Bioraphie',
|
bio: 'Biographie',
|
||||||
avatar: 'Avatar',
|
avatar: 'Avatar',
|
||||||
current_avatar: 'Votre avatar',
|
current_avatar: 'Avatar actuel',
|
||||||
set_new_avatar: 'Changer d\'avatar',
|
set_new_avatar: 'Changer d\'avatar',
|
||||||
profile_banner: 'Bannière du profil',
|
profile_banner: 'Bannière de profil',
|
||||||
current_profile_banner: 'Bannière du profil',
|
current_profile_banner: 'Bannière de profil actuelle',
|
||||||
set_new_profile_banner: 'Changer de bannière',
|
set_new_profile_banner: 'Changer de bannière',
|
||||||
profile_background: 'Image de fond',
|
profile_background: 'Image de fond',
|
||||||
set_new_profile_background: 'Changer d\'image de fond',
|
set_new_profile_background: 'Changer d\'image de fond',
|
||||||
settings: 'Paramètres',
|
settings: 'Paramètres',
|
||||||
theme: 'Thème',
|
theme: 'Thème',
|
||||||
filtering: 'Filtre',
|
filtering: 'Filtre',
|
||||||
filtering_explanation: 'Tout les statuts contenant ces mots vont être cachés, un mot par ligne.',
|
filtering_explanation: 'Tout les statuts contenant ces mots seront masqués. Un mot par ligne.',
|
||||||
attachments: 'Pièces jointes',
|
attachments: 'Pièces jointes',
|
||||||
hide_attachments_in_tl: 'Cacher les pièces jointes dans le journal',
|
hide_attachments_in_tl: 'Masquer les pièces jointes dans le journal',
|
||||||
hide_attachments_in_convo: 'Cacher les pièces jointes dans les conversations',
|
hide_attachments_in_convo: 'Masquer les pièces jointes dans les conversations',
|
||||||
nsfw_clickthrough: 'Activer le clic pour afficher les images marquées comme contenu adulte ou sensible',
|
nsfw_clickthrough: 'Masquer les images marquées comme contenu adulte ou sensible',
|
||||||
autoload: 'Activer le chargement automatique une fois le bas de la page atteint',
|
autoload: 'Charger la suite automatiquement une fois le bas de la page atteint',
|
||||||
reply_link_preview: 'Activer un aperçu d\'une réponse sur passage de la souris',
|
reply_link_preview: 'Afficher un aperçu lors du survol de liens vers une réponse',
|
||||||
presets: 'Thèmes prédéfinis',
|
presets: 'Thèmes prédéfinis',
|
||||||
theme_help: 'Utilisez les codes de couleur hexadécimaux (#aabbcc) pour customiser les couleurs de votre thème.',
|
theme_help: 'Spécifiez des codes couleur hexadécimaux (#aabbcc) pour personnaliser les couleurs du thème',
|
||||||
background: 'Arrière plan',
|
background: 'Arrière plan',
|
||||||
foreground: 'Premier plan',
|
foreground: 'Premier plan',
|
||||||
text: 'Texte',
|
text: 'Texte',
|
||||||
links: 'Liens',
|
links: 'Liens',
|
||||||
streaming: 'Active le défilement automatique de nouveaux statuts lorsqu\'on est au haut de la page',
|
streaming: 'Charger automatiquement les nouveaux statuts lorsque vous êtes au haut de la page',
|
||||||
follow_import: 'Importer ses abonnements',
|
follow_import: 'Importer ses abonnements',
|
||||||
import_followers_from_a_csv_file: 'Importer ses abonnements depuis un fichier csv',
|
import_followers_from_a_csv_file: 'Importer ses abonnements depuis un fichier csv',
|
||||||
follows_imported: 'Abonnements importés ! Le traitement peut prendre un moment.',
|
follows_imported: 'Abonnements importés ! Le traitement peut prendre un moment.',
|
||||||
|
@ -891,33 +894,34 @@ const fr = {
|
||||||
cGreen: 'Vert (Partager)',
|
cGreen: 'Vert (Partager)',
|
||||||
btnRadius: 'Boutons',
|
btnRadius: 'Boutons',
|
||||||
panelRadius: 'Fenêtres',
|
panelRadius: 'Fenêtres',
|
||||||
|
inputRadius: 'Champs de texte',
|
||||||
avatarRadius: 'Avatars',
|
avatarRadius: 'Avatars',
|
||||||
avatarAltRadius: 'Avatars (Notifications)',
|
avatarAltRadius: 'Avatars (Notifications)',
|
||||||
tooltipRadius: 'Info-bulles/alertes ',
|
tooltipRadius: 'Info-bulles/alertes ',
|
||||||
attachmentRadius: 'Pièces jointes',
|
attachmentRadius: 'Pièces jointes',
|
||||||
radii_help: 'Mettre en place l\'arondissement des coins de l\'interface (en pixels)',
|
radii_help: 'Vous pouvez ici choisir le niveau d\'arrondi des angles de l\'interface (en pixels)',
|
||||||
stop_gifs: 'Passer la souris sur un GIF pour l\'animer'
|
stop_gifs: 'N\'animer les GIFS que lors du survol du curseur de la souris'
|
||||||
},
|
},
|
||||||
notifications: {
|
notifications: {
|
||||||
notifications: 'Notifications',
|
notifications: 'Notifications',
|
||||||
read: 'Lu !',
|
read: 'Lu !',
|
||||||
followed_you: 'vous a suivi',
|
followed_you: 'a commencé à vous suivre',
|
||||||
favorited_you: 'a aimé votre statut',
|
favorited_you: 'a aimé votre statut',
|
||||||
repeated_you: 'a partagé votre statut'
|
repeated_you: 'a partagé votre statut'
|
||||||
},
|
},
|
||||||
login: {
|
login: {
|
||||||
login: 'Connexion',
|
login: 'Connexion',
|
||||||
username: 'Nom d\'utilisateur',
|
username: 'Identifiant',
|
||||||
password: 'Mot de passe',
|
password: 'Mot de passe',
|
||||||
register: 'S\'inscrire',
|
register: 'S\'inscrire',
|
||||||
logout: 'Déconnexion'
|
logout: 'Déconnexion'
|
||||||
},
|
},
|
||||||
registration: {
|
registration: {
|
||||||
registration: 'Inscription',
|
registration: 'Inscription',
|
||||||
fullname: 'Nom affiché',
|
fullname: 'Pseudonyme',
|
||||||
email: 'Adresse email',
|
email: 'Adresse email',
|
||||||
bio: 'Biographie',
|
bio: 'Biographie',
|
||||||
password_confirm: 'Confirmez le mot de passe'
|
password_confirm: 'Confirmation du mot de passe'
|
||||||
},
|
},
|
||||||
post_status: {
|
post_status: {
|
||||||
posting: 'Envoi en cours',
|
posting: 'Envoi en cours',
|
||||||
|
@ -925,7 +929,7 @@ const fr = {
|
||||||
},
|
},
|
||||||
finder: {
|
finder: {
|
||||||
find_user: 'Chercher un utilisateur',
|
find_user: 'Chercher un utilisateur',
|
||||||
error_fetching_user: 'Une erreur est survenue lors de la recherche de l\'utilisateur'
|
error_fetching_user: 'Erreur lors de la recherche de l\'utilisateur'
|
||||||
},
|
},
|
||||||
general: {
|
general: {
|
||||||
submit: 'Envoyer',
|
submit: 'Envoyer',
|
||||||
|
@ -1022,7 +1026,7 @@ const oc = {
|
||||||
timeline: {
|
timeline: {
|
||||||
show_new: 'Ne veire mai',
|
show_new: 'Ne veire mai',
|
||||||
error_fetching: 'Error en cercant de mesas a jorn',
|
error_fetching: 'Error en cercant de mesas a jorn',
|
||||||
up_to_date: 'Actualizat',
|
up_to_date: 'A jorn',
|
||||||
load_older: 'Ne veire mai',
|
load_older: 'Ne veire mai',
|
||||||
conversation: 'Conversacion',
|
conversation: 'Conversacion',
|
||||||
collapse: 'Tampar',
|
collapse: 'Tampar',
|
||||||
|
@ -1054,6 +1058,7 @@ const oc = {
|
||||||
cRed: 'Roge (Anullar)',
|
cRed: 'Roge (Anullar)',
|
||||||
cOrange: 'Irange (Metre en favorit)',
|
cOrange: 'Irange (Metre en favorit)',
|
||||||
cGreen: 'Verd (Repartajar)',
|
cGreen: 'Verd (Repartajar)',
|
||||||
|
inputRadius: 'Camps tèxte',
|
||||||
btnRadius: 'Botons',
|
btnRadius: 'Botons',
|
||||||
panelRadius: 'Panèls',
|
panelRadius: 'Panèls',
|
||||||
avatarRadius: 'Avatars',
|
avatarRadius: 'Avatars',
|
||||||
|
@ -1078,7 +1083,7 @@ const oc = {
|
||||||
notifications: {
|
notifications: {
|
||||||
notifications: 'Notficacions',
|
notifications: 'Notficacions',
|
||||||
read: 'Legit !',
|
read: 'Legit !',
|
||||||
followed_you: 'vos a seguit',
|
followed_you: 'vos sèc',
|
||||||
favorited_you: 'a aimat vòstre estatut',
|
favorited_you: 'a aimat vòstre estatut',
|
||||||
repeated_you: 'a repetit your vòstre estatut'
|
repeated_you: 'a repetit your vòstre estatut'
|
||||||
},
|
},
|
||||||
|
@ -1109,7 +1114,7 @@ const oc = {
|
||||||
apply: 'Aplicar'
|
apply: 'Aplicar'
|
||||||
},
|
},
|
||||||
user_profile: {
|
user_profile: {
|
||||||
timeline_title: 'Flux a l’utilizaire'
|
timeline_title: 'Flux utilizaire'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue