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