Load contacts

This commit is contained in:
KoalaSat 2022-10-30 12:45:36 +01:00
parent d2aba47c9c
commit 6f18a55e5b
No known key found for this signature in database
GPG Key ID: 2F7F61C6146AB157
3 changed files with 19 additions and 9 deletions

View File

@ -15,7 +15,7 @@ import {
import UserCard from '../UserCard';
import { RelayPoolContext } from '../../Contexts/RelayPoolContext';
import Relay from '../../lib/nostr/Relay';
import { populatePets } from '../../Functions/RelayFunctions/Users';
import { populatePets, tagToUser } from '../../Functions/RelayFunctions/Users';
export const ContactsPage: React.FC = () => {
const { database } = useContext(AppContext);
@ -29,13 +29,7 @@ export const ContactsPage: React.FC = () => {
useEffect(() => {
if (database && publicKey) {
getUsers(database, { contacts: true }).then((results) => {
if (results) {
setUsers(results);
relayPool?.subscribe('main-channel', {
kinds: [EventKind.petNames],
authors: [publicKey],
});
}
if (results) setUsers(results);
});
}
}, [lastEventId]);
@ -43,12 +37,22 @@ export const ContactsPage: React.FC = () => {
useEffect(() => {
relayPool?.unsubscribeAll();
relayPool?.on('event', 'contacts', (relay: Relay, _subId?: string, event?: Event) => {
console.log('RELAYPOOL EVENT =======>', relay.url, event);
console.log('CONTACTS PAGE EVENT =======>', relay.url, event);
if (database && event?.id && event.kind === EventKind.petNames) {
insertUserContact(event, database).finally(() => setLastEventId(event?.id ?? ''));
relayPool?.subscribe('main-channel', {
kinds: [EventKind.meta],
authors: event.tags.map((tag) => tagToUser(tag).id),
});
relayPool?.removeOn('event', 'contacts');
}
});
if (publicKey) {
relayPool?.subscribe('main-channel', {
kinds: [EventKind.petNames],
authors: [publicKey],
});
}
}, []);
const onPressAddContact: () => void = () => {

View File

@ -26,6 +26,7 @@
"react-i18next": "^11.18.6",
"react-native": "0.64.3",
"react-native-action-button": "^2.8.5",
"react-native-bidirectional-infinite-scroll": "^0.3.3",
"react-native-encrypted-storage": "^4.0.2",
"react-native-flash-message": "^0.3.1",
"react-native-markdown-display": "^7.0.0-alpha.2",

View File

@ -6221,6 +6221,11 @@ react-native-action-button@^2.8.5:
dependencies:
prop-types "^15.5.10"
react-native-bidirectional-infinite-scroll@^0.3.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/react-native-bidirectional-infinite-scroll/-/react-native-bidirectional-infinite-scroll-0.3.3.tgz#31e83e30514be2eaaa889b97d01149c8a08576ec"
integrity sha512-zxYJDjrxTkGqg83WH3fSdufg79XZ7xDDn9HdHlKo9avAcz92Rf28/ivDeUM2aOUmmboqJK8BqtVByT6cF/taYg==
react-native-codegen@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.6.tgz#b3173faa879cf71bfade8d030f9c4698388f6909"