From 2e1531d477a3d3603aaeff459a1dfc0a8f28b08a Mon Sep 17 00:00:00 2001 From: "Niraj Chaudhari (Persistent Systems Inc)" Date: Thu, 9 Oct 2025 15:58:28 +0530 Subject: [PATCH 1/2] Disable Default Teams delete option --- .../src/components/common/TeamSelector.tsx | 63 +++++++++++++------ .../src/styles/TeamSelector.module.css | 16 +++++ 2 files changed, 61 insertions(+), 18 deletions(-) diff --git a/src/frontend/src/components/common/TeamSelector.tsx b/src/frontend/src/components/common/TeamSelector.tsx index 62241f22..c2fd5c30 100644 --- a/src/frontend/src/components/common/TeamSelector.tsx +++ b/src/frontend/src/components/common/TeamSelector.tsx @@ -18,7 +18,8 @@ import { Radio, RadioGroup, Tab, - TabList + TabList, + Tooltip } from '@fluentui/react-components'; import { ChevronUpDown16Regular, @@ -61,7 +62,14 @@ const TeamSelector: React.FC = ({ const [selectionLoading, setSelectionLoading] = useState(false); const [uploadedTeam, setUploadedTeam] = useState(null); const [uploadSuccessMessage, setUploadSuccessMessage] = useState(null); - + // Helper function to check if a team is a default team + const isDefaultTeam = (team: TeamConfig): boolean => { + const defaultTeamIds = ['team-1', 'team-2', 'team-3']; + const defaultTeamNames = ['Human Resources Team', 'Product Marketing Team', 'Retail Customer Success Team']; + + return defaultTeamIds.includes(team.team_id) || + defaultTeamNames.includes(team.name); + }; const loadTeams = async () => { setLoading(true); setError(null); @@ -113,7 +121,7 @@ const TeamSelector: React.FC = ({ // For existing teams, do the normal selection process const result = await TeamService.selectTeam(tempSelectedTeam.team_id); - + if (result.success) { console.log('Team selected:', result.data); onTeamSelect?.(tempSelectedTeam); @@ -171,7 +179,7 @@ const TeamSelector: React.FC = ({ try { const success = await TeamService.deleteTeam(teamToDelete.team_id); - + if (success) { setDeleteConfirmOpen(false); setTeamToDelete(null); @@ -193,7 +201,7 @@ const TeamSelector: React.FC = ({ } } catch (err: any) { let errorMessage = 'Failed to delete team configuration. Please try again.'; - + if (err.response?.status === 404) { errorMessage = 'Team not found. It may have already been deleted.'; } else if (err.response?.status === 403) { @@ -261,11 +269,11 @@ const TeamSelector: React.FC = ({ if (result.team) { // Set success message with team name setUploadSuccessMessage(`${result.team.name} was uploaded`); - + setTeams(currentTeams => [result.team!, ...currentTeams]); setUploadedTeam(result.team); setTempSelectedTeam(result.team); - + setTimeout(() => { setUploadSuccessMessage(null); }, 15000); @@ -313,7 +321,7 @@ const TeamSelector: React.FC = ({ event.stopPropagation(); event.currentTarget.classList.remove(styles.dropZoneHover); - + const files = event.dataTransfer.files; if (files.length === 0) return; @@ -362,11 +370,11 @@ const TeamSelector: React.FC = ({ if (result.team) { // Set success message with team name setUploadSuccessMessage(`${result.team.name} was uploaded and selected`); - + setTeams(currentTeams => [result.team!, ...currentTeams]); setUploadedTeam(result.team); setTempSelectedTeam(result.team); - + // Clear success message after 15 seconds if user doesn't act setTimeout(() => { setUploadSuccessMessage(null); @@ -399,7 +407,7 @@ const TeamSelector: React.FC = ({ const renderTeamCard = (team: TeamConfig, index?: number) => { const isSelected = tempSelectedTeam?.team_id === team.team_id; - + const isDefault = isDefaultTeam(team); return (
= ({
{/* Three-dot Menu Button */} -