From 935309147c284b5e9fb59f342aad368cf47c87ef Mon Sep 17 00:00:00 2001 From: Antonio De Lucreziis Date: Sun, 25 Feb 2024 16:43:59 +0100 Subject: [PATCH] cmd: prettier -w src/ --- .prettierrc | 9 +++++ src/components/EventsView.jsx | 1 - src/components/Help.jsx | 28 +++++++-------- src/components/SettingsBar.jsx | 8 ++--- src/components/Toolbar.jsx | 11 ++---- src/components/view/Courses.jsx | 19 +++------- src/components/view/Schedule.jsx | 62 +++++++++----------------------- src/interval-layout.js | 13 ++----- src/main.jsx | 23 +++++------- src/styles/main.scss | 34 +++++------------- src/utils.jsx | 24 +++---------- 11 files changed, 73 insertions(+), 159 deletions(-) create mode 100644 .prettierrc diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..06be26d --- /dev/null +++ b/.prettierrc @@ -0,0 +1,9 @@ +{ + "printWidth": 90, + "singleQuote": true, + "quoteProps": "consistent", + "tabWidth": 4, + "semi": false, + "arrowParens": "avoid", + "proseWrap": "always" +} diff --git a/src/components/EventsView.jsx b/src/components/EventsView.jsx index 40e3364..7405d95 100644 --- a/src/components/EventsView.jsx +++ b/src/components/EventsView.jsx @@ -24,7 +24,6 @@ const viewModeMap = { export const EventsView = ({ mode, source, ...viewProps }) => { // const Mode = viewModeMap[mode] - if (source === 'orario') { return ( diff --git a/src/components/Help.jsx b/src/components/Help.jsx index 0fff8f8..b7133da 100644 --- a/src/components/Help.jsx +++ b/src/components/Help.jsx @@ -4,33 +4,31 @@ export const Help = ({}) => ( <>

Visualizzazione Corsi

- Per visualizzare i corsi che ti interessano nella tabella - dell'orario, devi prima selezionarli. Puoi selezionare dei corsi - cliccandoli, cercandoli nelle sezioni Primo anno (I), Secondo - anno (II), Terzo anno (III), Magistrale (M), o - Tutti. + Per visualizzare i corsi che ti interessano nella tabella dell'orario, devi + prima selezionarli. Puoi selezionare dei corsi cliccandoli, cercandoli nelle + sezioni Primo anno (I), Secondo anno (II), Terzo anno ( + III), Magistrale (M), o Tutti.

- Una volta compiuta la selezione, è possibile vedere la tabella delle - lezioni andando nella visualizzazione Orario ( + Una volta compiuta la selezione, è possibile vedere la tabella delle lezioni + andando nella visualizzazione Orario ( )

- Per via di eventuali preferenze personali, è possibile cambiare - l'orientazione della tabella Orario trasponendola, utilizzando il - pulsante Trasponi ( + Per via di eventuali preferenze personali, è possibile cambiare l'orientazione + della tabella Orario trasponendola, utilizzando il pulsante Trasponi ( )

- È anche possibile visualizzare in uno specchietto riassuntivo - soltanto i corsi selezionati, andando nella visualizzazione Lista ( + È anche possibile visualizzare in uno specchietto riassuntivo soltanto i corsi + selezionati, andando nella visualizzazione Lista ( )

Stampa

- Da desktop puoi stampare l'orario attualmente visibile con il - bottone (è consigliato controllare le opzioni - di stampa per ottenere un risultato soddisfacente). + Da desktop puoi stampare l'orario attualmente visibile con il bottone{' '} + (è consigliato controllare le opzioni di stampa per + ottenere un risultato soddisfacente).

Bug & Contatti

diff --git a/src/components/SettingsBar.jsx b/src/components/SettingsBar.jsx index b4ad60e..7fd6f39 100644 --- a/src/components/SettingsBar.jsx +++ b/src/components/SettingsBar.jsx @@ -7,13 +7,9 @@ export const SettingsBar = ({ theme, setTheme, date, setDate }) => {

diff --git a/src/components/Toolbar.jsx b/src/components/Toolbar.jsx index 278897a..ecfd0ef 100644 --- a/src/components/Toolbar.jsx +++ b/src/components/Toolbar.jsx @@ -24,8 +24,7 @@ export const Toolbar = ({
@@ -64,13 +63,9 @@ export const Toolbar = ({
diff --git a/src/components/view/Courses.jsx b/src/components/view/Courses.jsx index ecd921b..17e3019 100644 --- a/src/components/view/Courses.jsx +++ b/src/components/view/Courses.jsx @@ -72,27 +72,18 @@ export const Courses = ({ } data-course-id={id} onClick={() => { - if (!selectionSet.has(id)) - setSelection([...selection, id]) - else - setSelection( - selection.filter(selId => selId !== id) - ) + if (!selectionSet.has(id)) setSelection([...selection, id]) + else setSelection(selection.filter(selId => selId !== id)) }} > -
- {prettyCourseName(courseEvents[0].name)} -
-
- {profsPerCourse[id].join(', ')} -
+
{prettyCourseName(courseEvents[0].name)}
+
{profsPerCourse[id].join(', ')}
{courseEvents.map(course => (
{WEEK_DAYS[course.start.getDay()]}{' '} {format(course.start, 'H:mm')}– - {format(course.end, 'H:mm')}{' '} - {course.aule.join(', ')} + {format(course.end, 'H:mm')} {course.aule.join(', ')}
))}
diff --git a/src/components/view/Schedule.jsx b/src/components/view/Schedule.jsx index 22eddc4..d558e16 100644 --- a/src/components/view/Schedule.jsx +++ b/src/components/view/Schedule.jsx @@ -3,11 +3,7 @@ import { useEffect, useRef, useState } from 'preact/hooks' import _ from 'lodash' import { differenceInMinutes, startOfDay } from 'date-fns' -import { - WEEK_DAYS_SHORT, - prettyCourseName, - usePersistentState, -} from '../../utils.jsx' +import { WEEK_DAYS_SHORT, prettyCourseName, usePersistentState } from '../../utils.jsx' import { layoutEvents, layoutIntervals } from '../../interval-layout.js' import { Popup } from '../Popup.jsx' import { Icon } from '../Icon.jsx' @@ -17,28 +13,23 @@ const TransposePopup = ({ onClose }) => { - Attenzione! La tabella è stata - trasposta! + Attenzione! La tabella è stata trasposta! } onClose={onClose} > -

- A grande richiesta popolare abbiamo trasposto la tabella - dell'orario! -

+

A grande richiesta popolare abbiamo trasposto la tabella dell'orario!

- Assicurati quindi di leggerla correttamente (dall'alto verso il - basso invece che da sinistra verso destra). + Assicurati quindi di leggerla correttamente (dall'alto verso il basso + invece che da sinistra verso destra).

- Se preferisci utilizzare la versione vecchia, puoi utilizzare il - pulsante Trasponi{' '} - {' '} - nell'origine della tabella per trasporla. Questa scelta verrà - salvata nei cookie e verrà ricordata in futuro + Se preferisci utilizzare la versione vecchia, puoi utilizzare il pulsante + Trasponi {' '} + nell'origine della tabella per trasporla. Questa scelta verrà salvata nei + cookie e verrà ricordata in futuro

) @@ -49,8 +40,8 @@ const NoCourseWarning = () => {

Non hai ancora selezionato nessun corso.

- Clicca sui corsi nelle altre visuali per selezionarli e - visualizzarli nell'orario + Clicca sui corsi nelle altre visuali per selezionarli e visualizzarli + nell'orario

) @@ -75,13 +66,10 @@ const Layout = ({ layout, day, colors }) => { style={{ '--block-size': block.end - block.start, '--size': event.end - event.start, - '--relative-start': - event.start - block.start, + '--relative-start': event.start - block.start, '--index': event.index, '--of': block.layers, - '--color': `var(--event-${ - colors[event.id] - })`, + '--color': `var(--event-${colors[event.id]})`, }} >
@@ -118,16 +106,11 @@ const ScheduleGrid = ({ class="small" onClick={() => setOrientation( - orientation === 'original' - ? 'transposed' - : 'original' + orientation === 'original' ? 'transposed' : 'original' ) } > - +
{[1, 2, 3, 4, 5].map(n => ( @@ -215,20 +198,9 @@ export const Schedule = ({ timetables, selection }) => { 'transpose_info', 'false' ) - const [orientation, setOrientation] = usePersistentState( - 'orientation', - 'original' - ) + const [orientation, setOrientation] = usePersistentState('orientation', 'original') - const colorList = [ - 'red', - 'purple', - 'blue', - 'yellow', - 'green', - 'orange', - 'lightblue', - ] + const colorList = ['red', 'purple', 'blue', 'yellow', 'green', 'orange', 'lightblue'] const allEvents = timetables['tutti'] const selectionSet = new Set(selection) diff --git a/src/interval-layout.js b/src/interval-layout.js index 39b7472..5d24ac7 100644 --- a/src/interval-layout.js +++ b/src/interval-layout.js @@ -42,10 +42,7 @@ function layoutBlockEvents(events) { let viableIndex = 0 while ( result.filter( - e => - e.index === viableIndex && - e.start < event.end && - event.start < e.end + e => e.index === viableIndex && e.start < event.end && event.start < e.end ).length !== 0 ) { viableIndex += 1 @@ -57,8 +54,7 @@ function layoutBlockEvents(events) { return result } export function layoutEvents(events) { - const overlap = (event, block) => - event.start < block.end && block.start < event.end + const overlap = (event, block) => event.start < block.end && block.start < event.end events.sort((a, b) => a.start - b.start) @@ -68,10 +64,7 @@ export function layoutEvents(events) { if (blocks.length > 0) { layout = layout.filter(block => !overlap(event, block)) layout.push({ - start: Math.min( - event.start, - ...blocks.map(block => block.start) - ), + start: Math.min(event.start, ...blocks.map(block => block.start)), end: Math.max(event.end, ...blocks.map(block => block.end)), events: blocks.flatMap(block => block.events).concat([event]), }) diff --git a/src/main.jsx b/src/main.jsx index 59a7a83..1bd1dd4 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -53,8 +53,7 @@ function specialEventPatches(eventi) { // Il laboratorio del primo anno in realtà è in due gruppi separati eventi.forEach(evento => { if ( - evento.nome === - 'LABORATORIO DI INTRODUZIONE ALLA MATEMATICA COMPUTAZIONALE' + evento.nome === 'LABORATORIO DI INTRODUZIONE ALLA MATEMATICA COMPUTAZIONALE' ) { if (evento.docenti[0].nome === 'GIOVANNI') { evento.nome += ' (A)' @@ -75,9 +74,7 @@ function formatEvents(timetable) { name: _.split(nome, '-', 1)[0].trim(), start: new Date(dataInizio), end: new Date(dataFine), - docenti: docenti.map(({ nome, cognome }) => - prettyProfName(nome, cognome) - ), + docenti: docenti.map(({ nome, cognome }) => prettyProfName(nome, cognome)), aule: aule.map(aula => prettyAulaName(aula.codice)), } }) @@ -191,10 +188,7 @@ const App = ({}) => { // const [mode, setMode] = usePersistentState('orario.mode', MODE_COURSES) // Selection - const [selectedCourses, setSelectedCourses] = usePersistentState( - 'selection', - [] - ) + const [selectedCourses, setSelectedCourses] = usePersistentState('selection', []) // Menus const [helpVisible, setHelpVisible] = useState(false) @@ -265,16 +259,15 @@ const App = ({}) => { ) : timetables['tutti'].length === 0 ? (

- Non esistono corsi per la settimana selezionata: - buone vacanze! 🎉 + Non esistono corsi per la settimana selezionata: buone + vacanze! 🎉

- Per cambiare settimana puoi usare il widget - Calendario ( + Per cambiare settimana puoi usare il widget Calendario ( ) in alto a destra
- In versione mobile, il widget Calendario è - situato dentro il Menu ( + In versione mobile, il widget Calendario è situato dentro + il Menu ( )

diff --git a/src/styles/main.scss b/src/styles/main.scss index 303eb41..fba8b43 100644 --- a/src/styles/main.scss +++ b/src/styles/main.scss @@ -644,8 +644,7 @@ body { border: 1px solid var(--border-600); border-radius: 10px 10px 0 0; - @media screen and (max-width: $device-s-width), - (pointer: coarse) { + @media screen and (max-width: $device-s-width), (pointer: coarse) { font-size: 12px; } @@ -700,10 +699,7 @@ body { &.original { grid-template-columns: auto repeat(5, 1fr); - grid-template-rows: min-content repeat( - var(--time-slots), - 1fr - ); + grid-template-rows: min-content repeat(var(--time-slots), 1fr); .transpose-button, .day-label { @@ -730,22 +726,16 @@ body { } .event-block-wrapper { - grid-row: calc(var(--time-start) + 2) / - calc(var(--time-end) + 2); + grid-row: calc(var(--time-start) + 2) / calc(var(--time-end) + 2); grid-column: calc(var(--day-position) + 1); .event-block { .event-wrapper { width: calc(100% / var(--of)); - height: calc( - 100% * var(--size) / var(--block-size) - ); + height: calc(100% * var(--size) / var(--block-size)); transform: translateX(calc(100% * var(--index))) translateY( - calc( - 100% * var(--relative-start) / - var(--size) - ) + calc(100% * var(--relative-start) / var(--size)) ); } } @@ -753,10 +743,7 @@ body { } &.transposed { grid-template-rows: auto repeat(5, 1fr); - grid-template-columns: min-content repeat( - var(--time-slots), - 1fr - ); + grid-template-columns: min-content repeat(var(--time-slots), 1fr); .transpose-button, .day-label { @@ -792,15 +779,10 @@ body { .event-block { .event-wrapper { height: calc(100% / var(--of)); - width: calc( - 100% * var(--size) / var(--block-size) - ); + width: calc(100% * var(--size) / var(--block-size)); transform: translateY(calc(100% * var(--index))) translateX( - calc( - 100% * var(--relative-start) / - var(--size) - ) + calc(100% * var(--relative-start) / var(--size)) ); } } diff --git a/src/utils.jsx b/src/utils.jsx index f429e67..0ca2f03 100644 --- a/src/utils.jsx +++ b/src/utils.jsx @@ -12,15 +12,7 @@ export const WEEK_DAYS = [ 'Sabato', ] -export const WEEK_DAYS_SHORT = [ - 'Dom', - 'Lun', - 'Mar', - 'Mer', - 'Gio', - 'Ven', - 'Sab' -] +export const WEEK_DAYS_SHORT = ['Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab'] // Hashing @@ -32,12 +24,8 @@ export function hashString(str, seed = 0) { h1 = Math.imul(h1 ^ ch, 2654435761) h2 = Math.imul(h2 ^ ch, 1597334677) } - h1 = - Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ - Math.imul(h2 ^ (h2 >>> 13), 3266489909) - h2 = - Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ - Math.imul(h1 ^ (h1 >>> 13), 3266489909) + h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909) + h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909) return 4294967296 * (2097151 & h2) + (h1 >>> 0) } @@ -50,9 +38,7 @@ export function prettyCourseName(name) { .map(word => { if (word.trim().length === 0) return word - return /(^del|^nel|^di$|^dei$|^con$|^alla$|^per$|^e$|^la$)/.test( - word - ) + return /(^del|^nel|^di$|^dei$|^con$|^alla$|^per$|^e$|^la$)/.test(word) ? word : word[0].toUpperCase() + word.slice(1) }) @@ -61,7 +47,7 @@ export function prettyCourseName(name) { .replaceAll('IIi', 'III') .replaceAll('Iii', 'III') .replaceAll(/'(.)/g, ({}, letter) => "'" + letter.toUpperCase()) - .replaceAll(/\((a|b)\)/g, ({}, letter) => "(" + letter.toUpperCase() + ")") + .replaceAll(/\((a|b)\)/g, ({}, letter) => '(' + letter.toUpperCase() + ')') } export function prettyAulaName(name) {