Trade boilerplate for ease of use
This commit is contained in:
@@ -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}
|
||||||
|
|||||||
@@ -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]}>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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]}>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user