Skip to content

Commit 5d8315b

Browse files
authored
Merge pull request #7113 from StoDevX/drew/api-tester-refactor
refactor api tester for better separation of concerns
2 parents a690685 + e198276 commit 5d8315b

File tree

13 files changed

+319
-273
lines changed

13 files changed

+319
-273
lines changed

modules/navigation-buttons/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ export {OpenSettingsButton} from './open-settings'
44
export {FavoriteButton} from './favorite'
55
export {DebugNoticeButton} from './debug'
66
export {SearchButton} from './search'
7+
export {NetworkLoggerButton} from './network-logger'
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import * as React from 'react'
2+
import {Platform, StyleSheet, Text} from 'react-native'
3+
import {Touchable} from '@frogpond/touchable'
4+
import {useNavigation, useTheme} from '@react-navigation/native'
5+
import {commonStyles, rightButtonStyles as styles} from './styles'
6+
7+
export const buttonStyles = StyleSheet.create({
8+
text: {
9+
...Platform.select({
10+
ios: {
11+
fontWeight: '600',
12+
},
13+
android: {
14+
fontWeight: '400',
15+
},
16+
}),
17+
},
18+
})
19+
20+
export const NetworkLoggerButton: React.FC = () => {
21+
const navigation = useNavigation()
22+
let {colors} = useTheme()
23+
24+
return (
25+
<Touchable
26+
highlight={false}
27+
onPress={() => navigation.navigate('NetworkLogger')}
28+
style={styles.button}
29+
>
30+
<Text
31+
style={[commonStyles.text, buttonStyles.text, {color: colors.primary}]}
32+
>
33+
Log
34+
</Text>
35+
</Touchable>
36+
)
37+
}

modules/use-debounce/index.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import {debounce} from 'lodash'
12
import {useState, useEffect} from 'react'
23

34
export function useDebounce<T>(value: T, delay: number): T {
@@ -15,3 +16,12 @@ export function useDebounce<T>(value: T, delay: number): T {
1516

1617
return debouncedValue
1718
}
19+
20+
export const debounceSearch = debounce(
21+
(query: string, callback: () => void) => {
22+
if (query.length >= 2) {
23+
callback()
24+
}
25+
},
26+
1500,
27+
)

modules/use-debounce/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
"scripts": {
99
"test": "jest"
1010
},
11+
"dependencies": {
12+
"lodash": "4.17.21"
13+
},
1114
"peerDependencies": {
1215
"react": "^18.0.0"
1316
}

package-lock.json

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

source/navigation/routes.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,11 @@ const SettingsStackScreens = () => {
294294
name="APITest"
295295
options={settings.APITestNavigationOptions}
296296
/>
297+
<SettingsStack.Screen
298+
component={settings.APITestDetailView}
299+
name="APITestDetail"
300+
options={settings.APITestDetailNavigationOptions}
301+
/>
297302
<SettingsStack.Screen
298303
component={DevBonAppPickerView}
299304
name="BonAppPicker"

source/navigation/types.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import {Printer, PrintJob} from '../lib/stoprint/types'
2727
import {JobType} from '../views/sis/student-work/types'
2828
import {CourseType} from '../lib/course-search/types'
2929
import {DirectoryItem, DirectorySearchTypeEnum} from '../views/directory/types'
30+
import {ServerRoute} from '../views/settings/screens/api-test/query'
3031

3132
export type RootViewsParamList = {
3233
Home: undefined
@@ -94,6 +95,7 @@ export type RootStackParamList = RootViewsParamList &
9495

9596
export type SettingsStackParamList = {
9697
APITest: undefined
98+
APITestDetail: {query: ServerRoute}
9799
BonAppPicker: undefined
98100
Credits: undefined
99101
[debug.NavigationKey]: {keyPath: string[]}

source/views/settings/index.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,12 @@ export {
1414

1515
// Developer settings
1616
export {DebugRootView} from './screens/debug'
17-
export {APITestView, APITestNavigationOptions} from './screens/api-test'
17+
export {
18+
APITestView,
19+
APITestNavigationOptions,
20+
APITestDetailView,
21+
APITestDetailNavigationOptions,
22+
} from './screens/api-test'
1823
export {
1924
NetworkLoggerView,
2025
NavigationOptions as NetworkLoggerNavigationOptions,

source/views/settings/screens/api-test/api-test.tsx

Lines changed: 0 additions & 190 deletions
This file was deleted.

0 commit comments

Comments
 (0)