I think adding theme capabilities to Frappe would give businesses a great advantage to use branding and better blend ERPNext look and feel when integrating with their platforms.
The approach I’m suggesting since Frappe is using jinja2 engine is to write templates using Sass and javascript with predefined variables set, then deploy webassets to manage the process of applying templates css and javascript assets on targeted frappe application which can use [pyScss] (pyScss · PyPI) to generate templates css .
Webassets library can be configured to use pyScss compiler (implemented in Python) for SCSS.
Generally, how an app usually handles theming is by breaking out the views to a themes directory. That’d allow theme creators to modify .HTML files and use whatever else they wanted (e.g. SASS/LESS, etc.). The app would then have a theme selector in the settings that would act as a redirect to the selected theme folder.
A system like that offers the most flexibility as people can work in their own JavaScript, CSS, and custom HTML for their themes without worrying about messing up core files. Of course, any updates to the underlying code may make it so a theme has to be updated by the creator to stay current, but that’s the price of flexibility.
I just installed the app and It works fine, the left menu is very handy but isn’t translated.
Also, I think the responsive needs some work too.
There is a way to accomplish this?
Bbtheme app is the way to change theme and how to add left menu. Correct left menu I hard code notyet code for customize by app and notyet support translate. But you can edit my code apply your project. It’s easy to change left menu and logo.
Yes thank your solution. But I like the way user can add their menu by create new menu doctype more than get dynamic via modules. Becuase erpnext have many pages. User only show their menus with their role. Exam sales role show sales menu or stock role show stock menu.
Wow! This is exactly how I’ve always thought the Frappe UI (for the Desk) should be… Menu on the left sidebar and customizable dashboards/widgets on the main page
Very good work.
Now once applied how can i restore or change to another Theme ?
Translation to other languages when ? Initially ERPNext already has so is just use the existing ones correct?
Would be great to have it and able without uninstall to swap themes (yours and default ERPNext) also to save per user(admin uses default, others yours).
Also to get modules automatically this way translation can be applied…
For instance I have my app with extra modules and to add need to change the HTML!!!