videofolxtv/client/src/App.tsx
sebastjanartic bc2b425fb7 Add live streaming functionality for real-time video broadcasts
Integrates a new live streaming page with Video.js player, handling autoplay, playback events, volume changes, fullscreen, and error states. Also includes ad integration for the live stream.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 45a1dcfc-f8a2-475a-a6b9-96fbb841dc27
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/60d372ff-2c10-46c7-b01b-10c3435136b0/45a1dcfc-f8a2-475a-a6b9-96fbb841dc27/CdguB3F
2025-09-25 20:29:16 +00:00

50 lines
1.7 KiB
TypeScript

import { Switch, Route } from "wouter";
import { queryClient } from "./lib/queryClient";
import { QueryClientProvider } from "@tanstack/react-query";
import { Toaster } from "@/components/ui/toaster";
import { TooltipProvider } from "@/components/ui/tooltip";
import CookieConsent from "@/components/CookieConsent";
import Home from "@/pages/home";
import VideoPage from "@/pages/VideoPage";
import FolxStadlPage from "@/pages/FolxStadlPage";
import GeschichteLiedPage from "@/pages/GeschichteLiedPage";
import GipfelstammtischPage from "@/pages/GipfelstammtischPage";
import LivePage from "@/pages/LivePage";
import AdminPage from "@/pages/admin";
import PrivacyPolicy from "@/pages/PrivacyPolicy";
import TermsOfService from "@/pages/TermsOfService";
import Impressum from "@/pages/Impressum";
import NotFound from "@/pages/not-found";
function Router() {
return (
<Switch>
<Route path="/" component={Home} />
<Route path="/video/:id" component={VideoPage} />
<Route path="/folx-stadl" component={FolxStadlPage} />
<Route path="/geschichte-lied" component={GeschichteLiedPage} />
<Route path="/gipfelstammtisch" component={GipfelstammtischPage} />
<Route path="/live" component={LivePage} />
<Route path="/admin" component={AdminPage} />
<Route path="/privacy" component={PrivacyPolicy} />
<Route path="/terms" component={TermsOfService} />
<Route path="/impressum" component={Impressum} />
<Route component={NotFound} />
</Switch>
);
}
function App() {
return (
<QueryClientProvider client={queryClient}>
<TooltipProvider>
<Toaster />
<CookieConsent />
<Router />
</TooltipProvider>
</QueryClientProvider>
);
}
export default App;