mirror of
https://github.com/tooot-app/app
synced 2025-05-28 18:04:18 +02:00
Merge branch 'main' into release
This commit is contained in:
commit
e92f0ff7df
@ -340,7 +340,7 @@ PODS:
|
|||||||
- glog
|
- glog
|
||||||
- react-native-blur (4.3.0):
|
- react-native-blur (4.3.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-cameraroll (5.2.4):
|
- react-native-cameraroll (5.3.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-image-picker (5.1.0):
|
- react-native-image-picker (5.1.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
@ -812,7 +812,7 @@ SPEC CHECKSUMS:
|
|||||||
React-jsinspector: 1f51e775819199d3fe9410e69ee8d4c4161c7b06
|
React-jsinspector: 1f51e775819199d3fe9410e69ee8d4c4161c7b06
|
||||||
React-logger: 0d58569ec51d30d1792c5e86a8e3b78d24b582c6
|
React-logger: 0d58569ec51d30d1792c5e86a8e3b78d24b582c6
|
||||||
react-native-blur: 50c9feabacbc5f49b61337ebc32192c6be7ec3c3
|
react-native-blur: 50c9feabacbc5f49b61337ebc32192c6be7ec3c3
|
||||||
react-native-cameraroll: cb752fda6d5268f1646b4390bd5be1f27706b9a0
|
react-native-cameraroll: a05136a5e648c35f2e8cced939ba85966e3bba8e
|
||||||
react-native-image-picker: c33d4e79f0a14a2b66e5065e14946ae63749660b
|
react-native-image-picker: c33d4e79f0a14a2b66e5065e14946ae63749660b
|
||||||
react-native-ios-context-menu: e529171ba760a1af7f2ef0729f5a7f4d226171c5
|
react-native-ios-context-menu: e529171ba760a1af7f2ef0729f5a7f4d226171c5
|
||||||
react-native-language-detection: f414937fa715108ab50a6269a3de0bcb95e4ceb0
|
react-native-language-detection: f414937fa715108ab50a6269a3de0bcb95e4ceb0
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
"@mattermost/react-native-paste-input": "^0.6.2",
|
"@mattermost/react-native-paste-input": "^0.6.2",
|
||||||
"@neverdull-agency/expo-unlimited-secure-store": "^1.0.10",
|
"@neverdull-agency/expo-unlimited-secure-store": "^1.0.10",
|
||||||
"@react-native-async-storage/async-storage": "~1.17.11",
|
"@react-native-async-storage/async-storage": "~1.17.11",
|
||||||
"@react-native-camera-roll/camera-roll": "^5.2.4",
|
"@react-native-camera-roll/camera-roll": "^5.3.0",
|
||||||
"@react-native-clipboard/clipboard": "^1.11.2",
|
"@react-native-clipboard/clipboard": "^1.11.2",
|
||||||
"@react-native-community/blur": "^4.3.0",
|
"@react-native-community/blur": "^4.3.0",
|
||||||
"@react-native-community/netinfo": "9.3.7",
|
"@react-native-community/netinfo": "9.3.7",
|
||||||
@ -89,7 +89,7 @@
|
|||||||
"react-native-tab-view": "^3.5.1",
|
"react-native-tab-view": "^3.5.1",
|
||||||
"rn-placeholder": "^3.0.3",
|
"rn-placeholder": "^3.0.3",
|
||||||
"url-parse": "^1.5.10",
|
"url-parse": "^1.5.10",
|
||||||
"zeego": "^1.1.0"
|
"zeego": "^1.3.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.21.0",
|
"@babel/core": "^7.21.0",
|
||||||
|
@ -105,7 +105,7 @@ const TimelineHeaderDefault: React.FC = () => {
|
|||||||
case 'sub':
|
case 'sub':
|
||||||
return (
|
return (
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
<DropdownMenu.Sub key={item}>
|
<DropdownMenu.Sub key={item.key}>
|
||||||
<DropdownMenu.SubTrigger
|
<DropdownMenu.SubTrigger
|
||||||
key={item.trigger.key}
|
key={item.trigger.key}
|
||||||
{...item.trigger.props}
|
{...item.trigger.props}
|
||||||
|
4
src/components/contextMenu/index.d.ts
vendored
4
src/components/contextMenu/index.d.ts
vendored
@ -33,7 +33,7 @@ type ContextMenuItem = {
|
|||||||
hidden: boolean
|
hidden: boolean
|
||||||
}
|
}
|
||||||
title: string
|
title: string
|
||||||
icon?: string
|
icon?: any
|
||||||
}
|
}
|
||||||
|
|
||||||
type ContextMenuSub = {
|
type ContextMenuSub = {
|
||||||
@ -47,7 +47,7 @@ type ContextMenuSub = {
|
|||||||
hidden: boolean
|
hidden: boolean
|
||||||
}
|
}
|
||||||
title: string
|
title: string
|
||||||
icon?: string
|
icon?: any
|
||||||
}
|
}
|
||||||
items: Omit<ContextMenuItem, 'type'>[]
|
items: Omit<ContextMenuItem, 'type'>[]
|
||||||
}
|
}
|
||||||
|
@ -262,7 +262,7 @@
|
|||||||
"label": "Назва",
|
"label": "Назва",
|
||||||
"content": "Змесціва"
|
"content": "Змесціва"
|
||||||
},
|
},
|
||||||
"mediaSelectionFailed": ""
|
"mediaSelectionFailed": "Збой апрацоўкі відарыса. Паспрабуйце яшчэ раз."
|
||||||
},
|
},
|
||||||
"push": {
|
"push": {
|
||||||
"notAvailable": "Ваш тэлефон не падтрымлівае push-апавяшчэнні",
|
"notAvailable": "Ваш тэлефон не падтрымлівае push-апавяшчэнні",
|
||||||
@ -275,11 +275,11 @@
|
|||||||
"description": "Звярніцеся да адміністратара вашага сервера, каб наладзіць падтрымку push"
|
"description": "Звярніцеся да адміністратара вашага сервера, каб наладзіць падтрымку push"
|
||||||
},
|
},
|
||||||
"global": {
|
"global": {
|
||||||
"heading": "",
|
"heading": "Уключыць для {{acct}}",
|
||||||
"description": ""
|
"description": "Паведамленні накіроўваюцца праз сервер tooot"
|
||||||
},
|
},
|
||||||
"decode": {
|
"decode": {
|
||||||
"heading": "",
|
"heading": "Паказаць дэталі паведамлення",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"default": {
|
"default": {
|
||||||
@ -292,37 +292,37 @@
|
|||||||
"heading": "Запыты на падпіску"
|
"heading": "Запыты на падпіску"
|
||||||
},
|
},
|
||||||
"favourite": {
|
"favourite": {
|
||||||
"heading": ""
|
"heading": "Дадаў у абранае"
|
||||||
},
|
},
|
||||||
"reblog": {
|
"reblog": {
|
||||||
"heading": ""
|
"heading": "Пашырыў"
|
||||||
},
|
},
|
||||||
"mention": {
|
"mention": {
|
||||||
"heading": ""
|
"heading": "Згадаў вас"
|
||||||
},
|
},
|
||||||
"poll": {
|
"poll": {
|
||||||
"heading": ""
|
"heading": "Абнаўленні апытання"
|
||||||
},
|
},
|
||||||
"status": {
|
"status": {
|
||||||
"heading": ""
|
"heading": "Допіс ад падпісаных карыстальнікаў"
|
||||||
},
|
},
|
||||||
"update": {
|
"update": {
|
||||||
"heading": ""
|
"heading": "Пашырэнне было адрэдагавана"
|
||||||
},
|
},
|
||||||
"admin.sign_up": {
|
"admin.sign_up": {
|
||||||
"heading": ""
|
"heading": "Адміністраванне: рэгістрацыя"
|
||||||
},
|
},
|
||||||
"admin.report": {
|
"admin.report": {
|
||||||
"heading": ""
|
"heading": "Адміністраванне: скаргі"
|
||||||
},
|
},
|
||||||
"howitworks": ""
|
"howitworks": "Даведацца, як працуе маршрутызацыя"
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"announcements": {
|
"announcements": {
|
||||||
"content": {
|
"content": {
|
||||||
"unread": "",
|
"unread": "{{amount}} непрачытаных",
|
||||||
"read": "",
|
"read": "Усё прачытана",
|
||||||
"empty": ""
|
"empty": "Няма"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"push": {
|
"push": {
|
||||||
@ -344,7 +344,7 @@
|
|||||||
"theme": {
|
"theme": {
|
||||||
"heading": "Знешні выгляд",
|
"heading": "Знешні выгляд",
|
||||||
"options": {
|
"options": {
|
||||||
"auto": "",
|
"auto": "Як у сістэме",
|
||||||
"light": "Светлы рэжым",
|
"light": "Светлы рэжым",
|
||||||
"dark": "Цёмны рэжым"
|
"dark": "Цёмны рэжым"
|
||||||
}
|
}
|
||||||
@ -364,18 +364,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoplayGifv": {
|
"autoplayGifv": {
|
||||||
"heading": ""
|
"heading": "Аўтапрайграванне GIF у стужцы"
|
||||||
},
|
},
|
||||||
"feedback": {
|
"feedback": {
|
||||||
"heading": ""
|
"heading": "Прапанаваць ідэю"
|
||||||
},
|
},
|
||||||
"support": {
|
"support": {
|
||||||
"heading": ""
|
"heading": "Падтрымаць tooot"
|
||||||
},
|
},
|
||||||
"contact": {
|
"contact": {
|
||||||
"heading": ""
|
"heading": "Звязацца з tooot"
|
||||||
},
|
},
|
||||||
"version": "",
|
"version": "Версія: {{version}}",
|
||||||
"instanceVersion": "Версія Mastodon: v{{version}}"
|
"instanceVersion": "Версія Mastodon: v{{version}}"
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -419,7 +419,7 @@
|
|||||||
},
|
},
|
||||||
"report": {
|
"report": {
|
||||||
"name": "",
|
"name": "",
|
||||||
"report": "",
|
"report": "Скарга",
|
||||||
"forward": {
|
"forward": {
|
||||||
"heading": "Ананімна пераслаць на аддалены сервер {{instance}}"
|
"heading": "Ананімна пераслаць на аддалены сервер {{instance}}"
|
||||||
},
|
},
|
||||||
|
@ -152,7 +152,7 @@ const Root: React.FC<NativeStackScreenProps<TabLocalStackParamList, 'Tab-Local-R
|
|||||||
hidden: false
|
hidden: false
|
||||||
},
|
},
|
||||||
title: list.title,
|
title: list.title,
|
||||||
icon: 'list.bullet'
|
icon: 'list.bullet' as any
|
||||||
}))
|
}))
|
||||||
].map(menu => (
|
].map(menu => (
|
||||||
<DropdownMenu.Item key={menu.key} {...menu.item}>
|
<DropdownMenu.Item key={menu.key} {...menu.item}>
|
||||||
|
@ -7,7 +7,7 @@ export const menuListAccounts = ({ list }: { list: Mastodon.List }) => ({
|
|||||||
key: 'list-accounts',
|
key: 'list-accounts',
|
||||||
onSelect: () => navigationRef.navigate<any>('Tab-Me-List-Accounts', list),
|
onSelect: () => navigationRef.navigate<any>('Tab-Me-List-Accounts', list),
|
||||||
title: i18next.t('screenTabs:me.listAccounts.heading'),
|
title: i18next.t('screenTabs:me.listAccounts.heading'),
|
||||||
icon: 'person.crop.circle.fill.badge.checkmark'
|
icon: 'person.crop.circle.fill.badge.checkmark' as any
|
||||||
})
|
})
|
||||||
|
|
||||||
export const menuListEdit = ({ list, key }: { list: Mastodon.List; key: string }) => ({
|
export const menuListEdit = ({ list, key }: { list: Mastodon.List; key: string }) => ({
|
||||||
@ -19,7 +19,7 @@ export const menuListEdit = ({ list, key }: { list: Mastodon.List; key: string }
|
|||||||
key
|
key
|
||||||
}),
|
}),
|
||||||
title: i18next.t('screenTabs:me.listEdit.heading'),
|
title: i18next.t('screenTabs:me.listEdit.heading'),
|
||||||
icon: 'square.and.pencil'
|
icon: 'square.and.pencil' as any
|
||||||
})
|
})
|
||||||
|
|
||||||
export const menuListDelete = ({
|
export const menuListDelete = ({
|
||||||
@ -44,5 +44,5 @@ export const menuListDelete = ({
|
|||||||
]
|
]
|
||||||
),
|
),
|
||||||
title: i18next.t('screenTabs:me.listDelete.heading'),
|
title: i18next.t('screenTabs:me.listDelete.heading'),
|
||||||
icon: 'trash'
|
icon: 'trash' as any
|
||||||
})
|
})
|
||||||
|
@ -37,6 +37,9 @@ const TabMePush: React.FC = () => {
|
|||||||
|
|
||||||
const appsQuery = useAppsQuery()
|
const appsQuery = useAppsQuery()
|
||||||
|
|
||||||
|
const [pushEnabled, setPushEnabled] = useState<boolean>()
|
||||||
|
const [pushCanAskAgain, setPushCanAskAgain] = useState<boolean>()
|
||||||
|
|
||||||
const checkPush = async () => {
|
const checkPush = async () => {
|
||||||
const permissions = await Notifications.getPermissionsAsync()
|
const permissions = await Notifications.getPermissionsAsync()
|
||||||
setPushEnabled(permissions.granted)
|
setPushEnabled(permissions.granted)
|
||||||
@ -47,6 +50,9 @@ const TabMePush: React.FC = () => {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
checkPush()
|
checkPush()
|
||||||
}, [])
|
}, [])
|
||||||
|
useEffect(() => {
|
||||||
|
checkPush()
|
||||||
|
}, [pushEnabled])
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const subscription = AppState.addEventListener('change', checkPush)
|
const subscription = AppState.addEventListener('change', checkPush)
|
||||||
return () => {
|
return () => {
|
||||||
@ -54,9 +60,6 @@ const TabMePush: React.FC = () => {
|
|||||||
}
|
}
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const [pushEnabled, setPushEnabled] = useState<boolean>()
|
|
||||||
const [pushCanAskAgain, setPushCanAskAgain] = useState<boolean>()
|
|
||||||
|
|
||||||
const alerts = () =>
|
const alerts = () =>
|
||||||
push?.alerts
|
push?.alerts
|
||||||
? PUSH_DEFAULT().map(alert => (
|
? PUSH_DEFAULT().map(alert => (
|
||||||
@ -121,7 +124,7 @@ const TabMePush: React.FC = () => {
|
|||||||
<ScrollView>
|
<ScrollView>
|
||||||
{!!appsQuery.data?.vapid_key ? (
|
{!!appsQuery.data?.vapid_key ? (
|
||||||
<>
|
<>
|
||||||
{!!expoToken?.length ? (
|
{!!expoToken?.length || (!expoToken?.length && !pushEnabled) ? (
|
||||||
<>
|
<>
|
||||||
{pushEnabled === false ? (
|
{pushEnabled === false ? (
|
||||||
<MenuContainer>
|
<MenuContainer>
|
||||||
|
@ -392,7 +392,7 @@ const TabSharedToot: React.FC<TabSharedStackScreenProps<'Tab-Shared-Toot'>> = ({
|
|||||||
StyleConstants.Spacing.S
|
StyleConstants.Spacing.S
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
{leadingItem._level > 1
|
{Platform.OS !== 'android' && leadingItem._level > 1
|
||||||
? [...new Array(leadingItem._level - 1)].map((_, i) => (
|
? [...new Array(leadingItem._level - 1)].map((_, i) => (
|
||||||
<Svg key={i} style={{ position: 'absolute', top: -1 }}>
|
<Svg key={i} style={{ position: 'absolute', top: -1 }}>
|
||||||
<Path
|
<Path
|
||||||
|
22
yarn.lock
22
yarn.lock
@ -3017,12 +3017,12 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@react-native-camera-roll/camera-roll@npm:^5.2.4":
|
"@react-native-camera-roll/camera-roll@npm:^5.3.0":
|
||||||
version: 5.2.4
|
version: 5.3.0
|
||||||
resolution: "@react-native-camera-roll/camera-roll@npm:5.2.4"
|
resolution: "@react-native-camera-roll/camera-roll@npm:5.3.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react-native: ">=0.59"
|
react-native: ">=0.59"
|
||||||
checksum: cd75ae079ad8784934abfeb968f031bf68814be2abbf306ae67979b8839e6ea9274c86f7749edfda9ecefd38eed53ec8c1d2fb9cf794efa13540423c8dac6bf8
|
checksum: 89f439802c21d7d5e8a52798aa962bce4b992a46422a1eb780f3af6a09c5985e1baab83363f833c99deb73fbf5b8451bee9c9b646c38667ec1a748ff2f4eaf0c
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -11450,7 +11450,7 @@ __metadata:
|
|||||||
"@mattermost/react-native-paste-input": ^0.6.2
|
"@mattermost/react-native-paste-input": ^0.6.2
|
||||||
"@neverdull-agency/expo-unlimited-secure-store": ^1.0.10
|
"@neverdull-agency/expo-unlimited-secure-store": ^1.0.10
|
||||||
"@react-native-async-storage/async-storage": ~1.17.11
|
"@react-native-async-storage/async-storage": ~1.17.11
|
||||||
"@react-native-camera-roll/camera-roll": ^5.2.4
|
"@react-native-camera-roll/camera-roll": ^5.3.0
|
||||||
"@react-native-clipboard/clipboard": ^1.11.2
|
"@react-native-clipboard/clipboard": ^1.11.2
|
||||||
"@react-native-community/blur": ^4.3.0
|
"@react-native-community/blur": ^4.3.0
|
||||||
"@react-native-community/netinfo": 9.3.7
|
"@react-native-community/netinfo": 9.3.7
|
||||||
@ -11525,7 +11525,7 @@ __metadata:
|
|||||||
rn-placeholder: ^3.0.3
|
rn-placeholder: ^3.0.3
|
||||||
typescript: ^4.9.5
|
typescript: ^4.9.5
|
||||||
url-parse: ^1.5.10
|
url-parse: ^1.5.10
|
||||||
zeego: ^1.1.0
|
zeego: ^1.3.1
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
linkType: soft
|
linkType: soft
|
||||||
|
|
||||||
@ -12326,9 +12326,9 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"zeego@npm:^1.1.0":
|
"zeego@npm:^1.3.1":
|
||||||
version: 1.1.0
|
version: 1.3.1
|
||||||
resolution: "zeego@npm:1.1.0"
|
resolution: "zeego@npm:1.3.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@radix-ui/react-context-menu": ^2.0.1
|
"@radix-ui/react-context-menu": ^2.0.1
|
||||||
"@radix-ui/react-dropdown-menu": ^2.0.1
|
"@radix-ui/react-dropdown-menu": ^2.0.1
|
||||||
@ -12337,7 +12337,7 @@ __metadata:
|
|||||||
"@react-native-menu/menu": "*"
|
"@react-native-menu/menu": "*"
|
||||||
react: "*"
|
react: "*"
|
||||||
react-native: "*"
|
react-native: "*"
|
||||||
react-native-ios-context-menu: ^1.14.0
|
react-native-ios-context-menu: ^1.15.1
|
||||||
checksum: 61c5d8406394814e9e7659cd2534abd6d77911cfc8f19f2821a677b5cbe5bbf1d43d397c305a5b8620e359cd68d24b955d87219befaaa1d2449cd68dc39d6586
|
checksum: 2d8c568e72ba6ac1f39e9685016edf13585002511f4e80fd41eecd0c42d4d84442c00fe0ad59aee0a4aedc658c6cd1c29fee30ad176a14bd83d288f45d3808e1
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
Loading…
x
Reference in New Issue
Block a user