import { Colors } from "@/constants/theme";
import { StyleSheet } from "react-native";

export const createStyles = (colors: typeof Colors.light) =>
  StyleSheet.create({
    closeIconButton: {
      backgroundColor: colors.error,
      borderRadius: 10,
      padding: 10,
      justifyContent: "center",
      alignItems: "center",
    },
    container: {
      flex: 1,
      backgroundColor: colors.backgroundSecondary,
    },
    header: {
      flexDirection: "row",
      justifyContent: "space-between",
      alignItems: "center",
      paddingHorizontal: 20,
      paddingTop: 30,
      paddingBottom: 16,
      backgroundColor: colors.surface,
      borderBottomWidth: 1,
      borderBottomColor: colors.separator,
    },
    title: {
      fontSize: 22,
      fontWeight: "700",
      color: colors.text,
      flex: 1,
    },
    headerButtons: {
      flexDirection: "row",
      alignItems: "center",
      gap: 12,
    },
    editButton: {
      padding: 4,
    },
    editIconButton: {
      backgroundColor: colors.primary,
      borderRadius: 10,
      padding: 10,
      justifyContent: "center",
      alignItems: "center",
    },
    cancelButton: {
      paddingHorizontal: 12,
      paddingVertical: 6,
    },
    cancelButtonText: {
      color: colors.primary,
      fontSize: 16,
      fontWeight: "600",
    },
    saveButton: {
      backgroundColor: colors.primary,
      paddingHorizontal: 16,
      paddingVertical: 6,
      borderRadius: 6,
    },
    saveButtonText: {
      color: "#fff",
      fontSize: 16,
      fontWeight: "600",
    },
    closeButton: {
      padding: 4,
    },
    content: {
      flex: 1,
      padding: 16,
    },
    itemCard: {
      backgroundColor: colors.surfaceSecondary,
      borderRadius: 12,
      padding: 16,
      marginBottom: 12,
      shadowColor: "#000",
      shadowOpacity: 0.05,
      shadowRadius: 4,
      shadowOffset: { width: 0, height: 2 },
      elevation: 2,
    },
    fieldGroup: {
      marginBottom: 12,
    },
    rowGroup: {
      flexDirection: "row",
      marginBottom: 12,
    },
    label: {
      fontSize: 13,
      fontWeight: "600",
      color: colors.textSecondary,
      marginBottom: 6,
    },
    input: {
      borderWidth: 1,
      borderColor: colors.primary,
      borderRadius: 8,
      paddingHorizontal: 12,
      paddingVertical: 10,
      fontSize: 15,
      color: colors.text,
      backgroundColor: colors.surface,
    },
    inputDisabled: {
      borderColor: colors.border,
      backgroundColor: colors.backgroundSecondary,
      color: colors.textSecondary,
    },
    totalContainer: {
      backgroundColor: colors.backgroundSecondary,
      borderRadius: 8,
      paddingHorizontal: 12,
      paddingVertical: 10,
      borderWidth: 1,
      borderColor: colors.border,
    },
    totalText: {
      fontSize: 16,
      fontWeight: "700",
      color: colors.warning,
    },
    footerTotal: {
      backgroundColor: colors.card,
      borderRadius: 12,
      padding: 20,
      marginTop: 8,
      marginBottom: 50,
      flexDirection: "row",
      justifyContent: "space-between",
      alignItems: "center",
      shadowColor: "#000",
      shadowOpacity: 0.1,
      shadowRadius: 4,
      shadowOffset: { width: 0, height: 2 },
      elevation: 3,
    },
    footerLabel: {
      fontSize: 18,
      fontWeight: "700",
      color: colors.primary,
    },
    footerAmount: {
      fontSize: 20,
      fontWeight: "700",
      color: colors.warning,
    },
  });
