Make posts behave more like links (#1316)
* use cursor for post cards * ignore type error * handle meta keys on non native links (cherry picked from commit daccafea0b7ab21af6572767e496d20f32ead353) * remove cursor on non-post notifications, not quite right * Simplify link handling --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com>
This commit is contained in:
parent
cc2838761b
commit
1c460c40f4
4 changed files with 18 additions and 5 deletions
|
@ -259,15 +259,21 @@ function onPressInner(
|
|||
e?: Event,
|
||||
) {
|
||||
let shouldHandle = false
|
||||
const isLeftClick =
|
||||
// @ts-ignore Web only -prf
|
||||
Platform.OS === 'web' && (e.button == null || e.button === 0)
|
||||
// @ts-ignore Web only -prf
|
||||
const isMiddleClick = Platform.OS === 'web' && e.button === 1
|
||||
const isMetaKey =
|
||||
// @ts-ignore Web only -prf
|
||||
Platform.OS === 'web' && (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)
|
||||
const newTab = isMetaKey || isMiddleClick
|
||||
|
||||
if (Platform.OS !== 'web' || !e) {
|
||||
shouldHandle = e ? !e.defaultPrevented : true
|
||||
} else if (
|
||||
!e.defaultPrevented && // onPress prevented default
|
||||
// @ts-ignore Web only -prf
|
||||
!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) && // ignore clicks with modifier keys
|
||||
// @ts-ignore Web only -prf
|
||||
(e.button == null || e.button === 0) && // ignore everything but left clicks
|
||||
(isLeftClick || isMiddleClick) && // ignore everything but left and middle clicks
|
||||
// @ts-ignore Web only -prf
|
||||
[undefined, null, '', 'self'].includes(e.currentTarget?.target) // let browser handle "target=_blank" etc.
|
||||
) {
|
||||
|
@ -277,7 +283,7 @@ function onPressInner(
|
|||
|
||||
if (shouldHandle) {
|
||||
href = convertBskyAppUrlIfNeeded(href)
|
||||
if (href.startsWith('http') || href.startsWith('mailto')) {
|
||||
if (newTab || href.startsWith('http') || href.startsWith('mailto')) {
|
||||
Linking.openURL(href)
|
||||
} else {
|
||||
store.shell.closeModal() // close any active modals
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue