Please sign in to access this page
Woah?! What's this? It be Openlink! A project that be a custom client built of the EdulinkOne API (the School Management Software(. This was a pain in my ass. What makes it different from the original client though? Well the less API calls because the original made unneeded API calls like for example the External Links page making an API call for each item to grab image when it was given the images in a original API call it made, the Catppuccin theme and the option to fork and build custom themes, the app form so you can open the app on desktop and be auto logged in, the more detailed pages like timetable including club timetable unlike the original client requiring you to view it in clubs tab and more!
domain
Check their projects out: ChessBro Mobile, Anydle, ChessBro
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
Ship 1
1 payout of
I need today's sticker so I post today!
Not really much of an update today or atleast rn but refactor and a fix
- Moved the System Tray code from the frontend to backend so it doesn't try redo it on refresh
- Moved markAsRead code to onClick of messgae instead of load of openedMessage
- Make code modify store of messages to mark message as read locally appearing it as read
Another Day Another Bug Fixes. Although today is the day of ship :3
- Disabled teacher/parent buttons because that's going to take too long to implement before deadline
- Fixed waitForWheelTranstion() running forever because element didn't exist yet because of page load
- Fixed item box messed up by footer with dynamic height
- Fixed settings close button missing class cursor-pointer
Woah an update?! Small one but one at that
- Instead of importing sessionData into children just pass it to them
- Move apiUrl into sessionData
- Gave a type to edulink and sessionData
- I actually implemeneted the remember me checkbox
- Load footer data instantly for faster view then once club data is pulled just update footer data
Woah a devlog? That must mean? MORE STUFF RIGHT? No but BUGFIXES
- Instead of assuming endtime for club in timetable we get clubDetails.result.club.sessions item endtime for it if exists
- fix wait for nav wheel anim not running because it was set to true because of prev item and swap to new item
- Updater text now doesn't appear in web version, bug fix in the updater in settings to show Checking for updates text
- Fix ?page not working because I did a dumb and messed up load check so if page loaded before check ran it wouldnt work
An update a gay keeps the gizzy wanting to explode
I might of forgot to implement mark as read in messages qwp
BUT ITS HERE NOW DW
Unread messages are marked with a red dot
We also fixed a bug in messages causing a overflow on y axis instead of being scrollable
Woah another update.
IDP LOGIN QUACK
Microsoft login should work not sure about google if your school uses that
Club data in timetable fully finished so you can see leaders of it room time
Icons for the web link now so it embeds
I need today's sticker so uhm UPDATE
Homework page is now sorted closet to farest from due date
Auto version bump in the github action
Fix 404 on github pages because of dumb github
A fully implemeneted club timetable in timetable page
Some bug fixes
Description change in som
Change repo for it in som to github
Add the demo link
Erm Update?!
Clean up of timetable code because it was a mess
Bug fixes to the updater
View club in footer for next/current
View clubs in timetable though not fully complete yet its just basic info
Exam item load times improved a lot by grabbing exams first then the other pages on it
More toasts for login for errors
Updates yum :3
Slight improvement to responsiveness in items
Ability to join/leave a CLUB now
Bug fixes to ?page= so items can load on page reload now
Swapped to package.json for versioning on releases
Clean up of sum code
A fix in the demo json file to be correct because these demo files I have access to are definitely bad even though they are offical some just link to the wrong method with wrong data qwp
Woo! More Updates!
Erm watteinstaller. Mmmpfgh you can now download RELEASE BUILDS FROM THE GUTHIB can't promise they wont be buggy af BUT THEY EXIST
I fixie the all clubs to allow preview because i forgor to set member to false so it only showed clubs your in
QUACK
Better page history :3 Opening items adds a query to link to that page and adds it to history allowing you to use back button to exit page or refresh to go back to the page without an issue
This devlog is less of a update more of a I hate github actions devlog
The 3 hours was spent fixing github actions to allow windows building to work, optimising it so its not slow. It does also come with some bug fixes made to the thing but not that much I just really hate github actions BUT PRE RELEASES.
I lied I forgot to post the devlog so im combine ANOTHER DEVLOG WITH IT
i spent 3 hours trying to get a navwheel to be 10px away from the item box 3 HOURS I HATE RESPONSIVE DESIGNS I HATE WEB DEVELOPMENT GOD WHY DOES THIS SUCK SO MY PLEASE JUST LET ME EXPLODE
Also fixed dumb type errors
Devlogmaxxing :3
No more default 60 interval now prefer statusinterval given by api
Speed up of clubs by pulling data at same time not at once
Improved progress bar so it updates more based on new data pulled
Removed component from items.ts as unused
Removed useless console.logs
Fixed default theme messages.module.css _time wrapping to new line when not needed
Made namespace type of achievement and ablookup
Thats about it goodbye
Hallo :3
You no longer have access to all items :( it now uses id which is file name and props.sessionData()?.personal_menu which is an array of all items you are allowed access to
More clean ups like
- Navigation no longer using create effect instead manually setting the data when it happens
- Navigation inferring more data from isSlid instead of explicit set states like showBack, itemOpacities etc
Quack :3
Some bug fixes added to it like
- Fixed all items being set to back icon in some cases
- Progress not resetting to 0 if component closed before opened
Default theme shouldn't be broken anymore
Documents allow for download if blob of base64 or if a link then it just opens it in default browser
Do you smell that? Well I smell it. It smells like? A FULL CATPPUCCIN THEME
Mmm yes the yummy catppuccin theme is here fully implemented and I probably broke the default theme while doing it but atleast it works I can fix that later
MORE CATPPUCCIN YIPPE
Documents, Exams, Behaviour, Achievements and now the main dash has catppuccinified :3
I lied in my last devlog :SHOCKED:
I forgor to transfer login to css modules so I had to do that and I still have to do the same for the error toasts ALTHOUGH I COME WITH SOME CATPPUCCIN UPDATES
TIMETABLE - CATPPUCCIN
LOGIN - CATPPUCCIN
EVERYTHING ELSE - NOT YET
Hallo! Another not much of an update
The migration to CSS modules should be fully complete and now all pages should allow for theming once I finish fully adding that :3 CATPPUCCIN SOON
I should devlog before it gets too long.
Due to me wanting to add support for custom themes my approach to css loading sucked components css's kept inteferring with each other and the parent aka the dash's css affecting footer and header and this got worse with custom css requiring a complete rewrite of how css would be handled instead of loading it with link I am in middle of rewriting it to swap it to CSS modules which prevents css from components interfering with parent and other components and also allows for the ability to allow for custom themes. This isn't much of an update more of devlog to prevent fraud dept thinking I'm committing fraud init and to also keep it from getting to long since last devlog.
New Logo? And UPDATES?! YIPEE
I made a new logo instead of stealing the edulink one get it edulink one because its called Edulink One
Club specific details are viewable now although you still can't join them from this client yet
Renamed a bunch of classes in main.css as they can be affected by items causing overwritten so added a prefix to make it harder to accidentally overwrite the classes of them.
Update?! Yes pwease!
You now have the ability to view you're exam timetable, entries and results.
I also cleaned up the login a bit more to be less of a mess on the code side
Peak I can devlog now
A few things happened while som was done
View the clubs you are in and all the clubs there is (no joining clubs/viewing club specific details yet)
Modification's to login to provide better security with the autologin as we now don't store password in keyring we store an encryption key in keyring which is used to decrypt users.json to access it slight security advantage.
Some basic bug fixes to it to improve user experience
Hallo I come with updates
Bug fixed an issue with attendance causing it to not to grow in some cases because of forgotten flex-grow
I forgot to make missing data handling on attendance so added that so now it doesn't break design because of it
Links page is made so you can now see your school's links they have added
Hallo!
I come with updates
I moved the attendance charts away from chartjs to apexcharts
The lesson academic year attendance is now implemented
I gained a new hate for charts
Quack!
Now there is a fully working statutory month/academic year in attendance usable still missing lesson academic year and attendance today page but that's soon
Might as well devlog before I go bed tonight
Infinite Scrolling (kinda) on messages now so you can load in more messages as you scroll unless well you run out of messages to scroll to
Bug fixed an issue from the infinite scrolling causing grabbing color of BG to be wrong
Basic setup of Attendance Statutory page
Erm Messages?
You can now preview messages from people in it now :3
Erm? Detention update?
You can now preview detentions in the behaviour component
Fixie a bug with style loading of components because of cache i hate cache
Cleaned up behaviour component so its less of a mess but prob still can be cleaned up a bit more
Erm Updates? Yassss
You can now swap between past/current homework items
Slight improvement on devices with small screens
Some code cleanup of the homework page so its less of a mess
Fixed a bug in navwheel causing resize to bring navwheel back to center
I come with UI improvements!
The loading of items was slow from the dynamically loading as before it waited for all now it adds item when ever a item finished loading so items appear faster
On Webkit2GTK atleast the animations of the component pages loading is significantly less choppy compared to before by moving transition into components themselves which also allows items to show it when they finished loading this with adding composite made the transition smoother.
You might notice less icons in SS's now because its dynamic loaded from components compared to before where it had an static array filled with them
Erm wattecolors? YIpee! Collor matching. Instead of the circle logo thing in middle being white all the time it now picks out the most dominant color in the logo!
I also improved the the animations to be less choppy on Webkit2GTK and the components opening while navwheel is still in animation that with more of the code cleaning made this better! I also wanted to test if it was just webkit2gtk being choppy so a bit of code modifying so now it can run in a web browser by removing the tauri features when accessing from a browser (its still there in the app)
Woo 40 hours! Not much of a feature update but i might aswell devlog.
I did some ckeaning of the codebase making dash.tsx go from 600 lines of very ugly code to 125 lines by moving into seperate files instead of one huge one.
God I don't know how I allowed it to get this messy but more cleaning to do!
With passed page setups i got lazy but i added to it!
Timetable now has selectable weeks and days! Although you may notice if you use EduLink day names may be different because it pulls day names straight from api instead of using a set day names so on the offical it can be Mon but on this it can be MonA.
You can also logout now making my life easier from testing with demo and my own account
I got annoyed with having 2 seperate codebases one for demo api and one for the real code so i choose to combine them into one since this is typescript so i can use type safety for correct types for correct requests. I also did some code cleanup so there isnt a spam of createSignals in login now i prob did some more stuff 18 days ago since last devlog but i can not remember. I added new demo button to it to access the demo api for testing
Hallo! I did not post a devlog for 5 days because of procrastination but I do come with an update.
- Refactoring of API call endpoints in code so not one big file split into multiple smaller files
- Homework page completed
- Some bug fixes to the code
A new feature a day keeps the stinky's away.
I come with the account info page done you can now see the information EdulinkOne has on you. Quack
Hallo! I come with updates.
- I made the achievement's page
- Fixed progress bar not appearing after one item page used it
- Fixed item page appearing before it finished grabbing data it needed
- Fixed cleanup of item page CSS to now not stay when closed causing it to break other item pages
Quack! I worked on Behavior today which I found out has a very annoying API to use. I also did some bug fixing to timetable and documents to fix an overflow issue where it chose to overflow instead of make the box be scrollable.
Quack! Hallo! I come bearing more updates! I made the auto login faster though in the future I plan to add multiple account support so it won't be auto login would require user click. I also made the documents page so you can see that. I did a bit of code clean up. Quack!
Meow! This update took longer then expected due to school being out making it annoying! I had to create a mimic API with close to the API requests as I could get just to be able to get timetable setup. Although this mimic API will be helpful with adding more features to the client which I don't have access to on my personal account.
Hallo! I come barely updates!
- Implemented API for current, next, messages, name, avatar and logo
- I hate CSS more now this nav wheel is such a pain in the ass
- Bug fixes so I don't lose my mind as login.tsx css used to be kept when redirect to dash.tsx
- Some code cleanup not much though
- Nav Wheel uses tooltips instead of text next to them as that would be painful to implement
Hallo!
- I did some bug fixes with login
- Added Keyring to store password for auto login if remember me enabled
- Worked on main page header and footer and realised I hate CSS
Implemented functionality of login
Recreated Login Page of the EdulinkOne site but stripped off oauth2 login's for now and disabled reset login button
Created types for the findSchoolById, schoolLookup and login api calls
App in its current state is being built to follow the EdulinkOne website theme
Finished find school by id/code API call and UI
Made error handling toast for any errors in app