diff --git a/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/BusinessesList.tsx b/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/BusinessesList.tsx
index 155e35e..eb111e4 100644
--- a/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/BusinessesList.tsx
+++ b/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/BusinessesList.tsx
@@ -11,7 +11,10 @@ export function BusinessesList({ block }: { block: BusinessesListBlock }) {
{t(block.title)}
{block.intro && (
-
{t(block.intro)}
+
)}
{block.categories.map((cat, ci) => (
@@ -27,9 +30,10 @@ export function BusinessesList({ block }: { block: BusinessesListBlock }) {
>
{b.name}
{b.description && (
-
- {t(b.description)}
-
+
)}
{b.address && (
diff --git a/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/ContactForm.tsx b/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/ContactForm.tsx
index c5990d7..063fbf0 100644
--- a/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/ContactForm.tsx
+++ b/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/ContactForm.tsx
@@ -29,7 +29,12 @@ export function ContactForm({ block }: { block: ContactFormBlock }) {
{t(block.title)}
- {block.intro &&
{t(block.intro)}
}
+ {block.intro && (
+
+ )}
@@ -45,7 +46,10 @@ export function EventsList({ block }: { block: EventsListBlock }) {
)}
{e.description && (
- {t(e.description)}
+
)}
diff --git a/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/PhotoGallery.tsx b/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/PhotoGallery.tsx
index ee7e5b3..52b1d0c 100644
--- a/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/PhotoGallery.tsx
+++ b/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/PhotoGallery.tsx
@@ -42,9 +42,10 @@ export function PhotoGallery({ block }: { block: PhotoGalleryBlock }) {
)}
{block.intro && (
-
- {t(block.intro)}
-
+
)}
{block.photos.map((p, i) => (
diff --git a/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/ServicesList.tsx b/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/ServicesList.tsx
index 21b7821..09126de 100644
--- a/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/ServicesList.tsx
+++ b/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/ServicesList.tsx
@@ -12,9 +12,10 @@ export function ServicesList({ block }: { block: ServicesListBlock }) {
{t(block.title)}
{block.intro && (
-
- {t(block.intro)}
-
+
)}
@@ -26,7 +27,10 @@ export function ServicesList({ block }: { block: ServicesListBlock }) {
{t(s.title)}
-
{t(s.description)}
+
{s.items && s.items.length > 0 && (
{s.items.map((item, j) => (
diff --git a/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/TextIntro.tsx b/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/TextIntro.tsx
index eec248b..4488bf0 100644
--- a/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/TextIntro.tsx
+++ b/wp-content/themes/cascapedia-st-jules/assets/src/components/sections/TextIntro.tsx
@@ -16,9 +16,10 @@ export function TextIntro({ block }: { block: TextIntroBlock }) {
{t(block.title)}
-
- {t(block.body)}
-
+
);
diff --git a/wp-content/themes/cascapedia-st-jules/includes/acf.php b/wp-content/themes/cascapedia-st-jules/includes/acf.php
index f1051e5..4428933 100644
--- a/wp-content/themes/cascapedia-st-jules/includes/acf.php
+++ b/wp-content/themes/cascapedia-st-jules/includes/acf.php
@@ -25,7 +25,7 @@ function cascapedia_st_jules_register_acf(): void {
csj_text('field_email', 'email', 'Courriel'),
csj_textarea('field_address', 'address', 'Adresse'),
csj_text('field_hours', 'hours', 'Heures'),
- csj_url('field_facebook_url', 'facebook_url', 'Facebook'),
+ csj_text('field_facebook_url', 'facebook_url', 'Facebook URL'),
],
'location' => [[['param' => 'options_page', 'operator' => '==', 'value' => 'site-settings']]],
]);
@@ -47,19 +47,19 @@ function cascapedia_st_jules_register_acf(): void {
acf_add_local_field_group([
'key' => 'group_document_fields',
'title' => 'Document',
- 'fields' => [ csj_file('field_document_file', 'document_file', 'PDF'), csj_text('field_document_group', 'document_group', 'Groupe'), csj_text('field_document_date', 'document_date', 'Date') ],
+ 'fields' => [ csj_file('field_document_file', 'document_file', 'PDF'), csj_text('field_document_group', 'document_group', 'Groupe'), csj_date('field_document_date', 'document_date', 'Date') ],
'location' => [[['param' => 'post_type', 'operator' => '==', 'value' => 'document']]],
]);
acf_add_local_field_group([
'key' => 'group_event_fields',
'title' => 'Événement',
- 'fields' => [ csj_text('field_event_date', 'event_date', 'Date ISO'), csj_text('field_event_location', 'location', 'Lieu') ],
+ 'fields' => [ csj_date('field_event_date', 'event_date', 'Date'), csj_text('field_event_location', 'location', 'Lieu') ],
'location' => [[['param' => 'post_type', 'operator' => '==', 'value' => 'event']]],
]);
acf_add_local_field_group([
'key' => 'group_business_fields',
'title' => 'Entreprise',
- 'fields' => [ csj_text('field_business_phone', 'phone', 'Téléphone'), csj_text('field_business_email', 'email', 'Courriel'), csj_url('field_business_website', 'website', 'Site web'), csj_textarea('field_business_address', 'address', 'Adresse') ],
+ 'fields' => [ csj_text('field_business_phone', 'phone', 'Téléphone'), csj_text('field_business_email', 'email', 'Courriel'), csj_text('field_business_website', 'website', 'Site web URL'), csj_textarea('field_business_address', 'address', 'Adresse') ],
'location' => [[['param' => 'post_type', 'operator' => '==', 'value' => 'local_business']]],
]);
acf_add_local_field_group([
@@ -91,8 +91,8 @@ function cascapedia_st_jules_acf_layouts(): array {
function csj_layout( string $name, string $label, array $sub_fields ): array { return [ 'key' => 'layout_' . $name, 'name' => $name, 'label' => $label, 'display' => 'block', 'sub_fields' => $sub_fields ]; }
function csj_text($key,$name,$label): array { return ['key'=>$key,'label'=>$label,'name'=>$name,'type'=>'text']; }
-function csj_url($key,$name,$label): array { return ['key'=>$key,'label'=>$label,'name'=>$name,'type'=>'url']; }
function csj_number($key,$name,$label): array { return ['key'=>$key,'label'=>$label,'name'=>$name,'type'=>'number']; }
+function csj_date($key,$name,$label): array { return ['key'=>$key,'label'=>$label,'name'=>$name,'type'=>'date_picker','display_format'=>'Y-m-d','return_format'=>'Y-m-d','first_day'=>1]; }
function csj_textarea($key,$name,$label): array { return ['key'=>$key,'label'=>$label,'name'=>$name,'type'=>'textarea','rows'=>3]; }
function csj_wysiwyg($key,$name,$label): array { return ['key'=>$key,'label'=>$label,'name'=>$name,'type'=>'wysiwyg','tabs'=>'all','toolbar'=>'basic','media_upload'=>0]; }
function csj_image($key,$name,$label): array { return ['key'=>$key,'label'=>$label,'name'=>$name,'type'=>'image','return_format'=>'id','preview_size'=>'medium']; }
@@ -101,4 +101,4 @@ function csj_file($key,$name,$label): array { return ['key'=>$key,'label'=>$labe
function csj_select($key,$name,$label,array $choices): array { return ['key'=>$key,'label'=>$label,'name'=>$name,'type'=>'select','choices'=>$choices,'default_value'=>array_key_first($choices)]; }
function csj_true_false($key,$name,$label): array { return ['key'=>$key,'label'=>$label,'name'=>$name,'type'=>'true_false','ui'=>1]; }
function csj_repeater($key,$name,$label,array $sub_fields): array { return ['key'=>$key,'label'=>$label,'name'=>$name,'type'=>'repeater','layout'=>'row','button_label'=>'Ajouter','sub_fields'=>$sub_fields]; }
-function csj_cta_fields(string $prefix): array { return [ csj_text($prefix.'_cta_label','cta_label','Libellé CTA'), csj_url($prefix.'_cta_url','cta_url','URL CTA'), csj_true_false($prefix.'_cta_external','cta_external','Lien externe') ]; }
+function csj_cta_fields(string $prefix): array { return [ csj_text($prefix.'_cta_label','cta_label','Libellé CTA'), csj_text($prefix.'_cta_url','cta_url','URL / courriel / téléphone'), csj_true_false($prefix.'_cta_external','cta_external','Lien externe') ]; }
diff --git a/wp-content/themes/cascapedia-st-jules/includes/dynamic-data.php b/wp-content/themes/cascapedia-st-jules/includes/dynamic-data.php
index b3629cf..272dd35 100644
--- a/wp-content/themes/cascapedia-st-jules/includes/dynamic-data.php
+++ b/wp-content/themes/cascapedia-st-jules/includes/dynamic-data.php
@@ -11,8 +11,12 @@ function cascapedia_st_jules_locale(): string {
return str_starts_with( $path, '/en' ) ? 'en' : 'fr';
}
+function cascapedia_st_jules_clean_text( ?string $value ): string {
+ return html_entity_decode( (string) $value, ENT_QUOTES | ENT_HTML5, 'UTF-8' );
+}
+
function cascapedia_st_jules_l( ?string $value ): array {
- $value = (string) $value;
+ $value = cascapedia_st_jules_clean_text( $value );
return [ 'fr' => $value, 'en' => $value ];
}
@@ -117,7 +121,7 @@ function cascapedia_st_jules_get_businesses(): array {
]);
$businesses = array_map( static function ( WP_Post $post ): array {
return [
- 'name' => get_the_title( $post ),
+ 'name' => cascapedia_st_jules_clean_text( get_the_title( $post ) ),
'description' => cascapedia_st_jules_l( wp_strip_all_tags( $post->post_content ) ),
'phone' => (string) get_post_meta( $post->ID, 'phone', true ),
'email' => (string) get_post_meta( $post->ID, 'email', true ),
diff --git a/wp-content/themes/cascapedia-st-jules/vite.config.ts b/wp-content/themes/cascapedia-st-jules/vite.config.ts
index c53868a..1d3a511 100644
--- a/wp-content/themes/cascapedia-st-jules/vite.config.ts
+++ b/wp-content/themes/cascapedia-st-jules/vite.config.ts
@@ -12,6 +12,7 @@ export default defineConfig({
},
build: {
manifest: true,
+ sourcemap: true,
outDir: 'assets/dist',
emptyOutDir: true,
rollupOptions: {