]> _ Git - fluidbook-toolbox.git/commitdiff
wip #7049 @5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 30 Aug 2024 14:44:47 +0000 (16:44 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 30 Aug 2024 14:44:47 +0000 (16:44 +0200)
app/Fluidbook/Compiler/Cart.php
app/Fluidbook/Link/Cart/Joueclub2024CartLink.php [new file with mode: 0644]
app/Fluidbook/Link/Link.php
app/Models/Traits/PublicationSettings.php

index c6346ac0b05830236fc3936a08b15dd62af21aa3..b65ad7554fc1cf1db6b24edd7aa0022deddf5337 100644 (file)
@@ -241,6 +241,61 @@ trait Cart
         $this->getLinksAndRulers($links, $rulers);
     }
 
+    public function writeJoueClub2024Cart()
+    {
+        $this->lessVariables['import-cart-styles'] = 'joueclub2024';
+        $extra = Link::parseExtras($this->fluidbookSettings->cartExtraSettings, true);
+
+        /**
+         * buttonColor=#d7b646
+         * buttonTextColor=#ffffff
+         * headerBackgroundColor=#0e1a3c
+         * headerTextColor=#ffffff
+         */
+        $this->lessVariables['cart-button-color'] = $extra['buttoncolor'] ?? '#e30613';
+        $this->lessVariables['cart-button-text-color'] = $extra['buttontextcolor'] ?? '#ffffff';
+        $this->lessVariables['cart-button-radius'] = $extra['buttonradius'] ?? '50%';
+        $this->lessVariables['cart-header-background-color'] = $extra['headerbackgroundcolor'] ?? '#26348b';
+        $this->lessVariables['cart-header-text-color'] = $extra['headertextcolor'] ?? '#ffffff';
+        $this->lessVariables['cart-close-color'] = $extra['closecolor'] ?? '#ffffff';
+        $this->lessVariables['cart-close-background-color'] = $extra['closebackgroundcolor'] ?? '#e30613';
+        $this->lessVariables['cart-close-radius'] = $extra['closeradius'] ?? '50%';
+        $this->lessVariables['cart-actions-radius'] = $extra['actionsradius'] ?? '8px';
+        $this->lessVariables['cart-actions-background-color'] = $extra['actionsbackgroundcolor'] ?? '#26348b';
+        $this->lessVariables['cart-actions-text-color'] = $extra['actionstextcolor'] ?? '#ffffff';
+        $this->lessVariables['cart-scrollbar-color'] = $extra['scrollbarcolor'] ?? '#26348b';
+
+        $this->addJsLib('cookie', 'js/libs/jquery/jquery.cookie.js');
+        $this->addJsLib('joueclub2024', 'js/libs/fluidbook/cart/fluidbook.cart.joueclub2024.js');
+        $this->addJsLib('html2pdf', 'js/libs/html2pdf/html2pdf.min.js');
+        $this->addJsLib('lottie', 'js/libs/lottie.min.js');
+
+        $cdir = $this->wdir . '/commerce/';
+
+        $file = $cdir . $this->fluidbookSettings->basketReferences;
+        $this->config->basketReferences = ExcelToArray::excelToArrayKeyVars($file);
+
+        foreach ($this->config->basketReferences as $ref => $data) {
+            $dest = $cdir . $ref . '.jpg';
+            if (!file_exists($dest)) {
+                if (!@copy($data['img'], $dest)) {
+                    $dest = $this->wdir . '/default.jpg';
+                }
+            }
+            $this->vdir->copy($dest, 'data/commerce/' . $ref . '.jpg');
+        }
+        $addFiles = [$this->config->cartHeaderImage, $this->config->cartHeaderMobileImage];
+        foreach ($addFiles as $f) {
+            if (!$f) {
+                return;
+            }
+
+            $this->vdir->copy($cdir . $f, 'data/commerce/' . $f);
+        }
+
+        $this->getLinksAndRulers($links, $rulers);
+    }
+
     public function writeGrandPavoisCart()
     {
         $this->lessVariables['import-cart-styles'] = 'grandpavois';
@@ -682,6 +737,9 @@ trait Cart
                 case 'JoueclubWishlist2021':
                     $this->writeJoueClub2021Cart();
                     return;
+                case 'JoueclubWishlist2024':
+                    $this->writeJoueClub2024Cart();
+                    return;
                 case 'Remarkable':
                     $this->addJsLib('parsley', 'js/libs/parsley.min.js');
                     $this->addJsLib('cookie', 'js/libs/jquery/jquery.cookie.js');
diff --git a/app/Fluidbook/Link/Cart/Joueclub2024CartLink.php b/app/Fluidbook/Link/Cart/Joueclub2024CartLink.php
new file mode 100644 (file)
index 0000000..0a972d0
--- /dev/null
@@ -0,0 +1,68 @@
+<?php
+
+namespace App\Fluidbook\Link\Cart;
+
+use Fluidbook\Tools\Links\CartLink;
+
+class Joueclub2024CartLink extends CartLink
+{
+    public function getDefaultTooltip()
+    {
+        return 'Ajouter à ma liste de cadeaux';
+    }
+
+    public function getInnerContent()
+    {
+        if (file_exists($this->compiler->working_path('commerce/bouton-wishlist.svg'))) {
+            return file_get_contents($this->compiler->working_path('commerce/bouton-wishlist.svg'));
+        }
+
+        return '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+        viewBox="0 0 50 50" style="enable-background:new 0 0 50 50;" xml:space="preserve">
+<style type="text/css">
+       .st0{fill:url(#SVGID_1_);stroke:#F0EEEA;stroke-width:3.3;stroke-miterlimit:10;}
+       .st1{fill:#FFFFFF;}
+       .st2{opacity:0.4;enable-background:new    ;}
+
+               .st3{fill:url(#SVGID_00000091725099145697549030000002656161899138345614_);stroke:#F0EEEA;stroke-width:3.3;stroke-miterlimit:10;}
+</style>
+<g id="on">
+       <g id="on_00000067198718027100822470000000858312170120319118_">
+
+                       <radialGradient id="SVGID_1_" cx="12.5" cy="43" r="21.783" gradientTransform="matrix(1 0 0 -1 0 52)" gradientUnits="userSpaceOnUse">
+                       <stop  offset="0" style="stop-color:#F9152B"/>
+                       <stop  offset="1" style="stop-color:#CC0014"/>
+               </radialGradient>
+               <circle class="st0" cx="24.8" cy="24.8" r="22"/>
+               <path id="_x3C_Tracé_x3E_" class="st1" d="M33.2,24.5c-4,0-7.2,3.2-7.2,7.2s3.2,7.2,7.2,7.2s7.2-3.2,7.2-7.2
+                       C40.3,27.7,37.1,24.5,33.2,24.5z M37.8,30.2l-4.4,4.6c-0.2,0.2-0.5,0.3-0.8,0.3l0,0c-0.3,0-0.6-0.1-0.8-0.3L29,31.9
+                       c-0.4-0.4-0.4-1.2,0-1.6s1.2-0.4,1.6,0l2,2.1l3.6-3.8c0.4-0.4,1.1-0.5,1.6,0C38.2,29,38.2,29.7,37.8,30.2z"/>
+               <path class="st1" d="M23.7,31.8c0-5.3,4.3-9.5,9.5-9.5c0.8,0,1.6,0.1,2.4,0.3c0.1-1-0.1-2-0.6-2.9c-1.4-3-5-4-8-2.6
+                       c-0.4,0.2-1,0.6-1.4,1l-0.8,0.8L24,18.1c-1.4-1.4-3.2-2-5.2-1.6c-1.8,0.4-3.4,1.6-4.2,3.2c-1.2,2.2-0.8,5,1,6.8l8.4,8.6
+                       c0.1,0.1,0.2,0.2,0.4,0.2C23.9,34.2,23.7,33,23.7,31.8z"/>
+       </g>
+</g>
+<g id="off">
+       <g id="off_00000158745150850562103200000013702113717099787924_">
+               <circle class="st2" cx="26.5" cy="26.5" r="23.3"/>
+
+                       <radialGradient id="SVGID_00000173873247631391758930000004458483244722507439_" cx="12.5" cy="43" r="21.783" gradientTransform="matrix(1 0 0 -1 0 52)" gradientUnits="userSpaceOnUse">
+                       <stop  offset="0" style="stop-color:#F9152B"/>
+                       <stop  offset="1" style="stop-color:#CC0014"/>
+               </radialGradient>
+
+                       <circle style="fill:url(#SVGID_00000173873247631391758930000004458483244722507439_);stroke:#F0EEEA;stroke-width:3.3;stroke-miterlimit:10;" cx="24.8" cy="24.8" r="22"/>
+               <path class="st1" d="M35,19.6c-1.4-3-5-4-8-2.6c-0.4,0.2-1,0.6-1.4,1l-0.8,0.8L24,18c-1.4-1.4-3.2-2-5.2-1.6
+                       c-1.8,0.4-3.4,1.6-4.2,3.2c-1.2,2.2-0.8,5,1,6.8L24,35c0.4,0.4,1,0.4,1.2,0l0,0l8.4-8.6C35.6,24.6,36.2,21.8,35,19.6z"/>
+       </g>
+</g>
+</svg>';
+    }
+
+    public function getAdditionnalContent()
+    {
+        $res = parent::getAdditionnalContent();
+        $res .= ' data-tooltip-conditional="' . htmlspecialchars(json_encode(['.active' => 'Retirer de ma liste de cadeaux'])) . '" ';
+        return $res;
+    }
+}
index 97f62f20d81b127fccc0e24942f5b4e664f2c2ef..af8420800706a32ea1b860526df9430238600479 100644 (file)
@@ -7,6 +7,7 @@ use App\Fluidbook\Link\Cart\CFOCCartLink;
 use App\Fluidbook\Link\Cart\GrandPavoisCartLink;
 use App\Fluidbook\Link\Cart\GrandVisionCartLink;
 use App\Fluidbook\Link\Cart\Joueclub2021CartLink;
+use App\Fluidbook\Link\Cart\Joueclub2024CartLink;
 use App\Fluidbook\Link\Cart\JoueclubWishlistLink;
 use App\Fluidbook\Link\Cart\PumaCartLink;
 use App\Fluidbook\Link\Custom\AtlanticDownloadLink;
@@ -85,6 +86,8 @@ class Link extends \Fluidbook\Tools\Links\Link
                         return new GrandPavoisCartLink($id, $init, $compiler);
                     case 'JoueclubWishlist2021':
                         return new Joueclub2021CartLink($id, $init, $compiler);
+                    case 'JoueclubWishlist2024':
+                        return new Joueclub2024CartLink($id, $init, $compiler);
                     case 'JoueclubWishlist':
                         return new JoueclubWishlistLink($id, $init, $compiler);
                     case 'ZoomProductLink':
index 6b7bd076026f59abb1199c53f6206cb8f9dbc825..8d69e7cbb76dbd1b23204092d43d264e4080cd60 100644 (file)
@@ -1693,6 +1693,7 @@ trait PublicationSettings
                 'GrandVision' => 'GrandVision',
                 'GrandPavois' => 'Grand Pavois',
                 'JoueclubWishlist2021' => 'Wishlist Jouéclub Noël 2021',
+                'JoueclubWishlist2024' => 'Wishlist Jouéclub Noël 2024',
                 'Thiriet' => 'Thiriet',
                 'CFOC' => 'CFOC',
                 'Bastide' => 'Bastide',