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 ( ) -

+

*/} ) : (