import React from 'react'; import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'; import { Settings as SettingsIcon, Save, ToggleLeft, ToggleRight } from 'lucide-react'; import { apiClient } from '../lib/api'; const Settings: React.FC = () => { const queryClient = useQueryClient(); const { data: settings, isLoading, error } = useQuery({ queryKey: ['settings'], queryFn: () => apiClient.getSettings(), }); const updateMutation = useMutation({ mutationFn: (data: any) => apiClient.updateSettings(data), onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['settings'] }); }, }); const handleToggle = (key: string, value: boolean) => { updateMutation.mutate({ [key]: value }); }; if (isLoading) { return (
); } if (error) { return (

Failed to load settings

); } return (

Settings

Configure your system preferences

{/* Article Processing Settings */}

Article Processing

Control how articles are processed and handled

Article Processing Enabled

Enable automatic fetching and processing of articles from feeds

Publishing Approvals Required

Require manual approval before articles are published to platforms

{/* Status indicator */} {updateMutation.isPending && (

Updating settings...

)} {updateMutation.isError && (

Failed to update settings. Please try again.

)} {updateMutation.isSuccess && (

Settings updated successfully!

)}
); }; export default Settings;