refactor: theme from lovable
3
wp-content/themes/cascapedia-st-jules/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
.env
|
||||
node_modules
|
||||
assets/dist
|
||||
42
wp-content/themes/cascapedia-st-jules/assets/src/App.css
Normal file
@@ -0,0 +1,42 @@
|
||||
#root {
|
||||
max-width: 1280px;
|
||||
margin: 0 auto;
|
||||
padding: 2rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.logo {
|
||||
height: 6em;
|
||||
padding: 1.5em;
|
||||
will-change: filter;
|
||||
transition: filter 300ms;
|
||||
}
|
||||
.logo:hover {
|
||||
filter: drop-shadow(0 0 2em #646cffaa);
|
||||
}
|
||||
.logo.react:hover {
|
||||
filter: drop-shadow(0 0 2em #61dafbaa);
|
||||
}
|
||||
|
||||
@keyframes logo-spin {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
a:nth-of-type(2) .logo {
|
||||
animation: logo-spin infinite 20s linear;
|
||||
}
|
||||
}
|
||||
|
||||
.card {
|
||||
padding: 2em;
|
||||
}
|
||||
|
||||
.read-the-docs {
|
||||
color: #888;
|
||||
}
|
||||
84
wp-content/themes/cascapedia-st-jules/assets/src/App.tsx
Normal file
@@ -0,0 +1,84 @@
|
||||
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
||||
import { BrowserRouter, Route, Routes } from "react-router-dom";
|
||||
import { Toaster as Sonner } from "@/components/ui/sonner";
|
||||
import { Toaster } from "@/components/ui/toaster";
|
||||
import { TooltipProvider } from "@/components/ui/tooltip";
|
||||
import { LocaleProvider } from "@/i18n/LocaleContext";
|
||||
import { ROUTES } from "@/i18n/routes";
|
||||
import { SiteLayout } from "@/components/layout/SiteLayout";
|
||||
import Index from "./pages/Index";
|
||||
import Municipality from "./pages/Municipality";
|
||||
import Community from "./pages/Community";
|
||||
import LocalBusinesses from "./pages/LocalBusinesses";
|
||||
import Events from "./pages/Events";
|
||||
import Mayor from "./pages/Mayor";
|
||||
import Council from "./pages/Council";
|
||||
import Services from "./pages/Services";
|
||||
import Documents from "./pages/Documents";
|
||||
import CommunityPhotos from "./pages/CommunityPhotos";
|
||||
import ActivitiesPhotos from "./pages/ActivitiesPhotos";
|
||||
import DevelopmentPlan from "./pages/DevelopmentPlan";
|
||||
import TownMap from "./pages/TownMap";
|
||||
import PublicNotices from "./pages/PublicNotices";
|
||||
import Minutes from "./pages/Minutes";
|
||||
import Newsletters from "./pages/Newsletters";
|
||||
import NotFound from "./pages/NotFound";
|
||||
|
||||
const queryClient = new QueryClient();
|
||||
|
||||
const App = () => (
|
||||
<QueryClientProvider client={queryClient}>
|
||||
<TooltipProvider>
|
||||
<Toaster />
|
||||
<Sonner />
|
||||
<BrowserRouter>
|
||||
<LocaleProvider>
|
||||
<SiteLayout>
|
||||
<Routes>
|
||||
{/* French (canonical) */}
|
||||
<Route path={ROUTES.home.fr} element={<Index />} />
|
||||
<Route path={ROUTES.municipality.fr} element={<Municipality />} />
|
||||
<Route path={ROUTES.mayor.fr} element={<Mayor />} />
|
||||
<Route path={ROUTES.council.fr} element={<Council />} />
|
||||
<Route path={ROUTES.services.fr} element={<Services />} />
|
||||
<Route path={ROUTES.documents.fr} element={<Documents />} />
|
||||
<Route path={ROUTES.community.fr} element={<Community />} />
|
||||
<Route path={ROUTES.communityPhotos.fr} element={<CommunityPhotos />} />
|
||||
<Route path={ROUTES.activitiesPhotos.fr} element={<ActivitiesPhotos />} />
|
||||
<Route path={ROUTES.developmentPlan.fr} element={<DevelopmentPlan />} />
|
||||
<Route path={ROUTES.townMap.fr} element={<TownMap />} />
|
||||
<Route path={ROUTES.businesses.fr} element={<LocalBusinesses />} />
|
||||
<Route path={ROUTES.events.fr} element={<Events />} />
|
||||
<Route path={ROUTES.publicNotices.fr} element={<PublicNotices />} />
|
||||
<Route path={ROUTES.minutes.fr} element={<Minutes />} />
|
||||
<Route path={ROUTES.newsletters.fr} element={<Newsletters />} />
|
||||
|
||||
{/* English */}
|
||||
<Route path={ROUTES.home.en} element={<Index />} />
|
||||
<Route path={ROUTES.municipality.en} element={<Municipality />} />
|
||||
<Route path={ROUTES.mayor.en} element={<Mayor />} />
|
||||
<Route path={ROUTES.council.en} element={<Council />} />
|
||||
<Route path={ROUTES.services.en} element={<Services />} />
|
||||
<Route path={ROUTES.documents.en} element={<Documents />} />
|
||||
<Route path={ROUTES.community.en} element={<Community />} />
|
||||
<Route path={ROUTES.communityPhotos.en} element={<CommunityPhotos />} />
|
||||
<Route path={ROUTES.activitiesPhotos.en} element={<ActivitiesPhotos />} />
|
||||
<Route path={ROUTES.developmentPlan.en} element={<DevelopmentPlan />} />
|
||||
<Route path={ROUTES.townMap.en} element={<TownMap />} />
|
||||
<Route path={ROUTES.businesses.en} element={<LocalBusinesses />} />
|
||||
<Route path={ROUTES.events.en} element={<Events />} />
|
||||
<Route path={ROUTES.publicNotices.en} element={<PublicNotices />} />
|
||||
<Route path={ROUTES.minutes.en} element={<Minutes />} />
|
||||
<Route path={ROUTES.newsletters.en} element={<Newsletters />} />
|
||||
|
||||
{/* ADD ALL CUSTOM ROUTES ABOVE THE CATCH-ALL "*" ROUTE */}
|
||||
<Route path="*" element={<NotFound />} />
|
||||
</Routes>
|
||||
</SiteLayout>
|
||||
</LocaleProvider>
|
||||
</BrowserRouter>
|
||||
</TooltipProvider>
|
||||
</QueryClientProvider>
|
||||
);
|
||||
|
||||
export default App;
|
||||
|
After Width: | Height: | Size: 191 KiB |
|
After Width: | Height: | Size: 231 KiB |
|
After Width: | Height: | Size: 164 KiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 279 KiB |
|
After Width: | Height: | Size: 395 KiB |
|
After Width: | Height: | Size: 300 KiB |
|
After Width: | Height: | Size: 521 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 309 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 163 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 146 KiB |
|
After Width: | Height: | Size: 108 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 127 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 97 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 300 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 196 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 396 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 139 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 549 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 233 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 106 KiB |
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 30 KiB |