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
50 lines
1.7 KiB
TypeScript
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;
|