diff --git a/dashboards/views/04c_madplan.yaml b/dashboards/views/04c_madplan.yaml
index 8775969..744b548 100644
--- a/dashboards/views/04c_madplan.yaml
+++ b/dashboards/views/04c_madplan.yaml
@@ -64,72 +64,33 @@ cards:
action: call-service
service: script.mad_announcement
- # 📅 Ugens madplan
- - type: custom:button-card
- entity: sensor.mealie_madplan_ugen
- name: Ugens madplan
- show_icon: false
- show_name: true
- show_state: false
- styles:
- card:
- - padding: 0
- - border-radius: 12px
- name:
- - font-size: 16px
- - font-weight: bold
- - padding: 12px 12px 4px 12px
- - justify-self: start
- custom_fields:
- week: |
- [[[
- if (!entity || !entity.attributes || !entity.attributes.items)
- return '
Ingen madplan data
';
- var items = entity.attributes.items;
- var dayNames = ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'];
- var today = new Date().toISOString().slice(0,10);
- var meals = {};
- for (var j = 0; j < items.length; j++) {
- var it = items[j];
- if (it.recipe && it.recipe.name) {
- meals[it.date] = { name: it.recipe.name, slug: it.recipe.slug || '' };
- }
- }
- var now = new Date();
- var dow = now.getDay();
- var monday = new Date(now);
- monday.setDate(now.getDate() - (dow === 0 ? 6 : dow - 1));
- var html = '';
- for (var i = 0; i < 7; i++) {
- var d = new Date(monday);
- d.setDate(monday.getDate() + i);
- var dateStr = d.toISOString().slice(0,10);
- var dayName = dayNames[d.getDay()];
- var meal = meals[dateStr];
- var isToday = dateStr === today;
- var bg = isToday ? 'var(--primary-color)' : 'transparent';
- var tc = isToday ? 'white' : 'var(--primary-text-color)';
- var dc = isToday ? 'rgba(255,255,255,0.7)' : 'var(--secondary-text-color)';
- var fw = isToday ? 'bold' : 'normal';
- var br = isToday ? '8px' : '0';
- var bb = isToday ? 'none' : '1px solid var(--divider-color)';
- var mn = meal ? meal.name : '-';
- var sl = meal ? meal.slug : '';
- var lnk = sl ? 'http://anneclaus.dk:9925/g/home/r/' + sl : '';
- var cur = sl ? 'pointer' : 'default';
- var oc = sl ? ' onclick="window.open(\x27' + lnk + '\x27,\x27_blank\x27)"' : '';
- html += '
';
- html += '
' + dayName + '
';
- html += '
' + mn + '
';
- html += '
';
- }
- html += '
';
- return html;
- ]]]
- extra_styles: |
- #week {
- width: 100%;
- }
+ # 📅 Madplan: i dag + 6 dage
+ - type: markdown
+ content: |-
+ {%- set ns = namespace(rows="") -%}
+ {%- set items = state_attr('sensor.mealie_madplan_ugen', 'items') or [] -%}
+ {%- set days = ['Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag','Søndag'] -%}
+ {%- for offset in range(7) -%}
+ {%- set day = now().date() + timedelta(days=offset) -%}
+ {%- set ms = items | selectattr('date', 'eq', day.isoformat()) | list -%}
+ {%- set m = ms[0] if ms else none -%}
+ {%- set recipe = m.recipe if m else none -%}
+ {%- set name = recipe.name if recipe else '' -%}
+ {%- set slug = recipe.slug if recipe else '' -%}
+ {%- set label = 'I dag' if offset == 0 else days[day.weekday()] -%}
+ {%- if slug -%}
+ {%- set ns.rows = ns.rows + "| **" + label + "** | [" + name + "](http://anneclaus.dk:9925/g/home/r/" + slug + ") |\n" -%}
+ {%- elif name -%}
+ {%- set ns.rows = ns.rows + "| **" + label + "** | " + name + " |\n" -%}
+ {%- else -%}
+ {%- set ns.rows = ns.rows + "| **" + label + "** | - |\n" -%}
+ {%- endif -%}
+ {%- endfor -%}
+ ## Næste 7 dage
+
+ | Dag | Ret |
+ | --- | --- |
+ {{ ns.rows }}
# 🛒 Bilka ToGo - opdater og vis kryds-af liste
- type: vertical-stack