Skip to content

Commit 20aa243

Browse files
authored
refactor(frontend): reorder settings page tabs (#188)
Adjust tab order in settings page from "Integrations → Bot → Team → General" to "Bot → Team → Integrations → General" for better user experience. Changes: - Updated tabIndexToName and tabNameToIndex mappings - Reordered desktop sidebar menu items - Reordered mobile top tab bar items - Adjusted Tab.Panel components to match new order - Updated default tab to 'bots' instead of 'integrations' Both desktop and mobile layouts now display tabs in consistent order, with Bot as the first visible option when entering settings. Co-authored-by: qdaxb <[email protected]>
1 parent ef65a6a commit 20aa243

File tree

1 file changed

+25
-25
lines changed

1 file changed

+25
-25
lines changed

frontend/src/app/settings/page.tsx

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ function DashboardContent() {
2727
// Tab index to name mapping
2828
const tabIndexToName = useMemo(
2929
(): Record<number, string> => ({
30-
0: 'integrations',
31-
1: 'bots',
32-
2: 'team',
30+
0: 'bots',
31+
1: 'team',
32+
2: 'integrations',
3333
3: 'notifications',
3434
}),
3535
[]
@@ -38,9 +38,9 @@ function DashboardContent() {
3838
// Tab name to index mapping
3939
const tabNameToIndex = useMemo(
4040
(): Record<string, number> => ({
41-
integrations: 0,
42-
bots: 1,
43-
team: 2,
41+
bots: 0,
42+
team: 1,
43+
integrations: 2,
4444
notifications: 3,
4545
}),
4646
[]
@@ -73,7 +73,7 @@ function DashboardContent() {
7373
const handleTabChange = useCallback(
7474
(idx: number) => {
7575
setTabIndex(idx);
76-
const tabName = tabIndexToName[idx] || 'integrations';
76+
const tabName = tabIndexToName[idx] || 'bots';
7777
router.replace(`?tab=${tabName}`);
7878
},
7979
[router, tabIndexToName]
@@ -111,8 +111,8 @@ function DashboardContent() {
111111
}`
112112
}
113113
>
114-
<PuzzlePieceIcon className="w-4 h-4" />
115-
<span>{t('settings.integrations')}</span>
114+
<RiRobot2Line className="w-4 h-4" />
115+
<span>{t('settings.bot')}</span>
116116
</Tab>
117117

118118
<Tab
@@ -124,8 +124,8 @@ function DashboardContent() {
124124
}`
125125
}
126126
>
127-
<RiRobot2Line className="w-4 h-4" />
128-
<span>{t('settings.bot')}</span>
127+
<UsersIcon className="w-4 h-4" />
128+
<span>{t('settings.team')}</span>
129129
</Tab>
130130

131131
<Tab
@@ -137,8 +137,8 @@ function DashboardContent() {
137137
}`
138138
}
139139
>
140-
<UsersIcon className="w-4 h-4" />
141-
<span>{t('settings.team')}</span>
140+
<PuzzlePieceIcon className="w-4 h-4" />
141+
<span>{t('settings.integrations')}</span>
142142
</Tab>
143143

144144
<Tab
@@ -157,15 +157,15 @@ function DashboardContent() {
157157

158158
<div className="flex-1 min-h-0 px-8 py-4 overflow-y-auto min-w-0">
159159
<Tab.Panels>
160-
<Tab.Panel className="focus:outline-none">
161-
<GitHubIntegration />
162-
</Tab.Panel>
163160
<Tab.Panel className="focus:outline-none">
164161
<BotList />
165162
</Tab.Panel>
166163
<Tab.Panel className="focus:outline-none">
167164
<TeamList />
168165
</Tab.Panel>
166+
<Tab.Panel className="focus:outline-none">
167+
<GitHubIntegration />
168+
</Tab.Panel>
169169
<Tab.Panel className="focus:outline-none">
170170
<NotificationSettings />
171171
</Tab.Panel>
@@ -186,8 +186,8 @@ function DashboardContent() {
186186
}`
187187
}
188188
>
189-
<PuzzlePieceIcon className="w-3 h-3" />
190-
<span className="hidden xs:inline">{t('settings.integrations')}</span>
189+
<RiRobot2Line className="w-3 h-3" />
190+
<span className="hidden xs:inline">{t('settings.bot')}</span>
191191
</Tab>
192192

193193
<Tab
@@ -199,8 +199,8 @@ function DashboardContent() {
199199
}`
200200
}
201201
>
202-
<RiRobot2Line className="w-3 h-3" />
203-
<span className="hidden xs:inline">{t('settings.bot')}</span>
202+
<UsersIcon className="w-3 h-3" />
203+
<span className="hidden xs:inline">{t('settings.team')}</span>
204204
</Tab>
205205

206206
<Tab
@@ -212,8 +212,8 @@ function DashboardContent() {
212212
}`
213213
}
214214
>
215-
<UsersIcon className="w-3 h-3" />
216-
<span className="hidden xs:inline">{t('settings.team')}</span>
215+
<PuzzlePieceIcon className="w-3 h-3" />
216+
<span className="hidden xs:inline">{t('settings.integrations')}</span>
217217
</Tab>
218218

219219
<Tab
@@ -233,15 +233,15 @@ function DashboardContent() {
233233

234234
<div className="flex-1 min-h-0 px-2 py-2 overflow-y-auto min-w-0">
235235
<Tab.Panels>
236-
<Tab.Panel className="focus:outline-none">
237-
<GitHubIntegration />
238-
</Tab.Panel>
239236
<Tab.Panel className="focus:outline-none">
240237
<BotList />
241238
</Tab.Panel>
242239
<Tab.Panel className="focus:outline-none">
243240
<TeamList />
244241
</Tab.Panel>
242+
<Tab.Panel className="focus:outline-none">
243+
<GitHubIntegration />
244+
</Tab.Panel>
245245
<Tab.Panel className="focus:outline-none">
246246
<NotificationSettings />
247247
</Tab.Panel>

0 commit comments

Comments
 (0)