Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | 6x 6x 6x 14x 14x 2x 2x 2x 2x 2x 2x 2x 6x 6x 6x 17x | import { MessageThreadCategory } from "proto/conversations_pb";
import { HostRequestStatus } from "proto/messages_pb";
import { MessageFilterType } from "routes";
import { assertNever } from "utils/assertNever";
// Maps a URL filter slug to the unified ListMessageThreads request params.
// categories, onlyUnread and onlyArchived are orthogonal; an empty categories
// list means all categories.
export function messageFilterToRequest(filter: MessageFilterType): {
categories: MessageThreadCategory[];
onlyUnread: boolean;
onlyArchived: boolean;
} {
switch (filter) {
case "unread":
return { categories: [], onlyUnread: true, onlyArchived: false };
case "chats":
return {
categories: [MessageThreadCategory.MESSAGE_THREAD_CATEGORY_CHATS],
onlyUnread: false,
onlyArchived: false,
};
case "hosting":
return {
categories: [MessageThreadCategory.MESSAGE_THREAD_CATEGORY_HOSTING],
onlyUnread: false,
onlyArchived: false,
};
case "surfing":
return {
categories: [MessageThreadCategory.MESSAGE_THREAD_CATEGORY_SURFING],
onlyUnread: false,
onlyArchived: false,
};
case "public-trips":
return {
categories: [MessageThreadCategory.MESSAGE_THREAD_CATEGORY_MY_PUBLIC_TRIPS],
onlyUnread: false,
onlyArchived: false,
};
case "archived":
return { categories: [], onlyUnread: false, onlyArchived: true };
case "all":
return { categories: [], onlyUnread: false, onlyArchived: false };
default:
return assertNever(filter);
}
}
export const requestStatusToTransKey = {
[HostRequestStatus.HOST_REQUEST_STATUS_ACCEPTED]: "host_request_status.accepted",
[HostRequestStatus.HOST_REQUEST_STATUS_CANCELLED]: "host_request_status.cancelled",
[HostRequestStatus.HOST_REQUEST_STATUS_CONFIRMED]: "host_request_status.confirmed",
[HostRequestStatus.HOST_REQUEST_STATUS_PENDING]: "host_request_status.pending",
[HostRequestStatus.HOST_REQUEST_STATUS_REJECTED]: "host_request_status.rejected",
} as const;
export const requestStatusChangedMessageToTransKey = {
[HostRequestStatus.HOST_REQUEST_STATUS_ACCEPTED]: "control_message.host_request_status_changed.accepted",
[HostRequestStatus.HOST_REQUEST_STATUS_CANCELLED]: "control_message.host_request_status_changed.cancelled",
[HostRequestStatus.HOST_REQUEST_STATUS_CONFIRMED]: "control_message.host_request_status_changed.confirmed",
[HostRequestStatus.HOST_REQUEST_STATUS_REJECTED]: "control_message.host_request_status_changed.rejected",
// There's no flow in which a request status transitions back to pending.
[HostRequestStatus.HOST_REQUEST_STATUS_PENDING]: null,
} as const;
export const requestStatusChangedMessageToSelfTransKey = {
[HostRequestStatus.HOST_REQUEST_STATUS_ACCEPTED]: "control_message.host_request_status_changed.accepted_self",
[HostRequestStatus.HOST_REQUEST_STATUS_CANCELLED]: "control_message.host_request_status_changed.cancelled_self",
[HostRequestStatus.HOST_REQUEST_STATUS_CONFIRMED]: "control_message.host_request_status_changed.confirmed_self",
[HostRequestStatus.HOST_REQUEST_STATUS_REJECTED]: "control_message.host_request_status_changed.rejected_self",
[HostRequestStatus.HOST_REQUEST_STATUS_PENDING]: null,
} as const;
export const MARK_LAST_SEEN_TIMEOUT = 500;
|