Upload folder using huggingface_hub
Browse files
client/src/pages/TutorialTasks.tsx
CHANGED
|
@@ -1139,6 +1139,7 @@ const TutorialTasks: React.FC = () => {
|
|
| 1139 |
const nextHidden = !(curJson?.week?.hidden);
|
| 1140 |
await fetch(`${base}/api/admin/weeks/tutorial/${selectedWeek}/visibility`,{ method:'PUT', headers:{ 'Content-Type':'application/json', 'Authorization': localStorage.getItem('token')?`Bearer ${localStorage.getItem('token')}`:'', 'user-role':'admin' }, body: JSON.stringify({ hidden: nextHidden }) });
|
| 1141 |
await fetchTutorialTasks(true);
|
|
|
|
| 1142 |
} catch (e) { console.error(e);}
|
| 1143 |
}}
|
| 1144 |
className="inline-flex items-center px-3 py-1.5 text-xs rounded-md border border-ui-border bg-white/70"
|
|
|
|
| 1139 |
const nextHidden = !(curJson?.week?.hidden);
|
| 1140 |
await fetch(`${base}/api/admin/weeks/tutorial/${selectedWeek}/visibility`,{ method:'PUT', headers:{ 'Content-Type':'application/json', 'Authorization': localStorage.getItem('token')?`Bearer ${localStorage.getItem('token')}`:'', 'user-role':'admin' }, body: JSON.stringify({ hidden: nextHidden }) });
|
| 1141 |
await fetchTutorialTasks(true);
|
| 1142 |
+
alert(nextHidden ? 'Week hidden from students.' : 'Week shown to students.');
|
| 1143 |
} catch (e) { console.error(e);}
|
| 1144 |
}}
|
| 1145 |
className="inline-flex items-center px-3 py-1.5 text-xs rounded-md border border-ui-border bg-white/70"
|
client/src/pages/WeeklyPractice.tsx
CHANGED
|
@@ -1470,6 +1470,7 @@ const WeeklyPractice: React.FC = () => {
|
|
| 1470 |
const nextHidden = !(curJson?.week?.hidden);
|
| 1471 |
await fetch(`${base}/api/admin/weeks/weekly-practice/${selectedWeek}/visibility`,{ method:'PUT', headers:{ 'Content-Type':'application/json', 'Authorization': localStorage.getItem('token')?`Bearer ${localStorage.getItem('token')}`:'', 'user-role':'admin' }, body: JSON.stringify({ hidden: nextHidden }) });
|
| 1472 |
await fetchWeeklyPractice(true);
|
|
|
|
| 1473 |
} catch (e) { console.error(e);}
|
| 1474 |
}}
|
| 1475 |
className="inline-flex items-center px-3 py-1.5 text-xs rounded-md border border-ui-border bg-white/70"
|
|
|
|
| 1470 |
const nextHidden = !(curJson?.week?.hidden);
|
| 1471 |
await fetch(`${base}/api/admin/weeks/weekly-practice/${selectedWeek}/visibility`,{ method:'PUT', headers:{ 'Content-Type':'application/json', 'Authorization': localStorage.getItem('token')?`Bearer ${localStorage.getItem('token')}`:'', 'user-role':'admin' }, body: JSON.stringify({ hidden: nextHidden }) });
|
| 1472 |
await fetchWeeklyPractice(true);
|
| 1473 |
+
alert(nextHidden ? 'Week hidden from students.' : 'Week shown to students.');
|
| 1474 |
} catch (e) { console.error(e);}
|
| 1475 |
}}
|
| 1476 |
className="inline-flex items-center px-3 py-1.5 text-xs rounded-md border border-ui-border bg-white/70"
|
client/src/services/api.ts
CHANGED
|
@@ -35,10 +35,13 @@ api.interceptors.request.use(
|
|
| 35 |
|
| 36 |
// Add user role and info to headers
|
| 37 |
const user = localStorage.getItem('user');
|
|
|
|
| 38 |
if (user) {
|
| 39 |
try {
|
| 40 |
const userData = JSON.parse(user);
|
| 41 |
-
|
|
|
|
|
|
|
| 42 |
const derivedUsername = userData.username || userData.name || userData.displayName || (userData.email ? String(userData.email).split('@')[0] : undefined);
|
| 43 |
config.headers['user-info'] = JSON.stringify({
|
| 44 |
_id: userData._id || userData.id,
|
|
|
|
| 35 |
|
| 36 |
// Add user role and info to headers
|
| 37 |
const user = localStorage.getItem('user');
|
| 38 |
+
const viewMode = (localStorage.getItem('viewMode') || 'auto');
|
| 39 |
if (user) {
|
| 40 |
try {
|
| 41 |
const userData = JSON.parse(user);
|
| 42 |
+
// Respect viewMode: when switched to student, force requests to be treated as student
|
| 43 |
+
const effectiveRole = viewMode === 'student' ? 'student' : (userData.role || 'visitor');
|
| 44 |
+
config.headers['user-role'] = effectiveRole;
|
| 45 |
const derivedUsername = userData.username || userData.name || userData.displayName || (userData.email ? String(userData.email).split('@')[0] : undefined);
|
| 46 |
config.headers['user-info'] = JSON.stringify({
|
| 47 |
_id: userData._id || userData.id,
|