Commit graph

140 commits

Author SHA1 Message Date
Taevas
b7320698cc Update About and Contact (#8) 2024-11-01 13:29:07 +01:00
Taevas
cb98cbf963 Fix getting an osu! token 2024-10-31 20:04:15 +01:00
Taevas
28c898d400 Update dependencies
It's actually kinda scary to make changes to something that works well when you don't really know why it works well in the first place...
2024-10-30 15:50:18 +01:00
Taevas
540fdd85ff QoL improvements 2024-05-21 18:09:09 +02:00
Taevas
488d32d508 Fix an oversight 2024-05-20 16:34:16 +02:00
Taevas
29c8d9a47f (hopefully) Better mobile support for dragging Infos (#5)
Configuring the local network to access the vite app from another device sounds like a big pain...
2024-05-20 16:28:04 +02:00
Taevas
4ebd8a74f5 Better synchronize the Infos' dragbar (closes #5) 2024-05-20 15:51:14 +02:00
Taevas
5f3104e930 Make the left side of Infos draggable to change its width (#5) 2024-05-20 15:26:53 +02:00
Taevas
45303348ca Make Infos adapt themselves to the width of Infos (#5) 2024-05-19 20:39:10 +02:00
Taevas
19038f307f Redesign the Music Info (last.fm)
Turns out I wasn't really satisfied with how the very first `Info` I made aged
Don't know yet if I'll do anything with other `Info`s, they kinda look fine tbh!
2024-05-19 00:19:49 +02:00
Taevas
9dda0fd492
Merge pull request #7 from TTTaevas/redesign-1
Redesign the website
2024-05-18 17:56:37 +02:00
Taevas
56098ebb1f No longer open previously opened tabs on a new visit
That's worth it only if they open at the spot they were moved to during the previous visit
I really really don't feel like figuring out how to *properly* keep track of a tab's position at the moment
2024-05-18 15:56:22 +02:00
Taevas
c0f585719b Update the osu! logo to v4b
"v4" is the January 2024 logo with the dot, "v4b" is the May 2024 logo without the dot
But I liked the dot :(
Isn't it interesting how the web version doesn't have the shading that's present in the game client btw?
2024-05-16 23:27:30 +02:00
Taevas
14af837c69 Show a Tabs over others in certain conditions
Those conditions being either toggling the tab's display or clicking the tab itself
2024-05-16 22:44:38 +02:00
Taevas
1371328a34 Support having multiple tabs opened at once
Needs to be more user-friendly, but at least the main part is there
(doesn't handle width well, need to check how tabs should be over other tabs)
2024-05-14 22:43:48 +02:00
Taevas
920f5619db Initial redesign of Tab 2024-05-12 16:55:00 +02:00
Taevas
ca76407635 Redesign MainWindow
Better usage of colours and space imo
2024-05-11 19:36:28 +02:00
Taevas
bfb2694f0b Adjust the App's styling, change background
Note to self: Background is both in `index.html` & `App.tsx`
It's in `index.html` so the bg's still there after scrolling
It's in `App.tsx` so the bg actually works (tailwind shenanigans?)
2024-05-11 01:41:50 +02:00
Taevas
dccd87728e Redesign Info 2024-05-10 19:12:35 +02:00
Taevas
9290dee23c Styling changes
Switch the tab's logo and name, having the logo on the left and the name at the middle (like any Linux DE)
Make the tab close button look smaller, make it look different on hover and active states
Make `CopyField`s inactive for 3 seconds instead of 5 seconds
Make certain things no longer draggable
Add looks for the hover & active state for `TabButton`s and `ButtonLink`s
Use `@carbon/icons-react` over downloaded svgs
Update README
Remove Herobrine
2024-05-09 02:08:41 +02:00
Taevas
64f9f853b9 Add Translatables to Tabs (#6) 2024-05-08 16:29:39 +02:00
Taevas
3eea1b1f80 Introduce LanguageContext (#6} 2024-05-07 16:35:40 +02:00
Taevas
360ba3ae60 Mostly styling cleanups 2024-05-07 01:56:47 +02:00
Taevas
ad9fd17a00 Upgrade to React 19 (beta) & fix minor things 2024-05-05 19:10:10 +02:00
Taevas
0d9e4f6ed7 Get the osu! oauth token from MongoDB
I will likely use MongoDB for other things with this website in the future
2024-05-05 18:14:05 +02:00
Taevas
65884c0754 Hide the RhythmGames Info for the time being
Turns out setting environment variables on runtime seemingly only works on my computer 👍

Will need to find a database solution I think
Might wanna look into Prisma (ORM)
2024-05-04 19:40:04 +02:00
Taevas
719672ffa0 Load an Info's Website separately from the Info itself
Makes it so:
- An `Info`'s `Website` doesn't need to wait for other `Website`s of that same `Info` to load to show up
- An `Info`s `Website` not working won't prevent other `Website`s of that same `Info` from showing up
- Code is more split and organized

Furthermore, the token for the osu! API is now stored, and used for ALL osu! requests for 24 hours instead of being revoked

Overall, it's a lot of future-proofing so things on working even if I'm no longer there to maintain them
Also so `Info`s can be added, changed, and removed more easily
2024-05-04 19:14:18 +02:00
Taevas
dec30acf14 Add more to README, adjust an Info 2024-05-03 01:04:33 +02:00
Taevas
40d7eb7516 Show loading & error states for Infos (closes #4) 2024-05-02 19:21:21 +02:00
Taevas
24d8c0f484 Wrap all Infos in try...catch statements (#4)
Despite all the type safety stuff going on, the objects we access have no guarantee of having the expected properties
When the property doesn't exist, it actually crashes **the whole page**!
So now, if such an unexpected thing was to happen, it'll be handled kinda as if the Netlify functions gave us `undefined`
Although in this specific case, it also logs stuff on the client's dev console
2024-05-02 01:57:35 +02:00
Taevas
d9991ac0e7 Handle errors for Anilist, Lastfm, and Speedruncom Infos (#4)
Also make the client automatically request every 2 minutes an update for Last.fm
Also lightly change the `AnimateHeight` of `Info` (for the sake of the top border and better looks when multiple websites in one category)
2024-05-01 21:10:00 +02:00
Taevas
dad037bed0 AnimateHeight for Info, error handling for the Osu Info (#4) 2024-05-01 19:12:02 +02:00
Taevas
cca62c093f Sort the public directory
Also added the Carbon Design System elements in it, instead of writing the svgs in `src`
Also made all image imports absolute
Also made the `alt` of `SocialButton`s more (although not entirely) readable, *just in case* :3
2024-05-01 02:56:47 +02:00
Taevas
b4af91405d Start handling bad requests on client-side rather than Netlify-side (#4)
Too much can go wrong on the side of Netlify, so it should throw on purpose if anything goes bad so the client can `catch` that
2024-05-01 02:11:36 +02:00
Taevas
3072c8c88d Small adjustments
`SocialButton` and its image are no longer draggable
It's no longer possible to click the edge of a `SocialButton` without clicking the hyperlink
Any `SocialButton` will darken while `active`
`Tab` has its name and close button switch positions

The reasoning for this last change is because it's more intuitive (to Windows and most Linux users)
and because it makes more sense to have the mouse be on the middle/right of the screen surrounded by buttons, rather than the left where there's very little

tldr; my interpretation of psychology
2024-04-30 17:15:16 +02:00
Taevas
d8486b66b0 Display SocialButtons (closes #2)
I couldn't find an svg for the modern osu! logo so I made one myself using the assets on the osu! website
I've switched the background colour and the colour of the "A" in the AniList logo so it would look better here
I've made this Last.fm logo myself, using its old square logo and the colour of the current favicon
2024-04-30 01:41:45 +02:00
Taevas
ced96f152a Introduce SocialButtons (#2) 2024-04-29 23:15:35 +02:00
Taevas
c5a9c9687d
Merge pull request #1 from TTTaevas/gotta-clean-clean-clean
Introduce ESLint & fix issues reported by it
2024-04-29 01:32:09 +02:00
Taevas
d2f3cada52 Lint Netlify functions 2024-04-27 21:22:48 +02:00
Taevas
eb85319f73 Also apply basic linting to Netlify functions 2024-04-27 18:45:18 +02:00
Taevas
3d38ba1768 Lint Infos 2024-04-25 23:20:03 +02:00
Taevas
ccd07f0b9b Basic linting 2024-04-24 22:35:22 +02:00
Taevas
677b71cad4 Install ESLint 8, (finally) add a tsconfig.json
Wait, so which compiler have I been using this whole time??
I'm guessing Babel, but then is tsconfig and adding typescript to package.json useful???
Man, I'm not used to that stuff, I need to learn more
2024-04-24 03:05:48 +02:00
Taevas
83d21b18cf Final .jsx -> .tsx, reorganize structure a bit 2024-04-24 02:03:27 +02:00
Taevas
fda309f3f6 Make TabButtons their own component 2024-04-24 01:13:12 +02:00
Taevas
4eb6eb3c94 Update outdated code
mfw my IDE just doesn't let me know about non-existing interfaces
2024-04-06 15:34:32 +02:00
Taevas
51687c8682 Updates packages, discord, infos about osu-api-v2-js 2024-04-01 01:27:09 +02:00
Taevas
84ada5849e Update dependencies 2023-11-28 18:37:11 +01:00
Taevas
77f98c5628 Show next WaniKani reviews date even if available reviews 2023-11-19 16:03:15 +01:00
Taevas
d1c0269a81 Basic code quality stuff 2023-11-05 21:01:24 +01:00