refactor: theme from lovable
2
.gitignore
vendored
@@ -22,4 +22,4 @@
|
|||||||
!/wp-content/themes/
|
!/wp-content/themes/
|
||||||
/wp-content/themes/*
|
/wp-content/themes/*
|
||||||
!/wp-content/themes/.gitkeep
|
!/wp-content/themes/.gitkeep
|
||||||
!/wp-content/themes/cascapedia/
|
!/wp-content/themes/cascapedia-st-jules/
|
||||||
|
|||||||
20
.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Xdebug",
|
||||||
|
"pathMappings": {
|
||||||
|
"/var/www/html": "${workspaceFolder}/.."
|
||||||
|
},
|
||||||
|
"port": 9003,
|
||||||
|
"request": "launch",
|
||||||
|
"type": "php",
|
||||||
|
"xdebugSettings": {
|
||||||
|
"max_data": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -32,15 +32,11 @@
|
|||||||
"lintfix": "vendor/bin/phpcbf"
|
"lintfix": "vendor/bin/phpcbf"
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"lewebsimple/bricks-v2": "*",
|
|
||||||
"lewebsimple/advanced-custom-fields-pro": "*",
|
"lewebsimple/advanced-custom-fields-pro": "*",
|
||||||
"lewebsimple/ithemes-security-pro": "*",
|
"lewebsimple/ithemes-security-pro": "*",
|
||||||
|
"lewebsimple/kaliroots": "*",
|
||||||
"lewebsimple/wp-offload-ses": "*",
|
"lewebsimple/wp-offload-ses": "*",
|
||||||
"wpackagist-plugin/acf-extended": "*",
|
|
||||||
"wpackagist-plugin/clean-image-filenames": "*",
|
|
||||||
"wpackagist-plugin/disable-comments": "*",
|
"wpackagist-plugin/disable-comments": "*",
|
||||||
"wpackagist-plugin/media-focus-point": "*",
|
|
||||||
"wpackagist-plugin/simple-custom-post-order": "*",
|
|
||||||
"wpackagist-plugin/user-switching": "*"
|
"wpackagist-plugin/user-switching": "*"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
|||||||
108
composer.lock
generated
@@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "9e7b32f4f1942119dd04d27a6939e8c8",
|
"content-hash": "5a3da24d8abeb9e99f6f31797787cb3c",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "composer/installers",
|
"name": "composer/installers",
|
||||||
@@ -169,23 +169,6 @@
|
|||||||
"type": "wordpress-plugin",
|
"type": "wordpress-plugin",
|
||||||
"time": "2026-04-02T12:52:02+00:00"
|
"time": "2026-04-02T12:52:02+00:00"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "lewebsimple/bricks-v2",
|
|
||||||
"version": "v2.3.3",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "ssh://git@gitea.websimple.com:222/wp-themes/bricks-v2.git",
|
|
||||||
"reference": "b542416d8657e176977bbd4e5538ee29c6b48403"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://satis.ledevsimple.ca/dist/lewebsimple/bricks-v2/lewebsimple-bricks-v2-v2.3.3-97af88.zip",
|
|
||||||
"reference": "b542416d8657e176977bbd4e5538ee29c6b48403",
|
|
||||||
"shasum": "66ee1dd508d91230cbfe2da38d11f6d45060dd30"
|
|
||||||
},
|
|
||||||
"type": "wordpress-theme",
|
|
||||||
"time": "2026-04-27T14:36:36+00:00"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "lewebsimple/ithemes-security-pro",
|
"name": "lewebsimple/ithemes-security-pro",
|
||||||
"version": "v8.5.8",
|
"version": "v8.5.8",
|
||||||
@@ -203,6 +186,23 @@
|
|||||||
"type": "wordpress-plugin",
|
"type": "wordpress-plugin",
|
||||||
"time": "2025-07-22T14:11:07+00:00"
|
"time": "2025-07-22T14:11:07+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "lewebsimple/kaliroots",
|
||||||
|
"version": "v0.9.19",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "ssh://git@gitea.websimple.com:222/wp-themes/kaliroots.git",
|
||||||
|
"reference": "40789468328e126cec9bd2f85a6a9923663a8d91"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://satis.ledevsimple.ca/dist/lewebsimple/kaliroots/lewebsimple-kaliroots-v0.9.19-12b0b3.zip",
|
||||||
|
"reference": "40789468328e126cec9bd2f85a6a9923663a8d91",
|
||||||
|
"shasum": "0a4cadbbc7719ee7de94b5cff4b2bb9c436f6416"
|
||||||
|
},
|
||||||
|
"type": "wordpress-theme",
|
||||||
|
"time": "2026-02-09T15:07:56+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "lewebsimple/wp-offload-ses",
|
"name": "lewebsimple/wp-offload-ses",
|
||||||
"version": "v1.6.8",
|
"version": "v1.6.8",
|
||||||
@@ -220,42 +220,6 @@
|
|||||||
"type": "wordpress-plugin",
|
"type": "wordpress-plugin",
|
||||||
"time": "2025-01-09T15:43:07+00:00"
|
"time": "2025-01-09T15:43:07+00:00"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "wpackagist-plugin/acf-extended",
|
|
||||||
"version": "0.9.2.4",
|
|
||||||
"source": {
|
|
||||||
"type": "svn",
|
|
||||||
"url": "https://plugins.svn.wordpress.org/acf-extended/",
|
|
||||||
"reference": "tags/0.9.2.4"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://downloads.wordpress.org/plugin/acf-extended.0.9.2.4.zip"
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"composer/installers": "^1.0 || ^2.0"
|
|
||||||
},
|
|
||||||
"type": "wordpress-plugin",
|
|
||||||
"homepage": "https://wordpress.org/plugins/acf-extended/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "wpackagist-plugin/clean-image-filenames",
|
|
||||||
"version": "1.5",
|
|
||||||
"source": {
|
|
||||||
"type": "svn",
|
|
||||||
"url": "https://plugins.svn.wordpress.org/clean-image-filenames/",
|
|
||||||
"reference": "tags/1.5"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://downloads.wordpress.org/plugin/clean-image-filenames.1.5.zip"
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"composer/installers": "^1.0 || ^2.0"
|
|
||||||
},
|
|
||||||
"type": "wordpress-plugin",
|
|
||||||
"homepage": "https://wordpress.org/plugins/clean-image-filenames/"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "wpackagist-plugin/disable-comments",
|
"name": "wpackagist-plugin/disable-comments",
|
||||||
"version": "2.7.0",
|
"version": "2.7.0",
|
||||||
@@ -274,42 +238,6 @@
|
|||||||
"type": "wordpress-plugin",
|
"type": "wordpress-plugin",
|
||||||
"homepage": "https://wordpress.org/plugins/disable-comments/"
|
"homepage": "https://wordpress.org/plugins/disable-comments/"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "wpackagist-plugin/media-focus-point",
|
|
||||||
"version": "2.0.5",
|
|
||||||
"source": {
|
|
||||||
"type": "svn",
|
|
||||||
"url": "https://plugins.svn.wordpress.org/media-focus-point/",
|
|
||||||
"reference": "tags/2.0.5"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://downloads.wordpress.org/plugin/media-focus-point.2.0.5.zip"
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"composer/installers": "^1.0 || ^2.0"
|
|
||||||
},
|
|
||||||
"type": "wordpress-plugin",
|
|
||||||
"homepage": "https://wordpress.org/plugins/media-focus-point/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "wpackagist-plugin/simple-custom-post-order",
|
|
||||||
"version": "2.6.0",
|
|
||||||
"source": {
|
|
||||||
"type": "svn",
|
|
||||||
"url": "https://plugins.svn.wordpress.org/simple-custom-post-order/",
|
|
||||||
"reference": "tags/2.6.0"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://downloads.wordpress.org/plugin/simple-custom-post-order.2.6.0.zip"
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"composer/installers": "^1.0 || ^2.0"
|
|
||||||
},
|
|
||||||
"type": "wordpress-plugin",
|
|
||||||
"homepage": "https://wordpress.org/plugins/simple-custom-post-order/"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "wpackagist-plugin/user-switching",
|
"name": "wpackagist-plugin/user-switching",
|
||||||
"version": "1.11.2",
|
"version": "1.11.2",
|
||||||
|
|||||||
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 |