feat(ui): complete rebuild and modernization of the admin UI#91
feat(ui): complete rebuild and modernization of the admin UI#91orielhaim wants to merge 5 commits intosocketio:developfrom
Conversation
|
@orielhaim is attempting to deploy a commit to the SocketIO Team on Vercel. A member of the Team first needs to authorize it. |
|
Hi! Thanks a lot for your work on this 👍 I'm not sure about all the changes (introduction of biome, tailwindcss and pnpm), but I'll do my best to review it as soon as possible. |
|
Basically this is just my feeling about how the modern stack should look. I highly recommend considering it. Anyway let me know if there are things to improve or change. I would be happy to continue contributing to the project |
|
Unfortunately, it seems that much of the modernization code was AI-generated and is quite difficult for a human to read, which will complicate any future maintenance. Do you think it could be split in multiple PR? |
|
Yeah I gave it a few hours I didn't know if it was worth working hard for and if you were even alive😂 |
|
Hi! I went ahead and merged the upgrade part: 3dae74e I think the modernization part could be applied as a custom CSS layer (https://vuetifyjs.com/en/styles/layers/#utilities-group), what do you think? |
|
Yes it's definitely possible. I started with a version like this but then I switched to tailwind to make it less messy |
|
There were conflicts with |
|
We can upgrade to vite-plugin-inspect v12 to resolve this |
Summary
Complete modernization of the Admin UI frontend (
ui/). The existing stack has not been meaningfully updated since April 2023 and relies on dependencies that are deprecated or end-of-life. This PR rebuilds the frontend with a current, actively-maintained toolchain while preserving all existing functionality.Motivation
The current UI depends on Vue 2 (EOL since Dec 31 2023), Webpack 4 via the deprecated
@vue/cli-service, Vuetify 2, and several unmaintained packages (node-sass,babel-eslint,webpack-remove-debug). These create security exposure, prevent contributors from using modern APIs, and make the project increasingly difficult to maintain.Migration details
@vue/cli-service4.5)Removed packages (no longer needed)
@vue/cli-plugin-babel,@vue/cli-plugin-eslint,@vue/cli-plugin-router,@vue/cli-plugin-vuex,@vue/cli-service,@vue/eslint-config-prettier,babel-eslint,core-js,eslint,eslint-plugin-prettier,eslint-plugin-vue,node-sass,prettier(ui),sass-loader,vue-cli-plugin-i18n,vue-cli-plugin-vuetify,vue-template-compiler,vuetify-loader,webpack-remove-debugAdded packages
@biomejs/biome,@vitejs/plugin-vue,@tailwindcss/vite,tailwindcss,vite,vite-plugin-vuetify,pinia,@mdi/fontUI refresh
Modernized the overall dashboard appearance for a cleaner, more contemporary look and feel, leveraging Vuetify 4's updated design language alongside TailwindCSS utility classes.
How to test
cd ui pnpm install pnpm devBreaking changes
ui/project now uses pnpm. Runpnpm installinstead ofnpm install.ui/dist/will differ, but the deployment method (static file hosting) remains the same.Related issues