/*
    Предрейсовые осмотры - мобильное приложение
    Заглушка области сканера с кнопкой «Сканировать»
*/

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

const React = require('react'); //React
const { View } = require('react-native'); //Базовые компоненты
const AppButton = require('../common/AppButton'); //Кнопка
const AppText = require('../common/AppText'); //Текст
const { SCAN_BUTTON_TITLE } = require('../../config/messages'); //Сообщения
const styles = require('../../styles/scanner/ScannerPlaceholder.styles'); //Стили заглушки

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

//Заглушка: затемнённая область и кнопка открытия сканера; опционально подсказка и вторая кнопка (режим встроенного сканера)
function ScannerPlaceholder({ onScanPress, hintText, secondaryButtonTitle, secondaryButtonOnPress }) {
    const handlePress = React.useCallback(() => {
        if (typeof onScanPress === 'function') {
            onScanPress();
        }
    }, [onScanPress]);

    const handleSecondary = React.useCallback(() => {
        if (typeof secondaryButtonOnPress === 'function') {
            secondaryButtonOnPress();
        }
    }, [secondaryButtonOnPress]);

    return (
        <View style={styles.container}>
            {hintText ? (
                <AppText style={styles.hint} variant="body" numberOfLines={2}>
                    {hintText}
                </AppText>
            ) : null}
            <AppButton title={SCAN_BUTTON_TITLE} onPress={handlePress} style={styles.button} />
            {secondaryButtonTitle && typeof secondaryButtonOnPress === 'function' ? (
                <AppButton title={secondaryButtonTitle} onPress={handleSecondary} style={styles.secondaryButton} />
            ) : null}
        </View>
    );
}

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

module.exports = ScannerPlaceholder;
