mirror of https://github.com/tooot-app/app
Merge branch 'main' into release
This commit is contained in:
commit
9c0b33fb4e
|
@ -1,6 +1,6 @@
|
||||||
import { useAccessibility } from '@utils/accessibility/AccessibilityManager'
|
import { useAccessibility } from '@utils/accessibility/AccessibilityManager'
|
||||||
import { useTheme } from '@utils/styles/ThemeManager'
|
import { useTheme } from '@utils/styles/ThemeManager'
|
||||||
import React, { useState } from 'react'
|
import React, { useEffect, useState } from 'react'
|
||||||
import {
|
import {
|
||||||
AccessibilityProps,
|
AccessibilityProps,
|
||||||
Image,
|
Image,
|
||||||
|
@ -59,6 +59,11 @@ const GracefullyImage = ({
|
||||||
const source = {
|
const source = {
|
||||||
uri: reduceMotionEnabled && uri.static ? uri.static : currentUri
|
uri: reduceMotionEnabled && uri.static ? uri.static : currentUri
|
||||||
}
|
}
|
||||||
|
useEffect(() => {
|
||||||
|
if (currentUri !== uri.original && currentUri !== uri.remote) {
|
||||||
|
setCurrentUri(uri.original || uri.remote)
|
||||||
|
}
|
||||||
|
}, [currentUri, uri.original, uri.remote])
|
||||||
|
|
||||||
const blurhashView = () => {
|
const blurhashView = () => {
|
||||||
if (hidden || !imageLoaded) {
|
if (hidden || !imageLoaded) {
|
||||||
|
|
|
@ -55,7 +55,7 @@ const Root: React.FC<NativeStackScreenProps<TabLocalStackParamList, 'Tab-Local-R
|
||||||
: t('tabs.local.name')
|
: t('tabs.local.name')
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
{page.page === 'Following' && !pageLocal.showBoosts ? (
|
{page.page === 'Following' && !pageLocal?.showBoosts ? (
|
||||||
<Icon
|
<Icon
|
||||||
name='Repeat'
|
name='Repeat'
|
||||||
size={StyleConstants.Font.Size.M}
|
size={StyleConstants.Font.Size.M}
|
||||||
|
@ -64,7 +64,7 @@ const Root: React.FC<NativeStackScreenProps<TabLocalStackParamList, 'Tab-Local-R
|
||||||
crossOut
|
crossOut
|
||||||
/>
|
/>
|
||||||
) : null}
|
) : null}
|
||||||
{page.page === 'Following' && !pageLocal.showReplies ? (
|
{page.page === 'Following' && !pageLocal?.showReplies ? (
|
||||||
<Icon
|
<Icon
|
||||||
name='MessageCircle'
|
name='MessageCircle'
|
||||||
size={StyleConstants.Font.Size.M}
|
size={StyleConstants.Font.Size.M}
|
||||||
|
@ -94,20 +94,20 @@ const Root: React.FC<NativeStackScreenProps<TabLocalStackParamList, 'Tab-Local-R
|
||||||
</DropdownMenu.Item>
|
</DropdownMenu.Item>
|
||||||
<DropdownMenu.CheckboxItem
|
<DropdownMenu.CheckboxItem
|
||||||
key='showBoosts'
|
key='showBoosts'
|
||||||
value={pageLocal.showBoosts ? 'on' : 'off'}
|
value={pageLocal?.showBoosts ? 'on' : 'off'}
|
||||||
onValueChange={() => {
|
onValueChange={() => {
|
||||||
setQueryKey([
|
setQueryKey([
|
||||||
'Timeline',
|
'Timeline',
|
||||||
{
|
{
|
||||||
page: 'Following',
|
page: 'Following',
|
||||||
showBoosts: !pageLocal.showBoosts,
|
showBoosts: !pageLocal?.showBoosts,
|
||||||
showReplies: pageLocal.showReplies
|
showReplies: pageLocal?.showReplies
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
setAccountStorage([
|
setAccountStorage([
|
||||||
{
|
{
|
||||||
key: 'page_local',
|
key: 'page_local',
|
||||||
value: { ...pageLocal, showBoosts: !pageLocal.showBoosts }
|
value: { ...pageLocal, showBoosts: !pageLocal?.showBoosts }
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
}}
|
}}
|
||||||
|
@ -117,20 +117,20 @@ const Root: React.FC<NativeStackScreenProps<TabLocalStackParamList, 'Tab-Local-R
|
||||||
</DropdownMenu.CheckboxItem>
|
</DropdownMenu.CheckboxItem>
|
||||||
<DropdownMenu.CheckboxItem
|
<DropdownMenu.CheckboxItem
|
||||||
key='showReplies'
|
key='showReplies'
|
||||||
value={pageLocal.showReplies ? 'on' : 'off'}
|
value={pageLocal?.showReplies ? 'on' : 'off'}
|
||||||
onValueChange={() => {
|
onValueChange={() => {
|
||||||
setQueryKey([
|
setQueryKey([
|
||||||
'Timeline',
|
'Timeline',
|
||||||
{
|
{
|
||||||
page: 'Following',
|
page: 'Following',
|
||||||
showBoosts: pageLocal.showBoosts,
|
showBoosts: pageLocal?.showBoosts,
|
||||||
showReplies: !pageLocal.showReplies
|
showReplies: !pageLocal?.showReplies
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
setAccountStorage([
|
setAccountStorage([
|
||||||
{
|
{
|
||||||
key: 'page_local',
|
key: 'page_local',
|
||||||
value: { ...pageLocal, showReplies: !pageLocal.showReplies }
|
value: { ...pageLocal, showReplies: !pageLocal?.showReplies }
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
}}
|
}}
|
||||||
|
|
|
@ -2,6 +2,7 @@ import { MenuContainer, MenuRow } from '@components/Menu'
|
||||||
import { useNavigation } from '@react-navigation/native'
|
import { useNavigation } from '@react-navigation/native'
|
||||||
import { useAnnouncementQuery } from '@utils/queryHooks/announcement'
|
import { useAnnouncementQuery } from '@utils/queryHooks/announcement'
|
||||||
import { useListsQuery } from '@utils/queryHooks/lists'
|
import { useListsQuery } from '@utils/queryHooks/lists'
|
||||||
|
import { useFollowedTagsQuery } from '@utils/queryHooks/tags'
|
||||||
import { useAccountStorage } from '@utils/storage/actions'
|
import { useAccountStorage } from '@utils/storage/actions'
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
|
@ -17,6 +18,12 @@ const Collections: React.FC = () => {
|
||||||
onSuccess: data => setPageMe({ ...pageMe, lists: { shown: !!data?.length } })
|
onSuccess: data => setPageMe({ ...pageMe, lists: { shown: !!data?.length } })
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
useFollowedTagsQuery({
|
||||||
|
options: {
|
||||||
|
onSuccess: data =>
|
||||||
|
setPageMe({ ...pageMe, followedTags: { shown: !!data.pages[0].body.length } })
|
||||||
|
}
|
||||||
|
})
|
||||||
useAnnouncementQuery({
|
useAnnouncementQuery({
|
||||||
showAll: true,
|
showAll: true,
|
||||||
options: {
|
options: {
|
||||||
|
|
|
@ -198,16 +198,12 @@ const TabSharedToot: React.FC<TabSharedStackScreenProps<'Tab-Shared-Toot'>> = ({
|
||||||
queryClient.setQueryData<{
|
queryClient.setQueryData<{
|
||||||
pages: { body: Mastodon.Status[] }[]
|
pages: { body: Mastodon.Status[] }[]
|
||||||
}>(queryKey.local, old => {
|
}>(queryKey.local, old => {
|
||||||
if (!old) return old
|
|
||||||
|
|
||||||
setHasRemoteContent(true)
|
setHasRemoteContent(true)
|
||||||
return {
|
return {
|
||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
body: data.map(remote => {
|
body: data.map(remote => {
|
||||||
const localMatch = query.data?.pages[0].body.find(
|
const localMatch = old?.pages[0].body.find(local => local.uri === remote.uri)
|
||||||
local => local.uri === remote.uri
|
|
||||||
)
|
|
||||||
if (localMatch) {
|
if (localMatch) {
|
||||||
return { ...localMatch, _level: remote._level }
|
return { ...localMatch, _level: remote._level }
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue