diff --git a/migrations/0080.sql b/migrations/0080.sql
new file mode 100644
index 00000000..fdc00f96
--- /dev/null
+++ b/migrations/0080.sql
@@ -0,0 +1,8 @@
+UPDATE products
+SET description = REPLACE(description, CHAR(13) + CHAR(10), '
');
+
+UPDATE products
+SET description = REPLACE(description, CHAR(13), '
');
+
+UPDATE products
+SET description = REPLACE(description, CHAR(10), '
');
diff --git a/public/js/grocy.js b/public/js/grocy.js
index a44c9c6c..60e0c1de 100644
--- a/public/js/grocy.js
+++ b/public/js/grocy.js
@@ -521,3 +521,8 @@ $(document).on("click", ".easy-link-copy-textbox", function()
{
$(this).select();
});
+
+$("textarea.wysiwyg-editor").summernote({
+ minHeight: "300px",
+ lang: __t("summernote_locale")
+});
diff --git a/public/viewjs/components/productcard.js b/public/viewjs/components/productcard.js
index 2562fea8..13e18445 100644
--- a/public/viewjs/components/productcard.js
+++ b/public/viewjs/components/productcard.js
@@ -8,7 +8,7 @@ Grocy.Components.ProductCard.Refresh = function(productId)
var stockAmount = productDetails.stock_amount || '0';
var stockAmountOpened = productDetails.stock_amount_opened || '0';
$('#productcard-product-name').text(productDetails.product.name);
- $('#productcard-product-description').text(productDetails.product.description);
+ $('#productcard-product-description').html(productDetails.product.description);
$('#productcard-product-stock-amount').text(stockAmount);
$('#productcard-product-stock-qu-name').text(__n(stockAmount, productDetails.quantity_unit_stock.name, productDetails.quantity_unit_stock.name_plural));
$('#productcard-product-last-purchased').text((productDetails.last_purchased || __t('never')).substring(0, 10));
diff --git a/public/viewjs/equipmentform.js b/public/viewjs/equipmentform.js
index e37eab57..086b8b2f 100644
--- a/public/viewjs/equipmentform.js
+++ b/public/viewjs/equipmentform.js
@@ -132,12 +132,6 @@ $('#delete-current-instruction-manual-button').on('click', function (e)
$("#delete-current-instruction-manual-on-save-hint").removeClass("d-none");
$("#delete-current-instruction-manual-button").addClass("disabled");
});
-
-$('#description').summernote({
- minHeight: '300px',
- lang: __t('summernote_locale')
-});
-
ResizeResponsiveEmbeds();
Grocy.Components.UserfieldsForm.Load();
diff --git a/public/viewjs/recipeform.js b/public/viewjs/recipeform.js
index 068a4e54..efaba4e2 100644
--- a/public/viewjs/recipeform.js
+++ b/public/viewjs/recipeform.js
@@ -344,9 +344,4 @@ $('#delete-current-recipe-picture-button').on('click', function (e)
$("#delete-current-recipe-picture-button").addClass("disabled");
});
-$('#description').summernote({
- minHeight: '300px',
- lang: __t('summernote_locale')
-});
-
Grocy.Components.UserfieldsForm.Load();
diff --git a/views/equipmentform.blade.php b/views/equipmentform.blade.php
index 3319b449..b9ae01f1 100644
--- a/views/equipmentform.blade.php
+++ b/views/equipmentform.blade.php
@@ -8,15 +8,6 @@
@section('viewJsName', 'equipmentform')
-@push('pageScripts')
-
- @if(!empty($__t('summernote_locale') && $__t('summernote_locale') != 'x'))@endif
-@endpush
-
-@push('pageStyles')
-
-@endpush
-
@section('content')