Fix QR background gradient handling

This commit is contained in:
2026-08-05 19:51:54 +01:00
parent 9f831f04bc
commit 38d82d2ac6
5 changed files with 46 additions and 16 deletions
+9 -3
View File
@@ -251,6 +251,7 @@
qr_margin: normalizeMarginValue(source.qr_margin, defaultQrOptions.margin),
qr_background_color: normalizeHexColorValue(source.qr_background_color, '#ffffff'),
qr_background_transparent: normalizeBooleanValue(source.qr_background_transparent, false),
qr_background_color_mode: 'single',
qr_background_gradient_type: normalizeGradientTypeValue(source.qr_background_gradient_type, 'linear'),
qr_background_gradient_rotation: normalizeGradientRotationValue(source.qr_background_gradient_rotation, 0),
qr_background_gradient_color_1: normalizeHexColorValue(source.qr_background_gradient_color_1, '#ffffff'),
@@ -729,7 +730,6 @@
var dotsGradient = style.qr_dots_color_mode === 'gradient' ? buildGradientOptions('qr_dots', style) : null;
var cornersSquareGradient = style.qr_corners_square_color_mode === 'gradient' ? buildGradientOptions('qr_corners_square', style) : null;
var cornersDotGradient = style.qr_corners_dot_color_mode === 'gradient' ? buildGradientOptions('qr_corners_dot', style) : null;
var backgroundGradient = style.qr_background_color_mode === 'gradient' ? buildGradientOptions('qr_background', style) : null;
return {
width: defaultQrOptions.width,
height: defaultQrOptions.height,
@@ -753,8 +753,7 @@
gradient: cornersDotGradient || undefined
},
backgroundOptions: {
color: style.qr_background_transparent ? 'transparent' : style.qr_background_color,
gradient: backgroundGradient || undefined
color: style.qr_background_transparent ? 'transparent' : style.qr_background_color
},
image: style.qr_image || undefined,
imageOptions: {
@@ -818,6 +817,13 @@
function renderColorModeSection(accordionId, sectionKey, prefix, regionId, label, style, singleControlsHtml, gradientLabel, fallbackColor, currentOpen, styleSelectHtml) {
var mode = normalizeColorModeValue(style[prefix + '_color_mode'], 'single');
if (prefix === 'qr_background') {
return renderAccordionSection(accordionId, sectionKey, label, '' +
'<div class="d-grid gap-3" data-color-mode-accordion-body>' +
'<div data-single-color-config>' + singleControlsHtml + '</div>' +
styleSelectHtml +
'</div>', currentOpen);
}
var colorModeSelect = '' +
'<div>' +
'<label class="form-label mb-1" for="' + prefix + '_color_mode_' + regionId + '">Colour mode</label>' +