import { useLingui } from "@lingui/react" import { Trans } from "@lingui/react/macro" import { Button, Group, Select, Stack, TextInput } from "@mantine/core" import { useForm } from "@mantine/form" import { useEffect } from "react" import { TbDeviceFloppy } from "react-icons/tb" import { redirectToSelectedSource } from "@/app/redirect/thunks" import { useAppDispatch, useAppSelector } from "@/app/store" import type { PushNotificationSettings as PushNotificationSettingsModel } from "@/app/types" import { changeNotificationSettings } from "@/app/user/thunks" export function PushNotificationSettings() { const notificationSettings = useAppSelector(state => state.user.settings?.pushNotificationSettings) const pushNotificationsEnabled = useAppSelector(state => state.server.serverInfos?.pushNotificationsEnabled) const { _ } = useLingui() const dispatch = useAppDispatch() const form = useForm() useEffect(() => { if (notificationSettings) form.initialize(notificationSettings) }, [form.initialize, notificationSettings]) const handleSubmit = (values: PushNotificationSettingsModel) => { dispatch(changeNotificationSettings(values)) } const typeInputProps = form.getInputProps("type") if (!pushNotificationsEnabled) { return Push notifications are not enabled on this CommaFeed instance. } return (