diff --git a/dashboards/views/04c_madplan.yaml b/dashboards/views/04c_madplan.yaml
index 41a9f85..27abaa4 100644
--- a/dashboards/views/04c_madplan.yaml
+++ b/dashboards/views/04c_madplan.yaml
@@ -65,71 +65,68 @@ cards:
service: script.mad_announcement
# đź“… Ugens madplan
- - type: entities
- title: Ugens madplan
- show_header_toggle: false
- entities:
- - type: custom:button-card
- entity: sensor.mealie_madplan_ugen
- show_icon: false
- show_name: false
- show_state: false
- styles:
- card:
- - padding: 0
- - background: none
- - box-shadow: none
- custom_fields:
- week: |
- [[[
- if (!entity || !entity.attributes || !entity.attributes.items)
- return 'Ingen madplan data';
- const items = entity.attributes.items;
- const dayNames = ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'];
- const today = new Date().toISOString().slice(0,10);
- const meals = {};
- items.forEach(function(item) {
- if (item.recipe && item.recipe.name) {
- meals[item.date] = { name: item.recipe.name, slug: item.recipe.slug || '' };
- }
- });
- const now = new Date();
- const dayOfWeek = now.getDay();
- const monday = new Date(now);
- monday.setDate(now.getDate() - (dayOfWeek === 0 ? 6 : dayOfWeek - 1));
- let html = '
';
- for (let i = 0; i < 7; i++) {
- const d = new Date(monday);
- d.setDate(monday.getDate() + i);
- const dateStr = d.toISOString().slice(0,10);
- const dayName = dayNames[d.getDay()];
- const meal = meals[dateStr];
- const isToday = dateStr === today;
- const bg = isToday ? 'var(--primary-color)' : 'transparent';
- const textColor = isToday ? 'white' : 'var(--primary-text-color)';
- const dayColor = isToday ? 'rgba(255,255,255,0.7)' : 'var(--secondary-text-color)';
- const weight = isToday ? 'bold' : 'normal';
- const radius = isToday ? '8px' : '0';
- const border = isToday ? 'none' : '1px solid var(--divider-color)';
- const mealName = meal ? meal.name : '—';
- const slug = meal ? meal.slug : '';
- const link = slug ? 'http://anneclaus.dk:9925/g/home/r/' + slug : '';
- const cursor = slug ? 'pointer' : 'default';
- const clickAttr = slug ? ' onclick="window.open(\'' + link + '\',\'_blank\')"' : '';
- html += '
'
- + '
' + dayName + '
'
- + '
' + mealName + '
'
- + '
';
- }
- html += '
';
- return html;
- ]]]
- extra_styles: |
- #week {
- width: 100%;
+ - 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%;
+ }