Take control over your live stream video by running it yourself. Streaming + chat out of the box.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Gabe Kangas 9bb37679c0
Add some images+icons to assets section
3 years ago
..
.github Fix linter workflow? 4 years ago
.storybook Tweak storybook UI a bit 3 years ago
.vscode Start codec selection in admin 4 years ago
assets/images Add some images+icons to assets section 3 years ago
components Add custom Modal component 3 years ago
docs - add <Col>s to areas with <Row>s for consitency 5 years ago
interfaces Fill out the follower component 3 years ago
pages Use some style values so it looks like this page is making progress 3 years ago
public Prettified Code! 3 years ago
services Use the webpack dev server proxy for requests 3 years ago
stories Add some images+icons to assets section 3 years ago
style-definitions Add action buttons and status bar 3 years ago
styles Add custom Modal component 3 years ago
types Display the representation % of players in metrics 3 years ago
utils Connect to websocket and start accepting messages 3 years ago
.editorconfig Bootstrap the admin project 5 years ago
.env.development blah 5 years ago
.env.production Support API calls without auth and without cors 5 years ago
.eslintignore Configure eslint action 5 years ago
.eslintrc.js Handle centralized app state and registration + chat history 3 years ago
.gitignore Add support for less variables and using a custom theme 3 years ago
.prettierignore Add linting and code formatting 5 years ago
.prettierrc Add ability to set a user as a moderator via the admin (#355) 4 years ago
LICENSE Initial commit 5 years ago
README.md More blank components and stories to be filled in 3 years ago
favicon.ico a bit of refactor, use context for overall broacast status; move files around for routing 5 years ago
next-env.d.ts Admin social features (#408) 4 years ago
next.config.js Use the webpack dev server proxy for requests 3 years ago
package-lock.json Add style-dictionary definitions 3 years ago
package.json Add style-dictionary definitions 3 years ago
postcss.config.js First pass at component library 3 years ago
renovate.json Require NPM modules to be stable for 3 days 4 years ago
tsconfig.json Project setting updates 4 years ago

README.md

Owncast Web

Owncast Web Frontend

The Owncast web frontend is a Next.js project with React components, TypeScript, Sass styling, using Ant Design UI components.

Getting Started

First, install the dependencies.

npm install --include=dev

Run the web project

Make sure you're running an instance of Owncast on localhost:8080, as your copy of the admin will look to use that as the API.

Next, start the web project with npm.

npm run dev

Components and Styles

You can start the Storybook UI for exploring, testing, and developing components by running:

npm run storybook

This allows for components to be made available without the need of the server to be running and changes to be made in isolation.

Update the project

You can add or edit a pages by modifying pages/something.js. The page auto-updates as you edit the file.

Routes will automatically be available for this new page components.

Since this project hits API endpoints you should make requests in componentDidMount, and not in getStaticProps, since they're not static and we don't want to fetch them at build time, but instead at runtime.

A list of API end points can be found here: https://owncast.online/api/development/

Admin Authentication

The pages until /admin require authentication to make API calls.

Auth: HTTP Basic

username: admin

pw: [your streamkey]

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Style guide and components

We are currently experimenting with using Storybook to build components, experiment with styling, and have a single place to find colors, fonts, and other styles.

To work with Storybook:

npm run storybook