This commit is contained in:
Tomas Dvorak
2025-11-03 19:54:39 +01:00
parent 087f30e82c
commit d5b4faea61
141 changed files with 78770 additions and 966 deletions
+21 -3
View File
@@ -10,6 +10,9 @@ import DashboardPage from './pages/DashboardPage';
import ArticlesListPage from './pages/ArticlesListPage';
import HomePage from './pages/HomePage';
import BlogPage from './pages/BlogPage';
import PremiumHomePage from './pages/premium/PremiumHomePage';
import PremiumBlogPage from './pages/premium/PremiumBlogPage';
import PremiumNotFound from './pages/premium/PremiumNotFound';
import ArticleDetailPage from './pages/ArticleDetailPage';
import ActivityDetailPage from './pages/ActivityDetailPage';
import MatchDetailPage from './pages/MatchDetailPage';
@@ -87,6 +90,7 @@ import PollsPage from './pages/PollsPage';
import { useUmami } from './hooks/useUmami';
import { checkin } from './services/engagement';
import { useFontLoader } from './hooks/useFontLoader';
import { usePublicSettings } from './hooks/usePublicSettings';
// Create a client with better cache configuration
const queryClient = new QueryClient({
@@ -354,6 +358,20 @@ const App: React.FC = () => {
return <Outlet />;
};
// Premium-aware route elements
const HomeRoute: React.FC = () => {
const { data } = usePublicSettings();
return data?.premium ? <PremiumHomePage /> : <HomePage />;
};
const BlogRoute: React.FC = () => {
const { data } = usePublicSettings();
return data?.premium ? <PremiumBlogPage /> : <BlogPage />;
};
const NotFoundRoute: React.FC = () => {
const { data } = usePublicSettings();
return data?.premium ? <PremiumNotFound /> : <NotFoundPage />;
};
return (
<ChakraProvider theme={theme}>
<QueryClientProvider client={queryClient}>
@@ -366,12 +384,12 @@ const App: React.FC = () => {
<DefaultSEO />
<Routes>
{/* Public routes */}
<Route path="/" element={<HomePage />} />
<Route path="/" element={<HomeRoute />} />
<Route path="/hledat" element={<SearchPage />} />
<Route path="/search" element={<SearchPage />} />
<Route path="/overlay/scoreboard" element={<OverlayScoreboardPage />} />
<Route path="/overlay/sponsors" element={<OverlaySponsorsPage />} />
<Route path="/blog" element={<BlogPage />} />
<Route path="/blog" element={<BlogRoute />} />
<Route path="/klub" element={<ClubPage />} />
<Route path="/o-klubu" element={<AboutPage />} />
<Route path="/kalendar" element={<CalendarPage />} />
@@ -558,7 +576,7 @@ const App: React.FC = () => {
/>
{/* Not found route */}
<Route path="*" element={<NotFoundPage />} />
<Route path="*" element={<NotFoundRoute />} />
</Routes>
{/* Cookie consent banner shown across the whole site */}
<CookieBanner />