diff --git a/assets/icons/bars3_stroke2_corner0_rounded.svg b/assets/icons/bars3_stroke2_corner0_rounded.svg
new file mode 100644
index 0000000000..cbcb531a6e
--- /dev/null
+++ b/assets/icons/bars3_stroke2_corner0_rounded.svg
@@ -0,0 +1 @@
+
diff --git a/src/components/icons/Bars.tsx b/src/components/icons/Bars.tsx
new file mode 100644
index 0000000000..7b1415a4bc
--- /dev/null
+++ b/src/components/icons/Bars.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Bars3_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M3 5a1 1 0 0 0 0 2h18a1 1 0 1 0 0-2H3Zm-1 7a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Z',
+})
diff --git a/src/screens/ProfileModerationService/Header.tsx b/src/screens/ProfileModerationService/Header.tsx
index 447e525281..409136c6f2 100644
--- a/src/screens/ProfileModerationService/Header.tsx
+++ b/src/screens/ProfileModerationService/Header.tsx
@@ -1,38 +1,29 @@
import React from 'react'
-import {Pressable, StyleSheet, View} from 'react-native'
+import {View} from 'react-native'
import LinearGradient from 'react-native-linear-gradient'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
import {useNavigation} from '@react-navigation/native'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {Text as OldText} from '#/view/com/util/text/Text'
-import {TextLink} from '#/view/com/util/Link'
-import {CenteredView} from '#/view/com/util/Views'
-import {sanitizeHandle} from 'lib/strings/handles'
-import {makeProfileLink} from 'lib/routes/links'
-import {NavigationProp} from 'lib/routes/types'
-import {BACK_HITSLOP} from 'lib/constants'
-import {isNative} from 'platform/detection'
+import {AppBskyModerationDefs} from '@atproto/api'
import {useLingui} from '@lingui/react'
import {Trans, msg} from '@lingui/macro'
+
+import {sanitizeHandle} from '#/lib/strings/handles'
+import {makeProfileLink} from '#/lib/routes/links'
+import {NavigationProp} from '#/lib/routes/types'
import {useSetDrawerOpen} from '#/state/shell'
import {emitSoftReset} from '#/state/events'
-import {AppBskyModerationDefs} from '@atproto/api'
-import {HandIcon} from '#/lib/icons'
-import {shareUrl} from 'lib/sharing'
+import {shareUrl} from '#/lib/sharing'
import {sanitizeDisplayName} from '#/lib/strings/display-names'
-import {Button as OldButton} from '#/view/com/util/forms/Button'
-import {NativeDropdown, DropdownItem} from 'view/com/util/forms/NativeDropdown'
+import {NativeDropdown, DropdownItem} from '#/view/com/util/forms/NativeDropdown'
import {useSession} from '#/state/session'
import {useModalControls} from '#/state/modals'
-import {useTheme, atoms as a, tokens} from '#/alf'
+import {useTheme, atoms as a, tokens, web, native, useBreakpoints} from '#/alf'
import {Text} from '#/components/Typography'
-import {Button, ButtonText} from '#/components/Button'
+import {Button, ButtonText, ButtonIcon} from '#/components/Button'
import {RaisingHande4Finger_Stroke2_Corner0_Rounded as RaisingHand} from '#/components/icons/RaisingHand'
-import {InlineLink} from '#/components/Link'
import {DotGrid1x3Horizontal_Stroke2_Corner0_Rounded as Ellipsis} from '#/components/icons/DotGrid'
import {ChevronLeft_Stroke2_Corner0_Rounded as ChevronLeft} from '#/components/icons/Chevron'
+import {Bars3_Stroke2_Corner0_Rounded as Bars} from '#/components/icons/Bars'
import {Divider} from '#/components/Divider'
export function Header({
@@ -41,11 +32,10 @@ export function Header({
info: AppBskyModerationDefs.ModServiceViewDetailed
}) {
const t = useTheme()
+ const {gtMobile} = useBreakpoints()
const setDrawerOpen = useSetDrawerOpen()
const navigation = useNavigation()
const {_} = useLingui()
- const {isMobile} = useWebMediaQueries()
- const pal = usePalette('default')
const canGoBack = navigation.canGoBack()
const onPressBack = React.useCallback(() => {
@@ -61,8 +51,8 @@ export function Header({
}, [setDrawerOpen])
return (
-
- {isMobile && (
+
+ {!gtMobile && (
@@ -70,22 +60,26 @@ export function Header({
testID="headerDrawerBtn"
size="small"
color="secondary"
- variant="ghost"
- shape="round"
+ variant="solid"
+ shape="square"
onPress={canGoBack ? onPressBack : onPressMenu}
- label={canGoBack ? 'Back' : 'Menu'}>
- {canGoBack ? (
-
- ) : (
-
- )}
+ label={canGoBack ? _(msg`Go back`) : _(msg`Open main menu`)}>
+
-
+
+
+
+
+
@@ -107,39 +101,44 @@ export function Header({
end={{x: 1, y: 1}}
style={[a.absolute, a.inset_0]}
/>
-
+
-
-
+
+ style={[a.justify_start]}>
+
+ {/* A really long and complex title for a moderation service */}
+ {info.creator.displayName
+ ? sanitizeDisplayName(info.creator.displayName)
+ : sanitizeHandle(info.creator.handle, '@')}
+
+
Moderation service
-
-
+ {gtMobile && (
+
+
- {!isMobile && }
-
+
+
+ )}
)
@@ -151,9 +150,9 @@ function CommonControls({
info: AppBskyModerationDefs.ModServiceViewDetailed
}) {
const t = useTheme()
+ const {_} = useLingui()
const {hasSession} = useSession()
const {openModal} = useModalControls()
- const {_} = useLingui()
const onPressShare = React.useCallback(() => {
const url = makeProfileLink(info.creator, 'modservice')
@@ -200,39 +199,14 @@ function CommonControls({
}, [hasSession, onPressReport, onPressShare, _])
return (
- <>
-
-
-
-
-
- >
+
+
+
+
+
)
}
-
-const styles = StyleSheet.create({
- backBtn: {
- width: 20,
- height: 30,
- },
- backBtnWide: {
- width: 20,
- height: 30,
- paddingHorizontal: 6,
- },
- backIcon: {
- marginTop: 6,
- },
- btn: {
- flexDirection: 'row',
- alignItems: 'center',
- gap: 6,
- paddingVertical: 7,
- paddingHorizontal: 14,
- borderRadius: 50,
- },
-})
diff --git a/src/screens/ProfileModerationService/index.tsx b/src/screens/ProfileModerationService/index.tsx
index c5fd6d4e5b..7af5bc154b 100644
--- a/src/screens/ProfileModerationService/index.tsx
+++ b/src/screens/ProfileModerationService/index.tsx
@@ -65,7 +65,6 @@ export function ProfileModserviceScreen(
-
- {!isMobile && }
-
-
- Moderation service
-
-
-
- {isMobile ? (
-
- ) : (
-
-
- View
+
+
+
+ {!isMobile && }
+
+
+ Moderation service
+
- )}
+ {isMobile ? (
+
+ ) : (
+
+
+ View
+
+
+ )}
+
-
+
)
}