* add pop out chat button
* add button to close chat popup
* chat is hidden on main interface when a popup chat is open
* NameChangeEvent renames clients with the given id
if you have two or more owncast windows (or pop-out chats) open, changing your
name in 1 client is reflected in all clients.
* replace isChatVisible booleans with chatState enum
* update stories to use ChatState
* fix build tests
---------
Co-authored-by: janWilejan <>
* don't display chat button or modal if isModal is true. dont display the show/hide chat option in the userdropedown for tablet sizes either. tweak chat button styles and make chat button bg the same as the chat component bg color.
* only show chat button if online
* fix(chat): chat should be available through 5min buffer period. Fixes#3044
* fix(test): update mobile test
---------
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
* feat(mobile): refactor mobile chat into modal
- Make page always scrollable
- Move mobile chat into a standalone modal
* fix(test): split out mobile browser test specs
* fix(mobile): force chat button to render on top of footer
* fix: some small updates from review
* fix: hide/show hide chat menu option based on width
* fix: chat button icon getting cut off
* chore(tests): add browser tests for mobile chat modal
* chore(tests): add story for ChatModal component
* fix(test): quiet shellcheck
* fix: remove unused import
* fix(tests): silence storybook linting warning
* fix(ui): reposition chat modal button icon with transform
* quick fix for mobile menu button overlap
* - use new dynamic vh css prop to handle ios safari double scrolling
- only force tabs height when online
* cleanup
* add comment
* - set vars for player container height and status bar height
- use them to calculate mobile top spacing to adjust for tab content positioning
* give main content section a min height, place footer absolutely at bottom; rm all the fixed footer styling
* cleanup; restructure tabbed display logic and css a bit
* Prettified Code!
* cleanup
* fix(story): footer story needs to be wrapped in RecoilRoot if it is to use Recoil
* revert adding footer to mobile about section
* prevent double scrolling
---------
Co-authored-by: gingervitis <gingervitis@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
* Admin UI: implement HTML embeds
* Admin UI External Actions: set correct useHTML on edits
* Admin UI: edit by index, not URL
* External Actions: render HTML on stream frontend
* Don't open embeds externally
* Remove TODO comment
* Add HTML as unique action key
* Admin UI: Actions: use CodeMirror editor, dropdown
* Add className prop to some components
* Give mobile chatbox height priority over other elements
* Optimize for mobile landscape mode
* Make thumbnail background black
* Fix overflow issues on narrow screens
* Adjust layout for offline mode on mobile
* Fix main content width on Desktop
* Fix offline layout for desktop