A professional Next.js web application for managing live streams and controlling multiple OBS Source Switchers with real-time WebSocket integration and modern glass morphism UI.
Find a file
Decobus c28baa9e44
Some checks failed
Lint and Build / build (20) (push) Has been cancelled
Lint and Build / build (22) (push) Has been cancelled
Update UI to match consistent layout patterns between pages
- Refactor Add Stream page to match Teams page layout with glass panels
- Rename "Add Stream" to "Streams" in navigation and page title
- Add existing streams display with loading states and empty state
- Implement unified design system with modern glass morphism styling
- Add Header and Footer components with OBS status monitoring
- Update global CSS with comprehensive component styling
- Consolidate client components into main page files
- Add real-time OBS connection status with 30-second polling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-19 04:39:40 -04:00
.github/workflows Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00
app Update UI to match consistent layout patterns between pages 2025-07-19 04:39:40 -04:00
components Update UI to match consistent layout patterns between pages 2025-07-19 04:39:40 -04:00
lib Update UI to match consistent layout patterns between pages 2025-07-19 04:39:40 -04:00
public Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00
scripts Update UI to match consistent layout patterns between pages 2025-07-19 04:39:40 -04:00
styles Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00
types Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00
.eslintrc.json Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00
.gitignore Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00
CLAUDE.md Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00
config.js Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00
next.config.ts Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00
package-lock.json Update UI to match consistent layout patterns between pages 2025-07-19 04:39:40 -04:00
package.json Update UI to match consistent layout patterns between pages 2025-07-19 04:39:40 -04:00
postcss.config.js Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00
postcss.config.mjs Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00
README.md Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00
tailwind.config.js Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00
tailwind.config.ts Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00
testObs.js Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00
tsconfig.json Initial commit - OBS Source Switcher Plugin UI 2025-07-15 22:15:57 -04:00

This is a Next.js app to control multiple OBS Source Switchers

Configuration

The application uses a configurable directory for storing files and the database. To update the directory: create .env.local in the root of the project.

.env.local should look like:

FILE_DIRECTORY=C:\\OBS\\source-switching

If no .env.local file is created, it will default to ./files, as seen in config.js

  const config = {
    FILE_DIRECTORY: path.resolve('./files'),
  };

In the "Source Switcher" properties in OBS, at the bottom, is a setting called Current Source File. Enable that, point it to the location of one of the text files, and put the read interval to 1000ms. Your source will change whenever the text file changes to a source that is defined in the Source Switcher properties

The list of available sources is defined in a SQLite3 DB, location set in the api/setActive.ts route.

npm install and npm run dev to run it.

This is my first Next.js app and I am not a Javascript Developer professionally, use at your own risk.