From b0c9197f2dbfab7fd07ab66f243696cec4f16539 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Fri, 21 Jun 2024 12:49:57 -0700 Subject: [PATCH] Fixed teams settings. --- next.config.js | 4 +++ src/app/(main)/teams/[teamId]/layout.tsx | 7 ++++- .../[teamId]/settings/TeamSettingsLayout.tsx | 29 +++++++++++++++++++ .../members/TeamMemberEditButton.tsx | 0 .../settings}/members/TeamMemberEditForm.tsx | 0 .../members/TeamMemberRemoveButton.tsx | 0 .../members/TeamMembersDataTable.tsx | 0 .../settings}/members/TeamMembersPage.tsx | 0 .../settings}/members/TeamMembersTable.tsx | 0 .../[teamId]/settings}/members/page.tsx | 0 .../settings}/team/TeamDeleteForm.tsx | 0 .../[teamId]/settings}/team/TeamDetails.tsx | 2 +- .../[teamId]/settings}/team/TeamEditForm.tsx | 0 .../[teamId]/settings}/team/TeamManage.tsx | 0 .../[teamId]/settings}/team/TeamPage.tsx | 0 .../[teamId]/settings}/team/page.tsx | 0 .../websites/TeamWebsiteRemoveButton.tsx | 0 .../websites/TeamWebsitesDataTable.tsx | 0 .../settings}/websites/TeamWebsitesPage.tsx | 0 .../settings}/websites/TeamWebsitesTable.tsx | 0 .../[teamId]/settings}/websites/page.tsx | 0 21 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 src/app/(main)/teams/[teamId]/settings/TeamSettingsLayout.tsx rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/members/TeamMemberEditButton.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/members/TeamMemberEditForm.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/members/TeamMemberRemoveButton.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/members/TeamMembersDataTable.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/members/TeamMembersPage.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/members/TeamMembersTable.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/members/page.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/team/TeamDeleteForm.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/team/TeamDetails.tsx (95%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/team/TeamEditForm.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/team/TeamManage.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/team/TeamPage.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/team/page.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/websites/TeamWebsiteRemoveButton.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/websites/TeamWebsitesDataTable.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/websites/TeamWebsitesPage.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/websites/TeamWebsitesTable.tsx (100%) rename src/app/(main)/{settings/teams/[teamId] => teams/[teamId]/settings}/websites/page.tsx (100%) 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