Add href links to notification menu entries (#1699)

* Add href links to notification menu entries

* Add href link to notification page
This commit is contained in:
Rave | 図書館猫 2022-06-16 14:42:16 +02:00 committed by GitHub
parent 8006cf1bf9
commit 268130a913
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -21,6 +21,7 @@ import UriIndicator from 'component/uriIndicator';
import { generateNotificationTitle } from '../notification/helpers/title'; import { generateNotificationTitle } from '../notification/helpers/title';
import { generateNotificationText } from '../notification/helpers/text'; import { generateNotificationText } from '../notification/helpers/text';
import { parseURI } from 'util/lbryURI'; import { parseURI } from 'util/lbryURI';
import { NavLink } from 'react-router-dom';
type Props = { type Props = {
notifications: Array<Notification>, notifications: Array<Notification>,
@ -115,6 +116,15 @@ export default function NotificationHeaderButton(props: Props) {
push(notificationLink); push(notificationLink);
} }
function getWebUri(notification) {
const { notification_parameters } = notification;
let notificationLink = formatLbryUrlForWeb(notification_parameters.device.target);
if (notification_parameters.dynamic.hash) {
notificationLink += '?lc=' + notification_parameters.dynamic.hash + '&view=discussion';
}
return notificationLink;
}
function menuEntry(notification) { function menuEntry(notification) {
const { id, active_at, notification_rule, notification_parameters, is_read, type } = notification; const { id, active_at, notification_rule, notification_parameters, is_read, type } = notification;
@ -163,7 +173,7 @@ export default function NotificationHeaderButton(props: Props) {
} }
return ( return (
<a onClick={() => handleNotificationClick(notification)} key={id}> <NavLink onClick={() => handleNotificationClick(notification)} key={id} to={getWebUri(notification)}>
<div <div
className={is_read ? 'menu__list--notification' : 'menu__list--notification menu__list--notification-unread'} className={is_read ? 'menu__list--notification' : 'menu__list--notification menu__list--notification-unread'}
key={id} key={id}
@ -187,7 +197,7 @@ export default function NotificationHeaderButton(props: Props) {
<Icon icon={ICONS.DELETE} sectionIcon /> <Icon icon={ICONS.DELETE} sectionIcon />
</div> </div>
</div> </div>
</a> </NavLink>
); );
} }
@ -218,9 +228,9 @@ export default function NotificationHeaderButton(props: Props) {
)} )}
</div> </div>
<a onClick={handleMenuClick}> <NavLink onClick={handleMenuClick} to={`/$/${PAGES.NOTIFICATIONS}`}>
<div className="menu__list--notifications-more">{__('View all')}</div> <div className="menu__list--notifications-more">{__('View all')}</div>
</a> </NavLink>
</MuiMenu> </MuiMenu>
</ClickAwayListener> </ClickAwayListener>
</> </>