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,
t.atoms.border_contrast_low,
]}>
<View style={[a.flex_1]}>{children}</View>
{children}
</View>
)
}
export function Content({children}: {children: React.ReactNode}) {
return (
<View
style={[
a.flex_1,
a.justify_center,
a.py_xs,
isIOS && a.align_center,
{
paddingHorizontal: BUTTON_SIZE + a.gap_sm.gap,
minHeight: BUTTON_SIZE,
},
]}>
<View style={[a.flex_1, a.justify_center, isIOS && a.align_center]}>
{children}
</View>
)
}
export function Slot({
children,
position = 'left',
}: {
children?: React.ReactNode
position?: 'left' | 'right'
}) {
export function Slot({children}: {children?: React.ReactNode}) {
return (
<View
style={[
a.absolute,
a.inset_0,
a.z_50,
{
width: BUTTON_SIZE,
right: position === 'left' ? 'auto' : 0,
left: position === 'right' ? 'auto' : 0,
},
]}>
{children}
+1
View File
@@ -29,6 +29,7 @@ export function AboutSettingsScreen({}: Props) {
<Trans>About</Trans>
</Layout.Header.TitleText>
</Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer>
<SettingsList.Container>
<SettingsList.LinkItem
@@ -47,6 +47,7 @@ export function AccessibilitySettingsScreen({}: Props) {
<Trans>Accessibility</Trans>
</Layout.Header.TitleText>
</Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer>
<SettingsList.Container>
<SettingsList.Group contentContainerStyle={[a.gap_sm]}>
+1
View File
@@ -46,6 +46,7 @@ export function AccountSettingsScreen({}: Props) {
<Trans>Account</Trans>
</Layout.Header.TitleText>
</Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer>
<SettingsList.Container>
+1
View File
@@ -29,6 +29,7 @@ export function AppIconSettingsScreen({}: Props) {
<Trans>App Icon</Trans>
</Layout.Header.TitleText>
</Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer>
<Text style={[a.text_lg, a.font_heavy]}>Defaults</Text>
<View style={[a.flex_row, a.flex_wrap]}>
+1
View File
@@ -52,6 +52,7 @@ export function AppPasswordsScreen({}: Props) {
<Trans>App Passwords</Trans>
</Layout.Header.TitleText>
</Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer>
{error ? (
<ErrorScreen
@@ -87,6 +87,7 @@ export function AppearanceSettingsScreen({}: Props) {
<Trans>Appearance</Trans>
</Layout.Header.TitleText>
</Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer>
<SettingsList.Container>
<AppearanceToggleButtonGroup
@@ -40,6 +40,7 @@ export function ContentAndMediaSettingsScreen({}: Props) {
<Trans>Content & Media</Trans>
</Layout.Header.TitleText>
</Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer>
<SettingsList.Container>
<SettingsList.LinkItem
@@ -34,6 +34,7 @@ export function ExternalMediaPreferencesScreen({}: Props) {
<Trans>External Media Preferences</Trans>
</Layout.Header.TitleText>
</Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer>
<SettingsList.Container>
<SettingsList.Item>
@@ -56,6 +56,7 @@ export function FollowingFeedPreferencesScreen({}: Props) {
<Trans>Following Feed Preferences</Trans>
</Layout.Header.TitleText>
</Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer>
<SettingsList.Container>
<SettingsList.Item>
@@ -72,6 +72,7 @@ export function LanguageSettingsScreen({}: Props) {
<Trans>Languages</Trans>
</Layout.Header.TitleText>
</Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer>
<SettingsList.Container>
<SettingsList.Group iconInset={false}>
@@ -41,6 +41,7 @@ export function NotificationSettingsScreen({}: Props) {
<Trans>Notification Settings</Trans>
</Layout.Header.TitleText>
</Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer>
{isQueryError ? (
<Error
@@ -37,6 +37,7 @@ export function PrivacyAndSecuritySettingsScreen({}: Props) {
<Trans>Privacy and Security</Trans>
</Layout.Header.TitleText>
</Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer>
<SettingsList.Container>
<SettingsList.Item>
+1
View File
@@ -81,6 +81,7 @@ export function SettingsScreen({}: Props) {
<Trans>Settings</Trans>
</Layout.Header.TitleText>
</Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer>
<SettingsList.Container>
@@ -46,6 +46,7 @@ export function ThreadPreferencesScreen({}: Props) {
<Trans>Thread Preferences</Trans>
</Layout.Header.TitleText>
</Layout.Header.Content>
<Layout.Header.Slot />
</Layout.Header.Outer>
<SettingsList.Container>