]> _ Git - fluidbook-toolbox.git/commitdiff
#7241
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 13 Feb 2025 18:11:20 +0000 (19:11 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 13 Feb 2025 18:11:20 +0000 (19:11 +0100)
app/Fluidbook/Compiler/Links.php
app/Models/FluidbookTheme.php

index 78ca514a64bd028a1374462b543c79fe24c3a8fe..c142531c3d2fed92dcea03e1a3edbebaf6057aa7 100644 (file)
@@ -5,9 +5,11 @@ namespace App\Fluidbook\Compiler;
 use App\Fluidbook\Link\Link;
 use App\Fluidbook\Link\LinksData;
 use App\SubForms\Link\Base;
+use Cubist\Util\Graphics\Color;
 use Cubist\Util\Text;
 use Fluidbook\Tools\Links\AnchorLink;
 use Fluidbook\Tools\Links\ContentLink;
+use Fluidbook\Tools\Links\NormalLink;
 use Illuminate\Support\Facades\Log;
 
 trait Links
@@ -23,6 +25,12 @@ trait Links
     protected function writeLinks()
     {
 
+        $dupLinkAreaColor = ($this->getSetting('linksAnimationLayer', 'top') === 'under');
+        if ($dupLinkAreaColor) {
+            $dupLinkAreaColor = $this->getSetting('linksColor');
+            $dupLinkAreaOpacity = $this->getSetting('linksOpacity', 30) / 100;
+            $dupLinkAreaDuration = $this->getSetting('linkBlinkTime');
+        }
         switch ($this->fluidbookSettings->customLinkClass) {
             case 'WescoSalesLink':
                 $this->specialJsFiles[] = 'js/libs/interact.min.js';
@@ -109,6 +117,7 @@ trait Links
 
         foreach ($linksCopy as $k => $linkData) {
 
+
             if ($linkData['type'] == Link::EVENT_OVERLAY) {
                 if ($linkData['page'] % 2 == 1 || $linkData['left'] > $this->getWidthForLinks()) {
                     $dupData = $linkData;
@@ -321,6 +330,10 @@ trait Links
                 $linksToAdd[] = $link->getRightClone();
             }
 
+            if ($dupLinkAreaColor !== false && $link instanceof NormalLink && $link->display_area) {
+                $linksToAdd[] = $link->getDisplayAreaLink($dupLinkAreaColor, $dupLinkAreaOpacity, $dupLinkAreaDuration);
+            }
+
             if (isset($canContainLinksTypes[$linkData['type']])) {
                 $this->addLinkLinks($linkData, $links, $assetsDimensions, $linksToAdd);
             }
index 765d46fbe3bda76141dbf5726fad155281062697..ce9ef869a3a48d66c4934ec5c1ef7c79c176e26f 100644 (file)
@@ -333,11 +333,12 @@ class FluidbookTheme extends ToolboxModel
             'name' => 'linksAnimation',
             'label' => __('Animation à l\'apparition'),
             'type' => SelectFromArray::class,
-            'options' => ['fade' => __('Opacité'), 'hightlight' => __('Surligner')],
+            'options' => ['fade' => __('Opacité'), 'highlight' => __('Surligner')],
             'default' => 'fade',
         ]);
         $this->addField([
-            'name' => __('Position de l\'animation'),
+            'name' => 'linksAnimationLayer',
+            'label' => __('Position de l\'animation'),
             'type' => SelectFromArray::class,
             'options' => ['top' => __('Par dessus les contenus'), 'under' => __('Sous la couche de texte')],
             'default' => 'top',