From eb0b690542361fa291d6670d391a35c655990d06 Mon Sep 17 00:00:00 2001
From: bach <bachir@figureslibres.io>
Date: Sat, 1 Mar 2025 23:38:17 +0100
Subject: [PATCH] live-youtub home block

---
 composer.json                                 |  3 ++
 .../sync/block_content.type.live_youtube.yml  |  8 +++
 ...lay.block_content.live_youtube.default.yml | 49 +++++++++++++++++++
 ...lay.block_content.live_youtube.default.yml | 48 ++++++++++++++++++
 ...content.live_youtube.field_descritpion.yml | 24 +++++++++
 ...block_content.live_youtube.field_titre.yml | 19 +++++++
 ...ock_content.live_youtube.field_youtube.yml | 25 ++++++++++
 ...torage.block_content.field_descritpion.yml | 19 +++++++
 ...ield.storage.block_content.field_titre.yml | 21 ++++++++
 ...ld.storage.block_content.field_youtube.yml | 19 +++++++
 ...ger.page_variant.home-panels_variant-0.yml | 25 ++++++++--
 ...age_variant.node_view-panels_variant-0.yml | 13 ++++-
 12 files changed, 268 insertions(+), 5 deletions(-)
 create mode 100644 config/sync/block_content.type.live_youtube.yml
 create mode 100644 config/sync/core.entity_form_display.block_content.live_youtube.default.yml
 create mode 100644 config/sync/core.entity_view_display.block_content.live_youtube.default.yml
 create mode 100644 config/sync/field.field.block_content.live_youtube.field_descritpion.yml
 create mode 100644 config/sync/field.field.block_content.live_youtube.field_titre.yml
 create mode 100644 config/sync/field.field.block_content.live_youtube.field_youtube.yml
 create mode 100644 config/sync/field.storage.block_content.field_descritpion.yml
 create mode 100644 config/sync/field.storage.block_content.field_titre.yml
 create mode 100644 config/sync/field.storage.block_content.field_youtube.yml

diff --git a/composer.json b/composer.json
index 44b36a6..3bf7d53 100644
--- a/composer.json
+++ b/composer.json
@@ -134,6 +134,9 @@
             },
             "drupal/image_field_caption":{
                 "Rewrite module to use default field storage https://www.drupal.org/project/image_field_caption/issues/3472997": "./patches/image_field_caption_3472997_12.patch"
+            },
+            "drupal/video_embed_field":{
+                "Support Youtube Live urls https://www.drupal.org/project/video_embed_field/issues/3417567":"https://www.drupal.org/files/issues/2024-01-27/video_embed_field--support-live--3417567--2.patch"
             }
         },
         "oldpatches": {
diff --git a/config/sync/block_content.type.live_youtube.yml b/config/sync/block_content.type.live_youtube.yml
new file mode 100644
index 0000000..84e7772
--- /dev/null
+++ b/config/sync/block_content.type.live_youtube.yml
@@ -0,0 +1,8 @@
+uuid: dc650ace-a4b8-479c-bb14-fa42e7534214
+langcode: fr
+status: true
+dependencies: {  }
+id: live_youtube
+label: live-youtube
+revision: 0
+description: ''
diff --git a/config/sync/core.entity_form_display.block_content.live_youtube.default.yml b/config/sync/core.entity_form_display.block_content.live_youtube.default.yml
new file mode 100644
index 0000000..ac570ba
--- /dev/null
+++ b/config/sync/core.entity_form_display.block_content.live_youtube.default.yml
@@ -0,0 +1,49 @@
+uuid: 9d4c0c8b-d55b-4f5d-a1b8-f1df7af95607
+langcode: fr
+status: true
+dependencies:
+  config:
+    - block_content.type.live_youtube
+    - field.field.block_content.live_youtube.field_descritpion
+    - field.field.block_content.live_youtube.field_titre
+    - field.field.block_content.live_youtube.field_youtube
+  module:
+    - text
+    - video_embed_field
+id: block_content.live_youtube.default
+targetEntityType: block_content
+bundle: live_youtube
+mode: default
+content:
+  field_descritpion:
+    type: text_textarea
+    weight: 2
+    region: content
+    settings:
+      rows: 5
+      placeholder: ''
+    third_party_settings: {  }
+  field_titre:
+    type: string_textfield
+    weight: 1
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  field_youtube:
+    type: video_embed_field_textfield
+    weight: 3
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  info:
+    type: string_textfield
+    weight: 0
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+hidden:
+  langcode: true
diff --git a/config/sync/core.entity_view_display.block_content.live_youtube.default.yml b/config/sync/core.entity_view_display.block_content.live_youtube.default.yml
new file mode 100644
index 0000000..bd13ec7
--- /dev/null
+++ b/config/sync/core.entity_view_display.block_content.live_youtube.default.yml
@@ -0,0 +1,48 @@
+uuid: a96096d1-f93c-48f3-9b6c-f9940f4ee2fc
+langcode: fr
+status: true
+dependencies:
+  config:
+    - block_content.type.live_youtube
+    - field.field.block_content.live_youtube.field_descritpion
+    - field.field.block_content.live_youtube.field_titre
+    - field.field.block_content.live_youtube.field_youtube
+  module:
+    - manage_display
+    - text
+    - video_embed_field
+id: block_content.live_youtube.default
+targetEntityType: block_content
+bundle: live_youtube
+mode: default
+content:
+  field_descritpion:
+    type: text_default
+    label: visually_hidden
+    settings: {  }
+    third_party_settings: {  }
+    weight: 1
+    region: content
+  field_titre:
+    type: title
+    label: visually_hidden
+    settings:
+      link_to_entity: false
+      tag: h2
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_youtube:
+    type: video_embed_field_video
+    label: visually_hidden
+    settings:
+      autoplay: true
+      responsive: true
+      width: 854
+      height: 480
+    third_party_settings: {  }
+    weight: 2
+    region: content
+hidden:
+  langcode: true
+  search_api_excerpt: true
diff --git a/config/sync/field.field.block_content.live_youtube.field_descritpion.yml b/config/sync/field.field.block_content.live_youtube.field_descritpion.yml
new file mode 100644
index 0000000..e45d857
--- /dev/null
+++ b/config/sync/field.field.block_content.live_youtube.field_descritpion.yml
@@ -0,0 +1,24 @@
+uuid: e3139bc9-11e2-49a5-a296-5d6f08499a78
+langcode: fr
+status: true
+dependencies:
+  config:
+    - block_content.type.live_youtube
+    - field.storage.block_content.field_descritpion
+    - filter.format.wysiwyg
+  module:
+    - text
+id: block_content.live_youtube.field_descritpion
+field_name: field_descritpion
+entity_type: block_content
+bundle: live_youtube
+label: Description
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  allowed_formats:
+    - wysiwyg
+field_type: text_long
diff --git a/config/sync/field.field.block_content.live_youtube.field_titre.yml b/config/sync/field.field.block_content.live_youtube.field_titre.yml
new file mode 100644
index 0000000..52757e6
--- /dev/null
+++ b/config/sync/field.field.block_content.live_youtube.field_titre.yml
@@ -0,0 +1,19 @@
+uuid: f32e837b-2b65-438e-9b1a-681267ed114d
+langcode: fr
+status: true
+dependencies:
+  config:
+    - block_content.type.live_youtube
+    - field.storage.block_content.field_titre
+id: block_content.live_youtube.field_titre
+field_name: field_titre
+entity_type: block_content
+bundle: live_youtube
+label: Titre
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: string
diff --git a/config/sync/field.field.block_content.live_youtube.field_youtube.yml b/config/sync/field.field.block_content.live_youtube.field_youtube.yml
new file mode 100644
index 0000000..8583651
--- /dev/null
+++ b/config/sync/field.field.block_content.live_youtube.field_youtube.yml
@@ -0,0 +1,25 @@
+uuid: 0557bdb1-03b5-4b9f-8941-63d7880a2e88
+langcode: fr
+status: true
+dependencies:
+  config:
+    - block_content.type.live_youtube
+    - field.storage.block_content.field_youtube
+  module:
+    - video_embed_field
+id: block_content.live_youtube.field_youtube
+field_name: field_youtube
+entity_type: block_content
+bundle: live_youtube
+label: youtube
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  allowed_providers:
+    youtube: youtube
+    youtube_playlist: '0'
+    vimeo: '0'
+field_type: video_embed_field
diff --git a/config/sync/field.storage.block_content.field_descritpion.yml b/config/sync/field.storage.block_content.field_descritpion.yml
new file mode 100644
index 0000000..830cb10
--- /dev/null
+++ b/config/sync/field.storage.block_content.field_descritpion.yml
@@ -0,0 +1,19 @@
+uuid: 833e03f3-0e59-4537-b1eb-3d5b3eba9e0f
+langcode: fr
+status: true
+dependencies:
+  module:
+    - block_content
+    - text
+id: block_content.field_descritpion
+field_name: field_descritpion
+entity_type: block_content
+type: text_long
+settings: {  }
+module: text
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/config/sync/field.storage.block_content.field_titre.yml b/config/sync/field.storage.block_content.field_titre.yml
new file mode 100644
index 0000000..ee167bb
--- /dev/null
+++ b/config/sync/field.storage.block_content.field_titre.yml
@@ -0,0 +1,21 @@
+uuid: c8b30bc0-f7cb-49a0-8bb1-2a83fef02fb2
+langcode: fr
+status: true
+dependencies:
+  module:
+    - block_content
+id: block_content.field_titre
+field_name: field_titre
+entity_type: block_content
+type: string
+settings:
+  max_length: 255
+  case_sensitive: false
+  is_ascii: false
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/config/sync/field.storage.block_content.field_youtube.yml b/config/sync/field.storage.block_content.field_youtube.yml
new file mode 100644
index 0000000..e2aee76
--- /dev/null
+++ b/config/sync/field.storage.block_content.field_youtube.yml
@@ -0,0 +1,19 @@
+uuid: cc74fdc1-0972-4669-a610-c3ec2df20732
+langcode: fr
+status: true
+dependencies:
+  module:
+    - block_content
+    - video_embed_field
+id: block_content.field_youtube
+field_name: field_youtube
+entity_type: block_content
+type: video_embed_field
+settings: {  }
+module: video_embed_field
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/config/sync/page_manager.page_variant.home-panels_variant-0.yml b/config/sync/page_manager.page_variant.home-panels_variant-0.yml
index 75832a2..4111899 100644
--- a/config/sync/page_manager.page_variant.home-panels_variant-0.yml
+++ b/config/sync/page_manager.page_variant.home-panels_variant-0.yml
@@ -6,7 +6,10 @@ dependencies:
     - page_manager.page.home
     - views.view.actus
     - views.view.presentation
+  content:
+    - 'block_content:live_youtube:1d330f27-3197-43ed-8f7f-a1b05826c25b'
   module:
+    - block_content
     - config_pages
     - panels
     - views
@@ -30,7 +33,7 @@ variant_settings:
       items_per_page: none
       exposed: {  }
       region: content
-      weight: 0
+      weight: 1
       uuid: f1486b62-7ff8-475b-b6a1-e153b6b6fb89
       css_classes:
         - ''
@@ -60,7 +63,7 @@ variant_settings:
       config_page_type: deroulement
       config_page_view_mode: full
       region: content
-      weight: 1
+      weight: 2
       uuid: 346ce88d-2925-4bf8-884d-dfbca1e8d5b6
       css_classes:
         - ''
@@ -76,12 +79,28 @@ variant_settings:
       items_per_page: none
       exposed: {  }
       region: content
-      weight: 2
+      weight: 0
       uuid: d4d27033-dc91-45d7-adc0-8690fd0ab27a
       css_classes:
         - ''
       html_id: ''
       css_styles: ''
+    e68622dd-ffb9-463b-af33-0955e75f8019:
+      id: 'block_content:1d330f27-3197-43ed-8f7f-a1b05826c25b'
+      label: 'Live 03-03-2025'
+      label_display: visible
+      provider: block_content
+      status: true
+      info: ''
+      view_mode: full
+      context_mapping: {  }
+      region: content
+      weight: -1
+      uuid: e68622dd-ffb9-463b-af33-0955e75f8019
+      css_classes:
+        - ''
+      html_id: ''
+      css_styles: ''
   page_title: ''
   layout: layout_onecol
   layout_settings:
diff --git a/config/sync/page_manager.page_variant.node_view-panels_variant-0.yml b/config/sync/page_manager.page_variant.node_view-panels_variant-0.yml
index 8dc0e12..d0d8871 100644
--- a/config/sync/page_manager.page_variant.node_view-panels_variant-0.yml
+++ b/config/sync/page_manager.page_variant.node_view-panels_variant-0.yml
@@ -69,11 +69,20 @@ variant_settings:
       context_mapping:
         entity: node
       formatter:
-        type: file_default
+        type: formatter_suite_general_file_link
         weight: 0
         label: visually_hidden
         settings:
-          use_description_as_link_text: true
+          titleStyle: text_from_link
+          titleCustomText: ''
+          showSize: 0
+          showIcon: 0
+          classes: ''
+          showLink: 1
+          openLinkIn: _blank
+          linkTopic: any
+          listStyle: span
+          listSeparator: ', '
         third_party_settings: {  }
       region: third
       weight: -5