/*
    Предрейсовые осмотры - мобильное приложение
    Конфигурация приложения
*/

//---------------------
//Подключение библиотек
//---------------------

const { responsiveSize, isTablet } = require('../utils/responsive'); //Адаптивные утилиты
const { Platform } = require('react-native');

//---------
//Константы
//---------

//Настройки интерфейса
const UI = {
    //Отступы по умолчанию (адаптивные)
    PADDING: responsiveSize(isTablet() ? 24 : 16),

    //Радиус скругления по умолчанию (адаптивный)
    BORDER_RADIUS: responsiveSize(isTablet() ? 12 : 8),

    //Размеры шрифтов
    FONT_SIZE_XS: responsiveSize(12),
    FONT_SIZE_SM: responsiveSize(14),
    FONT_SIZE_MD: responsiveSize(16),
    FONT_SIZE_LG: responsiveSize(18),
    FONT_SIZE_XL: responsiveSize(20),
    FONT_SIZE_2XL: responsiveSize(24),

    //Высоты элементов
    BUTTON_HEIGHT: responsiveSize(Platform.OS === 'ios' ? 48 : 44),
    INPUT_HEIGHT: responsiveSize(Platform.OS === 'ios' ? 48 : 44),
    HEADER_HEIGHT: responsiveSize(isTablet() ? 80 : Platform.OS === 'ios' ? 70 : 56)
};

//Проверка совместимости устройства
const COMPATIBILITY = {
    //Проверяем версию Android
    isAndroidCompatible: () => {
        if (Platform.OS !== 'android') return true;

        const majorVersion = parseInt(Platform.Version, 10);
        return majorVersion >= 24; // Android 7.0 = API 24
    },

    //Проверяем версию iOS
    isIOSCompatible: () => {
        if (Platform.OS !== 'ios') return true;

        const majorVersion = parseInt(Platform.Version, 10);
        return majorVersion >= 11; // iOS 11.0
    },

    //Общая проверка совместимости
    isDeviceCompatible: () => {
        return COMPATIBILITY.isAndroidCompatible() && COMPATIBILITY.isIOSCompatible();
    }
};

//----------------
//Интерфейс модуля
//----------------

module.exports = {
    UI,
    COMPATIBILITY
};
