]> _ Git - fluidbook-toolbox.git/commitdiff
wait #7590 @0.25
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 16 Jun 2025 13:15:24 +0000 (15:15 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 16 Jun 2025 13:15:24 +0000 (15:15 +0200)
app/Elearning/QuizCompiler.php
app/Models/QuizTheme.php

index d2fdbd5ebb208ccc41b1075d5ece6fa73932897e..e0d23100c889c800c16e1f75831ff7d414e5521a 100644 (file)
@@ -168,12 +168,18 @@ class QuizCompiler extends Base
         $this->sassVariables['neutral-color'] = $this->theme->neutralColor;
         $this->sassVariables['ok-color'] = $this->theme->okColor;
         $this->sassVariables['nok-color'] = $this->theme->nokColor;
-        $this->sassVariables['card-disabled-background'] = $darkTheme ? $this->theme->neutralColor : $textsColor;
-        $this->sassVariables['card-disabled-color'] = $darkTheme ? $textsColor : $oppositeTextsColor;
+
+
+        $this->sassVariables['card-disabled-background'] = $this->theme->matchOtherInvert ? ($darkTheme ? $this->theme->neutralColor : $textsColor) : $this->theme->neutralColor;
+        $this->sassVariables['card-disabled-color'] = $this->theme->matchOtherInvert ? ($darkTheme ? $textsColor : $oppositeTextsColor) : $textsColor;
+        $this->sassVariables['card-disabled-opacity'] = max(0, min(100, $this->theme->matchOtherOpacity)) / 100;
         // Active colors
         $this->sassVariables['stroke-color'] = $this->theme->strokeColor ?: 'rgba($texts-color, .24)';
         $this->sassVariables['active-stroke-color'] = $this->theme->activeStrokeColor ?: $textsColor;
         $this->sassVariables['active-background-color'] = $this->theme->activeBackgroundColor ?: 'rgba($neutral-color,.8)';
+        // Controls buttons
+        $this->sassVariables['controls-button-background'] = $this->theme->controlsButtonBackground ?: 'rgba($texts-color,0.16)';
+        $this->sassVariables['controls-button-color'] = $this->theme->controlsButtonColor ?: 'currentColor';
         // Fonts size:Line Height
         $this->sassVariables['fonts-size'] = "(14: 20px, 16: 22px, 20: 28px, 24: 35px)";
         // fill areas
index 7b27b776f13ec6eea675974d6388e52d4949a442..612f12376ca6506958a057d523e0ab3889a1e794 100644 (file)
@@ -4,9 +4,6 @@ namespace App\Models;
 
 use App\Fields\FluidbookFont;
 use App\Fields\FluidbookThemeImage;
-use App\Fields\HorizontalAlign;
-use App\Fields\ThemeBackgroundSize;
-use App\Fields\VerticalAlign;
 use App\Http\Controllers\Admin\Operations\ChangeownerOperation;
 use App\Http\Controllers\Admin\Operations\QuizTheme\PreviewOperation;
 use App\Jobs\GenerateQuizThemePreview;
@@ -17,11 +14,11 @@ use Cubist\Backpack\Magic\Fields\FormSection;
 use Cubist\Backpack\Magic\Fields\FormSectionDescription;
 use Cubist\Backpack\Magic\Fields\FormSeparator;
 use Cubist\Backpack\Magic\Fields\Hidden;
+use Cubist\Backpack\Magic\Fields\Integer;
 use Cubist\Backpack\Magic\Fields\SelectFromArray;
 use Cubist\Util\CommandLine\Imagemagick;
 use Cubist\Util\Files\Files;
 use Cubist\Util\Graphics\Resizer;
-use function PHPUnit\Framework\matches;
 
 class QuizTheme extends ToolboxModel
 {
@@ -85,6 +82,9 @@ class QuizTheme extends ToolboxModel
         $this->addField('okColor', Color::class, __('Couleur OK'), ['hint' => __('Couleur générale affectée aux bonnes réponses (habituellement vert)')]);
         $this->addField('nokColor', Color::class, __('Couleur pas OK'), ['hint' => __('Couleur générale affectée aux mauvaises réponses (habituellement rouge)')]);
         $this->addField('', FormSeparator::class);
+        $this->addField('controlsButtonBackground', Color::class, __('Couleur de fond des boutons "Déplacer" des questions'), ['hint' => __('Laisser vide pour laisser le système déterminer la couleur'), 'allows_empty' => true]);
+        $this->addField('controlsButtonColor', Color::class, __('Couleur de texte des boutons "Déplacer" des questions'), ['hint' => __('Laisser vide pour laisser le système déterminer la couleur'), 'allows_empty' => true]);
+        $this->addField('', FormSeparator::class);
         $this->addField('strokeColor', Color::class, __('Couleur de contour des tuiles non-sélectionnées'), ['hint' => __('Laisser vide pour laisser le système déterminer la couleur'), 'allows_empty' => true]);
         $this->addField('', FormSeparator::class);
         $this->addField('activeStrokeColor', Color::class, __('Couleur de contour des tuiles sélectionnées'), ['hint' => __('Laisser vide pour laisser le système déterminer la couleur'), 'allows_empty' => true]);
@@ -144,6 +144,9 @@ class QuizTheme extends ToolboxModel
     protected function _matchQuestions()
     {
         $this->_question('match', __('Questions "faire correspondre les propositions"'));
+        $this->addField('', FormSeparator::class);
+        $this->addField('matchOtherInvert', Checkbox::class, 'Inverser les couleurs des cartes non sélectionnées', ['default' => true]);
+        $this->addField('matchOtherOpacity', Integer::class, 'Opacité des cartes non sélectionnées', ['default' => 24, 'min' => 0, 'max' => 100]);
     }
 
     protected function _outro()