diff --git a/frontend/src/views/admin/ChannelsView.vue b/frontend/src/views/admin/ChannelsView.vue
index 6fcb1aeb..1f2cd9f5 100644
--- a/frontend/src/views/admin/ChannelsView.vue
+++ b/frontend/src/views/admin/ChannelsView.vue
@@ -57,17 +57,11 @@
{{ value || '-' }}
-
-
- {{ value === 'active' ? t('admin.channels.statusActive', 'Active') : t('admin.channels.statusDisabled', 'Disabled') }}
-
+
+
@@ -434,6 +428,7 @@ import EmptyState from '@/components/common/EmptyState.vue'
import Select from '@/components/common/Select.vue'
import Icon from '@/components/icons/Icon.vue'
import PlatformIcon from '@/components/common/PlatformIcon.vue'
+import Toggle from '@/components/common/Toggle.vue'
import PricingEntryCard from '@/components/admin/channel/PricingEntryCard.vue'
import { getPersistedPageSize } from '@/composables/usePersistedPageSize'
@@ -950,6 +945,18 @@ async function handleSubmit() {
}
}
+// ── Toggle status ──
+async function toggleChannelStatus(channel: Channel) {
+ const newStatus = channel.status === 'active' ? 'disabled' : 'active'
+ try {
+ await adminAPI.channels.update(channel.id, { status: newStatus })
+ channel.status = newStatus
+ } catch (error) {
+ appStore.showError(t('admin.channels.updateError', 'Failed to update channel'))
+ console.error('Error toggling channel status:', error)
+ }
+}
+
// ── Delete ──
function handleDelete(channel: Channel) {
deletingChannel.value = channel