Other inputs

This commit is contained in:
KoalaSat 2023-02-26 20:20:03 +01:00
parent c1c35e6901
commit 68300a9b74
No known key found for this signature in database
GPG Key ID: 2F7F61C6146AB157
5 changed files with 42 additions and 9 deletions

View File

@ -470,7 +470,7 @@ export const ContactsPage: React.FC = () => {
icon='qrcode'
onPress={() => {
bottomSheetAddContactRef.current?.close()
navigate('QrReader', { callback: 'Contacts' })
navigate('QrReader')
}}
forceTextInputFocus={false}
/>

View File

@ -44,7 +44,7 @@ export const ConversationsFeed: React.FC = () => {
const initialPageSize = 14
const theme = useTheme()
const { t } = useTranslation('common')
const { database, refreshBottomBarAt } = useContext(AppContext)
const { database, refreshBottomBarAt, qrReader, setQrReader } = useContext(AppContext)
const [pageSize, setPageSize] = useState<number>(initialPageSize)
const { publicKey, privateKey } = useContext(UserContext)
const { relayPool, lastEventId } = useContext(RelayPoolContext)
@ -72,6 +72,13 @@ export const ConversationsFeed: React.FC = () => {
loadDirectMessages(false)
}, [lastEventId, refreshBottomBarAt])
useEffect(() => {
if (qrReader) {
setQrReader(undefined)
navigate('Conversation', { pubKey: qrReader, title: qrReader })
}
}, [qrReader])
const loadDirectMessages: (subscribe: boolean) => void = (subscribe) => {
if (database && publicKey) {
getGroupedDirectMessages(database, { limit: pageSize }).then((results) => {
@ -329,6 +336,17 @@ export const ConversationsFeed: React.FC = () => {
forceTextInputFocus={false}
/>
}
left={
<TextInput.Icon
icon='qrcode'
onPress={() => {
bottomSheetCreateRef.current?.close()
bottomSheetPubKeyRef.current?.close()
navigate('QrReader')
}}
forceTextInputFocus={false}
/>
}
/>
<Button
mode='contained'

View File

@ -42,7 +42,7 @@ import { getNip19Key } from '../../lib/nostr/Nip19'
export const GroupsFeed: React.FC = () => {
const { t } = useTranslation('common')
const theme = useTheme()
const { database } = useContext(AppContext)
const { database, qrReader, setQrReader } = useContext(AppContext)
const { publicKey } = useContext(UserContext)
const { relayPool, lastEventId, lastConfirmationtId } = useContext(RelayPoolContext)
const bottomSheetSearchRef = React.useRef<RBSheet>(null)
@ -73,6 +73,14 @@ export const GroupsFeed: React.FC = () => {
useEffect(() => {}, [newMessages, newMentions])
useEffect(() => {
if (qrReader) {
setSearchGroup(qrReader)
setQrReader(undefined)
onAddGroup()
}
}, [qrReader])
const pastePicture: () => void = () => {
Clipboard.getString().then((value) => {
setNewGroupPicture(value ?? '')
@ -364,6 +372,17 @@ export const GroupsFeed: React.FC = () => {
forceTextInputFocus={false}
/>
}
left={
<TextInput.Icon
icon='qrcode'
onPress={() => {
bottomSheetFabActionRef.current?.close()
bottomSheetSearchRef.current?.close()
navigate('QrReader')
}}
forceTextInputFocus={false}
/>
}
/>
<Button mode='contained' disabled={!searchGroup} onPress={onAddGroup}>
{t('groupsFeed.add')}

View File

@ -177,7 +177,7 @@ export const ProfileConnectPage: React.FC<ProfileConnectPageProps> = ({ route })
left={
<TextInput.Icon
icon='qrcode'
onPress={() => navigate('QrReader', { callback: 'ProfileConnect' })}
onPress={() => navigate('QrReader')}
forceTextInputFocus={false}
/>
}

View File

@ -8,11 +8,7 @@ import { useTranslation } from 'react-i18next'
import { goBack } from '../../lib/Navigation'
import { AppContext } from '../../Contexts/AppContext'
interface QrReaderPageProps {
route: { params: { callback: string } }
}
export const QrReaderPage: React.FC<QrReaderPageProps> = ({ route }) => {
export const QrReaderPage: React.FC = () => {
const theme = useTheme()
const { t } = useTranslation('common')
const { setQrReader } = React.useContext(AppContext)