about summary refs log tree commit diff
path: root/src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx
blob: 84e5f90fb41b9f8f666f506d780431c8a8a02a61 (plain) (blame)
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
46
47
48
49
50
51
52
53
54
55
56
/**
 * Copyright (c) JOB TODAY S.A. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 */

import React from 'react'
import {SafeAreaView, Text, TouchableOpacity, StyleSheet} from 'react-native'

type Props = {
  onRequestClose: () => void
}

const HIT_SLOP = {top: 16, left: 16, bottom: 16, right: 16}

const ImageDefaultHeader = ({onRequestClose}: Props) => (
  <SafeAreaView style={styles.root}>
    <TouchableOpacity
      style={styles.closeButton}
      onPress={onRequestClose}
      hitSlop={HIT_SLOP}
      accessibilityRole="button"
      accessibilityLabel="Close image"
      accessibilityHint="Closes viewer for header image"
      onAccessibilityEscape={onRequestClose}>
      <Text style={styles.closeText}></Text>
    </TouchableOpacity>
  </SafeAreaView>
)

const styles = StyleSheet.create({
  root: {
    alignItems: 'flex-end',
  },
  closeButton: {
    marginRight: 8,
    marginTop: 8,
    width: 44,
    height: 44,
    alignItems: 'center',
    justifyContent: 'center',
    borderRadius: 22,
    backgroundColor: '#00000077',
  },
  closeText: {
    lineHeight: 22,
    fontSize: 19,
    textAlign: 'center',
    color: '#FFF',
    includeFontPadding: false,
  },
})

export default ImageDefaultHeader