/*
    Предрейсовые осмотры - мобильное приложение
    Адаптивный контейнер для всех экранов
*/

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

const React = require('react'); //React
const { View } = require('react-native'); //Базовые компоненты
const { useSafeAreaInsets } = require('react-native-safe-area-context'); //Отступы безопасной области
const styles = require('../../styles/common/AdaptiveView.styles'); //Стили адаптивного вида

//-----------
//Тело модуля
//-----------

//Адаптивный контейнер для экранов
function AdaptiveView({ children, style, padding = true, safeArea = true, ...restProps }) {
    const insets = useSafeAreaInsets();

    //Определяем стиль контейнера с учетом safe area
    const containerStyle = [
        styles.container,
        padding && styles.padding,
        safeArea && {
            paddingTop: insets.top,
            paddingBottom: insets.bottom,
            paddingLeft: insets.left,
            paddingRight: insets.right
        },
        style
    ];

    return (
        <View style={containerStyle} {...restProps}>
            {children}
        </View>
    );
}

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

module.exports = AdaptiveView;
