forked from facebook/create-react-app
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNavigationBar.js
69 lines (59 loc) · 1.61 KB
/
NavigationBar.js
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
57
58
59
60
61
62
63
64
65
66
67
68
69
/**
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
/* @flow */
import React from 'react';
import assign from 'object-assign';
import { red, redTransparent } from '../styles';
const navigationBarStyle = {
marginBottom: '0.5rem',
};
const buttonContainerStyle = {
marginRight: '1em',
};
const _navButtonStyle = {
backgroundColor: redTransparent,
color: red,
border: 'none',
borderRadius: '4px',
padding: '3px 6px',
cursor: 'pointer',
};
const leftButtonStyle = assign({}, _navButtonStyle, {
borderTopRightRadius: '0px',
borderBottomRightRadius: '0px',
marginRight: '1px',
});
const rightButtonStyle = assign({}, _navButtonStyle, {
borderTopLeftRadius: '0px',
borderBottomLeftRadius: '0px',
});
type Callback = () => void;
type NavigationBarPropsType = {|
currentError: number,
totalErrors: number,
previous: Callback,
next: Callback,
|};
function NavigationBar(props: NavigationBarPropsType) {
const { currentError, totalErrors, previous, next } = props;
return (
<div style={navigationBarStyle}>
<span style={buttonContainerStyle}>
<button onClick={previous} style={leftButtonStyle}>
←
</button>
<button onClick={next} style={rightButtonStyle}>
→
</button>
</span>
{`${currentError} of ${totalErrors} errors on the page`}
</div>
);
}
export default NavigationBar;