I've been experimenting with Phoenix LiveView for a while now. I have a net-positive experience but can't bring myself to love it or use it for my production projects.
At some point, no matter what your initial expectations were, you need to bridge this gap and use JavaScript. That's where things get hairy.
Initially, you try to make things work with JS hooks, but this quickly becomes difficult to work with. Here's an example from the LiveBeats repo. The markup can very easily get out of sync with JavaScript. Maintainability is also an issue.
Some people pull Alpine, or libraries like LiveSvelte to help with this. But this seems like a weird choice to me. You're niching down your stack even further, and the initial quest to reduce front-end complexity ends up increasing it. The no-js-needed premise is gone, and along with it, you're left with a weird hybrid stack.
You get a bit of styling here, a little bit of front-end logic there, and a little bit of front-end state management over there. All of this, mushed together in the same codebase with the backend. It works, but stepping away for some time, and returning for a new feature, doesn't feel right. You have to reorient yourself, and remember how all this plumbing works.