Merge branch 'main' into main

This commit is contained in:
iiaannn 2023-02-22 09:38:02 +08:00 committed by GitHub
commit b5b364ec83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 28 additions and 32 deletions

View File

@ -44,6 +44,7 @@ Nostros chat
- [x] Global feed filters and blocked users
- [x] Relay colouring
- [x] Push events to private relay
- [x] Zaps
# Kudos

View File

@ -139,8 +139,8 @@ android {
applicationId "com.nostros"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 51
versionName "v0.3.0.4-alpha"
versionCode 52
versionName "v0.3.0.5-alpha"
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
if (isNewArchitectureEnabled()) {

View File

@ -1,6 +1,6 @@
import { t } from 'i18next'
import * as React from 'react'
import { StyleSheet, View } from 'react-native'
import { Dimensions, StyleSheet, View } from 'react-native'
import Clipboard from '@react-native-clipboard/clipboard'
import { IconButton, Snackbar, Text, TouchableRipple } from 'react-native-paper'
import Share from 'react-native-share'
@ -49,7 +49,7 @@ export const GroupShare: React.FC<GroupShareProps> = ({ group }) => {
<QRCode
quietZone={8}
value={`nostr:${nEvent}`}
size={350}
size={Dimensions.get('window').width - 64}
logoBorderRadius={50}
logoSize={100}
logo={{ uri: group?.picture }}

View File

@ -1,6 +1,6 @@
import React, { useEffect, useState } from 'react'
import QRCode from 'react-native-qrcode-svg'
import { Linking, StyleSheet, View } from 'react-native'
import { Dimensions, Linking, StyleSheet, View } from 'react-native'
import Clipboard from '@react-native-clipboard/clipboard'
import { useTranslation } from 'react-i18next'
import RBSheet from 'react-native-raw-bottom-sheet'
@ -76,7 +76,7 @@ export const LnPreview: React.FC<LnPreviewProps> = ({
<Card style={styles.qrContainer}>
<Card.Content>
<View style={styles.qr}>
<QRCode value={invoice} size={300} quietZone={8} />
<QRCode value={invoice} quietZone={8} size={Dimensions.get('window').width - 64} />
</View>
<View style={styles.qrText}>
<Text>{decodedLnUrl?.satoshis} </Text>

View File

@ -19,14 +19,14 @@ interface NoteActionsProps {
export const NoteActions: React.FC<NoteActionsProps> = ({ bottomSheetRef }) => {
const theme = useTheme()
const { database, displayNoteDrawer, relayColouring } = React.useContext(AppContext)
const { setDisplayrelayDrawer } = React.useContext(RelayPoolContext)
const { setDisplayrelayDrawer, lastEventId } = React.useContext(RelayPoolContext)
const [note, setNote] = React.useState<Note>()
const [relays, setRelays] = React.useState<NoteRelay[]>([])
const bottomSheetShareRef = React.useRef<RBSheet>(null)
React.useEffect(() => {
loadNote()
}, [displayNoteDrawer])
}, [displayNoteDrawer, lastEventId])
const loadNote: () => void = () => {
if (database && displayNoteDrawer) {
@ -92,7 +92,10 @@ export const NoteActions: React.FC<NoteActionsProps> = ({ bottomSheetRef }) => {
<View style={styles.relayList}>
{relayColouring &&
relays.map((relay, index) => (
<TouchableNativeFeedback onPress={() => setDisplayrelayDrawer(relay.relay_url)} key={relay.relay_url}>
<TouchableNativeFeedback
onPress={() => setDisplayrelayDrawer(relay.relay_url)}
key={relay.relay_url}
>
<View
style={[
styles.relay,
@ -137,7 +140,7 @@ const styles = StyleSheet.create({
flexDirection: 'row',
justifyContent: 'space-between',
marginTop: 16,
marginBottom: 16
marginBottom: 16,
},
actionButton: {
alignItems: 'center',

View File

@ -55,13 +55,11 @@ interface NoteCardProps {
showPreview?: boolean
showRepostPreview?: boolean
numberOfLines?: number
copyOnPress?: boolean
mode?: 'elevated' | 'outlined' | 'contained'
}
export const NoteCard: React.FC<NoteCardProps> = ({
note,
copyOnPress = true,
showRelayColors = true,
showAvatarImage = true,
showAnswerData = true,
@ -74,8 +72,7 @@ export const NoteCard: React.FC<NoteCardProps> = ({
}) => {
const theme = useTheme()
const { publicKey, privateKey } = React.useContext(UserContext)
const { relayPool, lastEventId, addRelayItem } =
useContext(RelayPoolContext)
const { relayPool, lastEventId, addRelayItem } = useContext(RelayPoolContext)
const {
database,
showSensitive,
@ -194,7 +191,6 @@ export const NoteCard: React.FC<NoteCardProps> = ({
onPressUser={(user) => setDisplayUserDrawer(user.id)}
showPreview={showPreview}
numberOfLines={numberOfLines}
copyOnPress={copyOnPress}
/>
)}
{note?.repost_id && (
@ -206,7 +202,6 @@ export const NoteCard: React.FC<NoteCardProps> = ({
showRepostPreview={false}
showAction={false}
showRelayColors={false}
copyOnPress={false}
/>
) : (
<Chip

View File

@ -61,9 +61,7 @@ export const ProfileData: React.FC<ProfileCardProps> = ({
)}
</View>
<Text numberOfLines={1}>
{timestamp ?
date
: validNip05 ? getNip05Domain(nip05) : ''}
{timestamp ? date : validNip05 ? getNip05Domain(nip05) : ''}
</Text>
</View>
</View>

View File

@ -40,7 +40,7 @@ interface RelayCardProps {
export const RelayCard: React.FC<RelayCardProps> = ({ url, bottomSheetRef }) => {
const theme = useTheme()
const { publicKey } = React.useContext(UserContext)
const { updateRelayItem, relayPool, removeRelayItem, sendRelays, relays } =
const { updateRelayItem, relayPool, removeRelayItem, sendRelays } =
React.useContext(RelayPoolContext)
const { database } = React.useContext(AppContext)
const [relay, setRelay] = React.useState<Relay>()

View File

@ -10,7 +10,6 @@ import { Avatar, Card, Text, useTheme } from 'react-native-paper'
import { getNip19Key, getNpub } from '../../lib/nostr/Nip19'
import { navigate } from '../../lib/Navigation'
import { validBlueBirdUrl, validImageUrl, validMediaUrl } from '../../Functions/NativeFunctions'
import Clipboard from '@react-native-clipboard/clipboard'
import FastImage from 'react-native-fast-image'
import { useTranslation } from 'react-i18next'
import { decode, PaymentRequestObject, TagsObject } from 'bolt11'
@ -22,7 +21,6 @@ interface TextContentProps {
showPreview?: boolean
onPressUser?: (user: User) => void
numberOfLines?: number
copyOnPress?: boolean
}
export const TextContent: React.FC<TextContentProps> = ({
@ -31,7 +29,6 @@ export const TextContent: React.FC<TextContentProps> = ({
showPreview = true,
onPressUser = () => {},
numberOfLines,
copyOnPress = true,
}) => {
const theme = useTheme()
const { t } = useTranslation('common')
@ -267,8 +264,8 @@ export const TextContent: React.FC<TextContentProps> = ({
},
]}
childrenProps={{ allowFontScaling: false }}
onLongPress={copyOnPress ? () => Clipboard.setString(text) : undefined}
numberOfLines={numberOfLines}
selectable
>
{text}
</ParsedText>

View File

@ -243,7 +243,7 @@ export const AppContextProvider = ({ children }: AppContextProviderProps): JSX.E
longPressZap,
setLongPressZap,
displayNoteDrawer,
setDisplayNoteDrawer
setDisplayNoteDrawer,
}}
>
{children}

View File

@ -83,11 +83,11 @@ export const RelayPoolContextProvider = ({
}
const debouncedEventIdHandler = useMemo(
() => debounce(changeEventIdHandler, 1000),
() => debounce(changeEventIdHandler, 250),
[setLastEventId],
)
const debouncedConfirmationHandler = useMemo(
() => debounce(changeConfirmationIdHandler, 500),
() => debounce(changeConfirmationIdHandler, 250),
[setLastConfirmationId],
)

View File

@ -405,4 +405,4 @@
"emptyButton": "Unterhaltung beginnen"
}
}
}
}

View File

@ -411,4 +411,4 @@
"emptyButton": "Open a conversation"
}
}
}
}

View File

@ -390,4 +390,4 @@
"emptyButton": "Abrir una conversación"
}
}
}
}

View File

@ -382,4 +382,4 @@
"emptyButton": "Открыть чат"
}
}
}
}

View File

@ -329,8 +329,8 @@ export const GroupPage: React.FC<GroupPageProps> = ({ route }) => {
friction={2}
overshootRight={false}
onSwipeableOpen={() => {
setReply(item)
row[index].close()
setReply(item)
}}
>
<View style={styles.messageRow} key={index}>

View File

@ -172,6 +172,8 @@ export const SendPage: React.FC<SendPageProps> = ({ route }) => {
value={content}
onChangeText={onChangeText}
scrollEnabled
// cursorColor={theme.colors.inverseOnSurface}
// selectionColor={theme.colors.inverseOnSurface}
/>
</View>
</View>