mirror of
https://github.com/balzack/databag.git
synced 2025-02-11 19:19:16 +00:00
restrict searching until federated name set
This commit is contained in:
parent
b3ad138fa3
commit
948009558c
@ -138,6 +138,7 @@ function ContactStackScreen({ addChannel }) {
|
||||
|
||||
const [contact, setContact] = useState(null);
|
||||
|
||||
const [editable, setEditable] = useState(false);
|
||||
const [search, setSearch] = useState(null);
|
||||
const [handle, setHandle] = useState();
|
||||
const [server, setServer] = useState();
|
||||
@ -147,6 +148,12 @@ function ContactStackScreen({ addChannel }) {
|
||||
navigation.navigate('contact')
|
||||
}
|
||||
const openRegistry = (navigation) => {
|
||||
if (profile.state.identity?.node) {
|
||||
setEditable(true);
|
||||
}
|
||||
else {
|
||||
setEditable(false);
|
||||
}
|
||||
setServer(profile.state.server);
|
||||
setHandle(null);
|
||||
setSearch(false);
|
||||
@ -166,7 +173,7 @@ function ContactStackScreen({ addChannel }) {
|
||||
</ContactStack.Screen>
|
||||
|
||||
<ContactStack.Screen name="registry" options={{ ...stackParams, cardStyle: {backgroundColor: Colors.screenBase}, headerTitle: (props) => (
|
||||
<RegistryHeader search={search} setSearch={setSearch} handle={handle} setHandle={setHandle} server={server} setServer={setServer} />
|
||||
<RegistryHeader search={search} editable={editable} setSearch={setSearch} handle={handle} setHandle={setHandle} server={server} setServer={setServer} />
|
||||
)}}>
|
||||
{(props) => <RegistryBody search={search} handle={handle} server={server} openContact={(contact) => openContact(props.navigation, contact)} />}
|
||||
</ContactStack.Screen>
|
||||
|
@ -45,7 +45,7 @@ export function useCards() {
|
||||
cardId: cardId,
|
||||
name: name,
|
||||
handle: handle,
|
||||
username: `${handle}/${node}`,
|
||||
username: node ? `${handle}/${node}` : handle,
|
||||
node: node,
|
||||
guid: guid,
|
||||
location: location,
|
||||
|
@ -25,7 +25,8 @@ export function useAddMember(item, members) {
|
||||
useEffect(() => {
|
||||
const { cardId, revision, profile } = item;
|
||||
const { name, handle, node } = profile;
|
||||
updateState({ cardId, name, handle: `${handle}/${node}`,
|
||||
const username = node ? `${handle}/${node}` : handle;
|
||||
updateState({ cardId, name, handle: username,
|
||||
logo: profile.imageSet ? card.actions.getCardImageUrl(cardId) : 'avatar' });
|
||||
}, [card.state]);
|
||||
|
||||
|
@ -7,12 +7,12 @@ import { ProfileContext } from 'context/ProfileContext';
|
||||
import Colors from 'constants/Colors';
|
||||
import Ionicons from 'react-native-vector-icons/AntDesign';
|
||||
|
||||
export function RegistryHeader({ search, setSearch, handle, setHandle, server, setServer }) {
|
||||
export function RegistryHeader({ search, setSearch, handle, setHandle, server, setServer, editable }) {
|
||||
|
||||
return (
|
||||
<View style={styles.title}>
|
||||
<View style={styles.inputwrapper}>
|
||||
<TextInput style={styles.inputfield} value={server} onChangeText={setServer}
|
||||
<TextInput style={styles.inputfield} value={server} onChangeText={setServer} editable={editable}
|
||||
autoCorrect={false} autoCapitalize="none" placeholderTextColor={Colors.disabled} placeholder="Server" />
|
||||
</View>
|
||||
{ !search && (
|
||||
@ -60,9 +60,16 @@ export function Registry({ closeRegistry, openContact }) {
|
||||
const [search, setSearch] = useState(false);
|
||||
const [handle, setHandle] = useState();
|
||||
const [server, setServer] = useState();
|
||||
const [editable, setEditable] = useState(false);
|
||||
const profile = useContext(ProfileContext);
|
||||
|
||||
useEffect(() => {
|
||||
if (profile.state.identity?.node) {
|
||||
setEditable(true);
|
||||
}
|
||||
else {
|
||||
setEditable(false);
|
||||
}
|
||||
setSearch(false);
|
||||
setHandle(null);
|
||||
setServer(profile.state.server);
|
||||
@ -71,7 +78,7 @@ export function Registry({ closeRegistry, openContact }) {
|
||||
return (
|
||||
<View>
|
||||
<View style={styles.header}>
|
||||
<RegistryHeader search={search} setSearch={setSearch} handle={handle} setHandle={setHandle} server={server} setServer={setServer} />
|
||||
<RegistryHeader search={search} editable={editable} setSearch={setSearch} handle={handle} setHandle={setHandle} server={server} setServer={setServer} />
|
||||
</View>
|
||||
<RegistryBody search={search} handle={handle} server={server} openContact={openContact} />
|
||||
</View>
|
||||
|
@ -47,7 +47,7 @@ export function useRegistry(search, handle, server) {
|
||||
const { guid, name, handle, node, location, description, imageSet } = item;
|
||||
const server = node ? node : profile.state.server;
|
||||
const logo = imageSet ? getListingImageUrl(server, guid) : 'avatar';
|
||||
const username = `${handle}/${node}`;
|
||||
const username = node ? `${handle}/${node}` : handle;
|
||||
return { guid, name, handle, username, node: server, location, description, guid, imageSet, logo };
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user