diff --git a/frontend/src/components/forms/Channel.jsx b/frontend/src/components/forms/Channel.jsx
index fc4a26f5..574c5d3a 100644
--- a/frontend/src/components/forms/Channel.jsx
+++ b/frontend/src/components/forms/Channel.jsx
@@ -55,6 +55,11 @@ const ChannelForm = ({ channel = null, isOpen, onClose }) => {
ensureLogosLoaded,
isLoading: logosLoading,
} = useChannelLogoSelection();
+
+ // Ensure logos are loaded when component mounts
+ useEffect(() => {
+ ensureLogosLoaded();
+ }, [ensureLogosLoaded]);
const streams = useStreamsStore((state) => state.streams);
const streamProfiles = useStreamProfilesStore((s) => s.profiles);
const playlists = usePlaylistsStore((s) => s.playlists);
@@ -242,17 +247,10 @@ const ChannelForm = ({ channel = null, isOpen, onClose }) => {
// Memoize logo options to prevent infinite re-renders during background loading
const logoOptions = useMemo(() => {
- return [{ id: '0', name: 'Default' }].concat(Object.values(logos));
+ const options = [{ id: '0', name: 'Default' }].concat(Object.values(logos));
+ return options;
}, [logos]); // Only depend on logos object
- const renderLogoOption = ({ option, checked }) => {
- return (
-
-
-
- );
- };
-
// Update the handler for when channel group modal is closed
const handleChannelGroupModalClose = (newGroup) => {
setChannelGroupModalOpen(false);
@@ -454,7 +452,7 @@ const ChannelForm = ({ channel = null, isOpen, onClose }) => {