-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathstatusOptions.ts
210 lines (205 loc) · 7.5 KB
/
statusOptions.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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
import {
IconAffiliate,
IconArmchair,
IconAsset,
IconBabyCarriage,
IconBandage,
IconBath,
IconBed,
IconBook,
IconBook2,
IconBrain,
IconBrandLeetcode,
IconBrowser,
IconBrush,
IconBug,
IconBuilding,
IconBuildingCircus,
IconBuildingLighthouse,
IconBuildingStore,
IconBulb,
IconButterfly,
IconCalendar,
IconCalendarTime,
IconCheck,
IconChevronsUp,
IconClipboardList,
IconClothesRack,
IconCloud,
IconCode,
IconCompass,
IconConfetti,
IconCup,
IconDatabase,
IconDeviceGamepad2,
IconDeviceLaptop,
IconDeviceMobile,
IconDog,
IconDownload,
IconEar,
IconEdit,
IconEye,
IconFireExtinguisher,
IconFirstAidKit,
IconFlask,
IconFocus,
IconFrame,
IconGavel,
IconGift,
IconGlassChampagne,
IconHammer,
IconHeart,
IconHearts,
IconHourglass,
IconLineDashed,
IconListDetails,
IconListNumbers,
IconListTree,
IconLoader,
IconMail,
IconMap,
IconMicrophone,
IconMinus,
IconMoodHappy,
IconMusic,
IconNut,
IconPlane,
IconPlus,
IconPray,
IconProgress,
IconQuestionMark,
IconRefresh,
IconReplace,
IconRocket,
IconRun,
IconScale,
IconSchool,
IconSearch,
IconSend,
IconSettings,
IconShoppingBag,
IconSofa,
IconSoup,
IconSpeakerphone,
IconStethoscope,
IconSubtask,
IconSunrise,
IconTool,
IconTrees,
IconTriangle,
IconTypography,
IconUserQuestion,
IconUserSearch,
IconUsers,
IconUsersGroup,
IconVideo,
IconWashMachine,
IconZzz,
} from '@tabler/icons-react';
import { UserStatusConfig } from '@/lib/types';
export type TablerIcon = typeof IconBed;
export const DEFAULT_STATUS = 'none';
export const userStatusConfig: UserStatusConfig = {
[DEFAULT_STATUS]: { color: 'bg-gray-400', icon: IconLineDashed },
admin: { color: 'bg-amber-700', icon: IconListDetails },
adding: { color: 'bg-green-700', icon: IconPlus },
analyzing: { color: 'bg-cyan-800', icon: IconDatabase },
announcing: { color: 'bg-pink-800', icon: IconSpeakerphone },
asking: { color: 'bg-blue-600', icon: IconUserQuestion },
awaking: { color: 'bg-amber-500', icon: IconSunrise },
brainstorming: { color: 'bg-blue-600', icon: IconBulb },
browsing: { color: 'bg-orange-900', icon: IconBrowser },
building: { color: 'bg-green-800', icon: IconBuilding },
busying: { color: 'bg-indigo-400', icon: IconClipboardList },
chasing: { color: 'bg-blue-800', icon: IconRun },
chores: { color: 'bg-slate-400', icon: IconWashMachine },
coding: { color: 'bg-violet-300', icon: IconCode },
collecting: { color: 'bg-pink-500', icon: IconButterfly },
comparing: { color: 'bg-blue-400', icon: IconListNumbers },
completing: { color: 'bg-green-500', icon: IconCheck },
configuring: { color: 'bg-purple-800', icon: IconSettings },
curating: { color: 'bg-rose-500', icon: IconUserSearch },
creating: { color: 'bg-yellow-500', icon: IconTool },
debugging: { color: 'bg-gray-600', icon: IconBug },
deciding: { color: 'bg-indigo-400', icon: IconGavel },
designing: { color: 'bg-stone-400', icon: IconFrame },
drinking: { color: 'bg-blue-500', icon: IconCup },
editing: { color: 'bg-blue-300', icon: IconEdit },
emailing: { color: 'bg-blue-900', icon: IconMail },
enjoying: { color: 'bg-emerald-300', icon: IconMoodHappy },
errands: { color: 'bg-stone-400', icon: IconBuildingStore },
exercising: { color: 'bg-blue-400', icon: IconRun },
exploring: { color: 'bg-green-300', icon: IconMap },
fixing: { color: 'bg-red-800', icon: IconFireExtinguisher },
filming: { color: 'bg-pink-700', icon: IconVideo },
finishing: { color: 'bg-emerald-700', icon: IconGlassChampagne },
focusing: { color: 'bg-pink-400', icon: IconFocus },
food: { color: 'bg-teal-400', icon: IconSoup },
gaming: { color: 'bg-purple-400', icon: IconDeviceGamepad2 },
hobbying: { color: 'bg-emerald-600', icon: IconBrush },
installing: { color: 'bg-amber-700', icon: IconDownload },
juggling: { color: 'bg-violet-700', icon: IconBuildingCircus },
learning: { color: 'bg-lime-600', icon: IconBook2 },
listening: { color: 'bg-pink-900', icon: IconEar },
maintaining: { color: 'bg-amber-500', icon: IconHammer },
managing: { color: 'bg-orange-300', icon: IconTriangle },
meeting: { color: 'bg-blue-500', icon: IconUsers },
mentoring: { color: 'bg-purple-600', icon: IconBuildingLighthouse },
multitasking: { color: 'bg-violet-600', icon: IconSubtask },
networking: { color: 'bg-indigo-500', icon: IconAffiliate },
observing: { color: 'bg-lime-700', icon: IconAsset },
outside: { color: 'bg-green-400', icon: IconTrees },
optimising: { color: 'bg-lime-800', icon: IconChevronsUp },
organising: { color: 'bg-red-400', icon: IconListTree },
parenting: { color: 'bg-sky-900', icon: IconBabyCarriage },
partner: { color: 'bg-rose-600', icon: IconHearts },
partying: { color: 'bg-violet-500', icon: IconConfetti },
performing: { color: 'bg-teal-900', icon: IconMusic },
pets: { color: 'bg-amber-600', icon: IconDog },
practicing: { color: 'bg-yellow-400', icon: IconBrandLeetcode },
primping: { color: 'bg-rose-700', icon: IconBath },
preparing: { color: 'bg-orange-600', icon: IconLoader },
planning: { color: 'bg-lime-500', icon: IconCalendar },
posting: { color: 'bg-fuchsia-900', icon: IconSend },
procrastinating: { color: 'bg-cyan-600', icon: IconQuestionMark },
reading: { color: 'bg-sky-600', icon: IconBook },
recording: { color: 'bg-fuchsia-700', icon: IconMicrophone },
recovering: { color: 'bg-rose-800', icon: IconBandage },
refactoring: { color: 'bg-green-600', icon: IconReplace },
relaxing: { color: 'bg-orange-500', icon: IconSofa },
releasing: { color: 'bg-blue-700', icon: IconRocket },
removing: { color: 'bg-red-600', icon: IconMinus },
researching: { color: 'bg-blue-900', icon: IconCompass },
resting: { color: 'bg-fuchsia-500', icon: IconZzz },
reviewing: { color: 'bg-indigo-600', icon: IconScale },
sharing: { color: 'bg-cyan-700', icon: IconGift },
scheduling: { color: 'bg-emerald-500', icon: IconCalendarTime },
sciencing: { color: 'bg-purple-900', icon: IconFlask },
scrolling: { color: 'bg-gray-700', icon: IconDeviceMobile },
searching: { color: 'bg-emerald-400', icon: IconSearch },
selfcare: { color: 'bg-rose-400', icon: IconHeart },
shopping: { color: 'bg-teal-700', icon: IconShoppingBag },
sitting: { color: 'bg-orange-400', icon: IconArmchair },
sleeping: { color: 'bg-indigo-400', icon: IconBed },
socialising: { color: 'bg-fuchsia-400', icon: IconUsersGroup },
standing: { color: 'bg-indigo-700', icon: IconClothesRack },
streaming: { color: 'bg-purple-700', icon: IconVideo },
teaching: { color: 'bg-cyan-400', icon: IconSchool },
testing: { color: 'bg-teal-500', icon: IconStethoscope },
thinking: { color: 'bg-teal-800', icon: IconBrain },
tinkering: { color: 'bg-gray-800', icon: IconNut },
travelling: { color: 'bg-sky-400', icon: IconPlane },
trying: { color: 'bg-yellow-600', icon: IconProgress },
updating: { color: 'bg-sky-500', icon: IconRefresh },
volunteering: { color: 'bg-amber-400', icon: IconFirstAidKit },
waiting: { color: 'bg-sky-800', icon: IconHourglass },
watching: { color: 'bg-indigo-800', icon: IconEye },
wondering: { color: 'bg-sky-300', icon: IconCloud },
working: { color: 'bg-red-500', icon: IconDeviceLaptop },
worshipping: { color: 'bg-sky-700', icon: IconPray },
writing: { color: 'bg-orange-700', icon: IconTypography },
} as const;
export const userStatusOptions = Object.keys(userStatusConfig);
export const userSelectableStatusOptions = userStatusOptions.filter(
(status) => !userStatusConfig[status as keyof UserStatusConfig].nonSelectable
);