diff --git a/app/javascript/flavours/glitch/api_types/notifications.ts b/app/javascript/flavours/glitch/api_types/notifications.ts
index a54d2d3b50..a5cb12d7ca 100644
--- a/app/javascript/flavours/glitch/api_types/notifications.ts
+++ b/app/javascript/flavours/glitch/api_types/notifications.ts
@@ -31,7 +31,8 @@ export type NotificationWithStatusType =
| 'mention'
| 'quote'
| 'poll'
- | 'update';
+ | 'update'
+ | 'quoted_update';
export type NotificationType =
| NotificationWithStatusType
diff --git a/app/javascript/flavours/glitch/components/status_prepend.jsx b/app/javascript/flavours/glitch/components/status_prepend.jsx
index 41589061da..32e106f0e4 100644
--- a/app/javascript/flavours/glitch/components/status_prepend.jsx
+++ b/app/javascript/flavours/glitch/components/status_prepend.jsx
@@ -7,6 +7,7 @@ import { FormattedMessage } from 'react-intl';
import ImmutablePropTypes from 'react-immutable-proptypes';
import EditIcon from '@/material-icons/400-24px/edit.svg?react';
+import FormatQuoteIcon from '@/material-icons/400-24px/format_quote.svg?react';
import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react';
import InsertChartIcon from '@/material-icons/400-24px/insert_chart.svg?react';
import PushPinIcon from '@/material-icons/400-24px/push_pin.svg?react';
@@ -101,6 +102,14 @@ export default class StatusPrepend extends PureComponent {
values={{ name: link }}
/>
);
+ case 'quoted_update':
+ return (
+
+ );
case 'quote':
return (
+ );
+ }
+
renderPoll (notification) {
return (
);
break;
+ case 'quoted_update':
+ content = (
+
+ );
+ break;
case 'admin.sign_up':
content = (
(
+
+);
+
+export const NotificationQuotedUpdate: React.FC<{
+ notification: NotificationGroupQuotedUpdate;
+ unread: boolean;
+}> = ({ notification, unread }) => (
+
+);
diff --git a/app/javascript/flavours/glitch/models/notification_group.ts b/app/javascript/flavours/glitch/models/notification_group.ts
index 06e1cbed43..73b3bef96e 100644
--- a/app/javascript/flavours/glitch/models/notification_group.ts
+++ b/app/javascript/flavours/glitch/models/notification_group.ts
@@ -39,6 +39,8 @@ export type NotificationGroupMention = BaseNotificationWithStatus<'mention'>;
export type NotificationGroupQuote = BaseNotificationWithStatus<'quote'>;
export type NotificationGroupPoll = BaseNotificationWithStatus<'poll'>;
export type NotificationGroupUpdate = BaseNotificationWithStatus<'update'>;
+export type NotificationGroupQuotedUpdate =
+ BaseNotificationWithStatus<'quoted_update'>;
export type NotificationGroupFollow = BaseNotification<'follow'>;
export type NotificationGroupFollowRequest = BaseNotification<'follow_request'>;
export type NotificationGroupAdminSignUp = BaseNotification<'admin.sign_up'>;
@@ -91,6 +93,7 @@ export type NotificationGroup =
| NotificationGroupQuote
| NotificationGroupPoll
| NotificationGroupUpdate
+ | NotificationGroupQuotedUpdate
| NotificationGroupFollow
| NotificationGroupFollowRequest
| NotificationGroupModerationWarning
@@ -141,7 +144,8 @@ export function createNotificationGroupFromJSON(
case 'mention':
case 'quote':
case 'poll':
- case 'update': {
+ case 'update':
+ case 'quoted_update': {
const { status_id: statusId, ...groupWithoutStatus } = group;
return {
statusId: statusId ?? undefined,
@@ -215,6 +219,7 @@ export function createNotificationGroupFromNotificationJSON(
case 'quote':
case 'poll':
case 'update':
+ case 'quoted_update':
return {
...group,
type: notification.type,