From b406a3b504fda3aa588e605ff05a464568e1ccfe Mon Sep 17 00:00:00 2001 From: SergeantPanda Date: Thu, 17 Jul 2025 19:02:03 -0500 Subject: [PATCH] Move force dummy epg to top. --- .../src/components/forms/M3UGroupFilter.jsx | 117 ++++++++++++------ 1 file changed, 76 insertions(+), 41 deletions(-) diff --git a/frontend/src/components/forms/M3UGroupFilter.jsx b/frontend/src/components/forms/M3UGroupFilter.jsx index f94f35ef..315a6424 100644 --- a/frontend/src/components/forms/M3UGroupFilter.jsx +++ b/frontend/src/components/forms/M3UGroupFilter.jsx @@ -254,13 +254,23 @@ const M3UGroupFilter = ({ playlist = null, isOpen, onClose }) => { {/* Auto Sync Controls */} - toggleAutoSync(group.channel_group)} - size="xs" - /> + + toggleAutoSync(group.channel_group)} + size="xs" + /> + {group.auto_channel_sync && group.enabled && ( + toggleForceDummyEPG(group.channel_group)} + size="xs" + /> + )} + {group.auto_channel_sync && group.enabled && ( <> @@ -274,39 +284,64 @@ const M3UGroupFilter = ({ playlist = null, isOpen, onClose }) => { precision={1} /> - {/* Force Dummy EPG Checkbox */} - toggleForceDummyEPG(group.channel_group)} - size="xs" - /> - - {/* Override Channel Group Select */} - { + const newValue = value ? parseInt(value) : null; + setGroupStates( + groupStates.map((state) => { + if (state.channel_group == group.channel_group) { + return { + ...state, + custom_properties: { + ...state.custom_properties, + group_override: newValue, + }, + }; + } + return state; + }) + ); + }} + data={Object.values(channelGroups).map((g) => ({ + value: g.id.toString(), + label: g.name, + }))} + disabled={!(group.custom_properties && Object.prototype.hasOwnProperty.call(group.custom_properties, 'group_override'))} + clearable + searchable + size="xs" + style={{ flex: 1 }} + /> + )} @@ -334,4 +369,4 @@ const M3UGroupFilter = ({ playlist = null, isOpen, onClose }) => { ); }; -export default M3UGroupFilter; +export default M3UGroupFilter; \ No newline at end of file