-
Notifications
You must be signed in to change notification settings - Fork 270
/
Copy pathtypes.ts
103 lines (86 loc) · 1.84 KB
/
types.ts
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import type { Notification } from './typesGithub';
export interface AuthState {
token?: string;
enterpriseAccounts: EnterpriseAccount[];
user: GitifyUser | null;
}
export type SettingsState = AppearanceSettingsState &
NotificationSettingsState &
SystemSettingsState;
interface AppearanceSettingsState {
theme: Theme;
detailedNotifications: boolean;
showAccountHostname: boolean;
}
interface NotificationSettingsState {
participating: boolean;
showNotifications: boolean;
showBots: boolean;
markAsDoneOnOpen: boolean;
showAllNotifications: boolean;
}
interface SystemSettingsState {
playSound: boolean;
openAtStartup: boolean;
showNotificationsCountInTray: boolean;
}
export enum Theme {
SYSTEM = 'SYSTEM',
LIGHT = 'LIGHT',
DARK = 'DARK',
}
export type RadioGroupItem = {
label: string;
value: string;
};
export interface EnterpriseAccount {
hostname: string;
token: string;
}
export interface AccountNotifications {
hostname: string;
notifications: Notification[];
}
export interface AuthOptions {
hostname: string;
clientId: string;
clientSecret: string;
}
export interface AuthTokenOptions {
hostname: string;
token: string;
}
export interface AuthResponse {
authCode: string;
authOptions: AuthOptions;
}
export interface AuthTokenResponse {
hostname: string;
token: string;
}
export interface GitifyUser {
login: string;
name: string;
id: number;
}
export interface GitifyError {
title: string;
descriptions: string[];
emojis: string[];
}
export type ErrorType =
| 'BAD_CREDENTIALS'
| 'MISSING_SCOPES'
| 'NETWORK'
| 'RATE_LIMITED'
| 'UNKNOWN';
export interface FormattedReason {
title: string;
description: string;
}
export enum IconColor {
GREEN = 'text-green-500',
RED = 'text-red-500',
PURPLE = 'text-purple-500',
GRAY = 'text-gray-500 dark:text-gray-300',
}