├── .env.example ├── .eslintrc.json ├── .gitignore ├── README.md ├── next.config.js ├── package.json ├── pnpm-lock.yaml ├── postcss.config.js ├── public ├── next.svg ├── vercel.svg └── wordmark.svg ├── src ├── app │ ├── (stream) │ │ ├── host │ │ │ ├── page.client.tsx │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ └── watch │ │ │ └── [roomName] │ │ │ ├── page.client.tsx │ │ │ └── page.tsx │ ├── api │ │ ├── create_ingress │ │ │ └── route.ts │ │ ├── create_stream │ │ │ └── route.ts │ │ ├── invite_to_stage │ │ │ └── route.ts │ │ ├── join_stream │ │ │ └── route.ts │ │ ├── raise_hand │ │ │ └── route.ts │ │ ├── remove_from_stage │ │ │ └── route.ts │ │ └── stop_stream │ │ │ └── route.ts │ ├── favicon.ico │ ├── layout.tsx │ └── page.tsx ├── components │ ├── allow-participation-info.tsx │ ├── broadcast-dialog.tsx │ ├── chat.tsx │ ├── home-actions.tsx │ ├── ingress-dialog.tsx │ ├── join-dialog.tsx │ ├── local-player.tsx │ ├── media-device-settings.tsx │ ├── presence-dialog.tsx │ ├── reaction-bar.tsx │ ├── spinner.tsx │ ├── stream-player.tsx │ └── token-context.tsx ├── lib │ ├── clipboard.ts │ ├── controller.ts │ └── utils.ts └── styles │ └── globals.css ├── tailwind.config.ts └── tsconfig.json /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/README.md -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/next.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/postcss.config.js -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/public/next.svg -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/public/vercel.svg -------------------------------------------------------------------------------- /public/wordmark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/public/wordmark.svg -------------------------------------------------------------------------------- /src/app/(stream)/host/page.client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/app/(stream)/host/page.client.tsx -------------------------------------------------------------------------------- /src/app/(stream)/host/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/app/(stream)/host/page.tsx -------------------------------------------------------------------------------- /src/app/(stream)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/app/(stream)/layout.tsx -------------------------------------------------------------------------------- /src/app/(stream)/watch/[roomName]/page.client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/app/(stream)/watch/[roomName]/page.client.tsx -------------------------------------------------------------------------------- /src/app/(stream)/watch/[roomName]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/app/(stream)/watch/[roomName]/page.tsx -------------------------------------------------------------------------------- /src/app/api/create_ingress/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/app/api/create_ingress/route.ts -------------------------------------------------------------------------------- /src/app/api/create_stream/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/app/api/create_stream/route.ts -------------------------------------------------------------------------------- /src/app/api/invite_to_stage/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/app/api/invite_to_stage/route.ts -------------------------------------------------------------------------------- /src/app/api/join_stream/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/app/api/join_stream/route.ts -------------------------------------------------------------------------------- /src/app/api/raise_hand/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/app/api/raise_hand/route.ts -------------------------------------------------------------------------------- /src/app/api/remove_from_stage/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/app/api/remove_from_stage/route.ts -------------------------------------------------------------------------------- /src/app/api/stop_stream/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/app/api/stop_stream/route.ts -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/app/layout.tsx -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/app/page.tsx -------------------------------------------------------------------------------- /src/components/allow-participation-info.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/components/allow-participation-info.tsx -------------------------------------------------------------------------------- /src/components/broadcast-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/components/broadcast-dialog.tsx -------------------------------------------------------------------------------- /src/components/chat.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/components/chat.tsx -------------------------------------------------------------------------------- /src/components/home-actions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/components/home-actions.tsx -------------------------------------------------------------------------------- /src/components/ingress-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/components/ingress-dialog.tsx -------------------------------------------------------------------------------- /src/components/join-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/components/join-dialog.tsx -------------------------------------------------------------------------------- /src/components/local-player.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/components/local-player.tsx -------------------------------------------------------------------------------- /src/components/media-device-settings.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/components/media-device-settings.tsx -------------------------------------------------------------------------------- /src/components/presence-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/components/presence-dialog.tsx -------------------------------------------------------------------------------- /src/components/reaction-bar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/components/reaction-bar.tsx -------------------------------------------------------------------------------- /src/components/spinner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/components/spinner.tsx -------------------------------------------------------------------------------- /src/components/stream-player.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/components/stream-player.tsx -------------------------------------------------------------------------------- /src/components/token-context.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/components/token-context.tsx -------------------------------------------------------------------------------- /src/lib/clipboard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/lib/clipboard.ts -------------------------------------------------------------------------------- /src/lib/controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/lib/controller.ts -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/lib/utils.ts -------------------------------------------------------------------------------- /src/styles/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/src/styles/globals.css -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/tailwind.config.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/livekit-examples/livestream/HEAD/tsconfig.json --------------------------------------------------------------------------------