Merge branch 'feat/inda-383-daily-stat' into 'main'
[ProtonMail-WebClient.git] / packages / redux-shared-store / settingsHeartbeat / mailHeartbeatHelper.ts
blobfdbfd6921e5250440a36e68356796d98f536c15a
1 import {
2     DELAY_IN_SECONDS,
3     IMAGE_PROXY_FLAGS,
4     MAIL_PAGE_SIZE,
5     NEXT_MESSAGE_ON_MOVE,
6     PACKAGE_TYPE,
7     SWIPE_ACTION,
8 } from '@proton/shared/lib/mail/mailSettings';
10 export const getSwipeAction = (swipeAction: SWIPE_ACTION) => {
11     switch (swipeAction) {
12         case SWIPE_ACTION.Archive:
13             return 'archive';
14         case SWIPE_ACTION.MarkAsRead:
15             return 'markAsRead';
16         case SWIPE_ACTION.Spam:
17             return 'spam';
18         case SWIPE_ACTION.Star:
19             return 'star';
20         case SWIPE_ACTION.Trash:
21             return 'trash';
22     }
24 export const getPageSize = (pageSize: MAIL_PAGE_SIZE) => {
25     switch (pageSize) {
26         case MAIL_PAGE_SIZE.FIFTY:
27             return '50';
28         case MAIL_PAGE_SIZE.ONE_HUNDRED:
29             return '100';
30         case MAIL_PAGE_SIZE.TWO_HUNDRED:
31             return '200';
32     }
35 export const getDelaySecond = (delay: DELAY_IN_SECONDS) => {
36     switch (delay) {
37         case DELAY_IN_SECONDS.NONE:
38             return '0';
39         case DELAY_IN_SECONDS.SMALL:
40             return '5';
41         case DELAY_IN_SECONDS.MEDIUM:
42             return '10';
43         case DELAY_IN_SECONDS.LARGE:
44             return '20';
45     }
48 export const getNextMessageOnMove = (nextOnMove: NEXT_MESSAGE_ON_MOVE) => {
49     switch (nextOnMove) {
50         case NEXT_MESSAGE_ON_MOVE.DEFAULT:
51             return 'default';
52         case NEXT_MESSAGE_ON_MOVE.DISABLED:
53             return 'disabled';
54         case NEXT_MESSAGE_ON_MOVE.ENABLED:
55             return 'enabled';
56     }
59 export const getFontFace = (fontFace: string | null) => {
60     if (!fontFace) {
61         return 'arial';
62     }
64     return fontFace;
67 export const getFontSize = (fontSize: number | null) => {
68     if (!fontSize) {
69         return '14';
70     }
72     return fontSize.toString();
75 export const getPGPScheme = (pgpScheme: PACKAGE_TYPE) => {
76     switch (pgpScheme) {
77         case PACKAGE_TYPE.SEND_PGP_INLINE:
78             return 'inline';
79         case PACKAGE_TYPE.SEND_PGP_MIME:
80             return 'mime';
81         case PACKAGE_TYPE.SEND_CLEAR:
82             return 'clear';
83         case PACKAGE_TYPE.SEND_CLEAR_MIME:
84             return 'clear-mime';
85         case PACKAGE_TYPE.SEND_EO:
86             return 'eo';
87         case PACKAGE_TYPE.SEND_PM:
88             return 'pm';
89     }
92 export const imageProxy = (imageProxy: IMAGE_PROXY_FLAGS) => {
93     switch (imageProxy) {
94         case IMAGE_PROXY_FLAGS.NONE:
95             return 'none';
96         case IMAGE_PROXY_FLAGS.INCORPORATOR:
97             return 'incoporator';
98         case IMAGE_PROXY_FLAGS.PROXY:
99             return 'proxy';
100         case IMAGE_PROXY_FLAGS.ALL:
101             return 'all';
102     }
105 export const getAddressRange = (addresss?: any[]) => {
106     if (!addresss) {
107         return '0';
108     }
110     if (addresss.length < 10) {
111         return addresss.length.toString();
112     }
114     return '10+';
117 export const getArrayLengthRange = (arr?: any[]) => {
118     if (!arr) {
119         return '0';
120     }
122     if (arr.length < 10) {
123         return arr.length.toString();
124     }
126     if (arr.length < 20) {
127         return '10-19';
128     }
130     if (arr.length < 50) {
131         return '20-49';
132     }
134     return '50+';