/* Предрейсовые осмотры - мобильное приложение Конфигурация приложения */ //--------------------- //Подключение библиотек //--------------------- const { responsiveSize, isTablet } = require('../utils/responsive'); //Адаптивные утилиты const { Platform } = require('react-native'); //--------- //Константы //--------- //Настройки сервера приложений const SYSTEM = { //Адрес сервера приложений SERVER: '', //Таймаут сетевых запросов (мс) REQUEST_TIMEOUT: 30000, //Минимальная версия Android для работы с SQLite MIN_ANDROID_VERSION: 7.0, //Минимальная версия iOS для работы с SQLite MIN_IOS_VERSION: 11.0 }; //Настройки локального хранилища const LOCAL_DB = { //Ключ для хранения данных предрейсовых осмотров INSPECTIONS_KEY: 'pretrip_inspections', //Резервное хранилище для старых устройств (AsyncStorage) FALLBACK_STORAGE_KEY: 'pretrip_fallback_storage' }; //Настройки интерфейса 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 = { SYSTEM, LOCAL_DB, UI, COMPATIBILITY };