From 41b4d3b115558950f05d0d04f910c0f8403f4807 Mon Sep 17 00:00:00 2001 From: Morten Olsen Date: Fri, 5 Jul 2019 13:38:02 +0200 Subject: [PATCH] Rewritten to hooks --- demo/App.js | 2 +- lib/src/components/DevTool/Console/Input.js | 139 +++++++++---------- lib/src/components/DevTool/Console/index.js | 69 ++++----- lib/src/components/DevTool/Requests/index.js | 59 ++++---- lib/src/components/DevTool/Storage/index.js | 86 ++++++------ lib/src/components/DevTool/Tab.js | 89 ++++++------ lib/src/components/base/Toolbar/Selector.js | 20 ++- lib/src/components/data/Log.js | 49 ++----- lib/src/components/data/Network.js | 38 ----- lib/src/components/data/State.js | 20 --- lib/src/components/data/Storage.js | 81 +++++------ lib/src/components/data/requests.js | 19 +++ 12 files changed, 278 insertions(+), 393 deletions(-) delete mode 100644 lib/src/components/data/Network.js delete mode 100644 lib/src/components/data/State.js create mode 100644 lib/src/components/data/requests.js 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 (