diff --git a/next.config.js b/next.config.js
index 7554e226..d7546d75 100644
--- a/next.config.js
+++ b/next.config.js
@@ -167,6 +167,10 @@ const config = {
source: '/telemetry.js',
destination: '/api/scripts/telemetry',
},
+ {
+ source: '/teams/:teamId/settings/:path*',
+ destination: '/teams/:teamId/settings/:path*',
+ },
{
source: '/teams/:teamId/:path*',
destination: '/:path*',
diff --git a/src/app/(main)/teams/[teamId]/layout.tsx b/src/app/(main)/teams/[teamId]/layout.tsx
index c804c746..e10cdb94 100644
--- a/src/app/(main)/teams/[teamId]/layout.tsx
+++ b/src/app/(main)/teams/[teamId]/layout.tsx
@@ -1,8 +1,13 @@
import TeamProvider from './TeamProvider';
import { Metadata } from 'next';
+import TeamSettingsLayout from './settings/TeamSettingsLayout';
export default function ({ children, params: { teamId } }) {
- return {children};
+ return (
+
+ {children}
+
+ );
}
export const metadata: Metadata = {
diff --git a/src/app/(main)/teams/[teamId]/settings/TeamSettingsLayout.tsx b/src/app/(main)/teams/[teamId]/settings/TeamSettingsLayout.tsx
new file mode 100644
index 00000000..f7df620a
--- /dev/null
+++ b/src/app/(main)/teams/[teamId]/settings/TeamSettingsLayout.tsx
@@ -0,0 +1,29 @@
+'use client';
+import { ReactNode } from 'react';
+import { useMessages, useTeamUrl } from 'components/hooks';
+import MenuLayout from 'components/layout/MenuLayout';
+
+export default function TeamSettingsLayout({ children }: { children: ReactNode }) {
+ const { formatMessage, labels } = useMessages();
+ const { teamId } = useTeamUrl();
+
+ const items = [
+ {
+ key: 'team',
+ label: formatMessage(labels.team),
+ url: `/teams/${teamId}/settings/team`,
+ },
+ {
+ key: 'websites',
+ label: formatMessage(labels.websites),
+ url: `/teams/${teamId}/settings/websites`,
+ },
+ {
+ key: 'members',
+ label: formatMessage(labels.members),
+ url: `/teams/${teamId}/settings/members`,
+ },
+ ].filter(n => n);
+
+ return {children};
+}
diff --git a/src/app/(main)/settings/teams/[teamId]/members/TeamMemberEditButton.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditButton.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/members/TeamMemberEditButton.tsx
rename to src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditButton.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/members/TeamMemberEditForm.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditForm.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/members/TeamMemberEditForm.tsx
rename to src/app/(main)/teams/[teamId]/settings/members/TeamMemberEditForm.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/members/TeamMemberRemoveButton.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMemberRemoveButton.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/members/TeamMemberRemoveButton.tsx
rename to src/app/(main)/teams/[teamId]/settings/members/TeamMemberRemoveButton.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/members/TeamMembersDataTable.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMembersDataTable.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/members/TeamMembersDataTable.tsx
rename to src/app/(main)/teams/[teamId]/settings/members/TeamMembersDataTable.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/members/TeamMembersPage.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMembersPage.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/members/TeamMembersPage.tsx
rename to src/app/(main)/teams/[teamId]/settings/members/TeamMembersPage.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/members/TeamMembersTable.tsx b/src/app/(main)/teams/[teamId]/settings/members/TeamMembersTable.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/members/TeamMembersTable.tsx
rename to src/app/(main)/teams/[teamId]/settings/members/TeamMembersTable.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/members/page.tsx b/src/app/(main)/teams/[teamId]/settings/members/page.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/members/page.tsx
rename to src/app/(main)/teams/[teamId]/settings/members/page.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/team/TeamDeleteForm.tsx b/src/app/(main)/teams/[teamId]/settings/team/TeamDeleteForm.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/team/TeamDeleteForm.tsx
rename to src/app/(main)/teams/[teamId]/settings/team/TeamDeleteForm.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/team/TeamDetails.tsx b/src/app/(main)/teams/[teamId]/settings/team/TeamDetails.tsx
similarity index 95%
rename from src/app/(main)/settings/teams/[teamId]/team/TeamDetails.tsx
rename to src/app/(main)/teams/[teamId]/settings/team/TeamDetails.tsx
index 0c5fe991..70858ee4 100644
--- a/src/app/(main)/settings/teams/[teamId]/team/TeamDetails.tsx
+++ b/src/app/(main)/teams/[teamId]/settings/team/TeamDetails.tsx
@@ -5,7 +5,7 @@ import PageHeader from 'components/layout/PageHeader';
import { ROLES } from 'lib/constants';
import { useContext, useState } from 'react';
import { Flexbox, Item, Tabs } from 'react-basics';
-import TeamLeaveButton from '../../TeamLeaveButton';
+import TeamLeaveButton from 'app/(main)/settings/teams/TeamLeaveButton';
import TeamManage from './TeamManage';
import TeamEditForm from './TeamEditForm';
diff --git a/src/app/(main)/settings/teams/[teamId]/team/TeamEditForm.tsx b/src/app/(main)/teams/[teamId]/settings/team/TeamEditForm.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/team/TeamEditForm.tsx
rename to src/app/(main)/teams/[teamId]/settings/team/TeamEditForm.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/team/TeamManage.tsx b/src/app/(main)/teams/[teamId]/settings/team/TeamManage.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/team/TeamManage.tsx
rename to src/app/(main)/teams/[teamId]/settings/team/TeamManage.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/team/TeamPage.tsx b/src/app/(main)/teams/[teamId]/settings/team/TeamPage.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/team/TeamPage.tsx
rename to src/app/(main)/teams/[teamId]/settings/team/TeamPage.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/team/page.tsx b/src/app/(main)/teams/[teamId]/settings/team/page.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/team/page.tsx
rename to src/app/(main)/teams/[teamId]/settings/team/page.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/websites/TeamWebsiteRemoveButton.tsx b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsiteRemoveButton.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/websites/TeamWebsiteRemoveButton.tsx
rename to src/app/(main)/teams/[teamId]/settings/websites/TeamWebsiteRemoveButton.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesDataTable.tsx b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesDataTable.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesDataTable.tsx
rename to src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesDataTable.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesPage.tsx b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesPage.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesPage.tsx
rename to src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesPage.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesTable.tsx b/src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesTable.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/websites/TeamWebsitesTable.tsx
rename to src/app/(main)/teams/[teamId]/settings/websites/TeamWebsitesTable.tsx
diff --git a/src/app/(main)/settings/teams/[teamId]/websites/page.tsx b/src/app/(main)/teams/[teamId]/settings/websites/page.tsx
similarity index 100%
rename from src/app/(main)/settings/teams/[teamId]/websites/page.tsx
rename to src/app/(main)/teams/[teamId]/settings/websites/page.tsx