1
0
mirror of https://github.com/tooot-app/app synced 2025-06-05 22:19:13 +02:00
This commit is contained in:
xmflsct
2022-12-23 18:49:50 +01:00
parent f3c40e9486
commit 3594500b3e
7 changed files with 35 additions and 6 deletions

View File

@ -33,7 +33,7 @@ const RelationshipIncoming: React.FC<Props> = ({ id }) => {
type: 'error', type: 'error',
theme, theme,
message: t('common:message.error.message', { message: t('common:message.error.message', {
function: t(`componentRelationship:${type}.function`) function: t(`componentRelationship:${type}.function` as any)
}), }),
...(err.status && ...(err.status &&
typeof err.status === 'number' && typeof err.status === 'number' &&

View File

@ -44,7 +44,7 @@ const RelationshipOutgoing: React.FC<Props> = ({ id }: Props) => {
theme, theme,
type: 'error', type: 'error',
message: t('common:message.error.message', { message: t('common:message.error.message', {
function: t(`componentRelationship:${action}.function`) function: t(`componentRelationship:${action}.function` as any)
}), }),
...(err.status && ...(err.status &&
typeof err.status === 'number' && typeof err.status === 'number' &&

View File

@ -60,7 +60,9 @@ const TimelineActions: React.FC = () => {
theme, theme,
type: 'error', type: 'error',
message: t('common:message.error.message', { message: t('common:message.error.message', {
function: t(`componentTimeline:shared.actions.${correctParam.payload.property}.function`) function: t(
`componentTimeline:shared.actions.${correctParam.payload.property}.function` as any
)
}), }),
...(err.status && ...(err.status &&
typeof err.status === 'number' && typeof err.status === 'number' &&

View File

@ -158,6 +158,7 @@ const menuAccount = ({
: 'person.badge.minus' : 'person.badge.minus'
}) })
} }
if (!ownAccount) { if (!ownAccount) {
menus[0].push({ menus[0].push({
key: 'account-list', key: 'account-list',
@ -170,6 +171,25 @@ const menuAccount = ({
title: t('componentContextMenu:account.inLists'), title: t('componentContextMenu:account.inLists'),
icon: 'checklist' icon: 'checklist'
}) })
menus[0].push({
key: 'account-show-boosts',
item: {
onSelect: () =>
relationshipMutation.mutate({
id: account.id,
type: 'outgoing',
payload: { action: 'follow', state: false, reblogs: !data?.showing_reblogs }
}),
disabled: Platform.OS !== 'android' ? !data || !isFetched : false,
destructive: false,
hidden: !isFetched || !data?.following
},
title: t('componentContextMenu:account.showBoosts.action', {
defaultValue: 'false',
context: (data?.showing_reblogs || false).toString()
}),
icon: data?.showing_reblogs ? 'rectangle.on.rectangle.slash' : 'rectangle.on.rectangle'
})
menus[0].push({ menus[0].push({
key: 'account-mute', key: 'account-mute',
item: { item: {
@ -190,9 +210,7 @@ const menuAccount = ({
}), }),
icon: data?.muting ? 'eye' : 'eye.slash' icon: data?.muting ? 'eye' : 'eye.slash'
}) })
}
!ownAccount &&
menus.push([ menus.push([
{ {
key: 'account-block', key: 'account-block',
@ -240,6 +258,7 @@ const menuAccount = ({
icon: 'flag' icon: 'flag'
} }
]) ])
}
return menus return menus
} }

View File

@ -7,6 +7,10 @@
"action_true": "Unfollow user" "action_true": "Unfollow user"
}, },
"inLists": "Manage user of lists", "inLists": "Manage user of lists",
"showBoosts": {
"action_false": "Show user's boosts",
"action_true": "Hide users's boosts"
},
"mute": { "mute": {
"action_false": "Mute user", "action_false": "Mute user",
"action_true": "Unmute user" "action_true": "Unmute user"

View File

@ -183,7 +183,7 @@ const TabSharedAccount: React.FC<TabSharedStackScreenProps<'Tab-Shared-Account'>
ListHeaderComponent, ListHeaderComponent,
maintainVisibleContentPosition: undefined, maintainVisibleContentPosition: undefined,
onRefresh: () => queryClient.refetchQueries(queryKey), onRefresh: () => queryClient.refetchQueries(queryKey),
refreshing: queryClient.getQueryState(queryKey)?.fetchStatus === 'fetching' refreshing: false
}} }}
/> />
)} )}

View File

@ -48,6 +48,7 @@ type MutationVarsRelationship =
payload: { payload: {
action: 'block' action: 'block'
state: boolean state: boolean
reblogs?: undefined
notify?: undefined notify?: undefined
} }
} }
@ -57,6 +58,7 @@ type MutationVarsRelationship =
payload: { payload: {
action: 'follow' action: 'follow'
state: boolean state: boolean
reblogs?: boolean
notify?: boolean notify?: boolean
} }
} }
@ -70,6 +72,8 @@ const mutationFunction = async (params: MutationVarsRelationship) => {
}).then(res => res.body) }).then(res => res.body)
case 'outgoing': case 'outgoing':
const formData = new FormData() const formData = new FormData()
typeof params.payload.reblogs === 'boolean' &&
formData.append('reblogs', params.payload.reblogs.toString())
typeof params.payload.notify === 'boolean' && typeof params.payload.notify === 'boolean' &&
formData.append('notify', params.payload.notify.toString()) formData.append('notify', params.payload.notify.toString())