/** * Shipment Tracking Settings Component */ import { useState } from "react" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import { Loader2, Truck, Settings, Mail, Paintbrush, BarChart3, Crown } from "lucide-react" import { toast } from "sonner" import { useTrackingSettings } from "../hooks/use-shipment-tracking" import { GeneralTab } from "./tabs/general-tab" import { EmailTab } from "./tabs/email-tab" import { AppearanceTab } from "./tabs/appearance-tab" import { AnalyticsTab } from "./tabs/analytics-tab" import { ShipmentTrackingUpgradeTab } from "./tabs/upgrade-tab" import { FeatureHeader } from "@/components/feature-header" import { usePro } from "@/contexts/pro-context" import { ProIndicator } from "@/components/pro/pro-indicator" export function ShipmentTrackingSettings() { const { settings, carriers, isLoading, isSaving, error, hasChanges, saveSettings, updateSetting, resetToDefaults } = useTrackingSettings() const [activeTab, setActiveTab] = useState('general') const { isPro } = usePro() const handleSave = async () => { const success = await saveSettings(settings) if (success) { toast.success('Settings saved successfully') } else { toast.error('Failed to save settings') } } if (isLoading) { return (
) } if (error) { return (
{error}
) } return ( } title="Shipment Tracking" description="Add tracking information to orders and let customers track their shipments." documentationUrl="https://www.swiftcommerce.io/help/shipping/shipment-tracking/" enabled={settings.enabled} onEnabledChange={(enabled) => updateSetting('enabled', enabled)} hasChanges={hasChanges} isSaving={isSaving} onSave={handleSave} onReset={resetToDefaults} > General Email Appearance {isPro && ( Analytics )} {!isPro && ( Upgrade to Pro )} {isPro && ( )} {!isPro && ( )} ) }