diff options
| -rw-r--r-- | index.html | 1 | ||||
| -rw-r--r-- | src/components/chat_panel/chat_panel.js | 2 | ||||
| -rw-r--r-- | src/components/post_status_form/post_status_form.js | 3 | ||||
| -rw-r--r-- | src/components/timeline/timeline.js | 3 | ||||
| -rw-r--r-- | src/i18n/messages.js | 241 | ||||
| -rw-r--r-- | src/main.js | 8 | ||||
| -rw-r--r-- | src/modules/statuses.js | 4 | ||||
| -rw-r--r-- | static/config.json | 3 | ||||
| -rw-r--r-- | test/unit/specs/modules/statuses.spec.js | 2 |
9 files changed, 258 insertions, 9 deletions
@@ -4,6 +4,7 @@ <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Pleroma</title> + <link rel="icon" type="image/png" href="/favicon.png"> <link rel="stylesheet" href="/static/font/css/fontello.css"> <link rel="stylesheet" href="/static/font/css/animation.css"> </head> diff --git a/src/components/chat_panel/chat_panel.js b/src/components/chat_panel/chat_panel.js index d528d0a1..d8736d17 100644 --- a/src/components/chat_panel/chat_panel.js +++ b/src/components/chat_panel/chat_panel.js @@ -3,7 +3,7 @@ const chatPanel = { return { currentMessage: '', channel: null, - collapsed: false + collapsed: true } }, computed: { diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js index 6c95873c..6bcf1c66 100644 --- a/src/components/post_status_form/post_status_form.js +++ b/src/components/post_status_form/post_status_form.js @@ -32,7 +32,8 @@ const PostStatusForm = { this.resize(this.$refs.textarea) }, data () { - let statusText = '' + const preset = this.$route.query.message + let statusText = preset || '' if (this.replyTo) { const currentUser = this.$store.state.users.currentUser diff --git a/src/components/timeline/timeline.js b/src/components/timeline/timeline.js index 74ab85d3..f24626f9 100644 --- a/src/components/timeline/timeline.js +++ b/src/components/timeline/timeline.js @@ -105,7 +105,8 @@ const Timeline = { .then((friends) => this.$store.dispatch('addFriends', { friends })) }, scrollLoad (e) { - const height = Math.max(document.body.offsetHeight, document.body.scrollHeight) + const bodyBRect = document.body.getBoundingClientRect() + const height = Math.max(bodyBRect.height, -(bodyBRect.y)) if (this.timeline.loading === false && this.$store.state.config.autoLoad && this.$el.offsetHeight > 0 && diff --git a/src/i18n/messages.js b/src/i18n/messages.js index 7e17c931..168548cf 100644 --- a/src/i18n/messages.js +++ b/src/i18n/messages.js @@ -328,6 +328,125 @@ const en = { } } +const eo = { + chat: { + title: 'Babilo' + }, + nav: { + chat: 'Loka babilo', + timeline: 'Tempovido', + mentions: 'Mencioj', + public_tl: 'Publika tempovido', + twkn: 'Tuta konata reto' + }, + user_card: { + follows_you: 'Abonas vin!', + following: 'Abonanta!', + follow: 'Aboni', + blocked: 'Barita!', + block: 'Bari', + statuses: 'Statoj', + mute: 'Silentigi', + muted: 'Silentigita', + followers: 'Abonantoj', + followees: 'Abonatoj', + per_day: 'tage', + remote_follow: 'Fora abono' + }, + timeline: { + show_new: 'Montri novajn', + error_fetching: 'Eraro ĝisdatigante', + up_to_date: 'Ĝisdata', + load_older: 'Enlegi pli malnovajn statojn', + conversation: 'Interparolo', + collapse: 'Maletendi', + repeated: 'ripetata' + }, + settings: { + user_settings: 'Uzulaj agordoj', + name_bio: 'Nomo kaj prio', + name: 'Nomo', + bio: 'Prio', + avatar: 'Profilbildo', + current_avatar: 'Via nuna profilbildo', + set_new_avatar: 'Agordi novan profilbildon', + profile_banner: 'Profila rubando', + current_profile_banner: 'Via nuna profila rubando', + set_new_profile_banner: 'Agordi novan profilan rubandon', + profile_background: 'Profila fono', + set_new_profile_background: 'Agordi novan profilan fonon', + settings: 'Agordoj', + theme: 'Haŭto', + presets: 'Antaŭmetaĵoj', + theme_help: 'Uzu deksesumajn kolorkodojn (#rrvvbb) por adapti vian koloran haŭton.', + radii_help: 'Agordi fasadan rondigon de randoj (rastrumere)', + background: 'Fono', + foreground: 'Malfono', + text: 'Teksto', + links: 'Ligiloj', + cBlue: 'Blua (Respondo, abono)', + cRed: 'Ruĝa (Nuligo)', + cOrange: 'Orange (Ŝato)', + cGreen: 'Verda (Kunhavigo)', + btnRadius: 'Butonoj', + panelRadius: 'Paneloj', + avatarRadius: 'Profilbildoj', + avatarAltRadius: 'Profilbildoj (Sciigoj)', + tooltipRadius: 'Ŝpruchelpiloj/avertoj', + attachmentRadius: 'Kunsendaĵoj', + filtering: 'Filtrado', + filtering_explanation: 'Ĉiuj statoj kun tiuj ĉi vortoj silentiĝos, po unu linie', + attachments: 'Kunsendaĵoj', + hide_attachments_in_tl: 'Kaŝi kunsendaĵojn en tempovido', + hide_attachments_in_convo: 'Kaŝi kunsendaĵojn en interparoloj', + nsfw_clickthrough: 'Ŝalti traklakan kaŝon de konsternaj kunsendaĵoj', + stop_gifs: 'Movi GIF-bildojn dum ŝvebo', + autoload: 'Ŝalti memfaran enlegadon ĉe subo de paĝo', + streaming: 'Ŝalti memfaran fluigon de novaj afiŝoj ĉe supro de paĝo', + reply_link_preview: 'Ŝalti respond-ligilan antaŭvidon dum ŝvebo', + follow_import: 'Abona enporto', + import_followers_from_a_csv_file: 'Enporti abonojn de CSV-dosiero', + follows_imported: 'Abonoj enportiĝis! Traktado daŭros iom.', + follow_import_error: 'Eraro enportante abonojn' + }, + notifications: { + notifications: 'Sciigoj', + read: 'Legita!', + followed_you: 'ekabonis vin', + favorited_you: 'ŝatis vian staton', + repeated_you: 'ripetis vian staton' + }, + login: { + login: 'Saluti', + username: 'Salutnomo', + password: 'Pasvorto', + register: 'Registriĝi', + logout: 'Adiaŭi' + }, + registration: { + registration: 'Registriĝo', + fullname: 'Vidiga nomo', + email: 'Retpoŝtadreso', + bio: 'Prio', + password_confirm: 'Konfirmo de pasvorto' + }, + post_status: { + posting: 'Afiŝanta', + default: 'Ĵus alvenis la universalan kongreson!' + }, + finder: { + find_user: 'Trovi uzulon', + error_fetching_user: 'Eraro alportante uzulon' + }, + general: { + submit: 'Sendi', + apply: 'Apliki' + }, + user_profile: { + timeline_title: 'Uzula tempovido' + } +} + const et = { nav: { timeline: 'Ajajoon', @@ -1426,11 +1545,130 @@ const ru = { timeline_title: 'Лента пользователя' } } +const nb = { + chat: { + title: 'Chat' + }, + nav: { + chat: 'Lokal Chat', + timeline: 'Tidslinje', + mentions: 'Nevnt', + public_tl: 'Offentlig Tidslinje', + twkn: 'Det hele kjente nettverket' + }, + user_card: { + follows_you: 'Følger deg!', + following: 'Følger!', + follow: 'Følg', + blocked: 'Blokkert!', + block: 'Blokker', + statuses: 'Statuser', + mute: 'Demp', + muted: 'Dempet', + followers: 'Følgere', + followees: 'Følger', + per_day: 'per dag', + remote_follow: 'Følg eksternt' + }, + timeline: { + show_new: 'Vis nye', + error_fetching: 'Feil ved henting av oppdateringer', + up_to_date: 'Oppdatert', + load_older: 'Last eldre statuser', + conversation: 'Samtale', + collapse: 'Sammenfold', + repeated: 'gjentok' + }, + settings: { + user_settings: 'Brukerinstillinger', + name_bio: 'Navn & Biografi', + name: 'Navn', + bio: 'Biografi', + avatar: 'Profilbilde', + current_avatar: 'Ditt nåværende profilbilde', + set_new_avatar: 'Rediger profilbilde', + profile_banner: 'Profil-banner', + current_profile_banner: 'Din nåværende profil-banner', + set_new_profile_banner: 'Sett ny profil-banner', + profile_background: 'Profil-bakgrunn', + set_new_profile_background: 'Rediger profil-bakgrunn', + settings: 'Innstillinger', + theme: 'Tema', + presets: 'Forhåndsdefinerte fargekoder', + theme_help: 'Bruk heksadesimale fargekoder (#rrggbb) til å endre farge-temaet ditt.', + radii_help: 'Bestem hvor runde hjørnene i brukergrensesnittet skal være (i piksler)', + background: 'Bakgrunn', + foreground: 'Framgrunn', + text: 'Tekst', + links: 'Linker', + cBlue: 'Blå (Svar, følg)', + cRed: 'Rød (Avbryt)', + cOrange: 'Oransje (Lik)', + cGreen: 'Grønn (Gjenta)', + btnRadius: 'Knapper', + panelRadius: 'Panel', + avatarRadius: 'Profilbilde', + avatarAltRadius: 'Profilbilde (Varslinger)', + tooltipRadius: 'Verktøytips/advarsler', + attachmentRadius: 'Vedlegg', + filtering: 'Filtrering', + filtering_explanation: 'Alle statuser som inneholder disse ordene vil bli dempet, en kombinasjon av tegn per linje', + attachments: 'Vedlegg', + hide_attachments_in_tl: 'Gjem vedlegg på tidslinje', + hide_attachments_in_convo: 'Gjem vedlegg i samtaler', + nsfw_clickthrough: 'Krev trykk for å vise statuser som kan være upassende', + stop_gifs: 'Spill av GIFs når du holder over dem', + autoload: 'Automatisk lasting når du blar ned til bunnen', + streaming: 'Automatisk strømming av nye statuser når du har bladd til toppen', + reply_link_preview: 'Vis en forhåndsvisning når du holder musen over svar til en status', + follow_import: 'Importer følginger', + import_followers_from_a_csv_file: 'Importer følginger fra en csv fil', + follows_imported: 'Følginger imported! Det vil ta litt tid å behandle de.', + follow_import_error: 'Feil ved importering av følginger.' + }, + notifications: { + notifications: 'Varslinger', + read: 'Les!', + followed_you: 'fulgte deg', + favorited_you: 'likte din status', + repeated_you: 'Gjentok din status' + }, + login: { + login: 'Logg inn', + username: 'Brukernavn', + password: 'Passord', + register: 'Registrer', + logout: 'Logg ut' + }, + registration: { + registration: 'Registrering', + fullname: 'Visningsnavn', + email: 'Epost-adresse', + bio: 'Biografi', + password_confirm: 'Bekreft passord' + }, + post_status: { + posting: 'Publiserer', + default: 'Landet akkurat i L.A.' + }, + finder: { + find_user: 'Finn bruker', + error_fetching_user: 'Feil ved henting av bruker' + }, + general: { + submit: 'Legg ut', + apply: 'Bruk' + }, + user_profile: { + timeline_title: 'Bruker-tidslinje' + } +} const messages = { de, fi, en, + eo, et, hu, ro, @@ -1441,7 +1679,8 @@ const messages = { pl, es, pt, - ru + ru, + nb } export default messages diff --git a/src/main.js b/src/main.js index 5c74da3a..a40c51f2 100644 --- a/src/main.js +++ b/src/main.js @@ -99,7 +99,13 @@ window.fetch('/static/config.json') } const routes = [ - { name: 'root', path: '/', redirect: data['defaultPath'] || '/main/all' }, + { name: 'root', + path: '/', + redirect: to => { + var redirectRootLogin = data['redirectRootLogin'] + var redirectRootNoLogin = data['redirectRootNoLogin'] + return (store.state.users.currentUser ? redirectRootLogin : redirectRootNoLogin) || '/main/all' + }}, { path: '/main/all', component: PublicAndExternalTimeline }, { path: '/main/public', component: PublicTimeline }, { path: '/main/friends', component: FriendsTimeline }, diff --git a/src/modules/statuses.js b/src/modules/statuses.js index bd52f161..b493c212 100644 --- a/src/modules/statuses.js +++ b/src/modules/statuses.js @@ -45,7 +45,7 @@ export const prepareStatus = (status) => { if (status.nsfw === undefined) { status.nsfw = isNsfw(status) if (status.retweeted_status) { - status.retweeted_status.nsfw = status.nsfw + status.nsfw = status.retweeted_status.nsfw } } @@ -136,7 +136,7 @@ const addNewStatuses = (state, { statuses, showImmediately = false, timeline, us if (result.new) { if (statusType(status) === 'retweet' && status.retweeted_status.user.id === user.id) { - addNotification({ type: 'repeat', status: status.retweeted_status, action: status }) + addNotification({ type: 'repeat', status: status, action: status }) } // We are mentioned in a post diff --git a/static/config.json b/static/config.json index fc1b0795..2c495142 100644 --- a/static/config.json +++ b/static/config.json @@ -2,7 +2,8 @@ "theme": "pleroma-dark", "background": "/static/aurora_borealis.jpg", "logo": "/static/logo.png", - "defaultPath": "/main/all", + "redirectRootNoLogin": "/main/all", + "redirectRootLogin": "/main/friends", "chatDisabled": false, "showWhoToFollowPanel": false, "showInstanceSpecificPanel": false diff --git a/test/unit/specs/modules/statuses.spec.js b/test/unit/specs/modules/statuses.spec.js index 372d1aaa..f929192b 100644 --- a/test/unit/specs/modules/statuses.spec.js +++ b/test/unit/specs/modules/statuses.spec.js @@ -297,7 +297,7 @@ describe('The Statuses module', () => { mutations.addNewStatuses(state, { statuses: [retweet], user }) expect(state.notifications.length).to.eql(1) - expect(state.notifications[0].status).to.eql(status) + expect(state.notifications[0].status).to.eql(retweet) expect(state.notifications[0].action).to.eql(retweet) expect(state.notifications[0].type).to.eql('repeat') }) |
