From e9539b7f35dd1ce78311fb195ed34d9bdd3f0263 Mon Sep 17 00:00:00 2001
From: Francesco Minnocci
Date: Fri, 14 Feb 2025 16:39:35 +0100
Subject: [PATCH] Fix lab1 split courses recognition, add snapping!
---
bun.lockb | Bin 0 -> 54363 bytes
corsi.json | 40 ----------------------------------------
src/main.jsx | 21 +++++++++++++++------
3 files changed, 15 insertions(+), 46 deletions(-)
create mode 100755 bun.lockb
delete mode 100644 corsi.json
diff --git a/bun.lockb b/bun.lockb
new file mode 100755
index 0000000000000000000000000000000000000000..0fe6cb3d568bd7aaabe65b45fd0df3fdaabe8409
GIT binary patch
literal 54363
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
T-F7zfn0al?$ti{M|M&R;X;Syz
literal 0
HcmV?d00001
diff --git a/corsi.json b/corsi.json
deleted file mode 100644
index 90a1227..0000000
--- a/corsi.json
+++ /dev/null
@@ -1,40 +0,0 @@
-[
- "ALGEBRA 1",
- "ANALISI ARMONICA - ANALISI ARMONICA/a",
- "ANALISI MATEMATICA 1",
- "ANALISI MATEMATICA 2",
- "ANALISI MATEMATICA 3",
- "ANALISI NUMERICA CON LABORATORIO - ANALISI NUMERICA",
- "ARITMETICA",
- "ASPETTI MATEMATICI NELLA COMPUTAZIONE QUANTISTICA",
- "CALCOLO SCIENTIFICO",
- "COMBINATORIA ALGEBRICA",
- "DETERMINAZIONE ORBITALE",
- "DINAMICA DEL SISTEMA SOLARE",
- "ELEMENTI DI GEOMETRIA ALGEBRICA",
- "ELEMENTI DI TOPOLOGIA ALGEBRICA",
- "FISICA II",
- "FONDAMENTI DI PROGRAMMAZIONE CON LABORATORIO - FONDAMENTI DI PROGRAMMAZIONE ",
- "GEOMETRIA 1",
- "GEOMETRIA 2 - GEOMETRIA 2 A",
- "GEOMETRIA E TOPOLOGIA DIFFERENZIALE",
- "INGLESE SCIENTIFICO",
- "ISTITUZIONI DI ALGEBRA",
- "ISTITUZIONI DI ANALISI MATEMATICA",
- "ISTITUZIONI DI DIDATTICA DELLA MATEMATICA",
- "ISTITUZIONI DI FISICA MATEMATICA",
- "LABORATORIO COMPUTAZIONALE",
- "LABORATORIO DI INTRODUZIONE ALLA MATEMATICA COMPUTAZIONALE",
- "LOGICA MATEMATICA",
- "MECCANICA SUPERIORE - MECCANICA SUPERIORE/a",
- "METODI NUMERICI PER CATENE DI MARKOV - METODI NUMERICI PER CATENE DI MARKOV/a",
- "METODI NUMERICI PER LA GRAFICA - METODI NUMERICI PER LA GRAFICA/a",
- "PROBABILITÀ",
- "RICERCA OPERATIVA",
- "SISTEMI DINAMICI",
- "STORIA DELLA MATEMATICA",
- "TECNOLOGIE PER LA DIDATTICA",
- "TEORIA ANALITICA DEI NUMERI A - TEORIA ANALITICA DEI NUMERI A/a",
- "TEORIA E METODI DELL'OTTIMIZZAZIONE",
- "TOPOLOGIA DIFFERENZIALE - TOPOLOGIA DIFFERENZIALE/a"
-]
diff --git a/src/main.jsx b/src/main.jsx
index 285b049..0f07a8c 100644
--- a/src/main.jsx
+++ b/src/main.jsx
@@ -55,10 +55,10 @@ function specialEventPatches(eventi) {
if (
evento.nome === 'LABORATORIO DI INTRODUZIONE ALLA MATEMATICA COMPUTAZIONALE'
) {
- if (evento.docenti[0].nome === 'GIOVANNI') {
+ if (evento.evento.dettagliDidattici[0].partizione.descrizione === 'CORSO A') {
evento.nome += ' (A)'
}
- if (evento.docenti[0].nome === 'PAOLO') {
+ if (evento.evento.dettagliDidattici[0].partizione.descrizione === 'CORSO B') {
evento.nome += ' (B)'
}
}
@@ -194,9 +194,6 @@ const App = ({}) => {
const [helpVisible, setHelpVisible] = useState(false)
const [showMobileMenu, setShowMobileMenu] = useState(false)
- // const groupIds = new Set(eventi.map(e => e.nome))
- const toolOverlayVisible = selectedCourses.length > 0
-
const [theme, setTheme] = usePersistentState(
'theme',
'light'
@@ -263,13 +260,25 @@ const App = ({}) => {
vacanze! 🎉
+ Clicca sul bottone qua sotto per vedere la prima settimana
+ completa di lezioni:
+
+
+
+ {/*
Per cambiare settimana puoi usare il widget Calendario (
) in alto a destra
In versione mobile, il widget Calendario è situato dentro
il Menu (
)
-
+ */}
) : (