diff --git a/.eslintrc.js b/.eslintrc.js index 9d6e6df8..46b5231b 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -9,6 +9,7 @@ module.exports = { plugins: ['@typescript-eslint', 'detox'], ignorePatterns: [ '**/__mocks__/*.ts', + 'src/platform/polyfills.ts', 'src/third-party', 'ios', 'android', @@ -25,6 +26,7 @@ module.exports = { files: ['*.js', '*.mjs', '*.ts', '*.tsx'], rules: { semi: [2, 'never'], + 'react-native/no-inline-styles': 0, }, }, ], diff --git a/src/view/com/modals/ChangeHandle.tsx b/src/view/com/modals/ChangeHandle.tsx index 09d41825..a1226680 100644 --- a/src/view/com/modals/ChangeHandle.tsx +++ b/src/view/com/modals/ChangeHandle.tsx @@ -316,9 +316,9 @@ function CustomHandleForm({ // events // = const onPressCopy = React.useCallback(() => { - Clipboard.setString(`did=${store.me.did}`) + Clipboard.setString(isDNSForm ? `did=${store.me.did}` : store.me.did) Toast.show('Copied to clipboard') - }, [store.me.did]) + }, [store.me.did, isDNSForm]) const onChangeHandle = React.useCallback( (v: string) => { setHandle(v) @@ -410,11 +410,11 @@ function CustomHandleForm({ {isDNSForm ? ( <> - Add the following record to your domain: + Add the following DNS record to your domain: - Domain: + Host: diff --git a/src/view/com/modals/Modal.web.tsx b/src/view/com/modals/Modal.web.tsx index 0e28b161..687c4fba 100644 --- a/src/view/com/modals/Modal.web.tsx +++ b/src/view/com/modals/Modal.web.tsx @@ -118,10 +118,10 @@ function Modal({modal}: {modal: ModalIface}) { } return ( - // eslint-disable-next-line + // eslint-disable-next-line react-native-a11y/has-valid-accessibility-descriptors - {/* eslint-disable-next-line */} + {/* eslint-disable-next-line react-native-a11y/has-valid-accessibility-descriptors */} { const {screen} = useAnalytics() // track the navigator state to detect if a page-load occurred - const navState = useNavigationState(s => s) + const navState = useNavigationState(state => state) const [initNavState] = useState(navState) const isLoading = initNavState !== navState diff --git a/src/view/com/util/Alert.web.tsx b/src/view/com/util/Alert.web.tsx index 94ccc7e4..bf245650 100644 --- a/src/view/com/util/Alert.web.tsx +++ b/src/view/com/util/Alert.web.tsx @@ -3,10 +3,12 @@ import {AlertButton, AlertStatic} from 'react-native' class WebAlert implements Pick { public alert(title: string, message?: string, buttons?: AlertButton[]): void { if (buttons === undefined || buttons.length === 0) { + // eslint-disable-next-line no-alert window.alert([title, message].filter(Boolean).join('\n')) return } + // eslint-disable-next-line no-alert const result = window.confirm([title, message].filter(Boolean).join('\n')) if (result === true) { diff --git a/src/view/com/util/ViewSelector.tsx b/src/view/com/util/ViewSelector.tsx index a25ca4d8..cd329928 100644 --- a/src/view/com/util/ViewSelector.tsx +++ b/src/view/com/util/ViewSelector.tsx @@ -174,8 +174,8 @@ export function Selector({ { - const {height} = e.nativeEvent.layout - setHeight(height || 60) + const {height: layoutHeight} = e.nativeEvent.layout + setHeight(layoutHeight || 60) }}> {items.map((item, i) => { const selected = i === selectedIndex diff --git a/src/view/screens/Profile.tsx b/src/view/screens/Profile.tsx index ce437d6c..0b3745c3 100644 --- a/src/view/screens/Profile.tsx +++ b/src/view/screens/Profile.tsx @@ -92,7 +92,9 @@ export const ProfileScreen = withAuthRequired( const onPressCompose = React.useCallback(() => { track('ProfileScreen:PressCompose') - store.shell.openComposer({mention: uiState.profile.handle}) + const mention = + uiState.profile.handle === store.me.handle ? '' : uiState.profile.handle + store.shell.openComposer({mention}) }, [store, track, uiState]) const onSelectView = React.useCallback( (index: number) => { diff --git a/src/view/shell/Composer.web.tsx b/src/view/shell/Composer.web.tsx index 2effa0cc..c0da27da 100644 --- a/src/view/shell/Composer.web.tsx +++ b/src/view/shell/Composer.web.tsx @@ -59,9 +59,9 @@ const styles = StyleSheet.create({ height: '100%', backgroundColor: '#000c', alignItems: 'center', - justifyContent: 'center', }, container: { + marginTop: 50, maxWidth: 600, width: '100%', paddingVertical: 0,