mirror of
https://github.com/tooot-app/app
synced 2025-06-05 22:19:13 +02:00
@ -29,7 +29,7 @@ audio()
|
|||||||
push()
|
push()
|
||||||
|
|
||||||
log('log', 'react-query', 'initializing')
|
log('log', 'react-query', 'initializing')
|
||||||
const queryClient = new QueryClient()
|
export const queryClient = new QueryClient()
|
||||||
|
|
||||||
log('log', 'react-native-screens', 'initializing')
|
log('log', 'react-native-screens', 'initializing')
|
||||||
enableScreens()
|
enableScreens()
|
||||||
|
@ -23,18 +23,21 @@ export interface Props {
|
|||||||
reblog: boolean
|
reblog: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
const TimelineActions = React.memo(
|
const TimelineActions: React.FC<Props> = ({
|
||||||
({ queryKey, rootQueryKey, highlighted, status, accts, reblog }: Props) => {
|
queryKey,
|
||||||
|
rootQueryKey,
|
||||||
|
highlighted,
|
||||||
|
status,
|
||||||
|
accts,
|
||||||
|
reblog
|
||||||
|
}) => {
|
||||||
const navigation = useNavigation()
|
const navigation = useNavigation()
|
||||||
const { t } = useTranslation('componentTimeline')
|
const { t } = useTranslation('componentTimeline')
|
||||||
const { mode, theme } = useTheme()
|
const { mode, theme } = useTheme()
|
||||||
const iconColor = theme.secondary
|
const iconColor = theme.secondary
|
||||||
const iconColorAction = (state: boolean) =>
|
|
||||||
state ? theme.primaryDefault : theme.secondary
|
|
||||||
|
|
||||||
const queryClient = useQueryClient()
|
const queryClient = useQueryClient()
|
||||||
const mutation = useTimelineMutation({
|
const mutation = useTimelineMutation({
|
||||||
queryClient,
|
|
||||||
onMutate: true,
|
onMutate: true,
|
||||||
onSuccess: (_, params) => {
|
onSuccess: (_, params) => {
|
||||||
const theParams = params as MutationVarsTimelineUpdateStatusProperty
|
const theParams = params as MutationVarsTimelineUpdateStatusProperty
|
||||||
@ -294,9 +297,7 @@ const TimelineActions = React.memo(
|
|||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
)
|
)
|
||||||
},
|
}
|
||||||
() => true
|
|
||||||
)
|
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
actions: {
|
actions: {
|
||||||
|
@ -54,7 +54,6 @@ const HeaderConversation = React.memo(
|
|||||||
|
|
||||||
const queryClient = useQueryClient()
|
const queryClient = useQueryClient()
|
||||||
const mutation = useTimelineMutation({
|
const mutation = useTimelineMutation({
|
||||||
queryClient,
|
|
||||||
onMutate: true,
|
onMutate: true,
|
||||||
onError: (err: any, _, oldData) => {
|
onError: (err: any, _, oldData) => {
|
||||||
displayMessage({
|
displayMessage({
|
||||||
|
@ -45,7 +45,6 @@ const TimelinePoll: React.FC<Props> = ({
|
|||||||
|
|
||||||
const queryClient = useQueryClient()
|
const queryClient = useQueryClient()
|
||||||
const mutation = useTimelineMutation({
|
const mutation = useTimelineMutation({
|
||||||
queryClient,
|
|
||||||
onSuccess: ({ body }, params) => {
|
onSuccess: ({ body }, params) => {
|
||||||
const theParams = params as MutationVarsTimelineUpdateStatusProperty
|
const theParams = params as MutationVarsTimelineUpdateStatusProperty
|
||||||
queryClient.cancelQueries(queryKey)
|
queryClient.cancelQueries(queryKey)
|
||||||
@ -55,7 +54,7 @@ const TimelinePoll: React.FC<Props> = ({
|
|||||||
switch (theParams.payload.property) {
|
switch (theParams.payload.property) {
|
||||||
case 'poll':
|
case 'poll':
|
||||||
theParams.payload.data = (body as unknown) as Mastodon.Poll
|
theParams.payload.data = (body as unknown) as Mastodon.Poll
|
||||||
updateStatusProperty({ queryClient, ...theParams })
|
updateStatusProperty(theParams)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -29,7 +29,6 @@ const ActionsAccount: React.FC<Props> = ({
|
|||||||
|
|
||||||
const queryClient = useQueryClient()
|
const queryClient = useQueryClient()
|
||||||
const mutateion = useTimelineMutation({
|
const mutateion = useTimelineMutation({
|
||||||
queryClient,
|
|
||||||
onSuccess: (_, params) => {
|
onSuccess: (_, params) => {
|
||||||
const theParams = params as MutationVarsTimelineUpdateAccountProperty
|
const theParams = params as MutationVarsTimelineUpdateAccountProperty
|
||||||
displayMessage({
|
displayMessage({
|
||||||
|
@ -30,7 +30,6 @@ const ActionsDomain: React.FC<Props> = ({
|
|||||||
const { t } = useTranslation('componentTimeline')
|
const { t } = useTranslation('componentTimeline')
|
||||||
const queryClient = useQueryClient()
|
const queryClient = useQueryClient()
|
||||||
const mutation = useTimelineMutation({
|
const mutation = useTimelineMutation({
|
||||||
queryClient,
|
|
||||||
onSettled: () => {
|
onSettled: () => {
|
||||||
displayMessage({
|
displayMessage({
|
||||||
mode,
|
mode,
|
||||||
|
@ -34,7 +34,6 @@ const ActionsStatus: React.FC<Props> = ({
|
|||||||
|
|
||||||
const queryClient = useQueryClient()
|
const queryClient = useQueryClient()
|
||||||
const mutation = useTimelineMutation({
|
const mutation = useTimelineMutation({
|
||||||
queryClient,
|
|
||||||
onMutate: true,
|
onMutate: true,
|
||||||
onError: (err: any, params, oldData) => {
|
onError: (err: any, params, oldData) => {
|
||||||
const theFunction = (params as MutationVarsTimelineUpdateStatusProperty)
|
const theFunction = (params as MutationVarsTimelineUpdateStatusProperty)
|
||||||
|
@ -1,15 +1,12 @@
|
|||||||
import apiInstance from '@api/instance'
|
import apiInstance from '@api/instance'
|
||||||
import haptics from '@components/haptics'
|
import haptics from '@components/haptics'
|
||||||
|
import { queryClient } from '@root/App'
|
||||||
import { store } from '@root/store'
|
import { store } from '@root/store'
|
||||||
import {
|
import { getInstanceNotificationsFilter } from '@utils/slices/instancesSlice'
|
||||||
getInstanceActive,
|
|
||||||
getInstanceNotificationsFilter
|
|
||||||
} from '@utils/slices/instancesSlice'
|
|
||||||
import { AxiosError } from 'axios'
|
import { AxiosError } from 'axios'
|
||||||
import { uniqBy } from 'lodash'
|
import { uniqBy } from 'lodash'
|
||||||
import {
|
import {
|
||||||
MutationOptions,
|
MutationOptions,
|
||||||
QueryClient,
|
|
||||||
useInfiniteQuery,
|
useInfiniteQuery,
|
||||||
UseInfiniteQueryOptions,
|
UseInfiniteQueryOptions,
|
||||||
useMutation
|
useMutation
|
||||||
@ -356,13 +353,11 @@ type MutationOptionsTimeline = MutationOptions<
|
|||||||
>
|
>
|
||||||
|
|
||||||
const useTimelineMutation = ({
|
const useTimelineMutation = ({
|
||||||
queryClient,
|
|
||||||
onError,
|
onError,
|
||||||
onMutate,
|
onMutate,
|
||||||
onSettled,
|
onSettled,
|
||||||
onSuccess
|
onSuccess
|
||||||
}: {
|
}: {
|
||||||
queryClient: QueryClient
|
|
||||||
onError?: MutationOptionsTimeline['onError']
|
onError?: MutationOptionsTimeline['onError']
|
||||||
onMutate?: boolean
|
onMutate?: boolean
|
||||||
onSettled?: MutationOptionsTimeline['onSettled']
|
onSettled?: MutationOptionsTimeline['onSettled']
|
||||||
@ -385,10 +380,10 @@ const useTimelineMutation = ({
|
|||||||
haptics('Light')
|
haptics('Light')
|
||||||
switch (params.type) {
|
switch (params.type) {
|
||||||
case 'updateStatusProperty':
|
case 'updateStatusProperty':
|
||||||
updateStatusProperty({ queryClient, ...params })
|
updateStatusProperty(params)
|
||||||
break
|
break
|
||||||
case 'deleteItem':
|
case 'deleteItem':
|
||||||
deleteItem({ queryClient, ...params })
|
deleteItem(params)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
return oldData
|
return oldData
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
import { InfiniteData, QueryClient } from 'react-query'
|
import { queryClient } from '@root/App'
|
||||||
|
import { InfiniteData } from 'react-query'
|
||||||
import { MutationVarsTimelineDeleteItem } from '../timeline'
|
import { MutationVarsTimelineDeleteItem } from '../timeline'
|
||||||
|
|
||||||
const deleteItem = ({
|
const deleteItem = ({
|
||||||
queryClient,
|
|
||||||
queryKey,
|
queryKey,
|
||||||
rootQueryKey,
|
rootQueryKey,
|
||||||
id
|
id
|
||||||
}: {
|
}: {
|
||||||
queryClient: QueryClient
|
|
||||||
queryKey?: MutationVarsTimelineDeleteItem['queryKey']
|
queryKey?: MutationVarsTimelineDeleteItem['queryKey']
|
||||||
rootQueryKey?: MutationVarsTimelineDeleteItem['rootQueryKey']
|
rootQueryKey?: MutationVarsTimelineDeleteItem['rootQueryKey']
|
||||||
id: MutationVarsTimelineDeleteItem['id']
|
id: MutationVarsTimelineDeleteItem['id']
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
|
import { queryClient } from '@root/App'
|
||||||
import { findIndex } from 'lodash'
|
import { findIndex } from 'lodash'
|
||||||
import { InfiniteData, QueryClient } from 'react-query'
|
import { InfiniteData } from 'react-query'
|
||||||
import {
|
import {
|
||||||
MutationVarsTimelineUpdateStatusProperty,
|
MutationVarsTimelineUpdateStatusProperty,
|
||||||
TimelineData
|
TimelineData
|
||||||
@ -9,14 +10,12 @@ import updateNotification from './update/notification'
|
|||||||
import updateStatus from './update/status'
|
import updateStatus from './update/status'
|
||||||
|
|
||||||
const updateStatusProperty = ({
|
const updateStatusProperty = ({
|
||||||
queryClient,
|
|
||||||
queryKey,
|
queryKey,
|
||||||
rootQueryKey,
|
rootQueryKey,
|
||||||
id,
|
id,
|
||||||
reblog,
|
reblog,
|
||||||
payload
|
payload
|
||||||
}: {
|
}: {
|
||||||
queryClient: QueryClient
|
|
||||||
queryKey: MutationVarsTimelineUpdateStatusProperty['queryKey']
|
queryKey: MutationVarsTimelineUpdateStatusProperty['queryKey']
|
||||||
rootQueryKey?: MutationVarsTimelineUpdateStatusProperty['rootQueryKey']
|
rootQueryKey?: MutationVarsTimelineUpdateStatusProperty['rootQueryKey']
|
||||||
id: MutationVarsTimelineUpdateStatusProperty['id']
|
id: MutationVarsTimelineUpdateStatusProperty['id']
|
||||||
|
Reference in New Issue
Block a user