Base page rendering and CSS broken after phoenix-storybook installation

Hi folks - I’m trying to get up and running with phoenix-storybook so I can have a local sandbox to learn a little about LiveView while building increasingly complicated components.

However, I’m seeing something broken where after installation, my app.css file no longer seems to affect the rendered homepage at all.

I’ve done a fair bit of spot checking and I can’t see what’s diverging about how the page could be working

  • the app.css file is completely unchanged (I’ve diffed it)
  • it is present as a resource locally when hitting the “/” route (either on the branch or on main)
  • it is included in the <head> tag in the page HTML

Does anyone have ideas about what could be broken about my rendering pipeline?

Here’s a PR / diff if that’s easiest to leaf through: feat: install storybook by sgardn · Pull Request #3 · sgardn/unprompted · GitHub

Version info:
Elixir: 1.16.0
Phoenix Storybook: 0.6.0

Here’s a test repo and branch that’s forkable if anyone wants to look around: GitHub - sgardn/unprompted at install-storybook

I’ve also created an issue here, where I will followup if I learn anything useful in the meantime: bug: setting up storybook breaks homepage rendering (CSS) · Issue #426 · phenixdigital/phoenix_storybook · GitHub

1 Like

Hey @scott, I replied to you on GitHub!

1 Like

Ah thank you!

It looks like the solution is to add a CSS class generated based on the project name ("foo-web") to the <body> tag in the root HTML file (which is likely located here lib/#{your_app_name}/components/layouts/root.html.heex).

Though the number of lines of CSS happens to be the same (because the .important prefixer tailwind hack doesn’t do anything besides add a qualified CSS class), the contents do indeed differ.

My mistake was diffing the raw CSS at assets/css/app.css across branches - that file (for a newly created Phoenix app) just includes tailwind modules, and is 20 lines long. It and doesn’t actually represent the post processed CSS files (which I should have checked by downloading from dev tools :face_in_clouds:).

The commit containing updated generator instructions is here: generator now explains to set the sandbox class on the body tag · phenixdigital/phoenix_storybook@be3295f · GitHub

1 Like