]> _ Git - usines-reunies.git/commitdiff
WIP #4064 @8
authorStephen Cameron <stephen@cubedesigners.com>
Wed, 25 Nov 2020 18:25:33 +0000 (19:25 +0100)
committerStephen Cameron <stephen@cubedesigners.com>
Wed, 25 Nov 2020 18:25:33 +0000 (19:25 +0100)
27 files changed:
.gitignore
web/app/mu-plugins/cube-loader.php [new file with mode: 0644]
web/app/mu-plugins/cube/.gitignore [new file with mode: 0644]
web/app/mu-plugins/cube/composer.json [new file with mode: 0644]
web/app/mu-plugins/cube/src/Common/Setup.php [new file with mode: 0644]
web/app/mu-plugins/cube/src/Elementor/Setup.php [new file with mode: 0644]
web/app/mu-plugins/cube/src/Elementor/Widgets/_Base.php [new file with mode: 0644]
web/app/mu-plugins/cube/src/Init.php [new file with mode: 0644]
web/app/themes/Usines/app/helpers.php
web/app/themes/Usines/app/setup.php
web/app/themes/Usines/index.php
web/app/themes/Usines/resources/assets/images/icons/email.svg [new file with mode: 0644]
web/app/themes/Usines/resources/assets/images/icons/facebook.svg [new file with mode: 0644]
web/app/themes/Usines/resources/assets/images/icons/instagram.svg [new file with mode: 0644]
web/app/themes/Usines/resources/assets/images/icons/linkedin.svg [new file with mode: 0644]
web/app/themes/Usines/resources/assets/images/icons/phone-circle.svg [new file with mode: 0644]
web/app/themes/Usines/resources/assets/images/icons/phone.svg [new file with mode: 0644]
web/app/themes/Usines/resources/assets/images/logo.svg
web/app/themes/Usines/resources/assets/styles/app.styl
web/app/themes/Usines/resources/assets/styles/common/setup.styl
web/app/themes/Usines/resources/assets/styles/components/footer.styl [new file with mode: 0644]
web/app/themes/Usines/resources/assets/styles/components/navigation.styl [new file with mode: 0644]
web/app/themes/Usines/resources/views/partials/footer.blade.php
web/app/themes/Usines/resources/views/partials/header.blade.php
web/app/themes/Usines/resources/views/partials/page-header.blade.php
web/app/themes/Usines/resources/views/partials/social-networks.blade.php [new file with mode: 0644]
web/app/themes/Usines/webpack.mix.js

index 9a5e483ac6631dca93f5bdd7210fd9bf3ca9a8ab..60865870e7eb766769ff46f8887fed200c7a8d98 100644 (file)
@@ -10,6 +10,7 @@ _doc
 web/app/plugins/*
 !web/app/plugins/.gitkeep
 web/app/mu-plugins/*/
+!web/app/mu-plugins/cube
 web/app/upgrade
 web/app/uploads/*
 !web/app/uploads/.gitkeep
diff --git a/web/app/mu-plugins/cube-loader.php b/web/app/mu-plugins/cube-loader.php
new file mode 100644 (file)
index 0000000..ede46dd
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+/**
+ * Plugin Name: Custom theme features
+ * Description: Loads all custom functionality such as new post types and taxonomies.
+ * Version:  1.0
+ * Author: Cubedesigners
+ * Author URI: https://www.cubedesigners.com
+ */
+
+namespace Cube;
+
+defined('ABSPATH') or die('Direct access blocked');
+
+// Folder name for all plugin files (needed because MU-plugins can't be in folders so we need to put the loader outside)
+$plugin_dir = 'cube';
+$autoloader = __DIR__ . "/$plugin_dir/vendor/autoload.php";
+
+// Namespaced constants for easier path and URL references
+define(__NAMESPACE__ . '\NS', __NAMESPACE__ . '\\'); // Namespace shortcut: NS
+define(NS . 'PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__) . $plugin_dir));
+define(NS . 'PLUGIN_URL', trailingslashit(plugin_dir_url(__FILE__) . $plugin_dir));
+
+// Load Composer libraries
+if (file_exists($autoloader)) {
+    require_once $autoloader;
+}
+
+if (class_exists(NS . 'Init')) {
+    Init::register_classes();
+}
diff --git a/web/app/mu-plugins/cube/.gitignore b/web/app/mu-plugins/cube/.gitignore
new file mode 100644 (file)
index 0000000..22d0d82
--- /dev/null
@@ -0,0 +1 @@
+vendor
diff --git a/web/app/mu-plugins/cube/composer.json b/web/app/mu-plugins/cube/composer.json
new file mode 100644 (file)
index 0000000..cda4e82
--- /dev/null
@@ -0,0 +1,10 @@
+{
+    "require": {
+
+    },
+    "autoload": {
+        "psr-4": {
+            "Cube\\": "./src"
+        }
+    }
+}
diff --git a/web/app/mu-plugins/cube/src/Common/Setup.php b/web/app/mu-plugins/cube/src/Common/Setup.php
new file mode 100644 (file)
index 0000000..155790d
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+
+namespace Cube\Common;
+
+class Setup {
+
+    /**
+     * Common setup, will be automatically triggered by Init class if included
+     */
+    public function register() {
+
+    }
+
+}
diff --git a/web/app/mu-plugins/cube/src/Elementor/Setup.php b/web/app/mu-plugins/cube/src/Elementor/Setup.php
new file mode 100644 (file)
index 0000000..37793dd
--- /dev/null
@@ -0,0 +1,34 @@
+<?php
+
+namespace Cube\Elementor;
+
+use Elementor\Element_Base;
+use Elementor\Controls_Manager;
+use Elementor\Plugin;
+
+class Setup {
+
+    public function register() {
+
+        // Register widget category with Elementor
+        add_action('elementor/elements/categories_registered', [$this, 'register_widgets_category']);
+
+        // Register widgets with Elementor
+        add_action('elementor/widgets/widgets_registered', [$this, 'register_widgets']);
+    }
+
+    public function register_widgets() {
+
+        $elementor = Plugin::$instance;
+
+        //$elementor->widgets_manager->register_widget_type( new Widgets\SolutionGrid() );
+    }
+
+
+    // Ref: https://developers.elementor.com/widget-categories/
+    /* @var $manager \Elementor\Elements_Manager */
+    public function register_widgets_category($manager) {
+        $manager->add_category('cube', ['title' => 'Cubedesigners']);
+    }
+
+}
diff --git a/web/app/mu-plugins/cube/src/Elementor/Widgets/_Base.php b/web/app/mu-plugins/cube/src/Elementor/Widgets/_Base.php
new file mode 100644 (file)
index 0000000..8ec94b3
--- /dev/null
@@ -0,0 +1,97 @@
+<?php
+
+namespace Cube\Elementor\Widgets;
+
+use Elementor\Widget_Base;
+use Elementor\Controls_Manager;
+
+abstract class _Base extends Widget_Base {
+
+    // Where to display the widgets in the Elementor interface
+    // Ref: https://developers.elementor.com/widget-categories/
+    // See Elementor/Setup.php for definition of the category
+    public function get_categories() {
+        return ['cube'];
+    }
+
+    // Wrapper for including all common controls
+    // In the future this might be multiple groups of controls
+    // Most widgets will use this but some might selectively include controls as needed.
+    public function common_controls() {
+        $this->spacing_controls();
+    }
+
+    // Common widget spacing controls
+    public function spacing_controls() {
+
+        $this->start_controls_section(
+            'section_spacing',
+            [
+                'label' => __( 'Spacing', 'cube' ),
+            ]
+        );
+
+        $this->add_control(
+            'margin_top',
+            [
+                'label' => __('Disable margin top', 'cube'),
+                'type' => Controls_Manager::SWITCHER,
+                'default' => '',
+                'return_value' => 'mt-0!',
+                'prefix_class' => '',
+            ]
+        );
+
+        $this->add_control(
+            'margin_bottom',
+            [
+                'label' => __('Disable margin bottom', 'cube'),
+                'type' => Controls_Manager::SWITCHER,
+                'default' => '',
+                'return_value' => 'mb-0!',
+                'prefix_class' => '',
+            ]
+        );
+
+        $this->add_control(
+            'padding_top',
+            [
+                'label' => __('Top Padding', 'cube'),
+                'type' => Controls_Manager::SELECT,
+                'options' => [
+                    '' => __( 'Défaut', 'cube' ),
+                    'pt-0' => '0',
+                    'pt-1v' => '2.5%',
+                    'pt-2v' => '5%',
+                    'pt-3v' => '7.5%',
+                    'pt-4v' => '10%',
+                ],
+                'default' => '',
+                'prefix_class' => '', // Use the full value as the classname
+                'separator' => 'before',
+            ]
+        );
+
+        $this->add_control(
+            'padding_bottom',
+            [
+                'label' => __('Bottom Padding', 'cube'),
+                'type' => Controls_Manager::SELECT,
+                'options' => [
+                    '' => __( 'Défaut', 'cube' ),
+                    'pb-0' => '0',
+                    'pb-1v' => '2.5%',
+                    'pb-2v' => '5%',
+                    'pb-3v' => '7.5%',
+                    'pb-4v' => '10%',
+                ],
+                'default' => '',
+                'prefix_class' => '', // Use the full value as the classname
+            ]
+        );
+
+        $this->end_controls_section();
+
+    }
+
+}
diff --git a/web/app/mu-plugins/cube/src/Init.php b/web/app/mu-plugins/cube/src/Init.php
new file mode 100644 (file)
index 0000000..e93ae26
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+
+// Setup reference: https://www.youtube.com/watch?v=NdDRNiIfYDw
+
+namespace Cube;
+
+
+final class Init { // Marked as final because this class should never be extended (single init only!)
+
+    /**
+     * List of service classes to be used
+     * @return array Array of classes to be instantiated
+     */
+    public static function classes() {
+        return [
+            Common\Setup::class,
+            Elementor\Setup::class,
+        ];
+    }
+
+    /**
+     * Register all services (custom post types, custom fields, shortcodes etc)
+     */
+    public static function register_classes() {
+        foreach (self::classes() as $class) {
+            $service = self::instantiate($class);
+
+            // If the class has a register method, call it.
+            if (method_exists($service, 'register')) {
+                $service->register();
+            }
+        }
+    }
+
+    /**
+     * @param class $class Class from the services array
+     * @return class instance New instance of the class
+     */
+    private static function instantiate($class) {
+        return new $class();
+    }
+}
index 29abe335c819b8a898d18a2cf36dc974af2daa56..0583e0dc07db6ce6ae492a5f440eb1c9424cc66e 100644 (file)
@@ -7,7 +7,7 @@
 namespace App;
 
 // Grid overlay helper, activated when DEBUG_GRID is defined as true
-if (env('DEBUG_GRID')) {
+if (env('DEBUG_GRID') || isset($_GET['debug-grid'])) {
     add_action('wp_footer', function () {
         $css  = 'background-size: 2.5vw 2.5vw;';
         $css .= 'background-image: linear-gradient(to right, grey 1px, transparent 1px), linear-gradient(to bottom, grey 1px, transparent 1px);';
@@ -18,7 +18,7 @@ if (env('DEBUG_GRID')) {
 }
 
 // Draw centre line on layout
-if (env('DEBUG_CENTER')) {
+if (env('DEBUG_CENTER') || isset($_GET['debug-center'])) {
     add_action('wp_footer', function () {
         $css  = 'width: 1px;';
         $css .= 'background-color: #fc0;'; // Base line colour
index ec09cc69d3febb2e0fa5f40f73f8a30dfea032c3..05447976e36b0620a918f57422aeddb3d360e67f 100755 (executable)
@@ -87,7 +87,8 @@ add_action('after_setup_theme', function () {
      * @link https://developer.wordpress.org/reference/functions/register_nav_menus/
      */
     register_nav_menus([
-        'primary_navigation' => __('Primary Navigation', 'sage')
+        'primary_navigation_left' => __('Navigation Primaire (gauche)', 'usines'),
+        'primary_navigation_right' => __('Navigation Primaire (droite)', 'usines'),
     ]);
 
     /**
@@ -156,12 +157,23 @@ add_action('widgets_init', function () {
     ];
 
     register_sidebar([
-        'name' => __('Primary', 'sage'),
-        'id' => 'sidebar-primary'
-    ] + $config);
-
+            'name'          => __('Footer Column 1', 'usines'),
+            'id'            => 'sidebar-footer-1'
+        ] + $config);
+    register_sidebar([
+            'name'          => __('Footer Column 2', 'usines'),
+            'id'            => 'sidebar-footer-2'
+        ] + $config);
+    register_sidebar([
+            'name'          => __('Footer Column 3', 'usines'),
+            'id'            => 'sidebar-footer-3'
+        ] + $config);
+    register_sidebar([
+            'name'          => __('Footer Column 4', 'usines'),
+            'id'            => 'sidebar-footer-4'
+        ] + $config);
     register_sidebar([
-        'name' => __('Footer', 'sage'),
-        'id' => 'sidebar-footer'
-    ] + $config);
+            'name'          => __('Footer Copyright', 'usines'),
+            'id'            => 'sidebar-footer-copyright'
+        ] + $config);
 });
index 4c4f282fa091fbb86044774645a06b52ea2ec7ef..5028d8f6e862c30db4ac52c04e418c5d5746c39a 100644 (file)
@@ -10,7 +10,7 @@
     <link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;1,400&display=swap" rel="stylesheet">
   </head>
 
-  <body <?php body_class('font-body text-dark mx-1v'); ?>>
+  <body <?php body_class('font-body text-dark'); ?>>
     <?php wp_body_open(); ?>
     <?php do_action('get_header'); ?>
 
diff --git a/web/app/themes/Usines/resources/assets/images/icons/email.svg b/web/app/themes/Usines/resources/assets/images/icons/email.svg
new file mode 100644 (file)
index 0000000..c47fdf1
--- /dev/null
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="#fff" d="M31.07 1.42a3.031 3.031 0 00-4.18-.96l-25 15.63a3.02 3.02 0 00-1.42 2.57c0 1.67 1.36 3.03 3.03 3.03h7.12v6.21c0 1.67 1.36 3.03 3.03 3.03.61 0 1.2-.18 1.71-.53l3.68-2.51 2.16 2.89a3.03 3.03 0 001.86 1.16c.19.04.38.05.57.05.6 0 1.19-.18 1.7-.53.67-.46 1.12-1.15 1.27-1.94L31.48 3.6c.14-.76 0-1.53-.41-2.18zM2.03 18.66c0-.51.26-.98.69-1.25l25-15.63c.24-.15.51-.22.77-.22l-14.1 18.56H3.5c-.81.01-1.47-.65-1.47-1.46zm12.45 10.46c-.24.17-.53.26-.83.26-.81 0-1.47-.66-1.47-1.47V21.7h2.21l3.71 4.96-3.62 2.46zM29.94 3.31l-4.87 25.93c-.07.39-.29.72-.61.94a1.468 1.468 0 01-2-.33l-6.69-8.94L29.82 2.4c.14.28.18.59.12.91z"/></svg>
diff --git a/web/app/themes/Usines/resources/assets/images/icons/facebook.svg b/web/app/themes/Usines/resources/assets/images/icons/facebook.svg
new file mode 100644 (file)
index 0000000..d6ea8fe
--- /dev/null
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><path fill="#8FBEE5" d="M39 19.21c0 4.02-.49 7.74-2.65 10.78-3.37 4.74-9.7 8.61-15.95 8.61-2.4 0-4.69-.45-6.79-1.28C6.68 34.62 1 27.09 1 19.21c0-3.46 1.73-6.7 3.38-9.48 3.24-5.46 9.2-8.34 16.01-8.34 5.54 0 10.51.85 13.91 4.68 2.93 3.29 4.7 8.4 4.7 13.14z"/><path fill="#fff" d="M21.7 30.97h-4.54c-.41 0-.75-.34-.75-.75v-8.9h-1.97c-.41 0-.75-.34-.75-.75v-3.63c0-.41.34-.75.75-.75h1.97V14.2c0-2.5 1.31-5.16 4.99-5.16h3.93c.41 0 .75.34.75.75v3.63c0 .41-.34.75-.75.75h-2.72c-.07.01-.11.04-.13.06-.02.02-.04.06-.03.12v1.85h3.12c.21 0 .41.09.56.25.14.16.21.37.19.58l-.37 3.63a.75.75 0 01-.75.67h-2.74v8.9a.77.77 0 01-.76.74zm-3.79-1.5h3.04v-8.9c0-.41.34-.75.75-.75h2.82l.22-2.13H21.7c-.41 0-.75-.34-.75-.75v-2.52c-.04-.37.09-.8.37-1.14s.68-.56 1.12-.6c.02 0 .14-.01.17-.01h1.97v-2.13H21.4c-3.04 0-3.49 2.29-3.49 3.66v2.74c0 .41-.34.75-.75.75h-1.97v2.13h1.97c.41 0 .75.34.75.75v8.9z"/></svg>
diff --git a/web/app/themes/Usines/resources/assets/images/icons/instagram.svg b/web/app/themes/Usines/resources/assets/images/icons/instagram.svg
new file mode 100644 (file)
index 0000000..2876e1c
--- /dev/null
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><path fill="#eb958a" d="M39 19.21c0 4.02-.49 7.74-2.65 10.78-3.37 4.74-9.7 8.61-15.95 8.61-2.4 0-4.69-.45-6.79-1.28C6.68 34.62 1 27.09 1 19.21c0-3.46 1.73-6.7 3.38-9.48 3.24-5.46 9.2-8.34 16.01-8.34 5.54 0 10.51.85 13.91 4.68 2.93 3.29 4.7 8.4 4.7 13.14z"/><path fill="#fff" d="M24.08 29.49h-8.16a5.42 5.42 0 01-5.41-5.41v-8.16a5.42 5.42 0 015.41-5.41h8.16a5.42 5.42 0 015.41 5.41v8.16a5.42 5.42 0 01-5.41 5.41zm-8.16-17.48a3.91 3.91 0 00-3.91 3.91v8.16a3.91 3.91 0 003.91 3.91h8.16a3.91 3.91 0 003.91-3.91v-8.16a3.91 3.91 0 00-3.91-3.91h-8.16zM20 25.36c-2.96 0-5.36-2.41-5.36-5.36s2.41-5.36 5.36-5.36 5.36 2.41 5.36 5.36-2.4 5.36-5.36 5.36zm0-9.22c-2.13 0-3.86 1.73-3.86 3.86s1.73 3.86 3.86 3.86 3.86-1.73 3.86-3.86-1.73-3.86-3.86-3.86z"/></svg>
diff --git a/web/app/themes/Usines/resources/assets/images/icons/linkedin.svg b/web/app/themes/Usines/resources/assets/images/icons/linkedin.svg
new file mode 100644 (file)
index 0000000..faaf8d3
--- /dev/null
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><path fill="#6faaa4" d="M39 19.21c0 4.02-.49 7.74-2.65 10.78-3.37 4.74-9.7 8.61-15.95 8.61-2.4 0-4.69-.45-6.79-1.28C6.68 34.62 1 27.09 1 19.21c0-3.46 1.73-6.7 3.38-9.48 3.24-5.46 9.2-8.34 16.01-8.34 5.54 0 10.51.85 13.91 4.68 2.93 3.29 4.7 8.4 4.7 13.14z"/><path fill="#fff" d="M16.61 28.75h-3.73c-.33 0-.59-.26-.59-.59v-10.7c0-.33.26-.59.59-.59h3.73c.33 0 .59.26.59.59v10.7c0 .33-.26.59-.59.59zm-3.14-1.18h2.55v-9.52h-2.55v9.52zM30.13 28.75h-4.12c-.33 0-.59-.26-.59-.59v-5.57a1.06 1.06 0 00-.98-1.06h-.08c-.58 0-1.05.47-1.05 1.05v5.57c0 .33-.26.59-.59.59h-3.93c-.33 0-.59-.26-.59-.59v-10.7c0-.33.26-.59.59-.59h3.93c.33 0 .59.26.59.59v.11c.82-.45 1.75-.69 2.69-.7 2.92 0 4.72 2.23 4.72 5.82v5.48c0 .33-.26.59-.59.59zm-3.54-1.18h2.95v-4.89c0-2.95-1.29-4.64-3.54-4.64a4.6 4.6 0 00-2.91 1.09.6.6 0 01-.63.09.592.592 0 01-.34-.53v-.63h-2.75v9.52h2.75V22.6c0-1.19.94-2.17 2.12-2.23.04-.01.07-.01.11-.01a2.232 2.232 0 012.24 2.24v4.97zm-2.23-6.63zM14.76 16.27c-1.38 0-2.51-1.13-2.51-2.51s1.13-2.51 2.51-2.51c1.33.01 2.41 1.06 2.49 2.36.01.05.02.1.02.15 0 1.38-1.13 2.51-2.51 2.51zm-.01-3.84c-.73 0-1.33.6-1.33 1.33 0 .73.6 1.33 1.33 1.33.7 0 1.27-.54 1.33-1.22-.01-.04-.01-.07-.01-.11a1.32 1.32 0 00-1.32-1.33z"/></svg>
diff --git a/web/app/themes/Usines/resources/assets/images/icons/phone-circle.svg b/web/app/themes/Usines/resources/assets/images/icons/phone-circle.svg
new file mode 100644 (file)
index 0000000..6ec4ff4
--- /dev/null
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54 54"><path fill="#6696a6" d="M54 25.88c0 5.71-.69 11-3.77 15.32-4.79 6.73-13.78 12.24-22.67 12.24-3.4 0-6.66-.64-9.65-1.82C8.08 47.77 0 37.08 0 25.88c0-4.92 2.46-9.53 4.8-13.47C9.41 4.65 17.88.56 27.56.56c7.87 0 14.93 1.2 19.77 6.65C51.48 11.88 54 19.15 54 25.88z"/><path fill="#fff" d="M19.6 43.05c-1.23 0-2.39-.47-3.27-1.34a4.573 4.573 0 01-1.34-3.27V17.38c0-2.51 2.04-4.61 4.61-4.61h5.42c.47 0 .88.41.88.88 0 .47-.41.88-.88.88H19.6c-1.58 0-2.8 1.28-2.8 2.8v21.06c0 .76.29 1.46.82 1.98.52.53 1.23.82 1.98.82h8.87c1.58 0 2.8-1.28 2.8-2.8v-6.48c0-.47.41-.88.88-.88.47 0 .88.41.88.88v6.53c0 2.51-2.04 4.61-4.61 4.61H19.6z"/><path fill="#fff" d="M32.14 36.92H15.87c-.47 0-.88-.41-.88-.88s.41-.88.88-.88h16.28c.47 0 .88.41.88.88s-.42.88-.89.88zM26.07 31.03c-.23 0-.41-.06-.58-.23-.29-.23-.41-.58-.29-.93l1.93-5.83c-.58-1.28-.93-2.62-.93-4.08 0-2.39.93-4.67 2.62-6.36a8.965 8.965 0 016.36-2.62c1.23 0 2.39.23 3.5.7 2.22.93 3.97 2.68 4.84 4.9.93 2.22.88 4.67-.06 6.88-.87 2.22-2.62 3.97-4.84 4.9-2.1.82-4.43.88-6.53.06l-5.66 2.57c-.12.04-.24.04-.36.04zm9.16-18.31c-1.92 0-3.73.76-5.13 2.1-1.4 1.4-2.16 3.21-2.16 5.13 0 1.23.35 2.45.93 3.56.12.23.18.47.06.7l-1.4 4.32 4.14-1.87c.23-.12.47-.12.7 0 3.73 1.52 7.99-.17 9.51-3.91 1.57-3.68-.18-7.93-3.91-9.51-.87-.35-1.8-.52-2.74-.52z"/><path fill="#fff" d="M35.23 24.91a4.96 4.96 0 01-4.96-4.96c0-.47.41-.88.88-.88h8.17c.47 0 .88.41.88.88a4.968 4.968 0 01-4.97 4.96zm-3.09-4.03c.41 1.28 1.63 2.28 3.09 2.28s2.68-.99 3.03-2.28h-6.12zM25.32 40.02h-2.68c-.47 0-.88-.41-.88-.88 0-.47.41-.88.88-.88h2.68c.47 0 .88.41.88.88-.01.47-.36.88-.88.88z"/></svg>
diff --git a/web/app/themes/Usines/resources/assets/images/icons/phone.svg b/web/app/themes/Usines/resources/assets/images/icons/phone.svg
new file mode 100644 (file)
index 0000000..f93fa84
--- /dev/null
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 40"><path fill="#fff" d="M21.17 25.22c-.49 0-.89.4-.89.89v4.29H1.79V8.04c0-2.05 1.67-3.73 3.73-3.73h6.78c.49 0 .89-.4.89-.89s-.4-.89-.89-.89H5.52a5.51 5.51 0 00-5.5 5.5V31.2c0 .03-.02.05-.02.08s.01.05.02.08v2.91c0 3.03 2.47 5.5 5.5 5.5h11.03c3.03 0 5.5-2.47 5.5-5.5v-8.16a.877.877 0 00-.88-.89zM16.55 38H5.52c-2.05 0-3.72-1.67-3.72-3.72v-2.1h18.49v2.1A3.75 3.75 0 0116.55 38z"/><path fill="#fff" d="M13.59 24.8a.895.895 0 01-.85-1.17l2.45-7.34c-.8-1.56-1.22-3.29-1.22-5.04 0-2.94 1.15-5.71 3.23-7.79S22.05.23 24.99.23c1.47 0 2.9.29 4.26.86 5.6 2.35 8.25 8.82 5.9 14.43a11.003 11.003 0 01-5.99 5.94c-2.6 1.07-5.46 1.1-8.07.11l-7.13 3.17c-.13.04-.25.06-.37.06zM24.99 2c-2.47 0-4.79.96-6.53 2.71a9.183 9.183 0 00-2.71 6.54c0 1.58.41 3.15 1.18 4.53.12.22.15.48.07.72l-1.93 5.79 5.63-2.5c.22-.1.48-.1.7-.01 2.28.95 4.79.97 7.07.03 2.29-.93 4.07-2.7 5.02-4.98 1.97-4.7-.25-10.13-4.95-12.1A9.165 9.165 0 0024.99 2z"/><path fill="#fff" d="M24.99 17.2c-3.28 0-5.95-2.67-5.95-5.95 0-.49.4-.89.89-.89h10.13c.49 0 .89.4.89.89-.01 3.28-2.68 5.95-5.96 5.95zm-4.09-5.06c.41 1.88 2.08 3.29 4.08 3.29s3.67-1.41 4.08-3.29H20.9zM12.69 36H9.35c-.49 0-.89-.4-.89-.89s.4-.89.89-.89h3.33c.49 0 .89.4.89.89s-.39.89-.88.89z"/></svg>
index 5c2c2290b9974b9726ae85d25cdc11efe4f4fdc7..bad5d9bb0166c254691b6c86cb93c65a543d5ead 100644 (file)
@@ -1,50 +1 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 24.1.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-        viewBox="0 0 342.79 310.12" style="enable-background:new 0 0 342.79 310.12;" xml:space="preserve">
-<style type="text/css">
-       .st0{fill:#68563E;}
-</style>
-<path class="st0" d="M105.11,167.7l-3.99-5.31l-17.91,12.93l3.99,5.31L105.11,167.7z M117.12,155.71c13.26,0,22.89-6.87,22.89-16.34
-       c0-7.35-6.53-12.48-18.37-14.44c-4.81-0.83-12.89-2.97-12.89-8.01c0-5.8,6.75-9.86,16.41-9.86c2.28,0,6.18,0.76,8.51,1.65l1.65,0.64
-       l2.55-5.96l-1.72-0.71c-2.85-1.18-7.68-2.1-10.99-2.1c-13.26,0-22.89,6.87-22.89,16.33c0,7.35,6.52,12.48,18.37,14.44
-       c4.81,0.82,12.89,2.96,12.89,8.01c0,5.81-6.75,9.86-16.41,9.86c-2.28,0-6.18-0.76-8.51-1.66l-1.65-0.63l-2.55,5.95l1.72,0.71
-       C108.98,154.79,113.81,155.71,117.12,155.71 M147.47,83.63h22.65v-4.25h-18.4V42.92h-4.26V83.63z M154.05,115.11h-6.48v39.94h6.48
-       V115.11z M147.57,109.57h6.48v-8.32h-6.48V109.57z M175.07,68.65l-0.1-1.02h23.57v-1.31c0-8.99-5.43-15.02-13.51-15.02
-       c-5.73,0-14.26,4.35-14.26,16.33c0,8.06,6.77,16.22,19.71,16.22c1.16,0,2.45-0.12,3.61-0.22l1.19-0.11v-4.27l-1.43,0.14
-       c-1.09,0.1-2.2,0.16-3.2,0.16C180.65,79.54,175.63,74.07,175.07,68.65 M175.48,63.38l0.49-1.26c1.91-4.85,6.07-6.57,9.06-6.57
-       c4.94,0,7.75,3.43,8.74,6.63l0.37,1.2H175.48z M205.61,61.21c0-3.18,3.91-5.49,9.3-5.49c1.3,0,3.53,0.43,4.86,0.95l1.18,0.45
-       l1.68-3.9l-1.23-0.51c-1.68-0.7-4.53-1.24-6.49-1.24c-7.86,0-13.56,4.1-13.56,9.75c0,2.55,1.41,7.07,10.89,8.64
-       c2.19,0.37,7.29,1.56,7.29,4.42c0,3.18-3.91,5.49-9.3,5.49c-1.31,0-3.53-0.43-4.86-0.95l-1.18-0.46l-1.68,3.91l1.23,0.5
-       c1.68,0.7,4.53,1.24,6.49,1.24c7.86,0,13.56-4.1,13.56-9.74c0-2.56-1.42-7.07-10.89-8.64C210.71,65.25,205.61,64.07,205.61,61.21
-        M271.58,116.92c0-5.8,6.75-9.86,16.42-9.86c2.28,0,6.18,0.76,8.51,1.65l1.65,0.64l2.55-5.96l-1.72-0.71c-2.86-1.18-7.68-2.1-11-2.1
-       c-13.26,0-22.89,6.87-22.89,16.33c0,7.35,6.53,12.48,18.37,14.44c4.81,0.82,12.89,2.96,12.89,8.01c0,5.81-6.75,9.86-16.42,9.86
-       c-2.28,0-6.18-0.76-8.51-1.66l-1.65-0.63l-2.55,5.95l1.72,0.71c2.85,1.18,7.68,2.1,11,2.1c13.26,0,22.89-6.87,22.89-16.34
-       c0-7.35-6.53-12.48-18.37-14.44C279.66,124.11,271.58,121.97,271.58,116.92 M254.18,211.5c0-0.18,0-0.36,0-0.54h42.72v-1.84
-       c0-16-9.64-26.75-23.99-26.75c-10.2,0-25.37,7.76-25.37,29.12c0,14.37,12.11,28.92,35.26,28.92c2.04,0,4.3-0.2,6.49-0.4l1.67-0.15
-       v-6.67l-2.01,0.2c-1.97,0.19-3.99,0.29-5.86,0.29C263.23,233.69,254.18,222.19,254.18,211.5 M254.99,204.33
-       c2.59-10.51,10.96-15.31,17.93-15.31c10.68,0,16.17,8.55,17.03,15.31H254.99z M245.98,155.43c1.93,0,4.07-0.19,6.15-0.38l1.67-0.15
-       v-6.5l-2.01,0.19c-1.88,0.18-3.79,0.27-5.54,0.27c-18.73,0-27.27-10.83-27.27-20.9v-0.41h40.43v-1.83c0-15.2-9.16-25.41-22.8-25.41
-       c-9.69,0-24.11,7.37-24.11,27.66C212.51,141.61,224.01,155.43,245.98,155.43 M219.78,121.08c2.48-9.81,10.31-14.29,16.84-14.29
-       c9.98,0,15.15,7.95,16,14.29H219.78z M239.35,197.24h-6.64v42.79h6.64V197.24z M232.71,191.69h6.64v-8.32h-6.64V191.69z
-        M185.15,240.03v-45.98c3.79-3.12,9.42-5.03,14.88-5.03c8.17,0,16.86,5.39,16.86,15.37v35.65h6.63v-35.65c0-4.09-0.72-6.02-1.3-7.56
-       c-3.3-8.91-11.81-14.44-22.19-14.44c-5.17,0-10.46,1.37-14.88,3.82v-2.83h-6.64v56.66H185.15z M169.63,219.12V111.5
-       c3.56-2.92,8.84-4.71,13.93-4.71c7.68,0,15.85,5.06,15.85,14.44v33.83h6.48v-33.83c0-3.89-0.69-5.72-1.24-7.18
-       c-3.14-8.47-11.22-13.73-21.09-13.73c-4.83,0-9.78,1.27-13.93,3.54v-2.61h-6.53v82.13h-0.02v35.74c0,8.7-6.82,15.27-15.87,15.27
-       c-9.05,0-15.87-6.57-15.87-15.27v-35.74h-6.64v35.74c0,12.49,9.67,21.9,22.5,21.9C159.99,241.02,169.63,231.6,169.63,219.12
-        M74.78,211.5c0-0.18,0-0.36,0-0.54h42.72v-1.84c0-16-9.64-26.75-23.99-26.75c-10.2,0-25.38,7.76-25.38,29.12
-       c0,14.37,12.12,28.92,35.26,28.92c2.03,0,4.25-0.2,6.4-0.39l1.77-0.16v-6.67l-2.01,0.2c-1.96,0.19-3.99,0.29-5.86,0.29
-       C83.83,233.69,74.78,222.19,74.78,211.5 M75.59,204.33c2.6-10.51,10.96-15.31,17.93-15.31c10.68,0,16.17,8.55,17.03,15.31H75.59z
-        M309.76,199.84c0-6.2,7.18-10.53,17.45-10.53c1.9,0,4.95,0.5,7.43,1.23l1.29,0.38l1.69-6.49l-1.23-0.35
-       c-1.54-0.44-3.26-0.8-4.96-1.05c1.68-9.21,2.54-18.61,2.54-27.97C333.97,69.56,264.39,0,178.86,0c-33.49,0-65.41,10.55-92.29,30.52
-       l-0.53,0.39v95.7c0,12.42-9.94,21.79-23.13,21.79c-13.19,0-23.13-9.37-23.13-21.79V93.06h-6.63v33.55c0,16.2,12.8,28.42,29.77,28.42
-       c16.97,0,29.76-12.21,29.76-28.42v-92.7c25.31-18.05,55.1-27.59,86.2-27.59c82.04,0,148.78,66.72,148.78,148.74
-       c0,9.25-0.87,18.56-2.6,27.68c-12.96,0.7-21.92,7.64-21.92,17.1c0,7.71,6.86,13.09,19.32,15.15c5.12,0.88,13.7,3.16,13.7,8.58
-       c0,6.19-7.17,10.52-17.45,10.52c-1.94,0-5.04-0.52-7.54-1.26l-4.47-1.74l-0.57,0.93c-27.3,44.95-74.87,71.78-127.26,71.78
-       c-60.42,0-114.24-35.99-137.44-91.8c10.53-5.88,16.77-15.43,16.77-25.76c0-15.68-14.58-32.56-46.59-32.56
-       c-3.21,0-7.09,0.15-10.39,0.4L0,154.18v96h6.63v-31.7c1.71,0.1,3.35,0.19,4.97,0.19c6.76,0,12.81-0.69,18-2.06l4.2-1.22
-       c0.63-0.21,1.25-0.44,1.9-0.7c11.57,27.69,30.81,51.29,55.68,68.34c25.85,17.72,56.1,27.09,87.48,27.09
-       c52.81,0,101.42-26.49,130.23-70.93c3,0.92,6.81,1.53,9.62,1.53c13.96,0,24.09-7.22,24.09-17.16c0-7.72-6.86-13.1-19.33-15.16
-       C318.35,207.53,309.76,205.25,309.76,199.84 M11.6,212.03c-1.48,0-3.22-0.09-4.97-0.19v-51.47c1.77-0.07,3.45-0.07,4.97-0.07
-       c27.46,0,39.96,13.44,39.96,25.93C51.56,198.66,39.05,212.03,11.6,212.03"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 342.79 310.12"><path fill="#68563E" d="M105.11 167.7l-3.99-5.31-17.91 12.93 3.99 5.31 17.91-12.93zm12.01-11.99c13.26 0 22.89-6.87 22.89-16.34 0-7.35-6.53-12.48-18.37-14.44-4.81-.83-12.89-2.97-12.89-8.01 0-5.8 6.75-9.86 16.41-9.86 2.28 0 6.18.76 8.51 1.65l1.65.64 2.55-5.96-1.72-.71c-2.85-1.18-7.68-2.1-10.99-2.1-13.26 0-22.89 6.87-22.89 16.33 0 7.35 6.52 12.48 18.37 14.44 4.81.82 12.89 2.96 12.89 8.01 0 5.81-6.75 9.86-16.41 9.86-2.28 0-6.18-.76-8.51-1.66l-1.65-.63-2.55 5.95 1.72.71c2.85 1.2 7.68 2.12 10.99 2.12m30.35-72.08h22.65v-4.25h-18.4V42.92h-4.26v40.71zm6.58 31.48h-6.48v39.94h6.48v-39.94zm-6.48-5.54h6.48v-8.32h-6.48v8.32zm27.5-40.92l-.1-1.02h23.57v-1.31c0-8.99-5.43-15.02-13.51-15.02-5.73 0-14.26 4.35-14.26 16.33 0 8.06 6.77 16.22 19.71 16.22 1.16 0 2.45-.12 3.61-.22l1.19-.11v-4.27l-1.43.14c-1.09.1-2.2.16-3.2.16-10-.01-15.02-5.48-15.58-10.9m.41-5.27l.49-1.26c1.91-4.85 6.07-6.57 9.06-6.57 4.94 0 7.75 3.43 8.74 6.63l.37 1.2h-18.66zm30.13-2.17c0-3.18 3.91-5.49 9.3-5.49 1.3 0 3.53.43 4.86.95l1.18.45 1.68-3.9-1.23-.51c-1.68-.7-4.53-1.24-6.49-1.24-7.86 0-13.56 4.1-13.56 9.75 0 2.55 1.41 7.07 10.89 8.64 2.19.37 7.29 1.56 7.29 4.42 0 3.18-3.91 5.49-9.3 5.49-1.31 0-3.53-.43-4.86-.95l-1.18-.46-1.68 3.91 1.23.5c1.68.7 4.53 1.24 6.49 1.24 7.86 0 13.56-4.1 13.56-9.74 0-2.56-1.42-7.07-10.89-8.64-2.19-.38-7.29-1.56-7.29-4.42m65.97 55.71c0-5.8 6.75-9.86 16.42-9.86 2.28 0 6.18.76 8.51 1.65l1.65.64 2.55-5.96-1.72-.71c-2.86-1.18-7.68-2.1-11-2.1-13.26 0-22.89 6.87-22.89 16.33 0 7.35 6.53 12.48 18.37 14.44 4.81.82 12.89 2.96 12.89 8.01 0 5.81-6.75 9.86-16.42 9.86-2.28 0-6.18-.76-8.51-1.66l-1.65-.63-2.55 5.95 1.72.71c2.85 1.18 7.68 2.1 11 2.1 13.26 0 22.89-6.87 22.89-16.34 0-7.35-6.53-12.48-18.37-14.44-4.81-.8-12.89-2.94-12.89-7.99m-17.4 94.58v-.54h42.72v-1.84c0-16-9.64-26.75-23.99-26.75-10.2 0-25.37 7.76-25.37 29.12 0 14.37 12.11 28.92 35.26 28.92 2.04 0 4.3-.2 6.49-.4l1.67-.15v-6.67l-2.01.2c-1.97.19-3.99.29-5.86.29-19.86.01-28.91-11.49-28.91-22.18m.81-7.17c2.59-10.51 10.96-15.31 17.93-15.31 10.68 0 16.17 8.55 17.03 15.31h-34.96zm-9.01-48.9c1.93 0 4.07-.19 6.15-.38l1.67-.15v-6.5l-2.01.19c-1.88.18-3.79.27-5.54.27-18.73 0-27.27-10.83-27.27-20.9v-.41h40.43v-1.83c0-15.2-9.16-25.41-22.8-25.41-9.69 0-24.11 7.37-24.11 27.66.01 13.64 11.51 27.46 33.48 27.46m-26.2-34.35c2.48-9.81 10.31-14.29 16.84-14.29 9.98 0 15.15 7.95 16 14.29h-32.84zm19.57 76.16h-6.64v42.79h6.64v-42.79zm-6.64-5.55h6.64v-8.32h-6.64v8.32zm-47.56 48.34v-45.98c3.79-3.12 9.42-5.03 14.88-5.03 8.17 0 16.86 5.39 16.86 15.37v35.65h6.63v-35.65c0-4.09-.72-6.02-1.3-7.56-3.3-8.91-11.81-14.44-22.19-14.44-5.17 0-10.46 1.37-14.88 3.82v-2.83h-6.64v56.66h6.64zm-15.52-20.91V111.5c3.56-2.92 8.84-4.71 13.93-4.71 7.68 0 15.85 5.06 15.85 14.44v33.83h6.48v-33.83c0-3.89-.69-5.72-1.24-7.18-3.14-8.47-11.22-13.73-21.09-13.73-4.83 0-9.78 1.27-13.93 3.54v-2.61h-6.53v82.13h-.02v35.74c0 8.7-6.82 15.27-15.87 15.27-9.05 0-15.87-6.57-15.87-15.27v-35.74h-6.64v35.74c0 12.49 9.67 21.9 22.5 21.9 12.79 0 22.43-9.42 22.43-21.9m-94.85-7.62v-.54h42.72v-1.84c0-16-9.64-26.75-23.99-26.75-10.2 0-25.38 7.76-25.38 29.12 0 14.37 12.12 28.92 35.26 28.92 2.03 0 4.25-.2 6.4-.39l1.77-.16v-6.67l-2.01.2c-1.96.19-3.99.29-5.86.29-19.86.01-28.91-11.49-28.91-22.18m.81-7.17c2.6-10.51 10.96-15.31 17.93-15.31 10.68 0 16.17 8.55 17.03 15.31H75.59zm234.17-4.49c0-6.2 7.18-10.53 17.45-10.53 1.9 0 4.95.5 7.43 1.23l1.29.38 1.69-6.49-1.23-.35c-1.54-.44-3.26-.8-4.96-1.05 1.68-9.21 2.54-18.61 2.54-27.97C333.97 69.56 264.39 0 178.86 0c-33.49 0-65.41 10.55-92.29 30.52l-.53.39v95.7c0 12.42-9.94 21.79-23.13 21.79s-23.13-9.37-23.13-21.79V93.06h-6.63v33.55c0 16.2 12.8 28.42 29.77 28.42s29.76-12.21 29.76-28.42v-92.7c25.31-18.05 55.1-27.59 86.2-27.59 82.04 0 148.78 66.72 148.78 148.74 0 9.25-.87 18.56-2.6 27.68-12.96.7-21.92 7.64-21.92 17.1 0 7.71 6.86 13.09 19.32 15.15 5.12.88 13.7 3.16 13.7 8.58 0 6.19-7.17 10.52-17.45 10.52-1.94 0-5.04-.52-7.54-1.26l-4.47-1.74-.57.93c-27.3 44.95-74.87 71.78-127.26 71.78-60.42 0-114.24-35.99-137.44-91.8 10.53-5.88 16.77-15.43 16.77-25.76 0-15.68-14.58-32.56-46.59-32.56-3.21 0-7.09.15-10.39.4l-1.22.1v96h6.63v-31.7c1.71.1 3.35.19 4.97.19 6.76 0 12.81-.69 18-2.06l4.2-1.22c.63-.21 1.25-.44 1.9-.7 11.57 27.69 30.81 51.29 55.68 68.34 25.85 17.72 56.1 27.09 87.48 27.09 52.81 0 101.42-26.49 130.23-70.93 3 .92 6.81 1.53 9.62 1.53 13.96 0 24.09-7.22 24.09-17.16 0-7.72-6.86-13.1-19.33-15.16-5.12-.87-13.71-3.15-13.71-8.56M11.6 212.03c-1.48 0-3.22-.09-4.97-.19v-51.47c1.77-.07 3.45-.07 4.97-.07 27.46 0 39.96 13.44 39.96 25.93 0 12.43-12.51 25.8-39.96 25.8"/></svg>
index 2094ce833bb262092c954123faf5508169a0e518..083b7b7eaae136c807846c097659376234716bb7 100644 (file)
@@ -9,7 +9,7 @@
 
 // Extracted components or custom styles that can't be done with utilities
 @import 'common/global'
-//@import 'components/*'
+@import 'components/*'
 //@import 'pages/*'
 
 // Allow spacing classes to override others defined here
index 505286d96a3f5816d6b6779a4102696a6afdcc1a..7699ebf101f69c8fee68868ba2efabf10e5c493a 100644 (file)
@@ -14,7 +14,7 @@ $vertical-gutter   = 5vw
 
 // Breakpoints in Rupture (https://github.com/jescalan/rupture)
 $breakpoint-columns  = 768px // NOTE: this should align with the 'sm' screen value in tailwind.config.js
-$breakpoint-menu     = 1024px // This needs to match the MMenu activation setting in menu.js
+$breakpoint-menu     = 1180px // This needs to match the MMenu activation setting in menu.js
 rupture.scale        = 0 400px  768px   1024px
 rupture.scale-names  = 'small' 'medium' 'large'
 rupture.anti-overlap = -1px // Results in +below(1000px) being max-width: 999px and +above(1000px) being min-width: 1000px
diff --git a/web/app/themes/Usines/resources/assets/styles/components/footer.styl b/web/app/themes/Usines/resources/assets/styles/components/footer.styl
new file mode 100644 (file)
index 0000000..9a2e532
--- /dev/null
@@ -0,0 +1,5 @@
+.footer-logo
+  max-width: 156px
+
+  path
+    fill: currentColor
diff --git a/web/app/themes/Usines/resources/assets/styles/components/navigation.styl b/web/app/themes/Usines/resources/assets/styles/components/navigation.styl
new file mode 100644 (file)
index 0000000..bd3239f
--- /dev/null
@@ -0,0 +1,46 @@
+.nav-logo
+  @apply mx-20
+  max-width: 156px
+
+  +below(1600px)
+    @apply mx-16
+  +below(1500px)
+    @apply mx-12
+    max-width: 140px
+  +below(1380px)
+    @apply mx-10
+    max-width: 120px
+
+.nav-primary
+
+  +below($breakpoint-menu)
+    display: none !important
+
+  .menu-list
+    @apply flex
+
+  .menu-item
+    @apply text-lg font-medium
+    @apply mx-8
+
+    +below(1600px)
+      @apply mx-6
+    +below(1500px)
+      @apply mx-4
+    +below(1380px)
+      @apply text-base
+
+    &.current-menu-item, &.current-menu-parent
+      @apply text-red
+
+    &:first-child
+      @apply ml-0
+    &:last-child
+      @apply mr-0
+
+    a
+      @apply whitespace-no-wrap
+      transition: color 0.2s
+
+      &:hover
+        @apply text-red
index ee9095c583b4fb5fc58f95c655e2bd7411080fd8..c63f4cda27283c9be94383621798b628591e9152 100644 (file)
@@ -1,5 +1,29 @@
-<footer>
-  <div class="container">
-    @php(dynamic_sidebar('sidebar-footer'))
+<footer class="bg-blue-dark text-white py-8 px-1v">
+
+  {{-- Footer Columns --}}
+  <div class="px-2v flex text-center">
+    <div class="footer-col flex-1 px-5">
+      @svg('images/logo', 'footer-logo mx-auto mb-10')
+      @php(dynamic_sidebar('sidebar-footer-1'))
+    </div>
+    <div class="footer-col flex-1 px-5">
+      @php(dynamic_sidebar('sidebar-footer-2'))
+    </div>
+    <div class="footer-col flex-1 px-5">
+      @php(dynamic_sidebar('sidebar-footer-3'))
+    </div>
+    <div class="footer-col flex-1 px-5">
+      <h3>Suivez-Nous</h3>
+      <div class="flex justify-center">
+        @include('partials.social-networks')
+      </div>
+
+      @php(dynamic_sidebar('sidebar-footer-4'))
+    </div>
+  </div>
+
+  {{-- Copyright --}}
+  <div class="text-center text-sm mt-12">
+    @php(dynamic_sidebar('sidebar-footer-copyright'))
   </div>
 </footer>
index 947080e888df42f85750b163568f18542a118509..edf70d75e3ac1d69438279d627d63b6c25636065 100644 (file)
@@ -1,13 +1,44 @@
-<header class="banner">
-  <div class="container">
-    <a class="brand" href="{{ home_url('/') }}">
-      {{ $siteName }}
-    </a>
-
-    <nav class="nav-primary">
-      @if (has_nav_menu('primary_navigation'))
-        {!! wp_nav_menu(['theme_location' => 'primary_navigation', 'menu_class' => 'nav', 'echo' => false]) !!}
-      @endif
-    </nav>
+<header class="flex items-end justify-center mx-1v pt-6">
+
+  {{-- Primary nav (left) --}}
+  <div class="flex-1 flex justify-end leading-10 mb-4">
+    @if (has_nav_menu('primary_navigation_left'))
+      <nav class="nav-primary">
+        {!! wp_nav_menu([
+            'theme_location' => 'primary_navigation_left',
+            'container' => '',
+            'menu_class' => 'nav-primary-left menu-list',
+            'echo' => false,
+          ])
+        !!}
+      </nav>
+    @endif
+  </div>
+
+  {{-- Main logo (pinned to centre via flexbox) --}}
+  <a class="nav-logo"
+     href="{{ home_url('/') }}"
+     aria-label="<?= _("Go to the home page") ?>">
+    <img class="header-logo w-full" src="@asset('images/logo.svg')" alt="{{ get_bloginfo('name', 'display') }}">
+  </a>
+
+  {{-- Primary nav (right) + social network icons --}}
+  <div class="flex flex-1 items-center justify-between mb-4">
+    @if (has_nav_menu('primary_navigation_right'))
+      <nav class="nav-primary flex-1 leading-10">
+        {!! wp_nav_menu([
+            'theme_location' => 'primary_navigation_right',
+            'container' => '',
+            'menu_class' => 'nav-primary-right menu-list',
+            'echo' => false,
+          ])
+        !!}
+      </nav>
+    @endif
+
+    <div class="flex justify-end w-full ml-6">
+      @include('partials.social-networks')
+    </div>
   </div>
+
 </header>
index 1b700b06d3ef680a52a5e6c699c16386728f860b..7541692cbcb17cd910322a6b71c046f4e70707bc 100644 (file)
@@ -1,3 +1,5 @@
+{{--
 <div class="page-header">
   <h1>{!! $title !!}</h1>
 </div>
+--}}
diff --git a/web/app/themes/Usines/resources/views/partials/social-networks.blade.php b/web/app/themes/Usines/resources/views/partials/social-networks.blade.php
new file mode 100644 (file)
index 0000000..f0ac71c
--- /dev/null
@@ -0,0 +1,5 @@
+<div class="social-networks flex spaced-horizontal">
+  <a href="https://www.facebook.com/LesUsinesReunies/"><img src="@asset('images/icons/facebook.svg')" alt="Facebook" class="w-10 h-10"></a>
+  <a href="https://www.instagram.com/lesusinesreunies/"><img src="@asset('images/icons/instagram.svg')" alt="Instagram" class="w-10 h-10"></a>
+  <a href="https://fr.linkedin.com/company/les-usines-r%C3%A9unies"><img src="@asset('images/icons/linkedin.svg')" alt="LinkedIn" class="w-10 h-10"></a>
+</div>
index af06c93a21677de44698edde5f96dcbaae3c79de..3feb3496f37a50bc2f16a0f43d6df958ff660e18 100644 (file)
@@ -42,7 +42,7 @@ mix
 
 // Static files
 mix
-  .copyWatched('resources/assets/images/**', 'dist/images')
+  .copyWatched('resources/assets/images/**', 'dist/images', { base: 'resources/assets/images' })
   .copyWatched('resources/assets/fonts/**', 'dist/fonts');
 
 // Setup