All files / apps/host/src/components/ChatBox ChatHeader.tsx

100% Statements 9/9
100% Branches 2/2
100% Functions 4/4
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45                    1x 4x 4x 4x 4x   4x                                                        
import React from 'react';
import { Text, TouchableOpacity, View } from 'react-native';
 
import { RotateCcwIcon } from '@repo/ui/icons';
import { CloseIcon } from '@repo/ui/icons/Close';
 
import { useChatActionsSelector, useChatStateSelector } from '@/contexts/ChatContext';
 
import { useStyles } from './styles';
 
export const ChatHeader = () => {
  const styles = useStyles();
  const onReset = useChatActionsSelector(a => a.onReset);
  const closeChat = useChatActionsSelector(a => a.closeChat);
  const isInitializing = useChatStateSelector(s => s.isInitializing);
 
  return (
    <View style={styles.handleContainer}>
      <View style={styles.handleIndicator} />
      <View style={styles.header}>
        <Text style={styles.title}>Agility Flash</Text>
        <View style={styles.iconGroup}>
          <TouchableOpacity
            onPress={onReset}
            disabled={isInitializing}
            style={[isInitializing && styles.disabledSendBtn]}
            accessibilityRole="button"
            accessibilityLabel="Reset conversation"
            accessibilityState={{ disabled: isInitializing }}
          >
            <RotateCcwIcon width={22} height={22} />
          </TouchableOpacity>
          <TouchableOpacity
            onPress={closeChat}
            accessibilityRole="button"
            accessibilityLabel="Close chat"
          >
            <CloseIcon width={24} height={24} />
          </TouchableOpacity>
        </View>
      </View>
    </View>
  );
};