hestiacp icon indicating copy to clipboard operation
hestiacp copied to clipboard

[FEATURE] Mobile friendly Design

Open tlcd96 opened this issue 3 years ago • 15 comments

Is your feature request related to a problem? Please describe. Add css to create mobile friendly version.

Describe the solution you'd like Creation of mobile friendly css for use on mobile

Describe alternatives you've considered Using the interface as is on mobile it's complicated and is a bit hard to navigate through the system.

Additional context Nothing more to add...

tlcd96 avatar Jun 07 '21 22:06 tlcd96

Feel free to contribute and create an custom css file https://github.com/hestiacp/hestiacp/blob/main/CONTRIBUTING.md

The current "design" isn't realy suitable for it so it would mean a redesign...

jaapmarcus avatar Jun 08 '21 04:06 jaapmarcus

Just reopened for discussion regarding new design

jaapmarcus avatar Jun 16 '21 07:06 jaapmarcus

Regarding discussion: #1921

Yes, we know we have to change the UI to improve it on mobile "devices". How ever I don't think the current "design" is suitable for it...

  • The current HTML code is a mess table system are defined as div with a set width and so on. So that "crap" needs to be changed to a normal table few.
  • Lack of client side error reporting / validation / Use Ajax for deleting records and so on
  • General refresh of the design. I am personally not a a fan of the UI of Cyberpannel but an UI closer to the current "Hestia" is still possible with improvements

I am an designer noob. I really don't care if Hestia is via CLI but for the user "point" we still need it. I know Hestia is used by a lot designers so it would be nice if somebody is able to help...

jaapmarcus avatar Jun 16 '21 08:06 jaapmarcus

@jaapmarcus @ScIT-Raphael I was checking the HTML and putting everything ready, and I saw the mess that is the code. There are various things to tackle in the design and in the HTML. I'll say also that if the changes on the UI are to be implemented, I will do my best to help, since I'm a PHP developer.

https://hestiacp.tlcd96.com/ (testing and experimenting with the UI for the new mobile/tablet/desktop experience)

  • (the test pages and progress will be inputted here, and I will post here with updates regularly)
  • the interface is in incorrect Portuguese-Portugal, but I can change it to be on English

(I'll start by phases since its easier to do it by that way (0.0.1 - topbar, 0.0.2 - header, etc...)

  • There is no need for a new table to be created, but it would be great if that was the case.
    • if a new table is created, a proper one, the params will need to be on the tr, this for Ajax
  • For the Ajax question: we would need several things like an Ajax ready API, that we do not have.
    • the AJAX JS code will need the timeout param to be high like: 3600s (60 minutes) for long tasks.
      • (that is the case of lets encrypt certificate for example)
      • (an user manual backup - not an automatic one)
      • etc... Things I saw that I will consider doing in the test page(s) that I have:
  • the top menu, has to be redesigned (with proper HTML and CSS)
    • a user menu instead of what's on the image: image
    • and I understand that a user menu (dropdown style) might sound a bit crazy, but it would be easier for the development of a mobile friendly panel, that I will try my best to give an example.

Important

  • I can try to keep the original design for desktop, but mobile will add more HTML to the page or change the way it is presented (CSS). Tell me your thoughts please, your input will change the way I'll change the UI example.
  • tomorrow I'll tackle the 0.0.1 with your input if any (header top bar only first) (here it's 22:58 PM) (I was with people in my house that i was not expecting...)

Some suggestions for design elements:

  • https://adminlte.io/
  • https://adminlte.io/blog/free-admin-panels (some free admin panels for designing, I say one on the list that is paid, but I'll only want input in the regard of the parts that you want to see in the panel for inspiration only). Tell me what you'll like to see from that.

tlcd96 avatar Jun 16 '21 23:06 tlcd96

Note: Also I'll be doing this on my free time so don't expect a transition from old to new on a flash

tlcd96 avatar Jun 16 '21 23:06 tlcd96

@jaapmarcus @ScIT-Raphael I was checking the HTML and putting everything ready, and I saw the mess that is the code. There are various things to tackle in the design and in the HTML. I'll say also that if the changes on the UI are to be implemented, I will do my best to help, since I'm a PHP developer.

Tables width are currently hard code in each cell. If data usage goes over xx TB it goes over 2 lines... And so on. Not a real problem. But would nice to "solve" it self...

Adding extra html on top of it will only become worse..

For the Ajax question: we would need several things like an Ajax ready API, that we do not have. the AJAX JS code will need the timeout param to be high like: 3600s (60 minutes) for long tasks. (that is the case of lets encrypt certificate for example) (an user manual backup - not an automatic one) etc...

For longer task like creating backups are currently run on a backup. If you create an backup as user you only create an record in a file to schedule it.

the top menu, has to be redesigned (with proper HTML and CSS) a user menu instead of what's on the image: image and I understand that a user menu (dropdown style) might sound a bit crazy, but it would be easier for the development of a mobile friendly panel, that I will try my best to give an example.

For "Mobile" view we need to switch over to an drop down it does not make sense to keep it like this...

For desktop for me personally it may also go away / redesign but we have 1000 different users...

We have also an discord server: It makes comunication easier...

https://discord.gg/8b2HGNe8ne

jaapmarcus avatar Jun 17 '21 01:06 jaapmarcus

@jaapmarcus i'm tlcd96 in discord

tlcd96 avatar Jun 17 '21 21:06 tlcd96

I love the simplicity of Hestia - especially when onboarding junior devs and designers not comfortable with the CLI, so I'm very interested in seeing how RWD can be implemented.

Looking at the HTML and CSS, I don't see much of a 'mess', but I do see a lot of opportunity for a clean RWD transition - especially with something like BS. But really, most things appear to be solvable with plain old CSS media queries.

jody-pm avatar Jul 18 '21 18:07 jody-pm

@jody-pm yes, many things are solvable with a @media query, others, like for example info for the domain/user/etc..., have to change for mobile, a menu, being compatible with mobile it's also another things that it's an add-on to the code. I'm already over the code and making changes on some template files to be compatible with mobile and tablet. After that, there are other things that also have to change. The listings are the most difficult things to change to be compatible. So on there, I've modified the design, for mobile, and for desktop. I've only have working about the first listing, the others need changes.

Also for the menus, and to put the information generated by them in their places, I'm considering also to make a global array with the information for each menu, where they go, and if you have permissions to see the same, and making a generator for each menu, to keep the information all in one place, and for ease of access to change it.

I can send screenshots of what is coming, but don't expect it to be a crystal new interface, the old one still exists and is used for desktop, and the new one it's only for devices with width less than a specific width that's in the code @media (max-width:1024px).

All this to say, that it's complicated to change the things, also with each update I need to see if I need to re-change the files, etc...

tlcd96 avatar Jul 18 '21 18:07 tlcd96

With the changes that I've done to my repo, that if accepted will be merged into this one, the old UI will be the same, changing only for mobile and tablet. This because I want to keep the current user base comfortable with the UI, and not for them to see a complete redesign of it that would confuse a lot of users.

tlcd96 avatar Jul 18 '21 19:07 tlcd96

You're doing great work, and I completely understand the considerations for the new design and the current limitations. This is not the greatest priority, anyway, as most of the time we're truly using larger viewports. But, still, the idea of having a clean mobile UI is exciting as we're starting to move away from other CPs.

You're right about not wanting to confuse the users, it might even be more prudent to slate this for a separate release.

jody-pm avatar Jul 18 '21 19:07 jody-pm

I'll put one montage (with several situations), you'll see that it's not needed to put in a new slate... wait a bit, cause OneDrive it's taking it's time to download all the things I haven't downloaded.

tlcd96 avatar Jul 18 '21 19:07 tlcd96

layout-now

tlcd96 avatar Jul 18 '21 20:07 tlcd96

https://hwi.cdgtech.one/#/ <- there is already an externally made addon that makes Hestia hostable on any domain within your install without port and is mobile friendly (they also have a vesta version). That being said, I do hope your changes make it into the official version because it looks pretty clean.

Stage4000 avatar Jul 19 '21 16:07 Stage4000

These look good. Bravo.

jody-pm avatar Jul 21 '21 20:07 jody-pm

@AlecRust is working in a new implementation of this, i had one but since alec is working on a version that is different and making improvements in the code, my code and my view of a mobile friendly is not able to shine. So, with much sadness, I'll close the issue and I'll close the relevant branches in my fork.

layout-now

Thanks for the patience and the support, but as I've said, my work is not relevant anymore.

tlcd96 avatar Dec 19 '22 19:12 tlcd96

The current mobile layout on 1.7.x is quite similar to your screenshots:

image image

The main difference is that it's one set of view code shared across mobile and desktop, instead of separate view code loaded for mobile. I think it's important not to add the extra maintenance burden of separate view code for mobile.

Given this new mobile-first foundation for the UI, I (and I'm sure others) would certainly value any contributions you have to the main UI code, in order to get closer to your vision for the mobile UI.

AlecRust avatar Dec 21 '22 13:12 AlecRust