diff --git a/iframe.html b/iframe.html
index b640f90..f874090 100644
--- a/iframe.html
+++ b/iframe.html
@@ -2239,11 +2239,13 @@ const CALCULATOR_CONFIG = {
state.foodSources.forEach(saved => {
// Back-compat: older Kaya state stored Fred & Felia as `chartType: "gc"`.
const chartType = saved.chartType === 'gc' ? 'mer' : (saved.chartType || null);
+ const normalizedEnergy = chartType === 'mer' ? '115' : (saved.energy || '');
+ const normalizedEnergyUnit = chartType === 'mer' ? 'kcal100g' : (saved.energyUnit || 'kcal100g');
const fs = {
id: saved.id || this.generateFoodSourceId(),
name: saved.name || 'Food Source',
- energy: saved.energy || '',
- energyUnit: saved.energyUnit || 'kcal100g',
+ energy: normalizedEnergy,
+ energyUnit: normalizedEnergyUnit,
percentage: typeof saved.percentage === 'number' ? saved.percentage : 0,
isLocked: !!saved.isLocked,
chartType: chartType,
@@ -2796,7 +2798,7 @@ const CALCULATOR_CONFIG = {
const container = document.getElementById('foodSources');
if (!container) return;
- const isChart = foodSource.chartType === 'kibble';
+ const isChart = foodSource.chartType === 'kibble' || foodSource.chartType === 'mer';
const energyReadonlyAttr = isChart ? 'readonly' : '';
const energyTitle = isChart ? 'Chart-based food: kcal locked' : 'Enter energy content';
const unitDisabledAttr = isChart ? 'disabled' : '';
diff --git a/src/js/calculator.js b/src/js/calculator.js
index ead1f53..9ccdce3 100644
--- a/src/js/calculator.js
+++ b/src/js/calculator.js
@@ -131,11 +131,13 @@
state.foodSources.forEach(saved => {
// Back-compat: older Kaya state stored Fred & Felia as `chartType: "gc"`.
const chartType = saved.chartType === 'gc' ? 'mer' : (saved.chartType || null);
+ const normalizedEnergy = chartType === 'mer' ? '115' : (saved.energy || '');
+ const normalizedEnergyUnit = chartType === 'mer' ? 'kcal100g' : (saved.energyUnit || 'kcal100g');
const fs = {
id: saved.id || this.generateFoodSourceId(),
name: saved.name || 'Food Source',
- energy: saved.energy || '',
- energyUnit: saved.energyUnit || 'kcal100g',
+ energy: normalizedEnergy,
+ energyUnit: normalizedEnergyUnit,
percentage: typeof saved.percentage === 'number' ? saved.percentage : 0,
isLocked: !!saved.isLocked,
chartType: chartType,
@@ -688,7 +690,7 @@
const container = document.getElementById('foodSources');
if (!container) return;
- const isChart = foodSource.chartType === 'kibble';
+ const isChart = foodSource.chartType === 'kibble' || foodSource.chartType === 'mer';
const energyReadonlyAttr = isChart ? 'readonly' : '';
const energyTitle = isChart ? 'Chart-based food: kcal locked' : 'Enter energy content';
const unitDisabledAttr = isChart ? 'disabled' : '';