Skip to content

[19.0][ADD] web_theme_focus: minimal focus backend theme - #3636

Closed
volkantasci wants to merge 1 commit into
OCA:19.0from
volkantasci:19.0-web-app-theme
Closed

volkantasci wants to merge 1 commit into
OCA:19.0from
volkantasci:19.0-web-app-theme

Conversation

@volkantasci

@volkantasci volkantasci commented Aug 7, 2026

Copy link
Copy Markdown

Adds web_theme_focus, a minimal focus backend theme for the app menu.

What it does

Extends web_responsive's app-menu theme picker with a Focus option (next to milk / community) for deployments with few apps:

  • hides the search bar on the home menu
  • enlarges app icons (70px) with more spacing (minimal, distraction-free home)
  • makes the top navbar transparent on the home-menu screen so the gradient background is full-bleed (light and dark SVG artwork)

Regular views keep the normal navbar. The module is design-only and does not replicate Odoo Enterprise. Per review, renamed from web_app_theme to web_theme_focus and squashed history.

Technical notes

  • Depends on web_dark_mode and web_responsive (selection_add on res.users.apps_menu_theme with focus)
  • Assets on web.assets_backend and web.assets_web_dark
  • 3 tests green, pre-commit green

cc @OCA/web-maintainers @pedrobaeza @ljmnoonan

@volkantasci

Copy link
Copy Markdown
Author

Hi @pedrobaeza and @victoralmau 👋

Hope you're having a good week! I wanted to gently ask if anyone could find the time to review this PR when convenient. All CI checks are green (pre-commit, Odoo/OCB tests, codecov, runboat).

No rush at all — just checking in. Happy to make any changes you'd like. Thanks for all the work you do for the OCA!

@pedrobaeza

Copy link
Copy Markdown
Member

This can be interesting, but having it as a separate module that replaces existing theme sounds very hard. @ljmnoonan proposed in other PR to refactor web_responsive and having the possibility to choose by user the theme to apply. Maybe this can be rescued.

@ljmnoonan

Copy link
Copy Markdown
Member

@pedrobaeza my proposal is actually to get rid of the theme choice altogether, so we would have just one theme which would change light/dark using odoo's asset bundling mechanism overriding scss variables. Having user selectable themes just adds a lot of complexity for (IMO) no real benefit.

Also my branch to refactor web_responsive is here. Still a work in progress, but I hope to finish before the end of September. My plan is to open a pr against 19.0 that will not be merged (for discussion purposes only), and then I can migrate to 20.0 ASAP based on the refactored code.
BTW, @pedrobaeza my pr odoo/odoo#276138 got merged into master, so in 20.0 we should not have to worry about the fuzzy search "invcuscus".

@volkantasci

Copy link
Copy Markdown
Author

Hi @pedrobaeza and @ljmnoonan, thank you both for the thoughtful feedback — it's really helpful.

Quick clarification on the scope of web_app_theme: it doesn't replace the existing theme or introduce a separate theming system. It adds a single Enterprise option to the app-menu theme picker that web_responsive already provides, and implements it purely with SCSS overrides — using the same asset-bundling + light/dark mechanism you're proposing for the cleanup (web.assets_web_dark bundle + SCSS variable overrides). So there's no parallel theme infrastructure to maintain, just one extra picker entry that applies the gradient + transparent navbar.

I also understand the argument that a single theme with automatic light/dark is simpler and less complex to maintain than a user-selectable picker. If that's the direction for web_responsive, I'd be glad to contribute the Enterprise-inspired styling (app-switcher gradient, transparent home navbar, light/dark variants) to the refactored single-theme SCSS instead of keeping it as a separate selectable option — or to keep it selectable for teams who prefer the classic look, whichever the community feels fits best.

We can also coordinate with your 19.0-web_responsive_cleanup branch once it's ready, so the styling lands where it fits best. Happy to adjust anything — just let me know which direction you'd like.

@volkantasci

Copy link
Copy Markdown
Author

Hi @pedrobaeza and @ljmnoonan 👋 a quick follow-up on our side.

To clarify the intent behind web_app_theme: it's not customization for its own sake — it's a usability improvement. The full-bleed gradient, transparent home navbar, larger icons and calmer home screen are inspired directly by the Enterprise 19.x home screen, and our goal was to bring that more modern, easier-to-scan look to Community.

We fully agree it should not grow into a parallel theming system. We're happy to follow your preferred direction: either contribute the styling into the web_responsive refactor (we can wait for — or help with — your 19.0-web_responsive_cleanup branch), or keep it as a single option in the existing picker. Your call on how web_responsive should evolve is what matters — just point us in the right direction and we'll align the PR accordingly (or close it in favor of contributing there).

Thanks for the guidance!

@volkantasci

Copy link
Copy Markdown
Author

Hi @pedrobaeza @ljmnoonan 👋

Just to align on direction - I understand the preference for a single theme with light/dark via SCSS bundling. Should I close this PR and contribute the Enterprise-inspired styling (gradient + transparent navbar) directly to your 19.0-web_responsive_cleanup branch instead of keeping it as a picker option?

Just let me know the preferred path and I will follow it.

Thanks!

@pedrobaeza

Copy link
Copy Markdown
Member

I think the responsive one shouldn't mimic the enterprise one to be distinguish, and there are no visual ergonomics reason AFAIK. For me, this should be kept apart. The name of the module should also be more specific, like web_theme_<something>. I wouldn't put enterprise in that <something>, as this is not an enterprise one and can be confused.

The commit history should be squashed as well, as it's not adding value right now.

@volkantasci

Copy link
Copy Markdown
Author

Hi @pedrobaeza, thanks for the guidance - you are right, it should not be confused with Enterprise and we will drop enterprise from the name and description.

Just to share the ergonomics rationale behind it (not just mimicking Enterprise):

  • In deployments with few apps (5-10), the default app drawer looks sparse - small icons + search bar + dark navbar add visual weight. Larger icons without the search bar give a calmer, faster-to-scan home.
  • Removing the search bar on the home screen (search is still in the top bar elsewhere) and making the home navbar transparent reduces clutter and keeps focus on the apps, which users with minimal installations found more ergonomic.

We fully agree to keep it separate from web_responsive and not present it as an Enterprise clone. Happy to rename as you suggested to web_theme_<something> - e.g. web_theme_minimal, web_theme_clean or web_theme_focus - whichever you prefer. We will rename the module directory, manifest, readme/description and all references accordingly and remove any Enterprise-inspired wording.

Let me know which name you prefer and I will push the rename in this PR.

Thanks again!

@pedrobaeza

Copy link
Copy Markdown
Member

OK, you can call it web_theme_focus.

@OCA-git-bot OCA-git-bot added mod:web_theme_focus Module web_theme_focus and removed mod:web_app_theme Module web_app_theme labels Aug 28, 2026
@volkantasci volkantasci changed the title [19.0][ADD] web_app_theme: Enterprise-inspired selectable app-menu theme [19.0][ADD] web_theme_focus: minimal focus backend theme Aug 28, 2026
@volkantasci

Copy link
Copy Markdown
Author

Hi @pedrobaeza 👋

Renamed to web_theme_focus per your approval and squashed to 1 commit (1a73020) as requested:

  • module web_app_theme -> web_theme_focus
  • selection enterprise -> focus (Focus)
  • all SCSS/JS/i18n/tests/README updated, Enterprise wording removed from summary/description
  • PR title/body updated

All CI is now green (pre-commit, Odoo/OCB, dependencies, runboat). Ready for re-review when convenient.

Thanks!

@pedrobaeza pedrobaeza added this to the 19.0 milestone Aug 28, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You can remove this file.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This icon is old. Check the new OCA one.

Comment thread web_theme_focus/__init__.py Outdated
@@ -0,0 +1,4 @@
# © 2026 volkantasci

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Don't include copyright in init files.

Comment thread web_theme_focus/__manifest__.py Outdated
@@ -0,0 +1,26 @@
# © 2026 volkantasci

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Copyright is put with complete word, not the character.

@@ -0,0 +1,11 @@
<section class="oe_container">

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This HTML file is generated automatically by pre-commit. And this still mentions enterprise.

…dden search, transparent navbar

Extends web_responsive app-menu theme picker with Focus option for
few-apps deployments: hidden search bar, larger icons with more spacing,
gradient full-bleed with transparent navbar (light+dark). Keeps regular
views unchanged. Rename from web_app_theme per review (avoid Enterprise
confusion) and squash history.
@volkantasci

Copy link
Copy Markdown
Author

Hi @pedrobaeza 👋

All 5 review comments addressed in 5098ccb (squashed into the single commit):

  1. .keep file removed ✅
  2. Icon replaced with the new OCA template icon (maintainer-tools) ✅
  3. Copyright headers removed from __init__.py files (module/models/tests) ✅
  4. © character replaced with full Copyright 2026 word in all headers ✅
  5. static/description/index.html rewritten - enterprise wording removed, now describes the Focus theme ✅

All CI is green (pre-commit, Odoo/OCB, codecov, dependencies, runboat). Ready for re-review when convenient.

Thanks!

@pedrobaeza pedrobaeza left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Still weird that index.html is not overwritten by the pre-commit, but no problem.

@volkantasci volkantasci reopened this Aug 30, 2026
@volkantasci

Copy link
Copy Markdown
Author

Superseded by #3648 (same module, rebased on the current 19.0 tip, single squashed commit, and with the review feedback addressed). Closing this one to keep a single PR.

@volkantasci volkantasci closed this Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants