diff options
author | Paul Frazee <pfrazee@gmail.com> | 2022-08-31 14:36:50 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-31 14:36:50 -0500 |
commit | 97f52b6a03ab36dcbf21256cc0137b550b10f174 (patch) | |
tree | c632b69f038d33ea82c3378451f72177dc136cfe /src/view/screens/PostThread.tsx | |
parent | d1470bad6628022eda66c658d228cc7646abc746 (diff) | |
download | voidsky-97f52b6a03ab36dcbf21256cc0137b550b10f174.tar.zst |
New navigation model (#1)
* Flatten all routing into a single stack * Replace router with custom implementation * Add shell header and titles * Add tab selector * Add back/forward history menus on longpress * Fix: don't modify state during render * Add refresh() to navigation and reroute navigations to the current location to refresh instead of add to history * Cache screens during navigation to maintain scroll position and improve load-time for renders
Diffstat (limited to 'src/view/screens/PostThread.tsx')
-rw-r--r-- | src/view/screens/PostThread.tsx | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/view/screens/PostThread.tsx b/src/view/screens/PostThread.tsx new file mode 100644 index 000000000..1003a40e1 --- /dev/null +++ b/src/view/screens/PostThread.tsx @@ -0,0 +1,32 @@ +import React, {useEffect, useLayoutEffect} from 'react' +import {TouchableOpacity} from 'react-native' +import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' +import {makeRecordUri} from '../lib/strings' +import {PostThread as PostThreadComponent} from '../com/post-thread/PostThread' +import {ScreenParams} from '../routes' +import {useStores} from '../../state' +import {useLoadEffect} from '../lib/navigation' + +export const PostThread = ({params}: ScreenParams) => { + const store = useStores() + const {name, recordKey} = params + const uri = makeRecordUri(name, 'blueskyweb.xyz:Posts', recordKey) + useLoadEffect(() => { + store.nav.setTitle(`Post by ${name}`) + }, [store.nav, name]) + + // TODO + // useLayoutEffect(() => { + // navigation.setOptions({ + // headerShown: true, + // headerTitle: 'Thread', + // headerLeft: () => ( + // <TouchableOpacity onPress={() => navigation.goBack()}> + // <FontAwesomeIcon icon="arrow-left" /> + // </TouchableOpacity> + // ), + // }) + // }, [navigation]) + + return <PostThreadComponent uri={uri} /> +} |