]> _ Git - fluidbook-toolbox.git/commitdiff
wip #6944 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 21 Jun 2024 09:48:32 +0000 (11:48 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 21 Jun 2024 09:48:32 +0000 (11:48 +0200)
app/Models/ToolWebflow.php
app/Services/Webflow.php
resources/views/fields/webflow/texts.blade.php

index 7ffc3e7562092342f1cf8b8035e4ce718d260f32..281c8a769e8bf56511e3bc638d76d61b00bbcadf 100644 (file)
@@ -208,8 +208,6 @@ class ToolWebflow extends ToolboxTranslatableModel
         start_measure("Webflow refresh data from api");
         $lock = $this->getLock();
         try {
-            // $lock->block(360);
-
             Webflow::clearCache();
             $this->api = Webflow::getEditableData($this->webflow);
 
@@ -471,10 +469,9 @@ class ToolWebflow extends ToolboxTranslatableModel
     public function onRetrieved(): bool
     {
 
+        Webflow::setToken($this->webflow_api_token);
         $lock = $this->getLock();
         try {
-            $lock->block(360);
-
             $locales = $this->locales_domains;
             if (is_string($locales)) {
                 $locales = json_decode($locales, true);
@@ -494,7 +491,6 @@ class ToolWebflow extends ToolboxTranslatableModel
             $lock?->forceRelease();
         }
 
-
         return parent::onRetrieved();
     }
 
index 969d38d0a3567e1700b859f9650b7f6e3046d2d0..66d0f5b99dc8e64d9a9b7d909567f2941084dc74 100644 (file)
@@ -298,7 +298,9 @@ class Webflow
                         if (!$node['text']['text']) {
                             continue;
                         }
-                        $texts = Html::getTextNodes($node['text']['html']);
+                        $html = str_replace('<br />', "\n", $node['text']['html']);
+                        $html = str_replace('<br>', "\n", $html);
+                        $texts = Html::getTextNodes($html);
                         foreach ($texts as $t) {
                             if (!isset($res['texts'][$t])) {
                                 $res['texts'][$t] = ['key' => base64_encode($t), 'occurences' => 0];
index 9dbf340cccb4dc0c9be7a2a59495799377941926..a2aa08932e8d5184b29560acb43f2e90cd1b13d4 100644 (file)
 @include('crud::fields.inc.translatable_icon')
 
 @foreach($texts as $text=>$details)
-    <label>{{$text}}</label>
-    <textarea rows="{{ceil(mb_strlen($text)/150)}}"
+    @php
+        $c=mb_substr_count($text,"\n");
+    @endphp
+    <label>{!! nl2br(trim($text))!!}</label>
+    <textarea rows="{{max(ceil(mb_strlen($text)/150)+$c,$c+1)}}"
               name="{{ $field['name'] }}[{{$details['key']}}]" @include('crud::fields.inc.attributes')>{{$translations[$details['key']]??''}}</textarea>
 
     @if (isset($field['hint']))