97 lines
3.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
Предрейсовые осмотры - мобильное приложение
Конфигурация приложения
*/
//---------------------
//Подключение библиотек
//---------------------
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
};