Commit Graph

179 Commits

Author SHA1 Message Date
0ae553cca8 🚧 Add admin api and ui for timetable management 2023-06-20 23:10:52 +02:00
0e2cc70a6b 🐛 Don't show delete button for remote timetables 2023-06-20 20:33:44 +02:00
41c0d329fb Allow updating remote timetables with permission 2023-06-20 20:22:51 +02:00
5d9317ac01 🛂 Add key-based permission system 2023-06-20 19:53:34 +02:00
917783d114 ⬆️ Upgrade dependencies 2023-06-20 18:39:46 +02:00
8b3809aeda 🚑 Fix insert/delete loop if plans have same date
- Fix loop if multiple plans have the same date but different data
- Instead join them into one single plan to parse all substitutions
- Swap teacher and changedTeacher of "Sondereinsa." substitutions
2023-06-20 15:40:05 +02:00
1bfd156a03 🚸 Improve UX in timetable editor 2023-06-20 15:25:16 +02:00
76b7946b13 🩹 Properly center info-card component 2023-06-20 00:36:59 +02:00
cd6801d625 Implement importing and exporting of timetables 2023-06-19 23:58:17 +02:00
9afae9b2cc 🐛 Fix bugs in timetable editor
- Turn off autocorrect / spellcheck
- Prevent some browsers from jumping to the start of the text field
- Correctly handle lesson lengths
2023-06-19 16:14:10 +02:00
67ac435331 🚑 Fix scrolling issue 2023-06-19 00:20:31 +02:00
4d4a92bff3 Implement timetable editing 2023-06-18 23:43:08 +02:00
46b235ba91 🎨 Make bottomnav hiding configurable in router 2023-06-18 21:18:00 +02:00
211d1d2b2f 🎨 Make date selector modular 2023-06-18 18:18:26 +02:00
3a8ce74f53 🎨 Move lesson card to seperate component 2023-06-18 16:33:58 +02:00
956058eef9 Implement duplication and deletion of timetables 2023-06-18 15:04:51 +02:00
f19d43396c Add basic handling for local timetables 2023-06-18 14:45:12 +02:00
48364d4c59 Add support for multiple remote timetables
- Add timetable "title" column to db
- Make API return array of timetables
- Add settings page for selecting a timetable
- Add InfoCard if no timetable is selected
2023-06-18 14:30:36 +02:00
dac0d09167 🐛 Fix issues with UTC time handling
- Using `.setUTCHours` can cause the day to shift at specific times
2023-06-11 23:54:18 +02:00
dee01cc21a 🩹 Fix double locale translation 2023-06-11 23:08:47 +02:00
1938b618d4 🚑 Fix timetable groups not getting saved 2023-06-06 23:54:53 +02:00
f12c59800a Add language options to appearance settings 2023-06-06 23:37:07 +02:00
89c1f18f0e Add timetable group settings 2023-06-06 23:23:11 +02:00
1ed9af766d 🚧 💄 Implement new settings menu and 3 subpages
- Implement new main settings menu
- Implement "filtering" page
- Implement "appearance" page
- Implement "about" page
- Make the Git hash a link to the Git repo
2023-06-06 22:39:08 +02:00
7183f467b4 ♻️ Use vite define instead of GitRevision package 2023-06-06 21:46:54 +02:00
baa4c19f1a 🐛 Default classList to an array 2023-06-06 21:07:29 +02:00
55517f6c1b ♻️ Replace relative paths with "@" alias 2023-06-06 21:02:09 +02:00
9164f56172 Support subroutes of settings 2023-06-06 19:35:02 +02:00
e416e599fa 🎨 Define data routes in router config 2023-06-06 19:32:48 +02:00
d3bfb379c4 🐛 Fix circular import in router 2023-06-05 19:45:48 +02:00
7928e4941f 🚸 🐛 Fix HMR issues & change lang without reload
- Fix HMR issues due to circular import of "language" and "i18n"
- Move i18n to seperate file
- Dynamically update language instead of doing a full page reload
2023-06-05 19:11:15 +02:00
d1910a7877 🐛 Still try loading timetable after initial fetch
If the user triggers a new data fetch
and there is no timetable data available,
the app now tries to request the timetable
again instead of just doing a partial fetch.
2023-06-04 20:05:12 +02:00
2837255552 🚸 Show infocard on loading failure 2023-06-04 19:58:03 +02:00
776a7d1a42 🐛 Correctly copy objects
- Fixes timetable data corruption on timetable group change
2023-06-04 16:34:30 +02:00
8cdf5a691c 🐛 Fix z-index of loading bar 2023-06-04 16:12:21 +02:00
a5fcd2a25d 💬 Add missing strings for loading indicator 2023-06-04 16:11:28 +02:00
626fdcb46c 🚸 Add loading indicator to timetable view 2023-06-04 16:10:54 +02:00
819e63cf31 🎨 Improve CSS around Swiper component 2023-06-04 16:04:26 +02:00
4508ba3fbd 💄 Make loading bar an overlay 2023-06-04 12:49:48 +02:00
1ad6fc5e3a ♻️ Move from .vue files to Lucide for icons 2023-06-04 00:08:30 +02:00
7b04760a7d 🚑 Fix swiperjs not working correctly after update 2023-06-03 19:49:19 +02:00
4dc83e92ce 📝 Add screenshots to README 2023-06-03 18:46:04 +02:00
16f693fff0 📝 Improve documentation 2023-06-03 14:51:09 +02:00
44f416366f 🔨 Make eslint work for nodejs in server/ 2023-06-03 14:17:38 +02:00
4ada825718 📄 License under GPL v3 2023-06-03 14:14:27 +02:00
0b9c8a5552 Migrate from DSB Mobile to BOLLE 2023-06-02 21:15:52 +02:00
d3b1bacacd Add support for BOLLE 2023-06-02 21:14:33 +02:00
68dfb7cb7c 🥅 Better error-handling on DSB request failure 2023-06-02 20:47:36 +02:00
c6120e5f68 🎨 Make the parser modular
- Move some DSB related functions from parser/index to parser/dsbmobile
- Make the dsb parser a fileProvider with the DSBClient class
- Initialize the parser with a fileProvider and documentParser instance
2023-06-02 16:59:20 +02:00
54fa25f3dd 🐛 Fix crash when trying to renew session 2023-06-02 14:23:40 +02:00