mirror of
https://github.com/zhigang1992/create-react-app.git
synced 2026-04-04 22:50:27 +08:00
* Convert react-error-overlay to React * Update compile-time error overlay to use react-error-overlay components * Refactor react-error-overlay components to container and presentational components. * Make the compile-time error overlay a part of react-error-overlay package. * Use react-error-overlay as dependency in react-dev-utils to show compile-time errors. * Run Prettier * Move the function name fix into StackFrame itself * Fix clicking on source code snippet to open the code in editor * Use exact objects + minor style tweak * Don't linkify frames that don't exist on the disk * Fix lint * Consolidate iframe rendering logic * Remove circular dependency between react-dev-utils and react-error-overlay * Fix lint * Fix decoupling of react-dev-utils and react-error-overlay by moving middleware * Deduplicate identical errors
71 lines
1.6 KiB
JavaScript
71 lines
1.6 KiB
JavaScript
/**
|
|
* 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 { 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 = {
|
|
..._navButtonStyle,
|
|
borderTopRightRadius: '0px',
|
|
borderBottomRightRadius: '0px',
|
|
marginRight: '1px',
|
|
};
|
|
|
|
const rightButtonStyle = {
|
|
..._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;
|