import React, { useEffect, useState } from 'react' import { FaCode, FaGlobe, FaServer, FaUsers, FaShieldAlt, FaCog, FaCheckCircle, } from 'react-icons/fa' import { Link } from 'react-router-dom' import { useLocalization } from '@/utils/hooks/useLocalization' import { ROUTES_ENUM } from '@/routes/route.constant' import { Helmet } from 'react-helmet' import { ServiceDto } from '@/proxy/services/models' import { getServices } from '@/services/service.service' import navigationIcon from '@/configs/navigation-icon.config' const Services: React.FC = () => { const { translate } = useLocalization() const [services, setServices] = useState([]) const [loading, setLoading] = useState(true) const iconColors = [ 'text-blue-600', 'text-red-600', 'text-green-600', 'text-purple-600', 'text-yellow-600', 'text-indigo-600', ] function getRandomColor() { return iconColors[Math.floor(Math.random() * iconColors.length)] } useEffect(() => { setLoading(true) const fetchServices = async () => { try { const result = await getServices() const items = result?.data?.map((service: ServiceDto) => ({ icon: service.icon, title: service.title, description: service.description, type: service.type, features: service.features, })) setServices(items) } catch (error) { console.error('Service listesi alınırken hata oluştu:', error) } finally { setLoading(false) } } fetchServices() }, []) return (
{/* Hero Section */}

{translate('::Public.services.title')}

{translate('::Public.services.subtitle')}

{/* Services Grid */}
{services .filter((a) => a.type === 'service') .map((service, index) => { const IconComponent = navigationIcon[service.icon || ''] return (
{IconComponent && ( )}

{translate('::' + service.title)}

{translate('::' + service.description)}

    {service.features.map((feature, fIndex) => (
  • {translate('::' + feature)}
  • ))}
) })}
{/* Support Plans */}

{translate('::Public.services.support.title')}

{services .filter((a) => a.type === 'support') .map((plan, index) => { const IconComponent = navigationIcon[plan.icon || ''] return (
{IconComponent && ( )}

{translate('::' + plan.title)}

    {plan.features.map((feature, fIndex) => (
  • {translate('::' + feature)}
  • ))}
{translate('::Public.services.support.contactButton')}
) })}
{/* Call to Action */}

{translate('::Public.services.cta.title')}

{translate('::Public.services.cta.description')}

{translate('::Public.services.cta.contact')}
) } export default Services