* - 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>
* feat: mock window.WebSocket to prevent WS calls from Main layout story
* Prettified Code!
---------
Co-authored-by: Pranav2612000 <Pranav2612000@users.noreply.github.com>
* Inject services with useContext
* Extract service for video settings
* Create mock factories for services
* Create test data for chat history
* Add story to visualize different layouts
* Fix renaming mistake
* Add landscape and portrait viewports
* Add landscape stories
---------
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
* Make OwncastLogo more versatile
* Add noscript tag
* Commit updated API documentation
* Show all content on vertical overflow
---------
Co-authored-by: Owncast <owncast@owncast.online>