Soapbox FE --> Soapbox

environments/review-drop-fe-m38vkn/deployments/855
Alex Gleason 2 years ago
parent c29bf4040a
commit 5fec9c580b
No known key found for this signature in database
GPG Key ID: 7211D1F99744FBB7

@ -1,9 +1,8 @@
# Soapbox FE
# Soapbox
![Soapbox FE Screenshot](soapbox-screenshot.png)
![Soapbox Screenshot](soapbox-screenshot.png)
**Soapbox FE** is a frontend for Mastodon and Pleroma with a focus on custom branding and ease of use.
It's part of the [Soapbox](https://soapbox.pub) project.
**Soapbox** is a frontend for Mastodon and Pleroma with a focus on custom branding and ease of use.
## Try it out
@ -11,11 +10,11 @@ Visit https://fe.soapbox.pub/ and point it to your favorite instance.
## :rocket: Deploy on Pleroma
Installing Soapbox FE on an existing Pleroma server is extremely easy.
Installing Soapbox on an existing Pleroma server is extremely easy.
Just ssh into the server and download a .zip of the latest build:
```sh
curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/v2.0.0/download?job=build-production -o soapbox-fe.zip
curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/develop/download?job=build-production -o soapbox-fe.zip
```
Then unpack it into Pleroma's `instance` directory:
@ -25,11 +24,11 @@ busybox unzip soapbox-fe.zip -o -d /opt/pleroma/instance
```
**That's it!** :tada:
**Soapbox FE is installed.**
**Soapbox is installed.**
The change will take effect immediately, just refresh your browser tab.
It's not necessary to restart the Pleroma service.
To remove Soapbox FE and revert to the default pleroma-fe, simply `rm /opt/pleroma/instance/static/index.html` (you can delete other stuff in there too, but be careful not to delete your own HTML files).
To remove Soapbox and revert to the default pleroma-fe, simply `rm /opt/pleroma/instance/static/index.html` (you can delete other stuff in there too, but be careful not to delete your own HTML files).
## :elephant: Deploy on Mastodon
@ -37,7 +36,7 @@ See [Installing Soapbox over Mastodon](https://docs.soapbox.pub/frontend/adminis
## How does it work?
Soapbox FE is a [single-page application (SPA)](https://en.wikipedia.org/wiki/Single-page_application) that runs entirely in the browser with JavaScript.
Soapbox is a [single-page application (SPA)](https://en.wikipedia.org/wiki/Single-page_application) that runs entirely in the browser with JavaScript.
It has a single HTML file, `index.html`, responsible only for loading the required JavaScript and CSS.
It interacts with the backend through [XMLHttpRequest (XHR)](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest).
@ -115,9 +114,9 @@ All configuration is optional, except `NODE_ENV`.
#### `NODE_ENV`
The Node environment.
Soapbox FE checks for the following options:
Soapbox checks for the following options:
- `development` - What you should use while developing Soapbox FE.
- `development` - What you should use while developing Soapbox.
- `production` - Use when compiling to deploy to a live server.
- `test` - Use when running automated tests.
@ -193,19 +192,19 @@ More details can be found in [Customizing Soapbox](docs/customization.md).
# License & Credits
Soapbox FE is based on [Gab Social](https://code.gab.com/gab/social/gab-social)'s frontend which is in turn based on [Mastodon](https://github.com/tootsuite/mastodon/)'s frontend.
Soapbox is based on [Gab Social](https://code.gab.com/gab/social/gab-social)'s frontend which is in turn based on [Mastodon](https://github.com/tootsuite/mastodon/)'s frontend.
- `static/sounds/chat.mp3` and `static/sounds/chat.oga` are from [notificationsounds.com](https://notificationsounds.com/notification-sounds/intuition-561) licensed under CC BY 4.0.
Soapbox FE is free software: you can redistribute it and/or modify
Soapbox is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Soapbox FE is distributed in the hope that it will be useful,
Soapbox is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with Soapbox FE. If not, see <https://www.gnu.org/licenses/>.
along with Soapbox. If not, see <https://www.gnu.org/licenses/>.

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
"trends.title": "Trends",
"ui.beforeunload": "El borrador va perdese si coles de Soapbox FE.",
"ui.beforeunload": "El borrador va perdese si coles de Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Drag & drop to upload",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} বাকি আছে",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} কথা বলছে",
"trends.title": "Trends",
"ui.beforeunload": "যে পর্যন্ত এটা লেখা হয়েছে, Soapbox FE থেকে চলে গেলে এটা মুছে যাবে।",
"ui.beforeunload": "যে পর্যন্ত এটা লেখা হয়েছে, Soapbox থেকে চলে গেলে এটা মুছে যাবে।",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "টেনে এখানে ছেড়ে দিলে এখানে যুক্ত করা যাবে",

@ -1042,7 +1042,7 @@
"time_remaining.seconds": "{number, plural, one {# segon} other {# segons}} restants",
"trends.count_by_accounts": "{count} {rawCount, plural, one {persona} other {persones}} parlant-hi",
"trends.title": "Tendències",
"ui.beforeunload": "El teu esborrany es perdrà si surts de Soapbox FE.",
"ui.beforeunload": "El teu esborrany es perdrà si surts de Soapbox.",
"unauthorized_modal.text": "Heu d'iniciar sessió per fer això.",
"unauthorized_modal.title": "Registrar-se a {site_title}",
"upload_area.title": "Arrossega i deixa anar per a carregar",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# siconda ferma} other {# siconde fermanu}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} parlanu",
"trends.title": "Trends",
"ui.beforeunload": "A bruttacopia sarà persa s'ellu hè chjosu Soapbox FE.",
"ui.beforeunload": "A bruttacopia sarà persa s'ellu hè chjosu Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Drag & drop per caricà un fugliale",

@ -1042,7 +1042,7 @@
"time_remaining.seconds": "{number, plural, one {Zbývá # sekunda} few {Zbývají # sekundy} many {Zbývá # sekundy} other {Zbývá # sekund}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {člověk} few {lidé} many {lidí} other {lidí}} hovoří",
"trends.title": "Trendy",
"ui.beforeunload": "Váš koncept se ztratí, pokud Soapbox FE opustíte.",
"ui.beforeunload": "Váš koncept se ztratí, pokud Soapbox opustíte.",
"unauthorized_modal.text": "Pro toto musíte být přihlášen/a.",
"unauthorized_modal.title": "Registrovat se na {site_title}",
"upload_area.title": "Přetažením nahrajete",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# eiliad} other {# o eiliadau}} ar ôl",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} yn siarad",
"trends.title": "Trends",
"ui.beforeunload": "Mi fyddwch yn colli eich drafft os gadewch Soapbox FE.",
"ui.beforeunload": "Mi fyddwch yn colli eich drafft os gadewch Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Llusgwch & gollwing i uwchlwytho",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# sekund} other {# sekunder}} tilbage",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {personer}} snakker",
"trends.title": "Trends",
"ui.beforeunload": "Din kladde vil gå tabt hvis du forlader Soapbox FE.",
"ui.beforeunload": "Din kladde vil gå tabt hvis du forlader Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Træk og slip for at uploade",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# Sekunde} other {# Sekunden}} verbleibend",
"trends.count_by_accounts": "{count} {rawCount, plural, eine {Person} other {Personen}} reden darüber",
"trends.title": "Trends",
"ui.beforeunload": "Dein Entwurf geht verloren, wenn du Soapbox FE verlässt.",
"ui.beforeunload": "Dein Entwurf geht verloren, wenn du Soapbox verlässt.",
"unauthorized_modal.text": "Für diese Aktion musst Du angemeldet sein.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Zum Hochladen hereinziehen",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "απομένουν {number, plural, one {# δευτερόλεπτο} other {# δευτερόλεπτα}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} μιλάνε",
"trends.title": "Trends",
"ui.beforeunload": "Το προσχέδιό σου θα χαθεί αν φύγεις από το Soapbox FE.",
"ui.beforeunload": "Το προσχέδιό σου θα χαθεί αν φύγεις από το Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Drag & drop για να ανεβάσεις",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# sekundo} other {# sekundoj}} restas",
"trends.count_by_accounts": "{count} {rawCount, plural, one {persono} other {personoj}} parolas",
"trends.title": "Trends",
"ui.beforeunload": "Via malneto perdiĝos se vi eliras de Soapbox FE.",
"ui.beforeunload": "Via malneto perdiĝos se vi eliras de Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Altreni kaj lasi por alŝuti",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural,one {queda # segundo} other {quedan # segundos}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {persona} other {personas}} hablando",
"trends.title": "Trends",
"ui.beforeunload": "Tu borrador se perderá si abandonás Soapbox FE.",
"ui.beforeunload": "Tu borrador se perderá si abandonás Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Para subir, arrastrá y soltá",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {persona} other {personas}} hablando",
"trends.title": "Trends",
"ui.beforeunload": "Tu borrador se perderá si sales de Soapbox FE.",
"ui.beforeunload": "Tu borrador se perderá si sales de Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Arrastra y suelta para subir",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# sekund} other {# sekundit}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {inimene} other {inimesed}} talking",
"trends.title": "Trends",
"ui.beforeunload": "Sinu mustand läheb kaotsi, kui lahkud Soapbox FE.",
"ui.beforeunload": "Sinu mustand läheb kaotsi, kui lahkud Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Lohista & aseta üleslaadimiseks",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {segundo #} other {# segundo}} amaitzeko",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} hitz egiten",
"trends.title": "Trends",
"ui.beforeunload": "Zure zirriborroa galduko da Soapbox FE uzten baduzu.",
"ui.beforeunload": "Zure zirriborroa galduko da Soapbox uzten baduzu.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Arrastatu eta jaregin igotzeko",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} restantes",
"trends.count_by_accounts": "{count} {rawCount, plural, one {personne} other {personnes}} discutent",
"trends.title": "Trends",
"ui.beforeunload": "Votre brouillon sera perdu si vous quittez Soapbox FE.",
"ui.beforeunload": "Votre brouillon sera perdu si vous quittez Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Glissez et déposez pour envoyer",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# segundo} other {# segundos}} restantes",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} outras {people}} conversando",
"trends.title": "Trends",
"ui.beforeunload": "O borrador perderase se sae de Soapbox FE.",
"ui.beforeunload": "O borrador perderase se sae de Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Arrastre e solte para subir",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# másodperc} other {# másodperc}} van hátra",
"trends.count_by_accounts": "{count} {rawCount, plural, one {résztvevő} other {résztvevő}} beszélget",
"trends.title": "Trends",
"ui.beforeunload": "A piszkozatod el fog veszni, ha elhagyod a Soapbox FE-t.",
"ui.beforeunload": "A piszkozatod el fog veszni, ha elhagyod a Soapbox-t.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Húzd ide a feltöltéshez",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
"trends.title": "Trends",
"ui.beforeunload": "Naskah anda akan hilang jika anda keluar dari Soapbox FE.",
"ui.beforeunload": "Naskah anda akan hilang jika anda keluar dari Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Seret & lepaskan untuk mengunggah",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# secondo} other {# secondi}} rimasti",
"trends.count_by_accounts": "{count} {rawCount, plural, one {persona ne sta} other {persone ne stanno}} parlando",
"trends.title": "Trends",
"ui.beforeunload": "La bozza andrà persa se esci da Soapbox FE.",
"ui.beforeunload": "La bozza andrà persa se esci da Soapbox.",
"unauthorized_modal.text": "Devi eseguire l'autenticazione per fare questo",
"unauthorized_modal.title": "Iscriviti su {site_title}",
"upload_area.title": "Trascina per caricare",

@ -1042,7 +1042,7 @@
"time_remaining.seconds": "残り{number}秒",
"trends.count_by_accounts": "{count}人が投稿",
"trends.title": "Trends",
"ui.beforeunload": "Soapbox FEから離れると送信前の投稿は失われます。",
"ui.beforeunload": "Soapboxから離れると送信前の投稿は失われます。",
"unauthorized_modal.text": "ログインする必要があります。",
"unauthorized_modal.title": "{site_title}へ新規登録",
"upload_area.title": "ドラッグ&ドロップでアップロード",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# секунд} other {# секунд}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} жазған екен",
"trends.title": "Trends",
"ui.beforeunload": "Soapbox FE желісінен шықсаңыз, нобайыңыз сақталмайды.",
"ui.beforeunload": "Soapbox желісінен шықсаңыз, нобайыңыз сақталмайды.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Жүктеу үшін сүйреп әкеліңіз",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# seconde} other {# seconden}} te gaan",
"trends.count_by_accounts": "{count} {rawCount, plural, one {persoon praat} other {mensen praten}} hierover",
"trends.title": "Trends",
"ui.beforeunload": "Je concept zal verloren gaan als je Soapbox FE verlaat.",
"ui.beforeunload": "Je concept zal verloren gaan als je Soapbox verlaat.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Hiernaar toe slepen om te uploaden",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
"trends.title": "Trends",
"ui.beforeunload": "Din kladd vil bli forkastet om du forlater Soapbox FE.",
"ui.beforeunload": "Din kladd vil bli forkastet om du forlater Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Dra og slipp for å laste opp",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "demòra{number, plural, one { # segonda} other {n # segondas}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
"trends.title": "Trends",
"ui.beforeunload": "Vòstre brolhon serà perdut se quitatz Soapbox FE.",
"ui.beforeunload": "Vòstre brolhon serà perdut se quitatz Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Lisatz e depausatz per mandar",

@ -1218,7 +1218,7 @@
"time_remaining.seconds": "{number, plural, one {Pozostała # sekunda} few {Pozostały # sekundy} many {Pozostało # sekund} other {Pozostało # sekund}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {osoba rozmawia} few {osoby rozmawiają} other {osób rozmawia}} o tym",
"trends.title": "Trendy",
"ui.beforeunload": "Utracisz tworzony wpis, jeżeli opuścisz Soapbox FE.",
"ui.beforeunload": "Utracisz tworzony wpis, jeżeli opuścisz Soapbox.",
"unauthorized_modal.footer": "Masz już konto? {login}.",
"unauthorized_modal.text": "Musisz się zalogować, aby to zrobić.",
"unauthorized_modal.title": "Zarejestruj się na {site_title}",
@ -1244,4 +1244,4 @@
"video.play": "Odtwórz",
"video.unmute": "Cofnij wyciszenie",
"who_to_follow.title": "Kogo obserwować"
}
}

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {pessoa} other {pessoas}} falando sobre",
"trends.title": "Trends",
"ui.beforeunload": "Seu rascunho será perdido se você sair do Soapbox FE.",
"ui.beforeunload": "Seu rascunho será perdido se você sair do Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Arraste e solte para enviar",

@ -1042,7 +1042,7 @@
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {pessoa} other {pessoas}} estão a falar sobre",
"trends.title": "Atualidade",
"ui.beforeunload": "O teu rascunho será perdido se abandonares o Soapbox FE.",
"ui.beforeunload": "O teu rascunho será perdido se abandonares o Soapbox.",
"unauthorized_modal.text": "Deves ter a sessão iniciada para realizares essa ação.",
"unauthorized_modal.title": "Registar no {site_title}",
"upload_area.title": "Arrasta e larga para enviar",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {осталась # секунду} few {осталось # секунды} many {осталось # секунд} other {осталось # секунд}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {человек говорит} few {человека говорят} other {человек говорят}} про это",
"trends.title": "Trends",
"ui.beforeunload": "Ваш черновик будет утерян, если вы покинете Soapbox FE.",
"ui.beforeunload": "Ваш черновик будет утерян, если вы покинете Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Перетащите сюда, чтобы загрузить",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "Ostáva {number, plural, one {# sekunda} few {# sekúnd} many {# sekúnd} other {# sekúnd}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {človek vraví} other {ľudia vravia}}",
"trends.title": "Trends",
"ui.beforeunload": "Čo máš rozpísané sa stratí, ak opustíš Soapbox FE.",
"ui.beforeunload": "Čo máš rozpísané sa stratí, ak opustíš Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Pretiahni a pusť pre nahratie",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# sekunda} other {# sekund}} je ostalo",
"trends.count_by_accounts": "{count} {rawCount, plural, one {oseba} other {ljudi}} govori",
"trends.title": "Trends",
"ui.beforeunload": "Vaš osnutek bo izgubljen, če zapustite Soapbox FEa.",
"ui.beforeunload": "Vaš osnutek bo izgubljen, če zapustite Soapboxa.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Za pošiljanje povlecite in spustite",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person duke folur} other {persona që flasin}}",
"trends.title": "Trends",
"ui.beforeunload": "Skica juaj do të humbë nëse dilni nga Soapbox FE-i.",
"ui.beforeunload": "Skica juaj do të humbë nëse dilni nga Soapbox-i.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Merreni & vëreni që të ngarkohet",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
"trends.title": "Trends",
"ui.beforeunload": "Ako napustite Soapbox FE, izgubićete napisani nacrt.",
"ui.beforeunload": "Ako napustite Soapbox, izgubićete napisani nacrt.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Prevucite ovde da otpremite",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {човек} other {људи}} прича",
"trends.title": "Trends",
"ui.beforeunload": "Ако напустите Soapbox FE, изгубићете написани нацрт.",
"ui.beforeunload": "Ако напустите Soapbox, изгубићете написани нацрт.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Превуците овде да отпремите",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# sekund} other {# sekunder}} kvar",
"trends.count_by_accounts": "{count} {rawCount, plural, en {person} andra {people}} pratar",
"trends.title": "Trends",
"ui.beforeunload": "Ditt utkast kommer att förloras om du lämnar Soapbox FE.",
"ui.beforeunload": "Ditt utkast kommer att förloras om du lämnar Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Dra & släpp för att ladda upp",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "เหลืออีก {number, plural, other {# วินาที}}",
"trends.count_by_accounts": "{count} {rawCount, plural, other {คน}}กำลังคุย",
"trends.title": "Trends",
"ui.beforeunload": "แบบร่างของคุณจะหายไปหากคุณออกจาก Soapbox FE",
"ui.beforeunload": "แบบร่างของคุณจะหายไปหากคุณออกจาก Soapbox",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "ลากแล้วปล่อยเพื่ออัปโหลด",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# saniye} other {# saniye}} kaldı",
"trends.count_by_accounts": "{count} {rawCount, plural, one {kişi} other {kişi}} konuşuyor",
"trends.title": "Trends",
"ui.beforeunload": "Soapbox FE'dan ayrılırsanız taslağınız kaybolacak.",
"ui.beforeunload": "Soapbox'dan ayrılırsanız taslağınız kaybolacak.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Karşıya yükleme için sürükle bırak yapınız",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# секунда} few {# секунди} other {# секунд}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {людина} few {людини} many {людей} other {людей}} обговорюють це",
"trends.title": "Актуальні",
"ui.beforeunload": "Вашу чернетку буде втрачено, якщо ви покинете Soapbox FE.",
"ui.beforeunload": "Вашу чернетку буде втрачено, якщо ви покинете Soapbox.",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "Перетягніть сюди, щоб завантажити",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} 位用戶在討論",
"trends.title": "Trends",
"ui.beforeunload": "如果你現在離開 Soapbox FE,你的草稿內容將會被丟棄。",
"ui.beforeunload": "如果你現在離開 Soapbox,你的草稿內容將會被丟棄。",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "將檔案拖放至此上載",

@ -1044,7 +1044,7 @@
"time_remaining.seconds": "剩餘 {number, plural, one {# 秒} other {# 秒}}",
"trends.count_by_accounts": "{count} 位使用者在討論",
"trends.title": "Trends",
"ui.beforeunload": "如果離開 Soapbox FE,你的草稿將會不見。",
"ui.beforeunload": "如果離開 Soapbox,你的草稿將會不見。",
"unauthorized_modal.text": "You need to be logged in to do that.",
"unauthorized_modal.title": "Sign up for {site_title}",
"upload_area.title": "拖放來上傳",

@ -21,7 +21,7 @@ export const federationRestrictionsDisclosed = (state: RootState): boolean => {
};
/**
* Determine whether Soapbox FE is running in standalone mode.
* Determine whether Soapbox is running in standalone mode.
* Standalone mode runs separately from any backend and can login anywhere.
*/
export const isStandalone = (state: RootState): boolean => {

@ -1,10 +1,10 @@
# Installing Soapbox FE on a subdomain
# Installing Soapbox on a subdomain
If you would like to retain Pleroma FE on your Pleroma server, but install Soapbox FE alongside it on a subdomain, you can do so by following these steps.
If you would like to retain Pleroma FE on your Pleroma server, but install Soapbox alongside it on a subdomain, you can do so by following these steps.
## 1. Download the build
Create a directory on your system for Soapbox FE.
Create a directory on your system for Soapbox.
```sh
mkdir -p /opt/soapbox
@ -144,7 +144,7 @@ If that passed, reload Nginx:
systemctl reload nginx
```
If all is well, you should be able to visit the subdomain in your browser and access Soapbox FE!
If all is well, you should be able to visit the subdomain in your browser and access Soapbox!
---

@ -1,10 +1,10 @@
# Installing Soapbox FE via YunoHost
# Installing Soapbox via YunoHost
If you want to install Soapbox FE to a Pleroma instance installed using [YunoHost](https://yunohost.org), you can do so by following these steps.
If you want to install Soapbox to a Pleroma instance installed using [YunoHost](https://yunohost.org), you can do so by following these steps.
## 1. Download the build
First, download the latest build of Soapbox FE from GitLab.
First, download the latest build of Soapbox from GitLab.
```sh
curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/v1.3.0/download?job=build-production -o soapbox-fe.zip
@ -18,7 +18,7 @@ Then, unzip the build to the Pleroma directory under YunoHost's directory:
busybox unzip soapbox-fe.zip -o -d /home/yunohost.app/pleroma/
```
**That's it! 🎉 Soapbox FE is installed.** The change will take effect immediately, just refresh your browser tab. It's not necessary to restart the Pleroma service.
**That's it! 🎉 Soapbox is installed.** The change will take effect immediately, just refresh your browser tab. It's not necessary to restart the Pleroma service.
---

@ -1,6 +1,6 @@
# Removing Soapbox
Removing Soapbox FE and reverting to Pleroma FE is really easy. Just run the following:
Removing Soapbox and reverting to Pleroma FE is really easy. Just run the following:
```
rm /opt/pleroma/instance/static/index.html
rm -R /opt/pleroma/instance/static/packs

@ -2,17 +2,17 @@
You should always check the [release notes/changelog](https://gitlab.com/soapbox-pub/soapbox-fe/-/blob/develop/CHANGELOG.md) in case there are deprecations, special update changes, etc.
Besides that, it's relatively pretty easy to update Soapbox FE. There's two ways to go about it: with the command line or with an unofficial script.
Besides that, it's relatively pretty easy to update Soapbox. There's two ways to go about it: with the command line or with an unofficial script.
## Updating with the command line
To update Soapbox FE via the command line, do the following:
To update Soapbox via the command line, do the following:
```
# Download the build.
curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/v(latest.version.here)/download?job=build-production -o soapbox-fe.zip
curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/develop/download?job=build-production -o soapbox-fe.zip
# Remove all the current Soapbox FE build in Pleroma's instance directory.
# Remove all the current Soapbox build in Pleroma's instance directory.
rm -R /opt/pleroma/instance/static/packs
rm /opt/pleroma/instance/static/index.html
rm -R /opt/pleroma/instance/static/sounds
@ -21,16 +21,6 @@ rm -R /opt/pleroma/instance/static/sounds
busybox unzip soapbox-fe.zip -o -d /opt/pleroma/instance
```
## Updating with an unofficial script
You can also update Soapbox using [Sandia Mesa's updater bash script for Soapbox FE](https://code.sandiamesa.com/traboone/soapbox-update).
First, download the updater script if you haven't yet: ``sudo -Hu pleroma wget -P /var/lib/pleroma https://code.sandiamesa.com/traboone/soapbox-update/raw/branch/master/soapbox-update.sh -N``
Then, set the permissions of the updater script so that it can be executed: ``chmod u+x /var/lib/pleroma/soapbox-update.sh``
Finally, go to the Pleroma user's directory ``cd /var/lib/pleroma`` and then run ``sudo -Hu pleroma ./soapbox-update.sh``.
## After updating Soapbox
The changes take effect immediately, just refresh your browser tab. It's not necessary to restart the Pleroma service.

@ -87,7 +87,7 @@ The full app entity must be provided, for example:
"client_id": "cf5yI6ffXH1UcDkEApEIrtHpwCi5Tv9xmju8IKdMAkE",
"client_secret": "vHmSDpm6BJGUvR4_qWzmqWjfHcSYlZumxpFfohRwNNQ",
"id": "7132",
"name": "Soapbox FE",
"name": "Soapbox",
"redirect_uri": "urn:ietf:wg:oauth:2.0:oob",
"website": "https://soapbox.pub/",
"vapid_key": "BLElLQVJVmY_e4F5JoYxI5jXiVOYNsJ9p-amkykc9NcI-jwa9T1Y2GIbDqbY-HqC6ayPkfW4K4o9vgBFKYmkuS4"
@ -98,7 +98,7 @@ It is crucial that the app has the expected scopes.
You can obtain one with the following curl command (replace `MY_DOMAIN`):
```sh
curl -X POST -H "Content-Type: application/json" -d '{"client_name": "Soapbox FE", "redirect_uris": "urn:ietf:wg:oauth:2.0:oob", "scopes": "read write follow push admin", "website": "https://soapbox.pub/"}' "https://MY_DOMAIN.com/api/v1/apps"
curl -X POST -H "Content-Type: application/json" -d '{"client_name": "Soapbox", "redirect_uris": "urn:ietf:wg:oauth:2.0:oob", "scopes": "read write follow push admin", "website": "https://soapbox.pub/"}' "https://MY_DOMAIN.com/api/v1/apps"
```
### Custom files (`custom/instance/*`)
@ -114,7 +114,7 @@ Some use cases:
## Environment variables
When compiling Soapbox FE, environment variables may be passed to change the build itself.
When compiling Soapbox, environment variables may be passed to change the build itself.
For example:
```sh
@ -123,7 +123,7 @@ NODE_ENV="production" FE_BUILD_DIR="public" FE_SUBDIRECTORY="/soapbox" yarn buil
### `NODE_ENV`
The environment to build Soapbox FE for.
The environment to build Soapbox for.
Options:
@ -138,7 +138,7 @@ It's recommended to always build in `"production"` mode for live sites.
### `BACKEND_URL`
The base URL for API calls.
You only need to set this if Soapbox FE is hosted in a different place than the backend.
You only need to set this if Soapbox is hosted in a different place than the backend.
Options:
@ -159,7 +159,7 @@ Default: `"static"`
### `FE_SUBDIRECTORY`
Subdirectory to host Soapbox FE out of.
Subdirectory to host Soapbox out of.
When hosting on a subdirectory, you must create a custom build for it.
This option will set the imports in `index.html`, and the basename for routes in React.

@ -1,6 +1,6 @@
# How it works
Soapbox FE is a [single-page application (SPA)](https://en.wikipedia.org/wiki/Single-page_application) that runs entirely in the browser with JavaScript.
Soapbox is a [single-page application (SPA)](https://en.wikipedia.org/wiki/Single-page_application) that runs entirely in the browser with JavaScript.
It has a single HTML file, `index.html`, responsible only for loading the required JavaScript and CSS.
It interacts with the backend through [XMLHttpRequest (XHR)](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest).

@ -8,9 +8,9 @@ All configuration is optional, except `NODE_ENV`.
## `NODE_ENV`
The Node environment.
Soapbox FE checks for the following options:
Soapbox checks for the following options:
- `development` - What you should use while developing Soapbox FE.
- `development` - What you should use while developing Soapbox.
- `production` - Use when compiling to deploy to a live server.
- `test` - Use when running automated tests.

@ -8,12 +8,12 @@ First, follow the instructions to [install Pleroma](https://docs-develop.pleroma
## Install Soapbox
The Soapbox frontend is the main component of Soapbox. Once you've installed Pleroma, installing Soapbox FE is a breeze.
The Soapbox frontend is the main component of Soapbox. Once you've installed Pleroma, installing Soapbox is a breeze.
First, ssh into the server and download a .zip of the latest build: ``curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/v1.3.0/download?job=build-production -o soapbox-fe.zip``
First, ssh into the server and download a .zip of the latest build: ``curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/develop/download?job=build-production -o soapbox-fe.zip``
Then unpack it into Pleroma's ``instance`` directory: ``busybox unzip soapbox-fe.zip -o -d /opt/pleroma/instance``
**That's it! 🎉 Soapbox FE is installed.** The change will take effect immediately, just refresh your browser tab. It's not necessary to restart the Pleroma service.
**That's it! 🎉 Soapbox is installed.** The change will take effect immediately, just refresh your browser tab. It's not necessary to restart the Pleroma service.
***For OTP releases,*** *unpack to /var/lib/pleroma instead.*

@ -1,8 +1,8 @@
{
"name": "soapbox-fe",
"displayName": "Soapbox FE",
"displayName": "Soapbox",
"version": "3.0.0",
"description": "Soapbox frontend for Pleroma.",
"description": "Soapbox frontend for the Fediverse.",
"homepage": "https://soapbox.pub/",
"repository": {
"type": "git",

@ -52,7 +52,7 @@ Use yarn "manage:translations -- --help" for usage information
const usage = `Usage: yarn manage:translations [OPTIONS] [LANGUAGES]
Manage JavaScript translation files in Soapbox FE. Generates and update translations in translationsDirectory: ${translationsDirectory}
Manage JavaScript translation files in Soapbox. Generates and update translations in translationsDirectory: ${translationsDirectory}
LANGUAGES
The RFC5646 language tag for the language you want to test or fix. If you want to input multiple languages, separate them with space.

Loading…
Cancel
Save