From 941b3f88c2ac80ed0a823efee656bea912e88d86 Mon Sep 17 00:00:00 2001 From: Stephen Cameron Date: Mon, 8 Jul 2019 19:57:34 +0200 Subject: [PATCH] Tabs / accordion component for product details page. WIP #2867 @5.5 --- public/images/product-details/arrow-down.svg | 3 - resources/js/components/Tab.vue | 6 +- resources/js/components/Tabs.vue | 19 +- .../styles/components/product-details.styl | 70 -------- resources/styles/components/tabs.styl | 50 ++++++ .../views/pages/product-detail.blade.php | 167 +++++------------- 6 files changed, 110 insertions(+), 205 deletions(-) delete mode 100644 public/images/product-details/arrow-down.svg delete mode 100644 resources/styles/components/product-details.styl create mode 100644 resources/styles/components/tabs.styl diff --git a/public/images/product-details/arrow-down.svg b/public/images/product-details/arrow-down.svg deleted file mode 100644 index 29654f0..0000000 --- a/public/images/product-details/arrow-down.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/resources/js/components/Tab.vue b/resources/js/components/Tab.vue index 326ea1a..5e73e96 100644 --- a/resources/js/components/Tab.vue +++ b/resources/js/components/Tab.vue @@ -26,7 +26,9 @@ computed: { computedId() { - return this.id ? this.id : this.name.toLowerCase().replace(/ /g, '-'); + // Create hash slug for URL + // Also removes accents (see: https://stackoverflow.com/a/37511463) + return this.id ? this.id : this.name.toLowerCase().replace(/ /g, '-').normalize('NFD').replace(/[\u0300-\u036f]/g, ''); }, hash() { return '#' + this.computedId; @@ -37,4 +39,4 @@ this.isActive = this.selected; }, } - \ No newline at end of file + diff --git a/resources/js/components/Tabs.vue b/resources/js/components/Tabs.vue index c50134b..0fa184b 100644 --- a/resources/js/components/Tabs.vue +++ b/resources/js/components/Tabs.vue @@ -1,12 +1,13 @@