Skip to content

Modernized UI (VueJS based)#1706

Closed
DomiiBunn wants to merge 9 commits into
TechnitiumSoftware:masterfrom
DomiiBunn:master
Closed

Modernized UI (VueJS based)#1706
DomiiBunn wants to merge 9 commits into
TechnitiumSoftware:masterfrom
DomiiBunn:master

Conversation

@DomiiBunn
Copy link
Copy Markdown

As discussed (A long while ago) over LinkedIn.

Putting in my chip with the UI

I did touch some of the C code to implement a middleware that allows to switch between the UIs as I am not 100% sure the rewrite supports all the features yet.

image image image image

- Implemented a new Vue component for managing DNS zones, including a data table for displaying zones with actions for editing, enabling, disabling, deleting, importing, exporting, cloning, and converting zones.
- Added modals for managing zone permissions, importing zones, cloning zones, and converting zones.
- Integrated Axios for API calls to fetch, modify, and manage zone data.
- Created a proxy configuration for the development server to handle API requests.
- Add 'Switch to New UI' button in legacy UI user menu
- Add 'Switch to Legacy UI' button in new Vue.js UI app bar
- Both use confirmation dialogs before switching
- Both call the /api/ui/preference endpoint to set cookie
- Include fallback to set cookie directly if API fails
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the linter running over the file 🙈 I hope that's ok?

Comment thread frontend/public/404.svg
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Free to use image https://undraw.co/search/404

@DomiiBunn
Copy link
Copy Markdown
Author

I did most of the work on this prior to Vue3 release.

Thus far I did want to get the project finished but I will aim for a rewrite into vue 3 since vue 2 has been deprecated a while back

@ShreyasZare
Copy link
Copy Markdown
Member

Thanks for the PR. However, it is not really feasible to accept it. This is a huge PR and reviewing and testing it will take too much time. Secondly, I will need to learn Vue even before taking look at the code and I am not coming from frontend web development background so that makes it even more difficult. This is also not something that is add and forget kind. Any new feature addition required changing GUI so this is something that will need heavy maintenance for every release.

I would suggest that you package it as an addon that you host yourself on your Github repo so that people who wish to use this UI can install it on their servers and use it.

@DomiiBunn
Copy link
Copy Markdown
Author

I'll keep it on my GH for sure. But do take a glance as I'd say updating the Vue code will make more sense to someone with backend experience over the large html and js files that are in place right now.

The idea behind the ability to switch between the two was so users can still go back to the old one and report issues with the new UI in case of missing functionality etc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants