Skip to content

TJK: Add custom theme#9

Open
deeonwuli wants to merge 4 commits into
release/est/tjk/0.9.7from
feat/custom-app-theming
Open

TJK: Add custom theme#9
deeonwuli wants to merge 4 commits into
release/est/tjk/0.9.7from
feat/custom-app-theming

Conversation

@deeonwuli
Copy link
Copy Markdown

@deeonwuli deeonwuli commented May 26, 2026

📌 References

📝 Implementation

  • Adds grails-app/assets/stylesheets/custom/obTheme.css: a single CSS file that reskins OpenBoxes with a moh.tj-inspired navy palette (#1F4FA8) via CSS custom properties
  • Maps existing OpenBoxes color variables to the new navy tokens with no upstream stylesheets edited
  • Overrides the header (solid navy bar), dashboard sidebar, nav/settings dropdowns, and Groovy selectors/pagination — all by class override, no component edits
  • Injects the file into custom.gsp, react.gsp, and main.gsp (one line each)

📷 Screenshots & Recordings (optional)

Screen.Recording.2026-06-02.at.07.59.53.mov

#869den0j3

@deeonwuli deeonwuli changed the title feat(app-theming):spec definition for React and GSP pages theming system [feature]: Add TJK navy theme Jun 2, 2026
@deeonwuli deeonwuli marked this pull request as ready for review June 2, 2026 07:01
@deeonwuli deeonwuli changed the title [feature]: Add TJK navy theme TJK: Add custom theme Jun 2, 2026
@gqcorneby gqcorneby requested a review from MatiasArriola June 3, 2026 10:45
Copy link
Copy Markdown

@MatiasArriola MatiasArriola left a comment

Choose a reason for hiding this comment

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

Excellent @deeonwuli !

I liked the approach, now we have only one CSS entrypoint for theme configuration, using custom CSS properties, and well documented.

The change is very broad and affects the entire app, so it requires good testing.

I was particularly worried about *, *::before, *::after { box-sizing: border-box; }, since it could affect layout of every element, but after doing a quick round of manual verification it all seem to work good.
Some other selectors are also very broad, but I think that was the intent.

Using AI tools found sections that were missing the theme such as mobile (http://localhost:8080/openboxes/mobile) or analytics (http://localhost:8080/openboxes/inventoryBrowser/list) but those screens seem to be legacy screens not linked anywhere.

Thanks!

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