mirror of
https://github.com/tooot-app/app
synced 2025-05-22 06:24:19 +02:00
commit
c068f9934f
20
Gemfile.lock
20
Gemfile.lock
@ -17,17 +17,17 @@ GEM
|
|||||||
artifactory (3.0.15)
|
artifactory (3.0.15)
|
||||||
atomos (0.1.3)
|
atomos (0.1.3)
|
||||||
aws-eventstream (1.2.0)
|
aws-eventstream (1.2.0)
|
||||||
aws-partitions (1.551.0)
|
aws-partitions (1.554.0)
|
||||||
aws-sdk-core (3.125.5)
|
aws-sdk-core (3.126.0)
|
||||||
aws-eventstream (~> 1, >= 1.0.2)
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
aws-partitions (~> 1, >= 1.525.0)
|
aws-partitions (~> 1, >= 1.525.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
jmespath (~> 1.0)
|
jmespath (~> 1.0)
|
||||||
aws-sdk-kms (1.53.0)
|
aws-sdk-kms (1.54.0)
|
||||||
aws-sdk-core (~> 3, >= 3.125.0)
|
aws-sdk-core (~> 3, >= 3.126.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
aws-sdk-s3 (1.111.3)
|
aws-sdk-s3 (1.112.0)
|
||||||
aws-sdk-core (~> 3, >= 3.125.0)
|
aws-sdk-core (~> 3, >= 3.126.0)
|
||||||
aws-sdk-kms (~> 1)
|
aws-sdk-kms (~> 1)
|
||||||
aws-sigv4 (~> 1.4)
|
aws-sigv4 (~> 1.4)
|
||||||
aws-sigv4 (1.4.0)
|
aws-sigv4 (1.4.0)
|
||||||
@ -86,7 +86,7 @@ GEM
|
|||||||
escape (0.0.4)
|
escape (0.0.4)
|
||||||
ethon (0.15.0)
|
ethon (0.15.0)
|
||||||
ffi (>= 1.15.0)
|
ffi (>= 1.15.0)
|
||||||
excon (0.90.0)
|
excon (0.91.0)
|
||||||
faraday (1.9.3)
|
faraday (1.9.3)
|
||||||
faraday-em_http (~> 1.0)
|
faraday-em_http (~> 1.0)
|
||||||
faraday-em_synchrony (~> 1.0)
|
faraday-em_synchrony (~> 1.0)
|
||||||
@ -116,7 +116,7 @@ GEM
|
|||||||
faraday_middleware (1.2.0)
|
faraday_middleware (1.2.0)
|
||||||
faraday (~> 1.0)
|
faraday (~> 1.0)
|
||||||
fastimage (2.2.6)
|
fastimage (2.2.6)
|
||||||
fastlane (2.203.0)
|
fastlane (2.204.2)
|
||||||
CFPropertyList (>= 2.3, < 4.0.0)
|
CFPropertyList (>= 2.3, < 4.0.0)
|
||||||
addressable (>= 2.8, < 3.0.0)
|
addressable (>= 2.8, < 3.0.0)
|
||||||
artifactory (~> 3.0)
|
artifactory (~> 3.0)
|
||||||
@ -155,8 +155,8 @@ GEM
|
|||||||
xcodeproj (>= 1.13.0, < 2.0.0)
|
xcodeproj (>= 1.13.0, < 2.0.0)
|
||||||
xcpretty (~> 0.3.0)
|
xcpretty (~> 0.3.0)
|
||||||
xcpretty-travis-formatter (>= 0.0.3)
|
xcpretty-travis-formatter (>= 0.0.3)
|
||||||
fastlane-plugin-json (1.0.0)
|
fastlane-plugin-json (1.1.0)
|
||||||
fastlane-plugin-sentry (1.11.0)
|
fastlane-plugin-sentry (1.11.1)
|
||||||
fastlane-plugin-versioning_android (0.1.0)
|
fastlane-plugin-versioning_android (0.1.0)
|
||||||
fastlane-plugin-yarn (1.2)
|
fastlane-plugin-yarn (1.2)
|
||||||
ffi (1.15.4)
|
ffi (1.15.4)
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"native": "220206",
|
"native": "220206",
|
||||||
"major": 3,
|
"major": 3,
|
||||||
"minor": 4,
|
"minor": 4,
|
||||||
"patch": 1,
|
"patch": 2,
|
||||||
"expo": "44.0.0"
|
"expo": "44.0.0"
|
||||||
},
|
},
|
||||||
"description": "tooot app for Mastodon",
|
"description": "tooot app for Mastodon",
|
||||||
|
@ -46,7 +46,7 @@ export const shouldFilter = ({
|
|||||||
let shouldFilter = false
|
let shouldFilter = false
|
||||||
if (!ownAccount) {
|
if (!ownAccount) {
|
||||||
const parser = new htmlparser2.Parser({
|
const parser = new htmlparser2.Parser({
|
||||||
ontext (text: string) {
|
ontext: (text: string) => {
|
||||||
const checkFilter = (filter: Mastodon.Filter) => {
|
const checkFilter = (filter: Mastodon.Filter) => {
|
||||||
const escapedPhrase = filter.phrase.replace(
|
const escapedPhrase = filter.phrase.replace(
|
||||||
/[.*+?^${}()|[\]\\]/g,
|
/[.*+?^${}()|[\]\\]/g,
|
||||||
@ -54,7 +54,7 @@ export const shouldFilter = ({
|
|||||||
) // $& means the whole matched string
|
) // $& means the whole matched string
|
||||||
switch (filter.whole_word) {
|
switch (filter.whole_word) {
|
||||||
case true:
|
case true:
|
||||||
if (new RegExp('\\b' + escapedPhrase + '\\b').test(text)) {
|
if (new RegExp('\\B' + escapedPhrase + '\\B').test(text)) {
|
||||||
shouldFilter = true
|
shouldFilter = true
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
|
@ -240,6 +240,9 @@
|
|||||||
"cancel": "$t(common:buttons.cancel)"
|
"cancel": "$t(common:buttons.cancel)"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"feedback": {
|
||||||
|
"heading": "Feature Requests"
|
||||||
|
},
|
||||||
"support": {
|
"support": {
|
||||||
"heading": "Support tooot"
|
"heading": "Support tooot"
|
||||||
},
|
},
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"HTML": {
|
"HTML": {
|
||||||
"expanded": {
|
"expanded": {
|
||||||
"true": "Thu gọn {{hint}}",
|
"true": "Cuộn {{hint}}",
|
||||||
"false": "Mở rộng {{hint}}"
|
"false": "Mở {{hint}}"
|
||||||
},
|
},
|
||||||
"defaultHint": "Tút"
|
"defaultHint": "Tút"
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
"follow_request": "{{name}} yêu cầu theo dõi bạn",
|
"follow_request": "{{name}} yêu cầu theo dõi bạn",
|
||||||
"poll": "Cuộc bình chọn đã kết thúc",
|
"poll": "Cuộc bình chọn đã kết thúc",
|
||||||
"reblog": {
|
"reblog": {
|
||||||
"default": "{{name}} đã chia sẻ",
|
"default": "{{name}} chia sẻ",
|
||||||
"notification": "{{name}} chia sẻ tút của bạn"
|
"notification": "{{name}} chia sẻ tút của bạn"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -62,7 +62,7 @@
|
|||||||
},
|
},
|
||||||
"attachment": {
|
"attachment": {
|
||||||
"sensitive": {
|
"sensitive": {
|
||||||
"button": "Hiện nội dung nhạy cảm"
|
"button": "NSFW"
|
||||||
},
|
},
|
||||||
"unsupported": {
|
"unsupported": {
|
||||||
"text": "Không hỗ trợ định dạng",
|
"text": "Không hỗ trợ định dạng",
|
||||||
@ -74,14 +74,16 @@
|
|||||||
"accessibilityHint": "Đến trang cá nhân {{name}}"
|
"accessibilityHint": "Đến trang cá nhân {{name}}"
|
||||||
},
|
},
|
||||||
"content": {
|
"content": {
|
||||||
"expandHint": "nội dung bị ẩn"
|
"expandHint": "nội dung ẩn"
|
||||||
},
|
},
|
||||||
"filtered": "Đã lọc",
|
"filtered": "Đã lọc",
|
||||||
"fullConversation": "Xem thêm",
|
"fullConversation": "Xem thêm",
|
||||||
"translate": {
|
"translate": {
|
||||||
"default": "Dịch",
|
"default": "Dịch",
|
||||||
"succeed": "Dịch bằng {{provider}} từ {{source}}",
|
"succeed": "Dịch bằng {{provider}} từ {{source}}",
|
||||||
"failed": "Không thể dịch!"
|
"failed": "Không thể dịch!",
|
||||||
|
"source_not_supported": "không hỗ trợ ngôn ngữ tút",
|
||||||
|
"target_not_supported": "Ngôn ngữ đích không hỗ trợ"
|
||||||
},
|
},
|
||||||
"header": {
|
"header": {
|
||||||
"shared": {
|
"shared": {
|
||||||
@ -93,7 +95,7 @@
|
|||||||
"accessibilityHint": "Tài khoản"
|
"accessibilityHint": "Tài khoản"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"application": "Đăng bằng {{application}}",
|
"application": "via {{application}}",
|
||||||
"muted": {
|
"muted": {
|
||||||
"accessibilityLabel": "Đã ẩn tút"
|
"accessibilityLabel": "Đã ẩn tút"
|
||||||
},
|
},
|
||||||
@ -146,16 +148,16 @@
|
|||||||
},
|
},
|
||||||
"share": {
|
"share": {
|
||||||
"status": {
|
"status": {
|
||||||
"heading": "Tút",
|
"heading": "Chia sẻ",
|
||||||
"button": "Chia sẻ URL tút"
|
"button": "Chia sẻ URL tút"
|
||||||
},
|
},
|
||||||
"account": {
|
"account": {
|
||||||
"heading": "Chia sẻ người dùng",
|
"heading": "Chia sẻ",
|
||||||
"button": "Chia sẻ URL người dùng này"
|
"button": "Chia sẻ URL người dùng này"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"status": {
|
"status": {
|
||||||
"heading": "Về tút",
|
"heading": "Đối với tút",
|
||||||
"delete": {
|
"delete": {
|
||||||
"function": "Xóa tút",
|
"function": "Xóa tút",
|
||||||
"button": "Xóa tút này"
|
"button": "Xóa tút này"
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
"cancel": "$t(common:buttons.cancel)"
|
"cancel": "$t(common:buttons.cancel)"
|
||||||
},
|
},
|
||||||
"notificationsFilter": {
|
"notificationsFilter": {
|
||||||
"heading": "Hiện những dạng thông báo",
|
"heading": "Chỉ hiện thông báo",
|
||||||
"content": {
|
"content": {
|
||||||
"follow": "$t(screenTabs:me.push.follow.heading)",
|
"follow": "$t(screenTabs:me.push.follow.heading)",
|
||||||
"favourite": "$t(screenTabs:me.push.favourite.heading)",
|
"favourite": "$t(screenTabs:me.push.favourite.heading)",
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
"button": {
|
"button": {
|
||||||
"default": "Tút",
|
"default": "Tút",
|
||||||
"conversation": "Tin nhắn",
|
"conversation": "Tin nhắn",
|
||||||
"reply": "Lượt trả lời",
|
"reply": "Trả lời",
|
||||||
"edit": "Tút"
|
"edit": "Tút"
|
||||||
},
|
},
|
||||||
"alert": {
|
"alert": {
|
||||||
@ -63,7 +63,7 @@
|
|||||||
"option": {
|
"option": {
|
||||||
"placeholder": {
|
"placeholder": {
|
||||||
"accessibilityLabel": "Tùy chọn bình chọn {{index}}",
|
"accessibilityLabel": "Tùy chọn bình chọn {{index}}",
|
||||||
"single": "Chỉ được chọn một",
|
"single": "Lựa chọn",
|
||||||
"multiple": "Nhiều lựa chọn"
|
"multiple": "Nhiều lựa chọn"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -117,7 +117,7 @@
|
|||||||
},
|
},
|
||||||
"visibility": {
|
"visibility": {
|
||||||
"accessibilityLabel": "Tút thuộc dạng {{visibility}}",
|
"accessibilityLabel": "Tút thuộc dạng {{visibility}}",
|
||||||
"title": "Dạng tút",
|
"title": "Kiểu tút",
|
||||||
"options": {
|
"options": {
|
||||||
"public": "Công khai",
|
"public": "Công khai",
|
||||||
"unlisted": "Hạn chế",
|
"unlisted": "Hạn chế",
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
"name": "Thông báo đẩy"
|
"name": "Thông báo đẩy"
|
||||||
},
|
},
|
||||||
"profile": {
|
"profile": {
|
||||||
"name": "Trang cá nhân"
|
"name": "Cài đặt cá nhân"
|
||||||
},
|
},
|
||||||
"profileName": {
|
"profileName": {
|
||||||
"name": "Tên hiển thị mới"
|
"name": "Tên hiển thị mới"
|
||||||
@ -65,7 +65,7 @@
|
|||||||
"name": "Metadata"
|
"name": "Metadata"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"name": "Cài đặt App"
|
"name": "Thiết lập"
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
"name": "Chuyển đổi tài khoản"
|
"name": "Chuyển đổi tài khoản"
|
||||||
@ -102,22 +102,22 @@
|
|||||||
},
|
},
|
||||||
"avatar": {
|
"avatar": {
|
||||||
"title": "Ảnh đại diện",
|
"title": "Ảnh đại diện",
|
||||||
"description": "Sẽ tự động chuyển còn 400x400px"
|
"description": "Tự động nén xuống 400x400px"
|
||||||
},
|
},
|
||||||
"header": {
|
"header": {
|
||||||
"title": "Ảnh bìa",
|
"title": "Ảnh bìa",
|
||||||
"description": "Sẽ tự động chuyển còn 1500x1500px"
|
"description": "Tự động nén xuống 1500x500px"
|
||||||
},
|
},
|
||||||
"note": {
|
"note": {
|
||||||
"title": "Mô tả"
|
"title": "Mô tả"
|
||||||
},
|
},
|
||||||
"fields": {
|
"fields": {
|
||||||
"title": "Metadata",
|
"title": "Metadata",
|
||||||
"total": "{{count}} trường",
|
"total": "{{count}} mục",
|
||||||
"total_plural": "{{count}} trường"
|
"total_plural": "{{count}} mục"
|
||||||
},
|
},
|
||||||
"visibility": {
|
"visibility": {
|
||||||
"title": "Dạng tút",
|
"title": "Kiểu tút mặc định",
|
||||||
"options": {
|
"options": {
|
||||||
"public": "Công khai",
|
"public": "Công khai",
|
||||||
"unlisted": "Hạn chế",
|
"unlisted": "Hạn chế",
|
||||||
@ -126,19 +126,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sensitive": {
|
"sensitive": {
|
||||||
"title": "Đăng nội dung nhạy cảm"
|
"title": "Đây là tài khoản NSFW"
|
||||||
},
|
},
|
||||||
"lock": {
|
"lock": {
|
||||||
"title": "Đây là tài khoản riêng tư",
|
"title": "Đây là tài khoản riêng tư",
|
||||||
"description": "Tự bạn sẽ phê duyệt người theo dõi"
|
"description": "Tự bạn sẽ phê duyệt người theo dõi"
|
||||||
},
|
},
|
||||||
"bot": {
|
"bot": {
|
||||||
"title": "Tài khoản bot",
|
"title": "Đây là tài khoản Bot",
|
||||||
"description": "Tài khoản này tự động thực hiện các hành động và không được quản lý bởi người thật"
|
"description": "Tài khoản này tự động thực hiện các hành động và không được quản lý bởi người thật"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fields": {
|
"fields": {
|
||||||
"group": "Nhóm {{index}}",
|
"group": "Mục {{index}}",
|
||||||
"label": "Nhãn",
|
"label": "Nhãn",
|
||||||
"content": "Nội dung"
|
"content": "Nội dung"
|
||||||
}
|
}
|
||||||
@ -250,13 +250,13 @@
|
|||||||
"heading": "Liên hệ tooot"
|
"heading": "Liên hệ tooot"
|
||||||
},
|
},
|
||||||
"analytics": {
|
"analytics": {
|
||||||
"heading": "Đóng góp ý kiến",
|
"heading": "Thu thập dữ liệu",
|
||||||
"description": "Chỉ thu thập thông tin không liên quan người dùng"
|
"description": "Giúp cải thiện chất lượng app"
|
||||||
},
|
},
|
||||||
"version": "Phiên bản {{version}}"
|
"version": "Phiên bản {{version}}"
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
"existing": "Chọn từ màn hình đăng nhập",
|
"existing": "Đã đăng nhập trước đó",
|
||||||
"new": "Đăng nhập máy chủ"
|
"new": "Đăng nhập máy chủ"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -283,11 +283,11 @@
|
|||||||
},
|
},
|
||||||
"search": {
|
"search": {
|
||||||
"header": {
|
"header": {
|
||||||
"prefix": "Đang tìm...",
|
"prefix": "Tìm kiếm",
|
||||||
"placeholder": "về..."
|
"placeholder": "về..."
|
||||||
},
|
},
|
||||||
"empty": {
|
"empty": {
|
||||||
"general": "Nhập từ khóa <bold>$t(screenTabs:shared.search.sections.accounts)</bold>、<bold>$t(screenTabs:shared.search.sections.hashtags)</bold> hoặc<bold>$t(screenTabs:shared.search.sections.statuses)</bold>",
|
"general": "Tìm <bold>$t(screenTabs:shared.search.sections.accounts)</bold>, <bold>$t(screenTabs:shared.search.sections.hashtags)</bold> hoặc <bold>$t(screenTabs:shared.search.sections.statuses)</bold><bold>",
|
||||||
"advanced": {
|
"advanced": {
|
||||||
"header": "Tìm kiếm nâng cao",
|
"header": "Tìm kiếm nâng cao",
|
||||||
"example": {
|
"example": {
|
||||||
@ -310,12 +310,12 @@
|
|||||||
},
|
},
|
||||||
"users": {
|
"users": {
|
||||||
"accounts": {
|
"accounts": {
|
||||||
"following": "Đang theo dõi {{count}}",
|
"following": "{{count}} Theo dõi",
|
||||||
"followers": "{{count}} người theo dõi"
|
"followers": "{{count}} người theo dõi"
|
||||||
},
|
},
|
||||||
"statuses": {
|
"statuses": {
|
||||||
"reblogged_by": "{{count}} người chia sẻ",
|
"reblogged_by": "{{count}} chia sẻ",
|
||||||
"favourited_by": "{{count}} người thích"
|
"favourited_by": "{{count}} thích"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -240,6 +240,9 @@
|
|||||||
"cancel": "$t(common:buttons.cancel)"
|
"cancel": "$t(common:buttons.cancel)"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"feedback": {
|
||||||
|
"heading": "功能建议"
|
||||||
|
},
|
||||||
"support": {
|
"support": {
|
||||||
"heading": "赞助 tooot 开发"
|
"heading": "赞助 tooot 开发"
|
||||||
},
|
},
|
||||||
|
@ -11,7 +11,7 @@ import React from 'react'
|
|||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import { useSelector } from 'react-redux'
|
import { useSelector } from 'react-redux'
|
||||||
import { getInstanceActive } from '@utils/slices/instancesSlice'
|
import { getInstanceActive } from '@utils/slices/instancesSlice'
|
||||||
import { isCandidate, isDevelopment } from '@utils/checkEnvironment'
|
import { isDevelopment, isRelease } from '@utils/checkEnvironment'
|
||||||
|
|
||||||
const SettingsTooot: React.FC = () => {
|
const SettingsTooot: React.FC = () => {
|
||||||
const instanceActive = useSelector(getInstanceActive)
|
const instanceActive = useSelector(getInstanceActive)
|
||||||
@ -21,6 +21,21 @@ const SettingsTooot: React.FC = () => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<MenuContainer>
|
<MenuContainer>
|
||||||
|
<MenuRow
|
||||||
|
title={t('me.settings.feedback.heading')}
|
||||||
|
content={
|
||||||
|
<Icon
|
||||||
|
name='MessageSquare'
|
||||||
|
size={StyleConstants.Font.Size.M}
|
||||||
|
color={theme.secondary}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
iconBack='ChevronRight'
|
||||||
|
onPress={() => {
|
||||||
|
analytics('settings_feedback_press')
|
||||||
|
Linking.openURL('https://feedback.tooot.app/')
|
||||||
|
}}
|
||||||
|
/>
|
||||||
<MenuRow
|
<MenuRow
|
||||||
title={t('me.settings.support.heading')}
|
title={t('me.settings.support.heading')}
|
||||||
content={
|
content={
|
||||||
@ -36,7 +51,7 @@ const SettingsTooot: React.FC = () => {
|
|||||||
Linking.openURL('https://www.buymeacoffee.com/xmflsct')
|
Linking.openURL('https://www.buymeacoffee.com/xmflsct')
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
{isDevelopment || isCandidate ? (
|
{isDevelopment || isRelease ? (
|
||||||
<MenuRow
|
<MenuRow
|
||||||
title={t('me.settings.review.heading')}
|
title={t('me.settings.review.heading')}
|
||||||
content={
|
content={
|
||||||
|
Loading…
x
Reference in New Issue
Block a user