New Custom UI Theme for ERPNext - Flat Design

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.

3 Likes

hi, great theme, we have selection another theme admin, but we need an help for install and configure it, can you help us?

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.

2 Likes

How i can use https://almsaeedstudio.com/preview
i need to change the ui theme
help us plz.

@iFeras93 using frappe api, you can develop such theme.

2 Likes

I create bdtheme app for change ui theme and add left menu.
link to install app. you can edit and change my logo. hope you like it.

21 Likes

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?

Thanks!

1 Like

This is really awesome. Nice Work. :ok_hand:

1 Like

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.

1 Like

@vinhnguyent090
I have tried your theme. It looks good.

If you want to make dynamic, you can use following js script

  1. get all modules
    frappe.modules

  2. Get Module Doctype and Report list
    frappe.call({
    method: “frappe.desk.moduleview.get”,
    args: {
    module: “Delivery Management”
    },
    callback: function(r) {
    console.log(r.message.data)

    },
    freeze: true,
    });

3 Likes

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.

1 Like

That looks very nice. I have been wanting to do somthing like this for a long time.

1 Like

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

This would be fantastic!

Kind regrads,

2 Likes

Agree!

1 Like

+1 on that!

1 Like

+1 on that!

1 Like

correct this way I’m doing :slight_smile: but now I have another issue need to do

1 Like

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?

1 Like

Hi Helio_Jeus

how can i restore => you can uninstall my app

bench --site [sitename] uninstall-app bdtheme

or change to another Theme => just uninstall my app then install another theme (but current I don’t know any theme).

Translation to other languages when ? => I don’t know but now you can edit my theme.

– change logo you can overwrite my images.

/apps/bdtheme/bdtheme/public

– change link + language of menu

/apps/bdtheme/bdtheme/public/js/template/main-sidebar.html

2 Likes

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!!!

Still a good work.

2 Likes