fix
Some checks failed
Deploy on Master Change / deploy (push) Failing after 39s

This commit is contained in:
2026-07-03 19:05:33 +07:00
parent d054fce432
commit e860fc9214
3 changed files with 238 additions and 128 deletions

View File

@@ -101,6 +101,25 @@ function App() {
const route = useRoute();
const { staff, logout } = useAuth();
const [sidebarOpen, setSidebarOpen] = useState(false);
const [myClasses, setMyClasses] = useState<{ id: number; name: string; code: string }[]>(() => {
try {
const stored = localStorage.getItem('sc_my_classes_details');
return stored ? JSON.parse(stored) : [];
} catch {
return [];
}
});
useEffect(() => {
const handleUpdate = () => {
try {
const stored = localStorage.getItem('sc_my_classes_details');
setMyClasses(stored ? JSON.parse(stored) : []);
} catch (e) {}
};
window.addEventListener('my-classes-updated', handleUpdate);
return () => window.removeEventListener('my-classes-updated', handleUpdate);
}, []);
useEffect(() => {
const initial = parseRoute();
@@ -219,6 +238,36 @@ function App() {
</button>
</li>
{myClasses.length > 0 && (
<>
<div className="nav-header">Lớp của tôi</div>
{myClasses.map((c) => (
<li key={c.id} className="nav-item">
<button
className={navBtn(route.classId === c.id && route.tab === 'learning')}
onClick={() => {
navigate('learning', c.id, c.name, 'class');
setSidebarOpen(false);
}}
title={c.name}
style={{
paddingLeft: '1.75rem',
fontSize: '0.82rem',
overflow: 'hidden',
textOverflow: 'ellipsis',
whiteSpace: 'nowrap',
display: 'block',
width: '100%',
textAlign: 'left'
}}
>
🏫 {c.code || c.name}
</button>
</li>
))}
</>
)}
<div className="nav-header">Công tác sinh viên</div>
<li className="nav-item">
<button