diff --git a/demo/App.js b/demo/App.js index c9d4af3..50ce944 100644 --- a/demo/App.js +++ b/demo/App.js @@ -18,7 +18,7 @@ import { } from 'react-native-debug-console'; network.attach(); -log.attach(true); +log.attach(); context.hello = () => 'earth'; console.log('fooo'); diff --git a/lib/src/components/DevTool/Console/Input.js b/lib/src/components/DevTool/Console/Input.js index 3da143a..5ecd9a2 100644 --- a/lib/src/components/DevTool/Console/Input.js +++ b/lib/src/components/DevTool/Console/Input.js @@ -1,12 +1,10 @@ -import React from 'react'; +import React, { useState } from 'react'; import { StyleSheet, View, - Text, TextInput, } from 'react-native'; import styled from 'styled-components/native'; -import State from '../../data/State'; import { context } from '../../../console'; import log from '../../../log'; import Icon from '../../base/Icon'; @@ -36,77 +34,68 @@ const styles = StyleSheet.create({ const Input = ({ logs, -}) => ( - - {({ - text = '', - history = [], - historyOffset, - }, setState) => ( - - - - setState({ text })} - /> - - - )} - -); +}) => { + const [text, setText] = useState(''); + const [history, setHistory] = useState([]); + const [historyOffset, setHistoryOffset] = useState(); + return ( + + + + setText(text)} + /> + + + ); +}; export default Input; diff --git a/lib/src/components/DevTool/Console/index.js b/lib/src/components/DevTool/Console/index.js index 8008c53..ea1c5bb 100644 --- a/lib/src/components/DevTool/Console/index.js +++ b/lib/src/components/DevTool/Console/index.js @@ -1,11 +1,10 @@ -import React from 'react'; +import React, { useState } from 'react'; import { StyleSheet, View, } from 'react-native'; import log from '../../../log'; -import Log from '../../data/Log'; -import State from '../../data/State'; +import useLog from '../../data/log'; import Toolbar, { Button, Selector, @@ -33,42 +32,32 @@ const initFilters = [ const Console = ({ includeStackTrace, -}) => ( - - {({ logs }) => ( - - {({ filters }, setState) => ( - - - { - setState({ - filters: selected, - }); - }} - /> - - - )} - {onClose && ( - - )} - - {tabs[active] && tabs[active].view} - - )} - - -); +}) => { + const [active, setActive] = useState(0); + return ( + +
+ + + {tabs.map(({ name }, i) => ( + { + setActive(i); + }} + > + {name} + + ))} + + + {onDownload && ( + + )} + {onClose && ( + + )} +
+ {tabs[active] && tabs[active].view} +
+ ); +}; Console.propTypes = { tabs: PropTypes.arrayOf(PropTypes.shape({ diff --git a/lib/src/components/base/Toolbar/Selector.js b/lib/src/components/base/Toolbar/Selector.js index 712554d..e80cebd 100644 --- a/lib/src/components/base/Toolbar/Selector.js +++ b/lib/src/components/base/Toolbar/Selector.js @@ -1,9 +1,8 @@ -import React, { Fragment } from 'react'; +import React, { Fragment, useState } from 'react'; import { SafeAreaView, TouchableOpacity, } from 'react-native'; -import State from '../../data/State'; import Button from './Button'; import Row from '../Row'; import Icon from '../Icon'; @@ -17,14 +16,14 @@ const Selector = ({ onSelect, options = [], ...others -}) => ( - - {({ open }, setState) => ( +}) => { + const [open, setOpen] = useState(false); + return (