diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 26504d6..dfebf5d 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,4 +1,4 @@ -- [ ] I have read and understood the [contributing guidelines](https://github.com/krille-chan/fluffychat/blob/main/CONTRIBUTING.md). +- [ ] I have read and understood the [contributing guidelines](https://gitea.weltonmoura.com.br/welton/tatuchat/blob/main/CONTRIBUTING.md). ### Pull Request has been tested on: diff --git a/PRIVACY.md b/PRIVACY.md index 0c4b7cc..e65ad55 100644 --- a/PRIVACY.md +++ b/PRIVACY.md @@ -5,4 +5,4 @@ SPDX-FileCopyrightText: 2019-Present Contributors to FluffyChat SPDX-License-Identifier: AGPL-3.0-or-later --> -Has been moved to https://fluffychat.im/privacy \ No newline at end of file +Has been moved to https://tatuchat.weltonmoura.com.br/home/politica-de-privacidade/ \ No newline at end of file diff --git a/README.md b/README.md index b9c1c1f..97a6272 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ SPDX-FileCopyrightText: 2019-Present Contributors to FluffyChat SPDX-License-Identifier: AGPL-3.0-or-later --> -[TatuChat](https://fluffy.chat) is an open source, nonprofit and cute [[matrix](https://matrix.org)] client written in [Flutter](https://flutter.dev). The goal of the app is to create an easy to use instant messenger which is open source and accessible for everyone. +[TatuChat](https://tatuchat.weltonmoura.com.br/home/) is an open source, nonprofit and cute [[matrix](https://matrix.org)] client written in [Flutter](https://flutter.dev). The goal of the app is to create an easy to use instant messenger which is open source and accessible for everyone. ### Links: @@ -18,8 +18,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later ### Screenshots: - - + # Features @@ -45,7 +44,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later Please visit the website for installation instructions: -- https://fluffy.chat +- https://tatuchat.weltonmoura.com.br/home/ # Configuration and Mobile Device Management (MDM) @@ -58,8 +57,8 @@ An example configuration can be found in the `config.sample.json` file. 2. Clone the repo: ``` -git clone https://github.com/krille-chan/fluffychat.git -cd fluffychat +git clone https://gitea.weltonmoura.com.br/welton/tatuchat.git +cd tatuchat ``` 3. Choose your target platform below and enable support for it. 3.1 If you want, enable Googles Firebase Cloud Messaging: diff --git a/SECURITY.md b/SECURITY.md index 69c3413..8dfba62 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -11,7 +11,7 @@ If you believe you have discovered a security vulnerability in this project, **d To report a security issue responsibly, please go to the Security tab or visit: -https://github.com/krille-chan/fluffychat/security/advisories/new +https://gitea.weltonmoura.com.br/welton/tatuchat The following information can help us address the issue: diff --git a/assets/logo/img/logo1.png b/assets/logo/img/logo1.png deleted file mode 100644 index 71f55bd..0000000 Binary files a/assets/logo/img/logo1.png and /dev/null differ diff --git a/assets/logo/img/logo_standalone.png b/assets/logo/img/logo_standalone.png index 71f55bd..51bad21 100644 Binary files a/assets/logo/img/logo_standalone.png and b/assets/logo/img/logo_standalone.png differ diff --git a/assets/logo/vector/logo.svg b/assets/logo/vector/logo.svg index 9a39d32..43f1361 100644 --- a/assets/logo/vector/logo.svg +++ b/assets/logo/vector/logo.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/logo/vector/logo_background.svg b/assets/logo/vector/logo_background.svg index 343063d..f6010f4 100644 --- a/assets/logo/vector/logo_background.svg +++ b/assets/logo/vector/logo_background.svg @@ -2,9 +2,9 @@ - - + + - \ No newline at end of file + diff --git a/assets/logo/vector/logo_foreground.svg b/assets/logo/vector/logo_foreground.svg index 4119a1c..43f1361 100644 --- a/assets/logo/vector/logo_foreground.svg +++ b/assets/logo/vector/logo_foreground.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/logo/vector/logo_mono.svg b/assets/logo/vector/logo_mono.svg index d0d28f6..43f1361 100644 --- a/assets/logo/vector/logo_mono.svg +++ b/assets/logo/vector/logo_mono.svg @@ -1,20 +1 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff --git a/assets/logo/vector/logo_notification.svg b/assets/logo/vector/logo_notification.svg index 257d3b7..43f1361 100644 --- a/assets/logo/vector/logo_notification.svg +++ b/assets/logo/vector/logo_notification.svg @@ -1,20 +1 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff --git a/assets/logo/vector/logo_standalone.svg b/assets/logo/vector/logo_standalone.svg index 5f0e625..43f1361 100644 --- a/assets/logo/vector/logo_standalone.svg +++ b/assets/logo/vector/logo_standalone.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/config.sample.json b/config.sample.json index 417f0d1..53df167 100644 --- a/config.sample.json +++ b/config.sample.json @@ -3,7 +3,7 @@ "defaultHomeserver": "https://matrix.weltonmoura.com.br", "presetHomeserver": "https://matrix.weltonmoura.com.br", "welcomeText": "", - "privacyUrl": "https://github.com/krille-chan/fluffychat/blob/main/PRIVACY.md", + "privacyUrl": "https://tatuchat.weltonmoura.com.br/home/politica-de-privacidade/", "audioRecordingNumChannels": 1, "audioRecordingAutoGain": true, "audioRecordingEchoCancel": false, diff --git a/lib/config/app_config.dart b/lib/config/app_config.dart index f8e3ce4..e951f6d 100644 --- a/lib/config/app_config.dart +++ b/lib/config/app_config.dart @@ -36,10 +36,13 @@ abstract class AppConfig { static const String muralTag = 'tatuchat_mural'; static const String sourceCodeUrl = - 'https://github.com/krille-chan/fluffychat'; + 'https://gitea.weltonmoura.com.br/welton/tatuchat'; + static const String licenseUrl = + 'https://gitea.weltonmoura.com.br/welton/tatuchat/src/branch/main/LICENSE'; static const String supportUrl = - 'https://github.com/krille-chan/fluffychat/issues'; - static const String changelogUrl = 'https://fluffychat.im/changelog/'; + 'https://gitea.weltonmoura.com.br/welton/tatuchat/issues'; + static const String changelogUrl = + 'https://tatuchat.weltonmoura.com.br/home/'; static const String helpUrl = 'https://ko-fi.com/post/How-can-I-support-FluffyChat-J2G325WE6I'; @@ -47,8 +50,8 @@ abstract class AppConfig { static final Uri newIssueUrl = Uri( scheme: 'https', - host: 'github.com', - path: '/krille-chan/fluffychat/issues/new', + host: 'gitea.weltonmoura.com.br', + path: '/welton/tatuchat/issues/new', ); static final Uri homeserverList = Uri( diff --git a/lib/config/setting_keys.dart b/lib/config/setting_keys.dart index 20dd44e..62ff4f4 100644 --- a/lib/config/setting_keys.dart +++ b/lib/config/setting_keys.dart @@ -67,14 +67,14 @@ enum AppSettings { 'https://matrix.weltonmoura.com.br', ), welcomeText('chat.fluffy.welcome_text', ''), - website('chat.fluffy.website_url', 'https://tatuchat.weltonmoura.com.br'), + website('chat.fluffy.website_url', 'https://tatuchat.weltonmoura.com.br/home'), logoUrl( 'chat.fluffy.logo_url', 'https://tatuchat.weltonmoura.com.br/assets/assets/logo/mini/logo_mini.png', ), privacyPolicy( 'chat.fluffy.privacy_policy_url', - 'http://tatuchat.weltonmoura.com.br/politica-de-privacidade/', + 'https://tatuchat.weltonmoura.com.br/home/politica-de-privacidade/', ), tos('chat.fluffy.tos_url', 'https://tatuchat.weltonmoura.com.br/tos'), sendTimelineEventTimeout('chat.fluffy.send_timeline_event_timeout', 15), diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 051dacf..1fc2a01 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -1,9 +1,12 @@ { + "developer": "Developer", "editImage": "Edit image", "@editImage": { "type": "String", "placeholders": {} }, + "environmentVariables": "Environment variables", + "licence": "Licence", "rotateLeft": "Rotate left", "@rotateLeft": { "type": "String", diff --git a/lib/l10n/intl_ga.arb b/lib/l10n/intl_ga.arb index 7032e6f..42dd30e 100644 --- a/lib/l10n/intl_ga.arb +++ b/lib/l10n/intl_ga.arb @@ -999,7 +999,7 @@ "placeholders": {} }, "scanQrCode": "Scan cód QR", - "inviteText": "Thug {username} cuireadh duit chuig FluffyChat.\n1. Tabhair cuairt ar fluffychat.im agus a shuiteáil an app\n2. Cláraigh nó sínigh isteach\n3. Oscail an nasc cuirí:\n {link}", + "inviteText": "Thug {username} cuireadh duit chuig FluffyChat.\n1. Tabhair cuairt ar tatuchat.weltonmoura.com.br/home/ agus a shuiteáil an app\n2. Cláraigh nó sínigh isteach\n3. Oscail an nasc cuirí:\n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_gl.arb b/lib/l10n/intl_gl.arb index 3f46fc4..7d63c27 100644 --- a/lib/l10n/intl_gl.arb +++ b/lib/l10n/intl_gl.arb @@ -814,7 +814,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} convidoute a FluffyChat.\n1. Visita fluffychat.im e instala a app\n2. Crea unha conta ou Accede\n3. Abre a ligazón do convite: \n {link}", + "inviteText": "{username} convidoute a FluffyChat.\n1. Visita tatuchat.weltonmoura.com.br/home/ e instala a app\n2. Crea unha conta ou Accede\n3. Abre a ligazón do convite: \n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_he.arb b/lib/l10n/intl_he.arb index 714f6af..fd11ead 100644 --- a/lib/l10n/intl_he.arb +++ b/lib/l10n/intl_he.arb @@ -619,7 +619,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} הזמין אותך ל-FluffyChat.\n1. התקן את FluffyChat: https://fluffychat.im\n2. הירשם או היכנס\n3. פתח את קישור ההזמנה: {link}", + "inviteText": "{username} הזמין אותך ל-FluffyChat.\n1. התקן את FluffyChat: https://tatuchat.weltonmoura.com.br/home/\n2. הירשם או היכנס\n3. פתח את קישור ההזמנה: {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_hr.arb b/lib/l10n/intl_hr.arb index 91c9055..045ad8e 100644 --- a/lib/l10n/intl_hr.arb +++ b/lib/l10n/intl_hr.arb @@ -800,7 +800,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} te je pozvao/la u FluffyChat. \n1. Posjeti strnicu fluffychat.im i instaliraj aplikaciju \n2. Registriraj ili prijavi se \n3. Otvori poveznicu poziva: \n {link}", + "inviteText": "{username} te je pozvao/la u FluffyChat. \n1. Posjeti strnicu tatuchat.weltonmoura.com.br/home/ i instaliraj aplikaciju \n2. Registriraj ili prijavi se \n3. Otvori poveznicu poziva: \n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_hu.arb b/lib/l10n/intl_hu.arb index 2d4e79a..00fb0ae 100644 --- a/lib/l10n/intl_hu.arb +++ b/lib/l10n/intl_hu.arb @@ -569,7 +569,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} meghívta a FluffyChat-be.\n1. Keresse fel a fluffychat.im oldalt, és telepítse az alkalmazást \n2. Regisztráljon vagy jelentkezzen be \n3. Nyissa meg a meghívó linket: \n {link}", + "inviteText": "{username} meghívta a FluffyChat-be.\n1. Keresse fel a tatuchat.weltonmoura.com.br/home/ oldalt, és telepítse az alkalmazást \n2. Regisztráljon vagy jelentkezzen be \n3. Nyissa meg a meghívó linket: \n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_id.arb b/lib/l10n/intl_id.arb index c228cd8..83f333a 100644 --- a/lib/l10n/intl_id.arb +++ b/lib/l10n/intl_id.arb @@ -88,7 +88,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} mengundang kamu ke FluffyChat. \n1. Kunjungi fluffychat.im dan instal aplikasi\n2. Daftar atau masuk \n3. Buka tautan undangan: \n {link}", + "inviteText": "{username} mengundang kamu ke FluffyChat. \n1. Kunjungi tatuchat.weltonmoura.com.br/home/ dan instal aplikasi\n2. Daftar atau masuk \n3. Buka tautan undangan: \n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_it.arb b/lib/l10n/intl_it.arb index e0b22b2..0670001 100644 --- a/lib/l10n/intl_it.arb +++ b/lib/l10n/intl_it.arb @@ -690,7 +690,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} ti ha invitato/a a FluffyChat.\n1. Visita fluffychat.im e installa l'applicazione\n2. Iscriviti o accedi\n3. Apri il collegamento di invito: \n {link}", + "inviteText": "{username} ti ha invitato/a a FluffyChat.\n1. Visita tatuchat.weltonmoura.com.br/home/ e installa l'applicazione\n2. Iscriviti o accedi\n3. Apri il collegamento di invito: \n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_ja.arb b/lib/l10n/intl_ja.arb index c8e9369..2cf99ea 100644 --- a/lib/l10n/intl_ja.arb +++ b/lib/l10n/intl_ja.arb @@ -697,7 +697,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username}があなたをFluffyChatに招待しました。\n1. FluffyChatをインストール: fluffychat.im \n2. アカウントの作成、またはサインインを行う\n3. 招待リンクを開く\n {link}", + "inviteText": "{username}があなたをFluffyChatに招待しました。\n1. FluffyChatをインストール: tatuchat.weltonmoura.com.br/home/ \n2. アカウントの作成、またはサインインを行う\n3. 招待リンクを開く\n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_kab.arb b/lib/l10n/intl_kab.arb index 7f5c694..281cd09 100644 --- a/lib/l10n/intl_kab.arb +++ b/lib/l10n/intl_kab.arb @@ -1139,7 +1139,7 @@ } }, "noChatDescriptionYet": "Ulac aglam n udiwenni i d-yenulfan yakan.", - "inviteText": "{username} yeɛreḍ-ik·m ɣer FluffyChat.\n1. Rzu ɣer fluffychat.im syin sbedd asnas \n2. Jerred neɣ kcem \n3. Ldi aseɣwen n tinubga: \n {link}", + "inviteText": "{username} yeɛreḍ-ik·m ɣer FluffyChat.\n1. Rzu ɣer tatuchat.weltonmoura.com.br/home/ syin sbedd asnas \n2. Jerred neɣ kcem \n3. Ldi aseɣwen n tinubga: \n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_ko.arb b/lib/l10n/intl_ko.arb index 0054c96..1dea92b 100644 --- a/lib/l10n/intl_ko.arb +++ b/lib/l10n/intl_ko.arb @@ -1493,7 +1493,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username}님이 당신을 FluffyChat에 초대했습니다.\n1. FluffyChat 설치: https://fluffychat.im \n2. 가입하거나 로그인 \n3. 초대 링크 열기: \n {link}", + "inviteText": "{username}님이 당신을 FluffyChat에 초대했습니다.\n1. FluffyChat 설치: https://tatuchat.weltonmoura.com.br/home/ \n2. 가입하거나 로그인 \n3. 초대 링크 열기: \n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_lt.arb b/lib/l10n/intl_lt.arb index 4b3f10e..18094c4 100644 --- a/lib/l10n/intl_lt.arb +++ b/lib/l10n/intl_lt.arb @@ -1461,7 +1461,7 @@ } } }, - "inviteText": "{username} pakvietė jus prisijungti prie FluffyChat. \n1. Įdiekite FluffyChat: https://fluffychat.im \n2. Prisiregistruokite arba prisijunkite \n3. Atidarykite pakvietimo nuorodą: {link}", + "inviteText": "{username} pakvietė jus prisijungti prie FluffyChat. \n1. Įdiekite FluffyChat: https://tatuchat.weltonmoura.com.br/home/ \n2. Prisiregistruokite arba prisijunkite \n3. Atidarykite pakvietimo nuorodą: {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_lv.arb b/lib/l10n/intl_lv.arb index f7db800..0604c75 100644 --- a/lib/l10n/intl_lv.arb +++ b/lib/l10n/intl_lv.arb @@ -515,7 +515,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} uzaicināja pievienoties FluffyChat.\n1. Jāapmeklē fluffychat.im un jāuzstāda lietotne \n2. Jāizveido konts vai jāpiesakās \n3. Jāatver uzaicinājuma saite: \n {link}", + "inviteText": "{username} uzaicināja pievienoties FluffyChat.\n1. Jāapmeklē tatuchat.weltonmoura.com.br/home/ un jāuzstāda lietotne \n2. Jāizveido konts vai jāpiesakās \n3. Jāatver uzaicinājuma saite: \n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_nb.arb b/lib/l10n/intl_nb.arb index 849f87c..80e8266 100644 --- a/lib/l10n/intl_nb.arb +++ b/lib/l10n/intl_nb.arb @@ -663,7 +663,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} har invitert deg til FluffyChat. \n1. Installer FluffyChat: https://fluffychat.im \n2. Registrer deg eller logg inn \n3. Åpne invitasjonslenken: \n {link}", + "inviteText": "{username} har invitert deg til FluffyChat. \n1. Installer FluffyChat: https://tatuchat.weltonmoura.com.br/home/ \n2. Registrer deg eller logg inn \n3. Åpne invitasjonslenken: \n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_nl.arb b/lib/l10n/intl_nl.arb index 5d2f563..8673dc8 100644 --- a/lib/l10n/intl_nl.arb +++ b/lib/l10n/intl_nl.arb @@ -814,7 +814,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} heeft je uitgenodigd voor FluffyChat.\n1. Bezoek https://fluffychat.im en installeer de app\n2. Registreer of log in\n3. Open deze uitnodigingslink:\n{link}", + "inviteText": "{username} heeft je uitgenodigd voor FluffyChat.\n1. Bezoek https://tatuchat.weltonmoura.com.br/home/ en installeer de app\n2. Registreer of log in\n3. Open deze uitnodigingslink:\n{link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_pl.arb b/lib/l10n/intl_pl.arb index c711c43..945c395 100644 --- a/lib/l10n/intl_pl.arb +++ b/lib/l10n/intl_pl.arb @@ -726,7 +726,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} zaprosił/-a Cię do FluffyChat.\n1. Odwiedź fluffychat.im i zainstaluj aplikację\n2. Zarejestuj się lub zaloguj\n3. Otwórz link zaproszenia:\n{link}", + "inviteText": "{username} zaprosił/-a Cię do FluffyChat.\n1. Odwiedź tatuchat.weltonmoura.com.br/home/ i zainstaluj aplikację\n2. Zarejestuj się lub zaloguj\n3. Otwórz link zaproszenia:\n{link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_pt_BR.arb b/lib/l10n/intl_pt_BR.arb index d22cad0..885c216 100644 --- a/lib/l10n/intl_pt_BR.arb +++ b/lib/l10n/intl_pt_BR.arb @@ -563,6 +563,7 @@ "type": "String", "placeholders": {} }, + "developer": "Desenvolvedor", "devices": "Dispositivos", "@devices": { "type": "String", @@ -672,6 +673,7 @@ "type": "String", "placeholders": {} }, + "environmentVariables": "Variáveis e ambiente", "errorObtainingLocation": "Erro ao obter localização: {error}", "@errorObtainingLocation": { "type": "String", @@ -892,6 +894,7 @@ "type": "String", "placeholders": {} }, + "licence": "Licença", "lightTheme": "Claro", "@lightTheme": { "type": "String", diff --git a/lib/l10n/intl_ro.arb b/lib/l10n/intl_ro.arb index 1125112..bdbcde1 100644 --- a/lib/l10n/intl_ro.arb +++ b/lib/l10n/intl_ro.arb @@ -714,7 +714,7 @@ } } }, - "inviteText": "{username} v-a invitat la FluffyChat.\n1. Instalați FluffyChat: https://fluffychat.im\n2. Înregistrați-vă sau conectați-vă\n3. Deschideți invitația: {link}", + "inviteText": "{username} v-a invitat la FluffyChat.\n1. Instalați FluffyChat: https://tatuchat.weltonmoura.com.br/home/\n2. Înregistrați-vă sau conectați-vă\n3. Deschideți invitația: {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_ru.arb b/lib/l10n/intl_ru.arb index 0dd1f0a..1bfa5f7 100644 --- a/lib/l10n/intl_ru.arb +++ b/lib/l10n/intl_ru.arb @@ -814,7 +814,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} пригласил(а) вас в FluffyChat. \n1. Посетите https://fluffychat.im и установите приложение \n2. Зарегистрируйтесь или войдите \n3. Откройте ссылку приглашения: \n {link}", + "inviteText": "{username} пригласил(а) вас в FluffyChat. \n1. Посетите https://tatuchat.weltonmoura.com.br/home/ и установите приложение \n2. Зарегистрируйтесь или войдите \n3. Откройте ссылку приглашения: \n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_sk.arb b/lib/l10n/intl_sk.arb index 070c56d..7b89476 100644 --- a/lib/l10n/intl_sk.arb +++ b/lib/l10n/intl_sk.arb @@ -516,7 +516,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} vás pozval na FluffyChat.\n1. Nainštalujte si FluffyChat: https://fluffychat.im\n2. Zaregistrujte sa alebo sa prihláste\n3. Otvorte odkaz na pozvánku: {link}", + "inviteText": "{username} vás pozval na FluffyChat.\n1. Nainštalujte si FluffyChat: https://tatuchat.weltonmoura.com.br/home/\n2. Zaregistrujte sa alebo sa prihláste\n3. Otvorte odkaz na pozvánku: {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_sr.arb b/lib/l10n/intl_sr.arb index e952ea2..1519c5f 100644 --- a/lib/l10n/intl_sr.arb +++ b/lib/l10n/intl_sr.arb @@ -766,7 +766,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} вас позива у FluffyChat. \n1. Инсталирајте FluffyChat: https://fluffychat.im \n2. Региструјте се или пријавите \n3. Отворите везу позивнице: {link}", + "inviteText": "{username} вас позива у FluffyChat. \n1. Инсталирајте FluffyChat: https://tatuchat.weltonmoura.com.br/home/ \n2. Региструјте се или пријавите \n3. Отворите везу позивнице: {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_sv.arb b/lib/l10n/intl_sv.arb index b773964..89298dc 100644 --- a/lib/l10n/intl_sv.arb +++ b/lib/l10n/intl_sv.arb @@ -648,7 +648,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} bjöd in dig till FluffyChat.\n1. Besök fluffychat.im och installera appen\n2. Registrera dig eller logga in\n3. Öppna inbjudningslänk:\n {link}", + "inviteText": "{username} bjöd in dig till FluffyChat.\n1. Besök tatuchat.weltonmoura.com.br/home/ och installera appen\n2. Registrera dig eller logga in\n3. Öppna inbjudningslänk:\n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_tr.arb b/lib/l10n/intl_tr.arb index 27ae1a8..6cf102b 100644 --- a/lib/l10n/intl_tr.arb +++ b/lib/l10n/intl_tr.arb @@ -815,7 +815,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} sizi FluffyChat'e davet etti.\n1. fluffychat.im adresini ziyaret edin ve uygulamayı kurun \n2. Kaydolun veya oturum açın \n3. Davet bağlantısını açın: \n {link}", + "inviteText": "{username} sizi FluffyChat'e davet etti.\n1. tatuchat.weltonmoura.com.br/home/ adresini ziyaret edin ve uygulamayı kurun \n2. Kaydolun veya oturum açın \n3. Davet bağlantısını açın: \n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_uk.arb b/lib/l10n/intl_uk.arb index 16a3a0c..39a04e7 100644 --- a/lib/l10n/intl_uk.arb +++ b/lib/l10n/intl_uk.arb @@ -534,7 +534,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} запрошує вас у FluffyChat. \n1. Перейдіть на fluffychat.im й установіть застосунок \n2. Зареєструйтесь або ввійдіть \n3. Відкрийте запрошувальне посилання:\n {link}", + "inviteText": "{username} запрошує вас у FluffyChat. \n1. Перейдіть на tatuchat.weltonmoura.com.br/home/ й установіть застосунок \n2. Зареєструйтесь або ввійдіть \n3. Відкрийте запрошувальне посилання:\n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_uz.arb b/lib/l10n/intl_uz.arb index 85d8ae4..990f07c 100644 --- a/lib/l10n/intl_uz.arb +++ b/lib/l10n/intl_uz.arb @@ -844,7 +844,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} sizni FluffyChat’ga taklif qildi.\n1. fluffychat.im saytiga tashrif buyuring va ilovani oʻrnating.\n2. Roʻyxatdan oʻting yoki tizimga kiring.\n3. Taklif havolasini oching:\n{link}", + "inviteText": "{username} sizni FluffyChat’ga taklif qildi.\n1. tatuchat.weltonmoura.com.br/home/ saytiga tashrif buyuring va ilovani oʻrnating.\n2. Roʻyxatdan oʻting yoki tizimga kiring.\n3. Taklif havolasini oching:\n{link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_zh.arb b/lib/l10n/intl_zh.arb index 628f955..7919cdc 100644 --- a/lib/l10n/intl_zh.arb +++ b/lib/l10n/intl_zh.arb @@ -786,7 +786,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} 邀请你使用 FluffyChat。 \n1. 安装 FluffyChat:https://fluffychat.im \n2. 注册或登录 \n3. 打开邀请链接:\n {link}", + "inviteText": "{username} 邀请你使用 FluffyChat。 \n1. 安装 FluffyChat:https://tatuchat.weltonmoura.com.br/home/ \n2. 注册或登录 \n3. 打开邀请链接:\n {link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/l10n/intl_zh_Hant.arb b/lib/l10n/intl_zh_Hant.arb index b6d6e8d..9abfc0f 100644 --- a/lib/l10n/intl_zh_Hant.arb +++ b/lib/l10n/intl_zh_Hant.arb @@ -685,7 +685,7 @@ "type": "String", "placeholders": {} }, - "inviteText": "{username} 邀請您使用 FluffyChat\n1. 安裝 FluffyChat:https://fluffychat.im\n2. 登入或註冊\n3. 打開該邀請網址:\n{link}", + "inviteText": "{username} 邀請您使用 FluffyChat\n1. 安裝 FluffyChat:https://tatuchat.weltonmoura.com.br/home/\n2. 登入或註冊\n3. 打開該邀請網址:\n{link}", "@inviteText": { "type": "String", "placeholders": { diff --git a/lib/pages/chat_list/client_chooser_button.dart b/lib/pages/chat_list/client_chooser_button.dart index 921ec56..ffd738f 100644 --- a/lib/pages/chat_list/client_chooser_button.dart +++ b/lib/pages/chat_list/client_chooser_button.dart @@ -12,7 +12,6 @@ import 'package:tatchat/l10n/l10n.dart'; import 'package:tatchat/utils/tatu_share.dart'; import 'package:tatchat/widgets/avatar.dart'; import 'package:tatchat/widgets/matrix.dart'; -import 'package:url_launcher/url_launcher_string.dart'; import 'chat_list.dart'; @@ -109,16 +108,6 @@ class ClientChooserButton extends StatelessWidget { ], ), ), - PopupMenuItem( - value: SettingsAction.support, - child: Row( - children: [ - Icon(Icons.favorite, color: Colors.red), - const SizedBox(width: 18), - Text(L10n.of(context).supportFluffyChat), - ], - ), - ), const PopupMenuDivider(), ..._bundleEntries(context, matrix, bundles), PopupMenuItem( @@ -249,11 +238,6 @@ class ClientChooserButton extends StatelessWidget { case SettingsAction.invite: TatuShare.shareInviteLink(context); break; - case SettingsAction.support: - launchUrlString( - 'https://ko-fi.com/post/How-can-I-support-FluffyChat-J2G325WE6I', - ); - break; case SettingsAction.settings: context.go('/rooms/settings'); break; @@ -271,13 +255,4 @@ class ClientChooserButton extends StatelessWidget { } } -enum SettingsAction { - addAccount, - newGroup, - setStatus, - invite, - support, - settings, - archive, - apps, -} +enum SettingsAction { addAccount, newGroup, setStatus, invite, settings, archive, apps } diff --git a/lib/pages/chat_list/sidebar.dart b/lib/pages/chat_list/sidebar.dart index 60706db..54e9426 100644 --- a/lib/pages/chat_list/sidebar.dart +++ b/lib/pages/chat_list/sidebar.dart @@ -11,7 +11,6 @@ import 'package:tatchat/l10n/l10n.dart'; import 'package:tatchat/utils/tatu_share.dart'; import 'package:tatchat/widgets/avatar.dart'; import 'package:tatchat/widgets/matrix.dart'; -import 'package:url_launcher/url_launcher_string.dart'; import 'chat_list.dart'; @@ -41,10 +40,10 @@ class Sidebar extends StatelessWidget { ), child: Row( children: [ - Icon( - Icons.chat_bubble_outline, - size: 22, - color: theme.colorScheme.primary, + Image.asset( + './assets/logo/mini/logo_mini.png', + width: 28, + height: 28, ), const SizedBox(width: 10), Text( @@ -115,14 +114,6 @@ class _AccountSection extends StatelessWidget { label: L10n.of(context).settings, onTap: () => context.go('/rooms/settings'), ), - _ActionTile( - icon: Icons.favorite, - iconColor: Colors.red, - label: L10n.of(context).supportFluffyChat, - onTap: () => launchUrlString( - 'https://ko-fi.com/post/How-can-I-support-FluffyChat-J2G325WE6I', - ), - ), const Divider(), for (final bundle in bundles.keys) ...[ if (bundles[bundle]!.length != 1 || diff --git a/lib/pages/settings/settings_view.dart b/lib/pages/settings/settings_view.dart index c4608f6..60b61ef 100644 --- a/lib/pages/settings/settings_view.dart +++ b/lib/pages/settings/settings_view.dart @@ -4,15 +4,15 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import 'package:async/async.dart'; -import 'package:tatchat/config/setting_keys.dart'; -import 'package:tatchat/l10n/l10n.dart'; -import 'package:tatchat/utils/tatu_share.dart'; -import 'package:tatchat/utils/platform_infos.dart'; -import 'package:tatchat/widgets/avatar.dart'; -import 'package:tatchat/widgets/matrix.dart'; import 'package:go_router/go_router.dart'; import 'package:material_ui/material_ui.dart'; import 'package:matrix/matrix.dart' hide Result; +import 'package:tatchat/config/setting_keys.dart'; +import 'package:tatchat/l10n/l10n.dart'; +import 'package:tatchat/utils/platform_infos.dart'; +import 'package:tatchat/utils/tatu_share.dart'; +import 'package:tatchat/widgets/avatar.dart'; +import 'package:tatchat/widgets/matrix.dart'; import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher_string.dart'; @@ -183,18 +183,6 @@ class SettingsView extends StatelessWidget { : null, ), Divider(color: theme.dividerColor), - ListTile( - leading: const Icon(Icons.dns_outlined), - title: Text( - L10n.of(context).aboutHomeserver( - Matrix.of(context).client.userID?.domain ?? 'homeserver', - ), - ), - onTap: () => context.go('/rooms/settings/homeserver'), - tileColor: activeRoute.startsWith('/rooms/settings/homeserver') - ? theme.colorScheme.surfaceContainerHigh - : null, - ), ListTile( leading: const Icon(Icons.privacy_tip_outlined), title: Text(L10n.of(context).privacy), @@ -205,6 +193,57 @@ class SettingsView extends StatelessWidget { title: Text(L10n.of(context).about), onTap: () => PlatformInfos.showDialog(context), ), + Theme( + data: theme.copyWith(dividerColor: Colors.transparent), + child: ExpansionTile( + key: const Key('DeveloperMenu'), + leading: const Icon(Icons.code_outlined), + title: Text(L10n.of(context).developer), + tilePadding: const EdgeInsets.symmetric(horizontal: 16), + childrenPadding: const EdgeInsets.symmetric(vertical: 4), + controlAffinity: ListTileControlAffinity.trailing, + children: [ + ListTile( + leading: const Icon(Icons.dns_outlined), + title: Text( + L10n.of(context).aboutHomeserver( + Matrix.of( + context, + ).client.userID?.domain ?? 'homeserver', + ), + ), + dense: true, + contentPadding: const EdgeInsets.only(left: 40, right: 16), + onTap: () => context.go('/rooms/settings/homeserver'), + tileColor: activeRoute.startsWith( + '/rooms/settings/homeserver', + ) + ? theme.colorScheme.surfaceContainerHigh + : null, + ), + ListTile( + leading: const Icon(Icons.list_alt_outlined), + title: Text(L10n.of(context).logs), + dense: true, + contentPadding: const EdgeInsets.only(left: 40, right: 16), + onTap: () => context.go('/logs'), + tileColor: activeRoute.startsWith('/logs') + ? theme.colorScheme.surfaceContainerHigh + : null, + ), + ListTile( + leading: const Icon(Icons.settings_applications_outlined), + title: Text(L10n.of(context).environmentVariables), + dense: true, + contentPadding: const EdgeInsets.only(left: 40, right: 16), + onTap: () => context.go('/configs'), + tileColor: activeRoute.startsWith('/configs') + ? theme.colorScheme.surfaceContainerHigh + : null, + ), + ], + ), + ), Divider(color: theme.dividerColor), ListTile( leading: const Icon(Icons.logout_outlined), diff --git a/lib/utils/platform_infos.dart b/lib/utils/platform_infos.dart index 4b4642e..2d75512 100644 --- a/lib/utils/platform_infos.dart +++ b/lib/utils/platform_infos.dart @@ -5,12 +5,13 @@ import 'dart:io'; +import 'package:flutter/foundation.dart'; +import 'package:flutter_linkify/flutter_linkify.dart'; +import 'package:material_ui/material_ui.dart'; +import 'package:material_ui/material_ui.dart' as m show Dialog, showDialog; +import 'package:package_info_plus/package_info_plus.dart'; import 'package:tatchat/config/setting_keys.dart'; import 'package:tatchat/l10n/l10n.dart'; -import 'package:flutter/foundation.dart'; -import 'package:go_router/go_router.dart'; -import 'package:material_ui/material_ui.dart'; -import 'package:package_info_plus/package_info_plus.dart'; import 'package:url_launcher/url_launcher_string.dart'; import '../config/app_config.dart'; @@ -56,53 +57,107 @@ abstract class PlatformInfos { return version; } + static const String aboutDescription = + 'O TatuChat é um cliente de mensagens instantâneas focado em ' + 'privacidade, simplicidade e código aberto, desenvolvido como um fork do ' + 'aclamado projeto FluffyChat. Utilizando o protocolo descentralizado ' + 'Matrix, ele oferece criptografia de ponta a ponta (E2EE) para proteger ' + 'conversas, arquivos e mídias. Além do bate-papo tradicional, o projeto ' + 'se destaca por recursos como canais de transmissão, organização em ' + 'espaços, murais visuais em formato de grid e suporte a mini-apps ' + 'desenvolvidos pela comunidade. Acesse Aqui. ' + 'https://tatuchat.weltonmoura.com.br/home/'; + static Future showDialog(BuildContext context) async { final l10n = L10n.of(context); - final version = await PlatformInfos.getVersion(); - if (!context.mounted) return; - showAboutDialog( + final theme = Theme.of(context); + final size = MediaQuery.sizeOf(context); + await m.showDialog( context: context, - children: [ - Text(l10n.versionWithNumber(version)), - TextButton.icon( - onPressed: () => launchUrlString(AppConfig.sourceCodeUrl), - icon: const Icon(Icons.source_outlined), - label: Text(l10n.sourceCode), + builder: (context) => m.Dialog( + insetPadding: const EdgeInsets.symmetric( + horizontal: 24, + vertical: 40, ), - Builder( - builder: (innerContext) { - return TextButton.icon( - onPressed: () { - context.go('/logs'); - Navigator.of(innerContext).pop(); - }, - icon: const Icon(Icons.list_outlined), - label: Text(l10n.logs), - ); - }, - ), - Builder( - builder: (innerContext) { - return TextButton.icon( - onPressed: () { - context.go('/configs'); - Navigator.of(innerContext).pop(); - }, - icon: const Icon(Icons.settings_applications_outlined), - label: Text(l10n.advancedConfigs), - ); - }, - ), - ], - applicationIcon: ClipRRect( - borderRadius: BorderRadius.circular(64), - child: Image.asset( - './assets/logo/mini/logo_mini.png', - width: 64, - height: 64, + child: ConstrainedBox( + constraints: BoxConstraints( + maxWidth: 720, + maxHeight: size.height * 0.88, + ), + child: Padding( + padding: const EdgeInsets.all(24), + child: Column( + mainAxisSize: .min, + children: [ + Expanded( + child: SingleChildScrollView( + child: Column( + mainAxisSize: .min, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(32), + child: Image.asset( + './assets/logo/mini/logo_mini.png', + width: 96, + height: 96, + ), + ), + const SizedBox(height: 24), + Text( + AppSettings.applicationName.value, + textAlign: TextAlign.center, + style: theme.textTheme.headlineMedium?.copyWith( + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 24), + Linkify( + text: aboutDescription, + textAlign: TextAlign.center, + style: TextStyle( + color: theme.colorScheme.onSurface, + ), + options: const LinkifyOptions(humanize: false), + linkStyle: TextStyle( + color: theme.colorScheme.primary, + decorationColor: theme.colorScheme.primary, + ), + onOpen: (link) => launchUrlString(link.url), + ), + ], + ), + ), + ), + const SizedBox(height: 8), + const Divider(), + const SizedBox(height: 8), + Wrap( + alignment: WrapAlignment.end, + crossAxisAlignment: WrapCrossAlignment.center, + spacing: 8, + runSpacing: 4, + children: [ + TextButton.icon( + onPressed: () => launchUrlString(AppConfig.sourceCodeUrl), + icon: const Icon(Icons.source_outlined), + label: Text(l10n.sourceCode), + ), + TextButton.icon( + onPressed: () => launchUrlString(AppConfig.licenseUrl), + icon: const Icon(Icons.description_outlined), + label: Text(l10n.licence), + ), + TextButton( + onPressed: () => Navigator.of(context).pop(), + child: Text(l10n.close), + ), + ], + ), + ], + ), + ), ), ), - applicationName: AppSettings.applicationName.value, ); } } diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 2e9c42d..d39df0a 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -42,7 +42,7 @@ description: | FluffyChat is a non-profit project based on open standards and driven entirely by volunteers. Infrastructure is funded by donations, and participation is open to everyone. Join the community: https://matrix.to/#/#fluffy-space:matrix.org - Website: http://fluffychat.im + Website: https://tatuchat.weltonmoura.com.br/home/ Microblog: https://troet.cafe/@krille grade: stable diff --git a/web/favicon.png b/web/favicon.png index 85b0aa4..e470dec 100644 Binary files a/web/favicon.png and b/web/favicon.png differ diff --git a/web/icons/Icon-16.png b/web/icons/Icon-16.png index 0aab876..024ea15 100644 Binary files a/web/icons/Icon-16.png and b/web/icons/Icon-16.png differ diff --git a/web/icons/Icon-192.png b/web/icons/Icon-192.png index 4eef982..024ea15 100644 Binary files a/web/icons/Icon-192.png and b/web/icons/Icon-192.png differ diff --git a/web/icons/Icon-32.png b/web/icons/Icon-32.png index 94aba63..024ea15 100644 Binary files a/web/icons/Icon-32.png and b/web/icons/Icon-32.png differ diff --git a/web/icons/Icon-48.png b/web/icons/Icon-48.png index 871841b..024ea15 100644 Binary files a/web/icons/Icon-48.png and b/web/icons/Icon-48.png differ diff --git a/web/icons/Icon-512.png b/web/icons/Icon-512.png index 43c6f57..1f2fed2 100644 Binary files a/web/icons/Icon-512.png and b/web/icons/Icon-512.png differ diff --git a/web/icons/Icon-maskable-192.png b/web/icons/Icon-maskable-192.png index 4eef982..024ea15 100644 Binary files a/web/icons/Icon-maskable-192.png and b/web/icons/Icon-maskable-192.png differ diff --git a/web/icons/Icon-maskable-512.png b/web/icons/Icon-maskable-512.png index 43c6f57..1f2fed2 100644 Binary files a/web/icons/Icon-maskable-512.png and b/web/icons/Icon-maskable-512.png differ