Compare commits

...

7 Commits

Author SHA1 Message Date
Antonio De Lucreziis 125b7d925e chore: fix old typo
continuous-integration/drone/push Build is passing Details
4 months ago
Francesco Minnocci 0784a3512d chore: update semester
continuous-integration/drone/push Build is passing Details
4 months ago
Francesco Minnocci c761faa787 Merge pull request 'feat/parsing-script' (#23) from feat/parsing-script into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #23
8 months ago
Antonio De Lucreziis 880061e54d Merge pull request 'fix: wrong default' (#22) from dev into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #22
9 months ago
Antonio De Lucreziis 0c6f60e461 fix: wrong default 9 months ago
Antonio De Lucreziis 992d00a9a9 Merge pull request 'feat: first time button sends to all courses tab' (#21) from dev into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #21
9 months ago
Antonio De Lucreziis e6c5db05a6 feat: first time button sends to all courses tab 9 months ago

Binary file not shown.

@ -11,20 +11,15 @@ import semesterData from './semester-data.json'
// MODE_SCHEDULE,
// } from './components/EventsView.jsx'
import { Courses } from './components/view/Courses.jsx'
import { Schedule } from './components/view/Schedule.jsx'
import { HamburgerMenu } from './components/HamburgerMenu.jsx'
import { Help } from './components/Help.jsx'
import { Icon } from './components/Icon.jsx'
import { OptionBar } from './components/OptionBar.jsx'
import { Popup } from './components/Popup.jsx'
import { Toolbar } from './components/Toolbar.jsx'
import { OptionBar } from './components/OptionBar.jsx'
import {
prettyAulaName,
prettyProfName,
clearOldPersistentStates,
usePersistentState,
} from './utils.jsx'
import { Courses } from './components/view/Courses.jsx'
import { Schedule } from './components/view/Schedule.jsx'
import { prettyAulaName, prettyProfName, usePersistentState } from './utils.jsx'
import { SettingsBar } from './components/SettingsBar.jsx'
@ -50,6 +45,8 @@ const TIMETABLE_IDS = semesterData.timetableIds
function specialEventPatches(eventi) {
// Il laboratorio del primo anno in realtà è in due gruppi separati
eventi.forEach(evento => {
console.log(evento.id, evento.nome, evento.dataInizio, evento.dataFine)
if (
evento.nome === 'LABORATORIO DI INTRODUZIONE ALLA MATEMATICA COMPUTAZIONALE'
) {
@ -113,7 +110,7 @@ async function loadCalendari(date) {
method: 'POST',
mode: 'cors',
credentials: 'omit',
}
},
)
return await req.json()
@ -127,9 +124,9 @@ async function loadCalendari(date) {
]
const results = await Promise.all(requests)
const timetablesRaw = results.map(timetable =>
specialEventPatches(_.uniqBy(timetable, 'id'))
specialEventPatches(_.uniqBy(timetable, 'id')),
)
const allRaw = specialEventPatches(_.concat(...results), 'id')
const allRaw = _.uniqBy(specialEventPatches(_.concat(...results)), 'id')
return {
'anno-1': formatEvents(timetablesRaw[0]),
@ -176,7 +173,7 @@ const App = ({}) => {
const [date, setDate] = useState(new Date().toISOString())
// Data Sources
const [view, setView] = usePersistentState('view', 'magistrale')
const [view, setView] = usePersistentState('view', 'tutti')
const [timetables, setTimetables] = useState(null)
useEffect(async () => {
setTimetables(await loadCalendari(new Date(date)))
@ -194,7 +191,7 @@ const App = ({}) => {
const [theme, setTheme] = usePersistentState(
'theme',
'light'
'light',
// window.matchMedia('(prefers-color-scheme: dark)').matches
// ? 'dark'
// : 'light'

@ -75,7 +75,7 @@ async function parseSemesterStartDate() {
try {
const { startYear, endYear } = getCurrentAcademicYear();
const currentMonth = new Date().getMonth();
const currentSemester = currentMonth >= 1 && currentMonth <= 6 ? 2 : 1;
const currentSemester = currentMonth >= 0 && currentMonth <= 5 ? 2 : 1;
const url = `https://www.dm.unipi.it/didattica/lezioni-esami/calendario-delle-attivita-didattiche/calendario-delle-attivita-didattiche-a-a-${startYear}-${endYear.toString().slice(-2)}/`;

@ -1,14 +1,14 @@
{
"timetableIds": {
"anno-1": "687e66d62d13e6001edd366d",
"anno-2": "687e681301ee9300198320e6",
"anno-3": "687e68bb01ee9300198320eb",
"magistrale": "687e6a9f96ea080019d439d5"
"anno-1": "6966206f0f456f00552cec75",
"anno-2": "696622ec8a872b0073c0e54d",
"anno-3": "6966259a7727c0007dce3bd2",
"magistrale": "6966272716f73b007d88fd8f"
},
"semesterStartDateStr": "24 settembre 2025",
"firstMondayDate": "2025-09-29T00:00:00.000Z",
"buttonText": "Vai al 29 settembre! 🚀",
"lastUpdated": "2025-08-28T13:15:33.748Z",
"semesterStartDateStr": "25 febbraio 2026",
"firstMondayDate": "2026-03-02T00:00:00.000Z",
"buttonText": "Vai al 2 marzo! 🚀",
"lastUpdated": "2026-01-23T15:15:31.641Z",
"academicYear": {
"startYear": 2025,
"endYear": 2026

Loading…
Cancel
Save