From 71099c6e1adb42f0910e02ed0444a3cc584646c7 Mon Sep 17 00:00:00 2001 From: Stephen Cameron Date: Tue, 9 Jul 2019 20:41:28 +0200 Subject: [PATCH] WIP #2738 @9 --- app/Http/Controllers/PageController.php | 1 + app/Models/Page.php | 11 +++ app/Models/Settings.php | 9 ++ app/Providers/AppServiceProvider.php | 11 +-- app/SubForms/SocialNetworks.php | 25 ++++++ resources/js/components/Tabs.vue | 2 +- resources/js/product-details.js | 28 ------- resources/styles/common/columns.styl | 7 +- resources/styles/common/spacing.styl | 83 ++++++++++--------- .../styles/components/contact-details.styl | 28 +++++++ .../styles/components/contact-shortcut.styl | 5 +- resources/styles/components/footer.styl | 21 ----- .../views/components/flexible-image.blade.php | 8 +- .../views/components/intro-block.blade.php | 26 ++++++ resources/views/layouts/app.blade.php | 2 +- resources/views/pages/contact.blade.php | 46 ++++++++++ resources/views/pages/home.blade.php | 50 +++-------- .../views/pages/product-detail.blade.php | 37 +++++---- resources/views/pages/solution.blade.php | 24 +----- .../views/partials/contact-details.blade.php | 23 +++++ .../views/partials/contact-shortcut.blade.php | 13 +-- resources/views/partials/footer.blade.php | 30 +------ webpack.mix.js | 1 - 23 files changed, 277 insertions(+), 214 deletions(-) create mode 100644 app/SubForms/SocialNetworks.php delete mode 100644 resources/js/product-details.js create mode 100644 resources/styles/components/contact-details.styl create mode 100644 resources/views/components/intro-block.blade.php create mode 100644 resources/views/pages/contact.blade.php create mode 100644 resources/views/partials/contact-details.blade.php diff --git a/app/Http/Controllers/PageController.php b/app/Http/Controllers/PageController.php index a7edcbc..ee7595c 100644 --- a/app/Http/Controllers/PageController.php +++ b/app/Http/Controllers/PageController.php @@ -17,6 +17,7 @@ class PageController extends CubistFrontController $this->data['title'] = $page->title; $this->data['page'] = $page->withFakes()->getDecodedAttributes(); + $this->data['model'] = $page; // So we can access model functions like ->getMedia() return view('pages.' . $page->template, $this->data); } diff --git a/app/Models/Page.php b/app/Models/Page.php index 8b7effd..28ef895 100644 --- a/app/Models/Page.php +++ b/app/Models/Page.php @@ -6,4 +6,15 @@ use Cubist\Backpack\app\Magic\Models\CMSPage; class Page extends CMSPage { + function getImages($collectionName) { + return $this->getMedia($collectionName); + } + + function getImage($collectionName) { + return $this->getImages($collectionName)->first(); + } + + function getImageURL($collectionName) { + return $this->getImage($collectionName)->getUrl(); + } } diff --git a/app/Models/Settings.php b/app/Models/Settings.php index 0aa0d22..fa5c6f4 100644 --- a/app/Models/Settings.php +++ b/app/Models/Settings.php @@ -26,5 +26,14 @@ class Settings extends \Cubist\Backpack\app\Magic\Models\Settings 'label' => __('Adresse'), 'translatable' => false, 'tab' => 'Informations de contact']); + + //=== Social Networks + $this->addField([ + 'name' => 'social', + 'type' => 'BunchOfFields', + 'bunch' => 'App\SubForms\SocialNetworks', + 'label' => __('Réseaux Sociaux'), + 'tab' => __('Réseaux Sociaux'), + ]); } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 3f119a5..4e44bc4 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -27,16 +27,17 @@ class AppServiceProvider extends ServiceProvider try { // BladeX Component Aliases // Ref: https://docs.spatie.be/laravel-blade-x/v2/introduction + BladeX::component('components.column'); // ... + BladeX::component('components.columns'); // ... + BladeX::component('components.content'); // ... BladeX::component('components.flexible-image'); // BladeX::component('components.full-width'); // ... - BladeX::component('components.content'); // ... - BladeX::component('components.columns'); // ... - BladeX::component('components.column'); // ... BladeX::component('components.grid'); // ... - BladeX::component('components.text-block'); // ... + BladeX::component('components.intro-block'); // ... BladeX::component('components.link-button'); // ... - BladeX::component('components.phone-link'); // ... BladeX::component('components.map-link'); // ... + BladeX::component('components.phone-link'); // ... + BladeX::component('components.text-block'); // ... } catch (\Exception $e) { } diff --git a/app/SubForms/SocialNetworks.php b/app/SubForms/SocialNetworks.php new file mode 100644 index 0000000..723fc62 --- /dev/null +++ b/app/SubForms/SocialNetworks.php @@ -0,0 +1,25 @@ +addField(['name' => 'twitter', + 'type' => 'Text', + 'label' => __('Twitter'), + 'translatable' => false]); + + $this->addField(['name' => 'linkedin', + 'type' => 'Text', + 'label' => __('LinkedIn'), + 'translatable' => false]); + } +} diff --git a/resources/js/components/Tabs.vue b/resources/js/components/Tabs.vue index 0fa184b..8e2a76e 100644 --- a/resources/js/components/Tabs.vue +++ b/resources/js/components/Tabs.vue @@ -1,5 +1,5 @@