mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-09-21 07:28:30 +03:00
interface: check notification availability
This commit is contained in:
parent
1740a7046e
commit
bbd244e634
@ -339,7 +339,7 @@ function added(json: any, state: HarkState): HarkState {
|
||||
const { index, notification } = data;
|
||||
const time = makePatDa(data.time);
|
||||
|
||||
if (!useHarkState.getState().doNotDisturb) {
|
||||
if ('Notification' in window && !useHarkState.getState().doNotDisturb) {
|
||||
const description = describeNotification(data);
|
||||
const meta = useMetadataState.getState();
|
||||
const referent = 'graph' in data.index ? meta.associations.graph[data.index.graph.graph]?.metadata?.title ?? data.index.graph : meta.associations.groups[data.index.group.group]?.metadata?.title ?? data.index.group;
|
||||
|
@ -7,14 +7,13 @@ import {
|
||||
|
||||
ManagedToggleSwitchField as Toggle, Text
|
||||
} from '@tlon/indigo-react';
|
||||
import { Form, Formik, FormikHelpers } from 'formik';
|
||||
import { Form, FormikHelpers } from 'formik';
|
||||
import _ from 'lodash';
|
||||
import React, { useCallback, useState } from 'react';
|
||||
import GlobalApi from '~/logic/api/global';
|
||||
import { isWatching } from '~/logic/lib/hark';
|
||||
import useHarkState from '~/logic/state/hark';
|
||||
import { AsyncButton } from '~/views/components/AsyncButton';
|
||||
import {FormikOnBlur} from '~/views/components/FormikOnBlur';
|
||||
import { FormikOnBlur } from '~/views/components/FormikOnBlur';
|
||||
import { BackButton } from './BackButton';
|
||||
import { GroupChannelPicker } from './GroupChannelPicker';
|
||||
|
||||
@ -74,7 +73,7 @@ export function NotificationPreferences(props: {
|
||||
}
|
||||
}, [api, graphConfig, dnd]);
|
||||
|
||||
const [notificationsAllowed, setNotificationsAllowed] = useState(Notification.permission !== 'default');
|
||||
const [notificationsAllowed, setNotificationsAllowed] = useState('Notification' in window && Notification.permission !== 'default');
|
||||
|
||||
return (
|
||||
<>
|
||||
@ -92,7 +91,7 @@ export function NotificationPreferences(props: {
|
||||
<FormikOnBlur initialValues={initialValues} onSubmit={onSubmit}>
|
||||
<Form>
|
||||
<Col gapY="4">
|
||||
{notificationsAllowed
|
||||
{notificationsAllowed || !('Notification' in window)
|
||||
? null
|
||||
: <Button alignSelf='flex-start' onClick={() => {
|
||||
Notification.requestPermission().then(() => {
|
||||
|
Loading…
Reference in New Issue
Block a user