fix share list filter logic

This commit is contained in:
Diego Mello 2024-04-22 14:42:24 -03:00
parent 41d455fa4a
commit a171357078
1 changed files with 12 additions and 8 deletions

View File

@ -102,7 +102,7 @@ class ShareListView extends React.Component<IShareListViewProps, IState> {
} }
async componentDidMount() { async componentDidMount() {
const { server, dispatch } = this.props; const { dispatch } = this.props;
try { try {
dispatch(encryptionInit()); dispatch(encryptionInit());
const data = (await ShareExtension.data()) as IDataFromShare[]; const data = (await ShareExtension.data()) as IDataFromShare[];
@ -130,13 +130,13 @@ class ShareListView extends React.Component<IShareListViewProps, IState> {
// Do nothing // Do nothing
} }
this.getSubscriptions(server); this.getSubscriptions();
} }
UNSAFE_componentWillReceiveProps(nextProps: IShareListViewProps) { componentDidUpdate(previousProps: IShareListViewProps) {
const { server } = this.props; const { server, encryptionEnabled } = this.props;
if (nextProps.server !== server) { if (previousProps.server !== server || previousProps.encryptionEnabled !== encryptionEnabled) {
this.getSubscriptions(nextProps.server); this.getSubscriptions();
} }
} }
@ -149,13 +149,16 @@ class ShareListView extends React.Component<IShareListViewProps, IState> {
return true; return true;
} }
const { server, userId } = this.props; const { server, userId, encryptionEnabled } = this.props;
if (server !== nextProps.server) { if (server !== nextProps.server) {
return true; return true;
} }
if (userId !== nextProps.userId) { if (userId !== nextProps.userId) {
return true; return true;
} }
if (encryptionEnabled !== nextProps.encryptionEnabled) {
return true;
}
const { searchResults } = this.state; const { searchResults } = this.state;
if (nextState.searching) { if (nextState.searching) {
@ -267,7 +270,8 @@ class ShareListView extends React.Component<IShareListViewProps, IState> {
.filter(item => !!item); .filter(item => !!item);
}; };
getSubscriptions = async (server: string) => { getSubscriptions = async () => {
const { server } = this.props;
const serversDB = database.servers; const serversDB = database.servers;
if (server) { if (server) {