import React, { useState, useEffect } from 'react'; import { useSearchParams, useNavigate } from 'react-router-dom'; import { SettingsLayout } from '@/routes/Settings/components/SettingsLayout'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; import { Button } from '@/components/ui/button'; import { Mail } from 'lucide-react'; import { __ } from '@/lib/i18n'; import { useModules } from '@/hooks/useModules'; import Subscribers from './Subscribers'; import Campaigns from './Campaigns'; export default function Newsletter() { const [searchParams, setSearchParams] = useSearchParams(); const [activeTab, setActiveTab] = useState('subscribers'); const navigate = useNavigate(); const { isEnabled } = useModules(); // Check for tab query param useEffect(() => { const tabParam = searchParams.get('tab'); if (tabParam && ['subscribers', 'campaigns'].includes(tabParam)) { setActiveTab(tabParam); } }, [searchParams]); // Update URL when tab changes const handleTabChange = (value: string) => { setActiveTab(value); setSearchParams({ tab: value }); }; // Show disabled state if newsletter module is off if (!isEnabled('newsletter')) { return ( {__('Newsletter Module Disabled')} {__('The newsletter module is currently disabled. Enable it in Settings > Modules to use this feature.')} navigate('/settings/modules')}> {__('Go to Module Settings')} ); } return ( {__('Subscribers')} {__('Campaigns')} ); }
{__('The newsletter module is currently disabled. Enable it in Settings > Modules to use this feature.')}