31 lines
1.3 KiB
TypeScript
31 lines
1.3 KiB
TypeScript
// Metro module 16306 (f16307).
|
|
import { RelationshipTypes } from "../../Constants";
|
|
import { AccessibilityAnnouncer } from "../../design/shared";
|
|
import { intl, t } from "../../intl/index.native";
|
|
import { showPendingNotification, showAcceptedNotification } from "../../utils/RelationshipUtils";
|
|
import AutomaticLifecycleManager from "../../lib/AutomaticLifecycleManager";
|
|
let handleFriendRequestAccepted;
|
|
const handleRelationshipAdd = function handleRelationshipAdd({ relationship }) {
|
|
const userIgnored = relationship.userIgnored;
|
|
if (!(relationship.type !== RelationshipTypes.PENDING_INCOMING || userIgnored)) {
|
|
AccessibilityAnnouncer.announce(intl.formatToPlainString(t.zH0kC7, {
|
|
username: relationship.user.username
|
|
}));
|
|
showPendingNotification(relationship.user);
|
|
}
|
|
};
|
|
handleFriendRequestAccepted = function handleFriendRequestAccepted({ user }) {
|
|
AccessibilityAnnouncer.announce(intl.formatToPlainString(t["/+7xky"], {
|
|
username: user.username
|
|
}));
|
|
showAcceptedNotification(user);
|
|
};
|
|
class RelationshipManager extends AutomaticLifecycleManager {
|
|
actions = {
|
|
RELATIONSHIP_ADD: handleRelationshipAdd,
|
|
FRIEND_REQUEST_ACCEPTED: handleFriendRequestAccepted
|
|
};
|
|
}
|
|
const relationshipManager = new RelationshipManager();
|
|
export default relationshipManager;
|