diff --git a/assets/css/app/images.css b/assets/css/app/images.css
index 214776e7..0212a85b 100644
--- a/assets/css/app/images.css
+++ b/assets/css/app/images.css
@@ -18,8 +18,8 @@
*/
.hoverpic {
- min-width: 10px;
- max-width: 30px;
+ min-width: var(--table-image-preview-min-size, 20px);
+ max-width: var(--table-image-preview-max-size, 35px);
display: block;
margin-left: auto;
margin-right: auto;
@@ -49,7 +49,7 @@
}
.part-table-image {
- max-height: 40px;
+ max-height: calc(1.2*var(--table-image-preview-max-size, 35px)); /** Aspect ratio of maximum 1.2 */
object-fit: contain;
}
diff --git a/src/Settings/BehaviorSettings/TableSettings.php b/src/Settings/BehaviorSettings/TableSettings.php
index 7b4e7912..b6964876 100644
--- a/src/Settings/BehaviorSettings/TableSettings.php
+++ b/src/Settings/BehaviorSettings/TableSettings.php
@@ -70,6 +70,20 @@ class TableSettings
PartTableColumns::CATEGORY, PartTableColumns::FOOTPRINT, PartTableColumns::MANUFACTURER,
PartTableColumns::LOCATION, PartTableColumns::AMOUNT];
+ #[SettingsParameter(label: new TM("settings.behavior.table.preview_image_min_width"),
+ formOptions: ['attr' => ['min' => 1, 'max' => 100]],
+ envVar: "int:TABLE_IMAGE_PREVIEW_MIN_SIZE", envVarMode: EnvVarMode::OVERWRITE
+ )]
+ #[Assert\Range(min: 1, max: 100)]
+ public int $previewImageMinWidth = 20;
+
+ #[SettingsParameter(label: new TM("settings.behavior.table.preview_image_max_width"),
+ formOptions: ['attr' => ['min' => 1, 'max' => 100]],
+ envVar: "int:TABLE_IMAGE_PREVIEW_MAX_SIZE", envVarMode: EnvVarMode::OVERWRITE
+ )]
+ #[Assert\Range(min: 1, max: 100)]
+ #[Assert\GreaterThanOrEqual(propertyPath: 'previewImageMinWidth')]
+ public int $previewImageMaxWidth = 35;
public static function mapPartsDefaultColumnsEnv(string $columns): array
{
@@ -87,4 +101,4 @@ class TableSettings
return $ret;
}
-}
\ No newline at end of file
+}
diff --git a/templates/base.html.twig b/templates/base.html.twig
index 48e45ab0..bb9844fa 100644
--- a/templates/base.html.twig
+++ b/templates/base.html.twig
@@ -53,6 +53,14 @@
{% endif %}
{{ encore_entry_link_tags('app') }}
+
+ {% set table_settings = settings_instance('table') %}
+
{% endblock %}
{% block javascripts %}
diff --git a/translations/messages.en.xlf b/translations/messages.en.xlf
index 68bbb653..88ae764a 100644
--- a/translations/messages.en.xlf
+++ b/translations/messages.en.xlf
@@ -13489,5 +13489,17 @@ Please note, that you can not impersonate a disabled user. If you try you will g
These providers will be preselected for searches in part providers.
+
+
+ settings.behavior.table.preview_image_max_width
+ Preview image max width (px)
+
+
+
+
+ settings.behavior.table.preview_image_min_width
+ Preview image min width (px)
+
+