From 58a089b81239ff47c03e7beaefe6893e440fd43b Mon Sep 17 00:00:00 2001 From: PhuocNTB Date: Fri, 3 Jul 2026 22:15:58 +0700 Subject: [PATCH] fix ui --- .../src/components/WorkspaceSeatingChart.tsx | 45 ++++++++++++++++--- 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/management/src/components/WorkspaceSeatingChart.tsx b/management/src/components/WorkspaceSeatingChart.tsx index d853435..9b6cd94 100644 --- a/management/src/components/WorkspaceSeatingChart.tsx +++ b/management/src/components/WorkspaceSeatingChart.tsx @@ -40,6 +40,7 @@ export const WorkspaceSeatingChart: React.FC = ({ // Edit mode for structural changes const [isEditingStructure, setIsEditingStructure] = useState(false); const [dragOverCell, setDragOverCell] = useState(null); + const [saveNotice, setSaveNotice] = useState(null); // Load templates and layout useEffect(() => { @@ -68,12 +69,23 @@ export const WorkspaceSeatingChart: React.FC = ({ const saveLayout = (newLayout: SeatingLayout | null) => { if (newLayout) { localStorage.setItem(`sc_seating_layout_${workspaceId}`, JSON.stringify(newLayout)); + setSaveNotice('Đã lưu thay đổi sơ đồ chỗ ngồi!'); } else { localStorage.removeItem(`sc_seating_layout_${workspaceId}`); + setSaveNotice('Đã xóa sơ đồ chỗ ngồi!'); } setLayout(newLayout); }; + useEffect(() => { + if (saveNotice) { + const timer = setTimeout(() => { + setSaveNotice(null); + }, 2000); + return () => clearTimeout(timer); + } + }, [saveNotice]); + // Get active seated list const seatedStudentIds = useMemo(() => { if (!layout) return new Set(); @@ -395,8 +407,8 @@ export const WorkspaceSeatingChart: React.FC = ({ borderRadius: 'var(--radius-md)', border: '1px solid var(--border-color)', alignContent: 'start', - overflowY: 'auto', - minHeight: '400px', + overflow: 'auto', + minHeight: 0, }} > {gridItems} @@ -423,7 +435,7 @@ export const WorkspaceSeatingChart: React.FC = ({ }; return ( -
+
{!layout ? ( // Empty state: select template or customize @@ -510,10 +522,10 @@ export const WorkspaceSeatingChart: React.FC = ({
) : ( // Seating Workspace View -
+
{/* Main Seating Panel */} -
+
{/* Toolbar */}
@@ -554,7 +566,7 @@ export const WorkspaceSeatingChart: React.FC = ({
{/* Right Panel: Unseated Students list */} -
+

Chưa vào chỗ @@ -633,6 +645,27 @@ export const WorkspaceSeatingChart: React.FC = ({

)} + + {saveNotice && ( +
+ {saveNotice} +
+ )}
); };