owncast/web
2022-05-04 08:56:47 -07:00
..
.github
.storybook
.vscode
components Fill out the follower component 2022-05-04 08:56:47 -07:00
docs
interfaces Fill out the follower component 2022-05-04 08:56:47 -07:00
pages
public
services Fill out the follower component 2022-05-04 08:56:47 -07:00
stories Fill out the follower component 2022-05-04 08:56:47 -07:00
styles Added mobile chat and some responsiveness 2022-05-04 09:55:44 +02:00
types
utils Connect to websocket and start accepting messages 2022-05-02 22:13:36 -07:00
.editorconfig
.env.development
.env.production
.eslintignore
.eslintrc.js Handle centralized app state and registration + chat history 2022-05-02 17:45:22 -07:00
.gitignore
.prettierignore
.prettierrc
favicon.ico a bit of refactor, use context for overall broacast status; move files around for routing 2020-10-22 16:18:18 -07:00
LICENSE
next-env.d.ts
next.config.js
package-lock.json Add performant list componant for rendering chat messages 2022-05-01 20:56:11 -07:00
package.json Add performant list componant for rendering chat messages 2022-05-01 20:56:11 -07:00
postcss.config.js
README.md
renovate.json
tsconfig.json

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