Merge branch 'feat/inda-383-daily-stat' into 'main'
[ProtonMail-WebClient.git] / packages / shared / lib / interfaces / MailSettings.ts
blobb69b08ca38b9a4b1031930c17cc2b7b9ed135569
1 import type { BLOCK_SENDER_CONFIRMATION } from '../mail/constants';
2 import type {
3     ALMOST_ALL_MAIL,
4     ATTACH_PUBLIC_KEY,
5     AUTO_DELETE_SPAM_AND_TRASH_DAYS,
6     AUTO_SAVE_CONTACTS,
7     COMPOSER_MODE,
8     CONFIRM_LINK,
9     DELAY_IN_SECONDS,
10     DIRECTION,
11     DRAFT_MIME_TYPES,
12     FOLDER_COLOR,
13     HIDE_SENDER_IMAGES,
14     INHERIT_PARENT_FOLDER_COLOR,
15     KEY_TRANSPARENCY_SETTING,
16     MAIL_PAGE_SIZE,
17     MESSAGE_BUTTONS,
18     NEXT_MESSAGE_ON_MOVE,
19     PACKAGE_TYPE,
20     PM_SIGNATURE,
21     PM_SIGNATURE_REFERRAL,
22     PROMPT_PIN,
23     REMOVE_IMAGE_METADATA,
24     SHORTCUTS,
25     SHOW_IMAGES,
26     SIGN,
27     SPAM_ACTION,
28     STICKY_LABELS,
29     SWIPE_ACTION,
30     UNREAD_FAVICON,
31     VIEW_LAYOUT,
32     VIEW_MODE,
33 } from '../mail/mailSettings';
35 export interface AutoResponder {
36     StartTime: number;
37     EndTime: number;
38     Repeat: number;
39     DaysSelected: number[];
40     Subject: string;
41     Message: string;
42     IsEnabled: boolean;
43     Zone: string;
46 // Update the useMailSettingsHeartbeat hook when adding a new settings
47 export interface MailSettings {
48     DisplayName: string;
49     Signature: string;
50     Theme: string;
51     AutoResponder: AutoResponder;
52     AutoSaveContacts: AUTO_SAVE_CONTACTS;
53     ComposerMode: COMPOSER_MODE;
54     MessageButtons: MESSAGE_BUTTONS;
55     ShowMoved: number;
56     ViewMode: VIEW_MODE;
57     ViewLayout: VIEW_LAYOUT;
58     SwipeLeft: SWIPE_ACTION; // default 3
59     SwipeRight: SWIPE_ACTION; // default 0
60     PageSize: MAIL_PAGE_SIZE;
61     HideEmbeddedImages: SHOW_IMAGES;
62     HideRemoteImages: SHOW_IMAGES;
63     Shortcuts: SHORTCUTS; // used by v4
64     PMSignature: PM_SIGNATURE;
65     PMSignatureReferralLink: PM_SIGNATURE_REFERRAL;
66     ImageProxy: number;
67     RightToLeft: DIRECTION;
68     AttachPublicKey: ATTACH_PUBLIC_KEY;
69     Sign: SIGN;
70     PGPScheme: PACKAGE_TYPE;
71     PromptPin: PROMPT_PIN;
72     NumMessagePerPage: number;
73     DraftMIMEType: DRAFT_MIME_TYPES;
74     StickyLabels: STICKY_LABELS;
75     ConfirmLink: CONFIRM_LINK;
76     DelaySendSeconds: DELAY_IN_SECONDS;
77     EnableFolderColor: FOLDER_COLOR;
78     InheritParentFolderColor: INHERIT_PARENT_FOLDER_COLOR;
79     /**
80      * FontFace value is a FONT_FACES.${FONT}.id value or null.
81      */
82     FontFace: string | null;
83     FontSize: number | null;
84     SpamAction: SPAM_ACTION | null;
85     BlockSenderConfirmation: BLOCK_SENDER_CONFIRMATION | null;
86     HideSenderImages: HIDE_SENDER_IMAGES;
87     AutoDeleteSpamAndTrashDays: AUTO_DELETE_SPAM_AND_TRASH_DAYS | null;
88     UnreadFavicon: UNREAD_FAVICON;
89     RecipientLimit: number;
90     AlmostAllMail: ALMOST_ALL_MAIL;
91     ReceiveMIMEType: string;
92     ShowMIMEType: string;
93     NextMessageOnMove: NEXT_MESSAGE_ON_MOVE;
94     RemoveImageMetadata: REMOVE_IMAGE_METADATA;
95     KT: KEY_TRANSPARENCY_SETTING;