import { StyleSheet, SafeAreaView, View, TouchableOpacity, Dimensions } from 'react-native';
import { Text } from '@/components/Themed';
import i18n from '@/i18n';
import { FontAwesome5 } from '@expo/vector-icons';
import ServiceCard from '@/components/ServiceCard';
import React, { useState } from 'react';
import CurrencyConverterModal from '@/components/CurrencyConverterModal';

export default function ServicesScreen() {
  const [modalVisible, setModalVisible] = useState(false);

  const services = [
    {
      title: 'currencyConverter',
      icon: <FontAwesome5 name="dollar-sign" size={24} color="#D4AF37" />,
      onPress: () => setModalVisible(true),
    },
    {
      title: 'hotelCard',
      icon: <FontAwesome5 name="hotel" size={24} color="#D4AF37" />,
    },
    {
      title: 'lostKey',
      icon: <FontAwesome5 name="key" size={24} color="#D4AF37" />,
    },
    {
      title: 'translator',
      icon: <FontAwesome5 name="language" size={24} color="#D4AF37" />,
    },
  ];

  return (
    <SafeAreaView style={styles.container}>
      <Text style={styles.title}>{i18n.t('services')}</Text>

      <View style={styles.grid}>
        {services.map((service, index) => (
          <TouchableOpacity key={index} style={styles.cardContainer} onPress={service.onPress}>
            <ServiceCard title={i18n.t(service.title)} icon={service.icon} />
          </TouchableOpacity>
        ))}
      </View>
      <CurrencyConverterModal
        visible={modalVisible}
        onClose={() => setModalVisible(false)}
      />
    </SafeAreaView>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
  title: {
    fontSize: 22,
    fontWeight: 'bold',
    marginVertical: 15,
    marginLeft: 15,
  },
  grid: {
    flexDirection: 'row',
    flexWrap: 'wrap',
    marginLeft: 15,
  },
  cardContainer: {
    width: '50%',
    marginBottom: 15,
  },
});
