-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove top padding from shell, move down into individual screens (#5548)
- Loading branch information
Showing
53 changed files
with
1,545 additions
and
1,385 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
import React from 'react' | ||
import {View, ViewStyle} from 'react-native' | ||
import {StyleProp} from 'react-native' | ||
import {useSafeAreaInsets} from 'react-native-safe-area-context' | ||
|
||
import {atoms as a} from '#/alf' | ||
|
||
// Every screen should have a Layout component wrapping it. | ||
// This component provides a default padding for the top of the screen. | ||
// This allows certain screens to avoid the top padding if they want to. | ||
// | ||
// In a future PR I will add a unified header component to this file and | ||
// things like a preconfigured scrollview. | ||
|
||
/** | ||
* Every screen should have a Layout.Screen component wrapping it. | ||
* This component provides a default padding for the top of the screen | ||
* and height/minHeight | ||
*/ | ||
let Screen = ({ | ||
disableTopPadding, | ||
style, | ||
...props | ||
}: React.ComponentProps<typeof View> & { | ||
disableTopPadding?: boolean | ||
style?: StyleProp<ViewStyle> | ||
}): React.ReactNode => { | ||
const {top} = useSafeAreaInsets() | ||
return ( | ||
<View | ||
style={[ | ||
{paddingTop: disableTopPadding ? 0 : top}, | ||
a.util_screen_outer, | ||
style, | ||
]} | ||
{...props} | ||
/> | ||
) | ||
} | ||
Screen = React.memo(Screen) | ||
export {Screen} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,113 +1,116 @@ | ||
import React from 'react' | ||
import {View} from 'react-native' | ||
|
||
import {ScrollView} from 'view/com/util/Views' | ||
import {ScrollView} from '#/view/com/util/Views' | ||
import {atoms as a} from '#/alf' | ||
import {Button, ButtonText} from '#/components/Button' | ||
import * as Layout from '#/components/Layout' | ||
import {Text} from '#/components/Typography' | ||
import {SharedPrefs} from '../../../modules/expo-bluesky-swiss-army' | ||
|
||
export function SharedPreferencesTesterScreen() { | ||
const [currentTestOutput, setCurrentTestOutput] = React.useState<string>('') | ||
|
||
return ( | ||
<ScrollView contentContainerStyle={{backgroundColor: 'red'}}> | ||
<View style={[a.flex_1]}> | ||
<View> | ||
<Text testID="testOutput">{currentTestOutput}</Text> | ||
<Layout.Screen> | ||
<ScrollView contentContainerStyle={{backgroundColor: 'red'}}> | ||
<View style={[a.flex_1]}> | ||
<View> | ||
<Text testID="testOutput">{currentTestOutput}</Text> | ||
</View> | ||
<View style={[a.flex_wrap]}> | ||
<Button | ||
label="btn" | ||
testID="setStringBtn" | ||
style={[a.self_center]} | ||
variant="solid" | ||
color="primary" | ||
size="small" | ||
onPress={async () => { | ||
SharedPrefs.removeValue('testerString') | ||
SharedPrefs.setValue('testerString', 'Hello') | ||
const str = SharedPrefs.getString('testerString') | ||
console.log(JSON.stringify(str)) | ||
setCurrentTestOutput(`${str}`) | ||
}}> | ||
<ButtonText>Set String</ButtonText> | ||
</Button> | ||
<Button | ||
label="btn" | ||
testID="removeStringBtn" | ||
style={[a.self_center]} | ||
variant="solid" | ||
color="primary" | ||
size="small" | ||
onPress={async () => { | ||
SharedPrefs.removeValue('testerString') | ||
const str = SharedPrefs.getString('testerString') | ||
setCurrentTestOutput(`${str}`) | ||
}}> | ||
<ButtonText>Remove String</ButtonText> | ||
</Button> | ||
<Button | ||
label="btn" | ||
testID="setBoolBtn" | ||
style={[a.self_center]} | ||
variant="solid" | ||
color="primary" | ||
size="small" | ||
onPress={async () => { | ||
SharedPrefs.removeValue('testerBool') | ||
SharedPrefs.setValue('testerBool', true) | ||
const bool = SharedPrefs.getBool('testerBool') | ||
setCurrentTestOutput(`${bool}`) | ||
}}> | ||
<ButtonText>Set Bool</ButtonText> | ||
</Button> | ||
<Button | ||
label="btn" | ||
testID="setNumberBtn" | ||
style={[a.self_center]} | ||
variant="solid" | ||
color="primary" | ||
size="small" | ||
onPress={async () => { | ||
SharedPrefs.removeValue('testerNumber') | ||
SharedPrefs.setValue('testerNumber', 123) | ||
const num = SharedPrefs.getNumber('testerNumber') | ||
setCurrentTestOutput(`${num}`) | ||
}}> | ||
<ButtonText>Set Number</ButtonText> | ||
</Button> | ||
<Button | ||
label="btn" | ||
testID="addToSetBtn" | ||
style={[a.self_center]} | ||
variant="solid" | ||
color="primary" | ||
size="small" | ||
onPress={async () => { | ||
SharedPrefs.removeFromSet('testerSet', 'Hello!') | ||
SharedPrefs.addToSet('testerSet', 'Hello!') | ||
const contains = SharedPrefs.setContains('testerSet', 'Hello!') | ||
setCurrentTestOutput(`${contains}`) | ||
}}> | ||
<ButtonText>Add to Set</ButtonText> | ||
</Button> | ||
<Button | ||
label="btn" | ||
testID="removeFromSetBtn" | ||
style={[a.self_center]} | ||
variant="solid" | ||
color="primary" | ||
size="small" | ||
onPress={async () => { | ||
SharedPrefs.removeFromSet('testerSet', 'Hello!') | ||
const contains = SharedPrefs.setContains('testerSet', 'Hello!') | ||
setCurrentTestOutput(`${contains}`) | ||
}}> | ||
<ButtonText>Remove from Set</ButtonText> | ||
</Button> | ||
</View> | ||
</View> | ||
<View style={[a.flex_wrap]}> | ||
<Button | ||
label="btn" | ||
testID="setStringBtn" | ||
style={[a.self_center]} | ||
variant="solid" | ||
color="primary" | ||
size="small" | ||
onPress={async () => { | ||
SharedPrefs.removeValue('testerString') | ||
SharedPrefs.setValue('testerString', 'Hello') | ||
const str = SharedPrefs.getString('testerString') | ||
console.log(JSON.stringify(str)) | ||
setCurrentTestOutput(`${str}`) | ||
}}> | ||
<ButtonText>Set String</ButtonText> | ||
</Button> | ||
<Button | ||
label="btn" | ||
testID="removeStringBtn" | ||
style={[a.self_center]} | ||
variant="solid" | ||
color="primary" | ||
size="small" | ||
onPress={async () => { | ||
SharedPrefs.removeValue('testerString') | ||
const str = SharedPrefs.getString('testerString') | ||
setCurrentTestOutput(`${str}`) | ||
}}> | ||
<ButtonText>Remove String</ButtonText> | ||
</Button> | ||
<Button | ||
label="btn" | ||
testID="setBoolBtn" | ||
style={[a.self_center]} | ||
variant="solid" | ||
color="primary" | ||
size="small" | ||
onPress={async () => { | ||
SharedPrefs.removeValue('testerBool') | ||
SharedPrefs.setValue('testerBool', true) | ||
const bool = SharedPrefs.getBool('testerBool') | ||
setCurrentTestOutput(`${bool}`) | ||
}}> | ||
<ButtonText>Set Bool</ButtonText> | ||
</Button> | ||
<Button | ||
label="btn" | ||
testID="setNumberBtn" | ||
style={[a.self_center]} | ||
variant="solid" | ||
color="primary" | ||
size="small" | ||
onPress={async () => { | ||
SharedPrefs.removeValue('testerNumber') | ||
SharedPrefs.setValue('testerNumber', 123) | ||
const num = SharedPrefs.getNumber('testerNumber') | ||
setCurrentTestOutput(`${num}`) | ||
}}> | ||
<ButtonText>Set Number</ButtonText> | ||
</Button> | ||
<Button | ||
label="btn" | ||
testID="addToSetBtn" | ||
style={[a.self_center]} | ||
variant="solid" | ||
color="primary" | ||
size="small" | ||
onPress={async () => { | ||
SharedPrefs.removeFromSet('testerSet', 'Hello!') | ||
SharedPrefs.addToSet('testerSet', 'Hello!') | ||
const contains = SharedPrefs.setContains('testerSet', 'Hello!') | ||
setCurrentTestOutput(`${contains}`) | ||
}}> | ||
<ButtonText>Add to Set</ButtonText> | ||
</Button> | ||
<Button | ||
label="btn" | ||
testID="removeFromSetBtn" | ||
style={[a.self_center]} | ||
variant="solid" | ||
color="primary" | ||
size="small" | ||
onPress={async () => { | ||
SharedPrefs.removeFromSet('testerSet', 'Hello!') | ||
const contains = SharedPrefs.setContains('testerSet', 'Hello!') | ||
setCurrentTestOutput(`${contains}`) | ||
}}> | ||
<ButtonText>Remove from Set</ButtonText> | ||
</Button> | ||
</View> | ||
</View> | ||
</ScrollView> | ||
</ScrollView> | ||
</Layout.Screen> | ||
) | ||
} |
Oops, something went wrong.