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

@ -75,7 +75,7 @@ async function parseSemesterStartDate() {
try { try {
const { startYear, endYear } = getCurrentAcademicYear(); const { startYear, endYear } = getCurrentAcademicYear();
const currentMonth = new Date().getMonth(); 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)}/`; 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": { "timetableIds": {
"anno-1": "687e66d62d13e6001edd366d", "anno-1": "6966206f0f456f00552cec75",
"anno-2": "687e681301ee9300198320e6", "anno-2": "696622ec8a872b0073c0e54d",
"anno-3": "687e68bb01ee9300198320eb", "anno-3": "6966259a7727c0007dce3bd2",
"magistrale": "687e6a9f96ea080019d439d5" "magistrale": "6966272716f73b007d88fd8f"
}, },
"semesterStartDateStr": "24 settembre 2025", "semesterStartDateStr": "25 febbraio 2026",
"firstMondayDate": "2025-09-29T00:00:00.000Z", "firstMondayDate": "2026-03-02T00:00:00.000Z",
"buttonText": "Vai al 29 settembre! 🚀", "buttonText": "Vai al 2 marzo! 🚀",
"lastUpdated": "2025-08-28T13:15:33.748Z", "lastUpdated": "2026-01-23T15:15:31.641Z",
"academicYear": { "academicYear": {
"startYear": 2025, "startYear": 2025,
"endYear": 2026 "endYear": 2026

Loading…
Cancel
Save