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

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

const React = require('react'); //React
const { View } = require('react-native'); //Базовые компоненты
const styles = require('../../styles/common/AppLogo.styles'); //Стили логотипа

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

//Иконка/логотип приложения
function AppLogo({ size = 'medium', style }) {
    //Выбор стилей в зависимости от размера
    const getSizeStyles = React.useCallback(() => {
        switch (size) {
            case 'small':
                return {
                    container: styles.containerSmall,
                    head: styles.headSmall,
                    eye: styles.eyeSmall,
                    antenna: styles.antennaSmall
                };
            case 'large':
                return {
                    container: styles.containerLarge,
                    head: styles.headLarge,
                    eye: styles.eyeLarge,
                    antenna: styles.antennaLarge
                };
            default:
                return {
                    container: styles.containerMedium,
                    head: styles.headMedium,
                    eye: styles.eyeMedium,
                    antenna: styles.antennaMedium
                };
        }
    }, [size]);

    const sizeStyles = getSizeStyles();

    return (
        <View style={[styles.container, sizeStyles.container, style]}>
            <View style={styles.robotContainer}>
                <View style={styles.antennasContainer}>
                    <View style={[styles.antenna, styles.antennaLeft, sizeStyles.antenna]} />
                    <View style={[styles.antenna, styles.antennaRight, sizeStyles.antenna]} />
                </View>

                <View style={[styles.head, sizeStyles.head]}>
                    <View style={styles.eyesContainer}>
                        <View style={[styles.eye, sizeStyles.eye]} />
                        <View style={[styles.eye, sizeStyles.eye]} />
                    </View>
                </View>
            </View>
        </View>
    );
}

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

module.exports = AppLogo;
