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-15 19:31:20 +01:00
parent 2f3e398d70
commit 0e348dcef1
9 changed files with 122 additions and 103 deletions

View File

@ -3,13 +3,17 @@ import Icon from '@components/Icon'
import { MenuContainer, MenuRow } from '@components/Menu'
import CustomText from '@components/Text'
import browserPackage from '@helpers/browserPackage'
import { checkPermission } from '@helpers/permissions'
import { useAppDispatch } from '@root/store'
import { isDevelopment } from '@utils/checkEnvironment'
import { useAppsQuery } from '@utils/queryHooks/apps'
import { useProfileQuery } from '@utils/queryHooks/profile'
import { getExpoToken, retrieveExpoToken } from '@utils/slices/appSlice'
import { PUSH_ADMIN, PUSH_DEFAULT, setChannels } from '@utils/slices/instances/push/utils'
import {
PUSH_ADMIN,
PUSH_DEFAULT,
setChannels,
usePushFeatures
} from '@utils/slices/instances/push/utils'
import { updateInstancePush } from '@utils/slices/instances/updatePush'
import { updateInstancePushAlert } from '@utils/slices/instances/updatePushAlert'
import { updateInstancePushDecode } from '@utils/slices/instances/updatePushDecode'
@ -73,9 +77,11 @@ const TabMePush: React.FC = () => {
}
}, [appsQuery.data?.vapid_key])
const pushFeatures = usePushFeatures()
const alerts = () =>
instancePush?.alerts
? PUSH_DEFAULT.map(alert => (
? PUSH_DEFAULT(pushFeatures).map(alert => (
<MenuRow
key={alert}
title={t(`me.push.${alert}.heading`)}
@ -98,26 +104,24 @@ const TabMePush: React.FC = () => {
const profileQuery = useProfileQuery()
const adminAlerts = () =>
profileQuery.data?.role?.permissions
? PUSH_ADMIN.map(({ type, permission }) =>
checkPermission(permission, profileQuery.data.role?.permissions) ? (
<MenuRow
key={type}
title={t(`me.push.${type}.heading`)}
switchDisabled={!pushEnabled || !instancePush.global}
switchValue={instancePush?.alerts[type]}
switchOnValueChange={() =>
dispatch(
updateInstancePushAlert({
alerts: {
...instancePush?.alerts,
[type]: instancePush?.alerts[type]
}
})
)
}
/>
) : null
)
? PUSH_ADMIN(pushFeatures, profileQuery.data?.role?.permissions).map(({ type }) => (
<MenuRow
key={type}
title={t(`me.push.${type}.heading`)}
switchDisabled={!pushEnabled || !instancePush.global}
switchValue={instancePush?.alerts[type]}
switchOnValueChange={() =>
dispatch(
updateInstancePushAlert({
alerts: {
...instancePush?.alerts,
[type]: instancePush?.alerts[type]
}
})
)
}
/>
))
: null
return (