Trade boilerplate for ease of use

This commit is contained in:
Eric Bailey
2024-12-02 18:42:52 -06:00
parent e5470f946f
commit 8167885aa8
15 changed files with 17 additions and 23 deletions
+3 -23
View File
@@ -32,46 +32,26 @@ export function Outer({children}: {children: React.ReactNode}) {
a.py_sm, a.py_sm,
t.atoms.border_contrast_low, t.atoms.border_contrast_low,
]}> ]}>
<View style={[a.flex_1]}>{children}</View> {children}
</View> </View>
) )
} }
export function Content({children}: {children: React.ReactNode}) { export function Content({children}: {children: React.ReactNode}) {
return ( return (
<View <View style={[a.flex_1, a.justify_center, isIOS && a.align_center]}>
style={[
a.flex_1,
a.justify_center,
a.py_xs,
isIOS && a.align_center,
{
paddingHorizontal: BUTTON_SIZE + a.gap_sm.gap,
minHeight: BUTTON_SIZE,
},
]}>
{children} {children}
</View> </View>
) )
} }
export function Slot({ export function Slot({children}: {children?: React.ReactNode}) {
children,
position = 'left',
}: {
children?: React.ReactNode
position?: 'left' | 'right'
}) {
return ( return (
<View <View
style={[ style={[
a.absolute,
a.inset_0,
a.z_50, a.z_50,
{ {
width: BUTTON_SIZE, width: BUTTON_SIZE,
right: position === 'left' ? 'auto' : 0,
left: position === 'right' ? 'auto' : 0,
}, },
]}> ]}>
{children} {children}
+1
View File
@@ -29,6 +29,7 @@ export function AboutSettingsScreen({}: Props) {
<Trans>About</Trans> <Trans>About</Trans>
</Layout.Header.TitleText> </Layout.Header.TitleText>
</Layout.Header.Content> </Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer> </Layout.Header.Outer>
<SettingsList.Container> <SettingsList.Container>
<SettingsList.LinkItem <SettingsList.LinkItem
@@ -47,6 +47,7 @@ export function AccessibilitySettingsScreen({}: Props) {
<Trans>Accessibility</Trans> <Trans>Accessibility</Trans>
</Layout.Header.TitleText> </Layout.Header.TitleText>
</Layout.Header.Content> </Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer> </Layout.Header.Outer>
<SettingsList.Container> <SettingsList.Container>
<SettingsList.Group contentContainerStyle={[a.gap_sm]}> <SettingsList.Group contentContainerStyle={[a.gap_sm]}>
+1
View File
@@ -46,6 +46,7 @@ export function AccountSettingsScreen({}: Props) {
<Trans>Account</Trans> <Trans>Account</Trans>
</Layout.Header.TitleText> </Layout.Header.TitleText>
</Layout.Header.Content> </Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer> </Layout.Header.Outer>
<SettingsList.Container> <SettingsList.Container>
+1
View File
@@ -29,6 +29,7 @@ export function AppIconSettingsScreen({}: Props) {
<Trans>App Icon</Trans> <Trans>App Icon</Trans>
</Layout.Header.TitleText> </Layout.Header.TitleText>
</Layout.Header.Content> </Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer> </Layout.Header.Outer>
<Text style={[a.text_lg, a.font_heavy]}>Defaults</Text> <Text style={[a.text_lg, a.font_heavy]}>Defaults</Text>
<View style={[a.flex_row, a.flex_wrap]}> <View style={[a.flex_row, a.flex_wrap]}>
+1
View File
@@ -52,6 +52,7 @@ export function AppPasswordsScreen({}: Props) {
<Trans>App Passwords</Trans> <Trans>App Passwords</Trans>
</Layout.Header.TitleText> </Layout.Header.TitleText>
</Layout.Header.Content> </Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer> </Layout.Header.Outer>
{error ? ( {error ? (
<ErrorScreen <ErrorScreen
@@ -87,6 +87,7 @@ export function AppearanceSettingsScreen({}: Props) {
<Trans>Appearance</Trans> <Trans>Appearance</Trans>
</Layout.Header.TitleText> </Layout.Header.TitleText>
</Layout.Header.Content> </Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer> </Layout.Header.Outer>
<SettingsList.Container> <SettingsList.Container>
<AppearanceToggleButtonGroup <AppearanceToggleButtonGroup
@@ -40,6 +40,7 @@ export function ContentAndMediaSettingsScreen({}: Props) {
<Trans>Content & Media</Trans> <Trans>Content & Media</Trans>
</Layout.Header.TitleText> </Layout.Header.TitleText>
</Layout.Header.Content> </Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer> </Layout.Header.Outer>
<SettingsList.Container> <SettingsList.Container>
<SettingsList.LinkItem <SettingsList.LinkItem
@@ -34,6 +34,7 @@ export function ExternalMediaPreferencesScreen({}: Props) {
<Trans>External Media Preferences</Trans> <Trans>External Media Preferences</Trans>
</Layout.Header.TitleText> </Layout.Header.TitleText>
</Layout.Header.Content> </Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer> </Layout.Header.Outer>
<SettingsList.Container> <SettingsList.Container>
<SettingsList.Item> <SettingsList.Item>
@@ -56,6 +56,7 @@ export function FollowingFeedPreferencesScreen({}: Props) {
<Trans>Following Feed Preferences</Trans> <Trans>Following Feed Preferences</Trans>
</Layout.Header.TitleText> </Layout.Header.TitleText>
</Layout.Header.Content> </Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer> </Layout.Header.Outer>
<SettingsList.Container> <SettingsList.Container>
<SettingsList.Item> <SettingsList.Item>
@@ -72,6 +72,7 @@ export function LanguageSettingsScreen({}: Props) {
<Trans>Languages</Trans> <Trans>Languages</Trans>
</Layout.Header.TitleText> </Layout.Header.TitleText>
</Layout.Header.Content> </Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer> </Layout.Header.Outer>
<SettingsList.Container> <SettingsList.Container>
<SettingsList.Group iconInset={false}> <SettingsList.Group iconInset={false}>
@@ -41,6 +41,7 @@ export function NotificationSettingsScreen({}: Props) {
<Trans>Notification Settings</Trans> <Trans>Notification Settings</Trans>
</Layout.Header.TitleText> </Layout.Header.TitleText>
</Layout.Header.Content> </Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer> </Layout.Header.Outer>
{isQueryError ? ( {isQueryError ? (
<Error <Error
@@ -37,6 +37,7 @@ export function PrivacyAndSecuritySettingsScreen({}: Props) {
<Trans>Privacy and Security</Trans> <Trans>Privacy and Security</Trans>
</Layout.Header.TitleText> </Layout.Header.TitleText>
</Layout.Header.Content> </Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer> </Layout.Header.Outer>
<SettingsList.Container> <SettingsList.Container>
<SettingsList.Item> <SettingsList.Item>
+1
View File
@@ -81,6 +81,7 @@ export function SettingsScreen({}: Props) {
<Trans>Settings</Trans> <Trans>Settings</Trans>
</Layout.Header.TitleText> </Layout.Header.TitleText>
</Layout.Header.Content> </Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer> </Layout.Header.Outer>
<SettingsList.Container> <SettingsList.Container>
@@ -46,6 +46,7 @@ export function ThreadPreferencesScreen({}: Props) {
<Trans>Thread Preferences</Trans> <Trans>Thread Preferences</Trans>
</Layout.Header.TitleText> </Layout.Header.TitleText>
</Layout.Header.Content> </Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer> </Layout.Header.Outer>
<SettingsList.Container> <SettingsList.Container>