diff --git a/server/src/wled_controller/static/js/core/filter-list.ts b/server/src/wled_controller/static/js/core/filter-list.ts index e8c2f92..f4c5dec 100644 --- a/server/src/wled_controller/static/js/core/filter-list.ts +++ b/server/src/wled_controller/static/js/core/filter-list.ts @@ -138,6 +138,10 @@ export class FilterListManager { if (filterDef && !isExpanded) { summary = filterDef.options_schema.map(opt => { const val = fi.options[opt.key] !== undefined ? fi.options[opt.key] : opt.default; + if (opt.type === 'select' && Array.isArray(opt.choices)) { + const choice = opt.choices.find(c => c.value === val); + if (choice) return choice.label; + } return val; }).join(', '); } diff --git a/server/src/wled_controller/static/js/features/streams.ts b/server/src/wled_controller/static/js/features/streams.ts index 32dbc82..54733a1 100644 --- a/server/src/wled_controller/static/js/features/streams.ts +++ b/server/src/wled_controller/static/js/features/streams.ts @@ -409,7 +409,14 @@ function renderPictureSourcesList(streams: any) { const renderPPTemplateCard = (tmpl: any) => { let filterChainHtml = ''; if (tmpl.filters && tmpl.filters.length > 0) { - const filterNames = tmpl.filters.map(fi => `${escapeHtml(_getFilterName(fi.filter_id))}`); + const filterNames = tmpl.filters.map(fi => { + let label = _getFilterName(fi.filter_id); + if (fi.filter_id === 'filter_template' && fi.options?.template_id) { + const ref = _cachedPPTemplates.find(p => p.id === fi.options.template_id); + if (ref) label += `: ${ref.name}`; + } + return `${escapeHtml(label)}`; + }); filterChainHtml = `