/* Copyright (C) 2025 QuantumNous This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . For commercial licensing, please contact support@quantumnous.com */ import React from 'react'; import CardPro from '../../common/ui/CardPro'; import ChannelsTable from './ChannelsTable'; import ChannelsActions from './ChannelsActions'; import ChannelsFilters from './ChannelsFilters'; import ChannelsTabs from './ChannelsTabs'; import { useChannelsData } from '../../../hooks/channels/useChannelsData'; import { useIsMobile } from '../../../hooks/common/useIsMobile'; import BatchTagModal from './modals/BatchTagModal'; import ModelTestModal from './modals/ModelTestModal'; import ColumnSelectorModal from './modals/ColumnSelectorModal'; import EditChannelModal from './modals/EditChannelModal'; import EditTagModal from './modals/EditTagModal'; import MultiKeyManageModal from './modals/MultiKeyManageModal'; import { createCardProPagination } from '../../../helpers/utils'; const ChannelsPage = () => { const channelsData = useChannelsData(); const isMobile = useIsMobile(); return ( <> {/* Modals */} channelsData.setShowEditTag(false)} refresh={channelsData.refresh} /> channelsData.setShowMultiKeyManageModal(false)} channel={channelsData.currentMultiKeyChannel} onRefresh={channelsData.refresh} /> {/* Main Content */} } actionsArea={} searchArea={} paginationArea={createCardProPagination({ currentPage: channelsData.activePage, pageSize: channelsData.pageSize, total: channelsData.channelCount, onPageChange: channelsData.handlePageChange, onPageSizeChange: channelsData.handlePageSizeChange, isMobile: isMobile, t: channelsData.t, })} t={channelsData.t} > ); }; export default ChannelsPage;