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