From 608d1e6776769b933e194f96b4892a888880f60f Mon Sep 17 00:00:00 2001 From: eal Date: Tue, 7 Nov 2017 22:38:28 +0200 Subject: [PATCH 1/4] Add blocks. --- .../user_card_content/user_card_content.vue | 22 +++++++++++++++++++ src/i18n/messages.js | 2 ++ src/services/api/api.service.js | 20 +++++++++++++++++ .../backend_interactor_service.js | 10 +++++++++ 4 files changed, 54 insertions(+) diff --git a/src/components/user_card_content/user_card_content.vue b/src/components/user_card_content/user_card_content.vue index 4895f36f..8aef7e8a 100644 --- a/src/components/user_card_content/user_card_content.vue +++ b/src/components/user_card_content/user_card_content.vue @@ -46,6 +46,18 @@ +
+ + + + + + +
@@ -113,6 +125,16 @@ store.state.api.backendInteractor.unfollowUser(this.user.id) .then((unfollowedUser) => store.commit('addNewUsers', [unfollowedUser])) }, + blockUser () { + const store = this.$store + store.state.api.backendInteractor.blockUser(this.user.id) + .then((blockedUser) => store.commit('addNewUsers', [blockedUser])) + }, + unblockUser () { + const store = this.$store + store.state.api.backendInteractor.unblockUser(this.user.id) + .then((unblockedUser) => store.commit('addNewUsers', [unblockedUser])) + }, toggleMute () { const store = this.$store store.commit('setMuted', {user: this.user, muted: !this.user.muted}) diff --git a/src/i18n/messages.js b/src/i18n/messages.js index 3cbde819..3102d946 100644 --- a/src/i18n/messages.js +++ b/src/i18n/messages.js @@ -125,6 +125,8 @@ const en = { follows_you: 'Follows you!', following: 'Following!', follow: 'Follow', + blocked: 'Blocked!', + block: 'Block', statuses: 'Statuses', mute: 'Mute', muted: 'Muted', diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js index a1c6b657..5abaea7e 100644 --- a/src/services/api/api.service.js +++ b/src/services/api/api.service.js @@ -26,6 +26,8 @@ const BANNER_UPDATE_URL = '/api/account/update_profile_banner.json' const PROFILE_UPDATE_URL = '/api/account/update_profile.json' const EXTERNAL_PROFILE_URL = '/api/externalprofile/show.json' const QVITTER_USER_TIMELINE_URL = '/api/qvitter/statuses/user_timeline.json' +const BLOCKING_URL = '/api/blocks/create.json' +const UNBLOCKING_URL = '/api/blocks/destroy.json' // const USER_URL = '/api/users/show.json' import { each, map } from 'lodash' @@ -184,6 +186,22 @@ const unfollowUser = ({id, credentials}) => { }).then((data) => data.json()) } +const blockUser = ({id, credentials}) => { + let url = `${BLOCKING_URL}?user_id=${id}` + return fetch(url, { + headers: authHeaders(credentials), + method: 'POST' + }).then((data) => data.json()) +} + +const unblockUser = ({id, credentials}) => { + let url = `${UNBLOCKING_URL}?user_id=${id}` + return fetch(url, { + headers: authHeaders(credentials), + method: 'POST' + }).then((data) => data.json()) +} + const fetchFriends = ({id, credentials}) => { let url = `${FRIENDS_URL}?user_id=${id}` return fetch(url, { headers: authHeaders(credentials) }) @@ -343,6 +361,8 @@ const apiService = { fetchFollowers, followUser, unfollowUser, + blockUser, + unblockUser, favorite, unfavorite, retweet, diff --git a/src/services/backend_interactor_service/backend_interactor_service.js b/src/services/backend_interactor_service/backend_interactor_service.js index a99ea38a..51a46e45 100644 --- a/src/services/backend_interactor_service/backend_interactor_service.js +++ b/src/services/backend_interactor_service/backend_interactor_service.js @@ -30,6 +30,14 @@ const backendInteractorService = (credentials) => { return apiService.unfollowUser({credentials, id}) } + const blockUser = (id) => { + return apiService.blockUser({credentials, id}) + } + + const unblockUser = (id) => { + return apiService.unblockUser({credentials, id}) + } + const startFetching = ({timeline, store, userId = false}) => { return timelineFetcherService.startFetching({timeline, store, credentials, userId}) } @@ -55,6 +63,8 @@ const backendInteractorService = (credentials) => { fetchFollowers, followUser, unfollowUser, + blockUser, + unblockUser, fetchAllFollowing, verifyCredentials: apiService.verifyCredentials, startFetching, From 38bd0dbfcda8e65389d9ed9379b4dffee8970eb7 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Wed, 8 Nov 2017 09:05:10 +0100 Subject: [PATCH 2/4] Add french translation. Thanks, azu! --- src/i18n/messages.js | 61 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/src/i18n/messages.js b/src/i18n/messages.js index 3102d946..65d4ea6a 100644 --- a/src/i18n/messages.js +++ b/src/i18n/messages.js @@ -232,11 +232,70 @@ const ja = { } } +const fr = { + nav: { + timeline: 'Journal', + mentions: 'Notifications', + public_tl: 'Statuts Locaux', + twkn: 'Le Réseau Tout Entier' + }, + user_card: { + follows_you: 'Vous Suit!', + following: 'Suivis!', + follow: 'Suivi', + statuses: 'Statuts', + mute: 'En Sourdine', + muted: 'Mis En Sourdine', + followers: 'Vous Suivent', + followees: 'Suivis', + per_day: 'par jour' + }, + timeline: { + show_new: 'Afficher plus', + error_fetching: 'Erreur en cherchant des mises à jours', + up_to_date: 'A jour', + load_older: 'Afficher plus' + }, + settings: { + user_settings: 'Paramètres Utilisateur', + name_bio: 'Nom & Bio', + name: 'Nom', + bio: 'Bio', + avatar: 'Avatar', + current_avatar: 'Votre avatar', + set_new_avatar: 'Changer d\'avatar', + profile_banner: 'Couverture du Profil', + current_profile_banner: 'Couverture du Profil', + set_new_profile_banner: 'Nouvelle couverture', + profile_background: 'Image de fond', + set_new_profile_background: 'Nouvelle image de fond', + settings: 'Paramètres', + theme: 'Thème', + filtering: 'Filtre', + filtering_explanation: 'Tout les statuts contenant ces mots vont être mis sous silence, un mot par ligne.', + attachments: 'Pièces jointes', + hide_attachments_in_tl: 'Cacher les pièces jointes dans le journal', + hide_attachments_in_convo: 'Cacher les pièces jointes dans les conversations', + nsfw_clickthrough: 'Activer le clic pour afficher les images taggées NSFW', + autoload: 'Activer le chargement automatique une fois le bas de la page atteint', + reply_link_preview: 'Activer un preview sur passage de la souris' + }, + notifications: { + notifications: 'Notfications', + read: 'Lu!', + followed_you: 'vous a suivi' + }, + general: { + submit: 'Envoyer' + } +} + const messages = { de, fi, en, - ja + ja, + fr } export default messages From 32cb5e1a48bbffe294e4e9524dfe8b9270c758f8 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Wed, 8 Nov 2017 09:09:34 +0100 Subject: [PATCH 3/4] Add italian translation. Thank, Eidon! --- src/i18n/messages.js | 61 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/src/i18n/messages.js b/src/i18n/messages.js index 65d4ea6a..68347416 100644 --- a/src/i18n/messages.js +++ b/src/i18n/messages.js @@ -290,12 +290,71 @@ const fr = { } } +const it = { + nav: { + timeline: 'Sequenza temporale', + mentions: 'Menzioni', + public_tl: 'Sequenza temporale pubblica', + twkn: 'L\'intiera rete conosciuta' + }, + user_card: { + follows_you: 'Ti segue!', + following: 'Lo stai seguendo!', + follow: 'Segui', + statuses: 'Messaggi', + mute: 'Ammutolisci', + muted: 'Ammutoliti', + followers: 'Chi ti segue', + followees: 'Chi stai seguendo', + per_day: 'al giorno' + }, + timeline: { + show_new: 'Mostra nuovi', + error_fetching: 'Errori nel prelievo aggiornamenti', + up_to_date: 'Aggiornato', + load_older: 'Carica messaggi più vecchi' + }, + settings: { + user_settings: 'Configurazione dell\'utente', + name_bio: 'Nome & Introduzione', + name: 'Nome', + bio: 'Introduzione', + avatar: 'Avatar', + current_avatar: 'Il tuo attuale avatar', + set_new_avatar: 'Scegli un nuovo avatar', + profile_banner: 'Sfondo del tuo profilo', + current_profile_banner: 'Sfondo attuale', + set_new_profile_banner: 'Scegli un nuovo sfondo per il tuo profilo', + profile_background: 'Sfondo della tua pagina', + set_new_profile_background: 'Scegli un nuovo sfondo per la tua pagina', + settings: 'Settaggi', + theme: 'Tema', + filtering: 'Filtri', + filtering_explanation: 'Filtra via le notifiche che contengono le seguenti parole (inserisci rigo per rigo le parole di innesco)', + attachments: 'Allegati', + hide_attachments_in_tl: 'Nascondi gli allegati presenti nella sequenza temporale', + hide_attachments_in_convo: 'Nascondi gli allegati presenti nelle conversazioni', + nsfw_clickthrough: 'Abilita la trasparenza degli allegati NSFW', + autoload: 'Abilita caricamento automatico quando si raggiunge il fondo schermo', + reply_link_preview: 'Ability il reply-link preview al passaggio del mouse' + }, + notifications: { + notifications: 'Notifiche', + read: 'Leggi!', + followed_you: 'ti ha seguito' + }, + general: { + submit: 'Invia' + } +} + const messages = { de, fi, en, ja, - fr + fr, + it } export default messages From 483fef731a8004c1f7170a893e09abf679ccfdc1 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Wed, 8 Nov 2017 09:10:32 +0100 Subject: [PATCH 4/4] Fix typo. --- src/i18n/messages.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/messages.js b/src/i18n/messages.js index 68347416..b412d45b 100644 --- a/src/i18n/messages.js +++ b/src/i18n/messages.js @@ -165,7 +165,7 @@ const en = { reply_link_preview: 'Enable reply-link preview on mouse hover' }, notifications: { - notifications: 'Notfications', + notifications: 'Notifications', read: 'Read!', followed_you: 'followed you' },