Skip to content

Commit 326fb4f

Browse files
committed
Refactor PeerProfile
Fix empty push notifications Mirror `HistoryStorage`
1 parent be9ceb7 commit 326fb4f

File tree

76 files changed

+2604
-2094
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+2604
-2094
lines changed

src/components/appSearchSuper..ts

Lines changed: 35 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ import PopupDeleteMessages from './popups/deleteMessages';
3535
import Row from './row';
3636
import htmlToDocumentFragment from '../helpers/dom/htmlToDocumentFragment';
3737
import {SearchSelection} from './chat/selection';
38-
import cancelEvent from '../helpers/dom/cancelEvent';
3938
import {attachClickEvent, simulateClickEvent} from '../helpers/dom/clickEvent';
4039
import {MyDocument} from '../lib/appManagers/appDocsManager';
4140
import AppMediaViewer from './appMediaViewer';
@@ -70,7 +69,6 @@ import SwipeHandler from './swipeHandler';
7069
import wrapDocument from './wrappers/document';
7170
import wrapPhoto from './wrappers/photo';
7271
import wrapVideo from './wrappers/video';
73-
import noop from '../helpers/noop';
7472
import wrapMediaSpoiler, {hasSensitiveSpoiler, onMediaSpoilerClick} from './wrappers/mediaSpoiler';
7573
import filterAsync from '../helpers/array/filterAsync';
7674
import ChatContextMenu, {getSponsoredMessageButtons} from './chat/contextMenu';
@@ -93,21 +91,20 @@ import cancelClickOrNextIfNotClick from '../helpers/dom/cancelClickOrNextIfNotCl
9391
import createElementFromMarkup from '../helpers/createElementFromMarkup';
9492
import numberThousandSplitter from '../helpers/number/numberThousandSplitter';
9593
import {ALL_COLLECTIONS_ID, StarGiftsProfileActions, StarGiftsProfileStore} from './stargifts/profileStore';
96-
import {getFirstChild, resolveFirst} from '@solid-primitives/refs';
94+
import {getFirstChild} from '@solid-primitives/refs';
9795
import SortedDialogList from './sortedDialogList';
9896
import Icon from './icon';
9997
import PopupReportAd from './popups/reportAd';
100-
import createContextMenu from '../helpers/dom/createContextMenu';
10198
import ButtonMenuToggle from './buttonMenuToggle';
102-
import EmptySearchPlaceholder from './emptySearchPlaceholder';
103-
import {SensitiveContentSettings} from '../lib/appManagers/appPrivacyManager';
104-
import {ignoreRestrictionReasons, isSensitive} from '../helpers/restrictions';
99+
import {isSensitive} from '../helpers/restrictions';
105100
import {isMessageSensitive} from '../lib/appManagers/utils/messages/isMessageRestricted';
106101
import {MediaSearchContext} from './appMediaPlaybackController';
107102
import {StarGiftsProfileTab} from './stargifts/profileList';
108103
import {MyStarGift} from '../lib/appManagers/appGiftsManager';
109104
import wrapSticker from './wrappers/sticker';
110105
import {unwrap} from 'solid-js/store';
106+
import {usePeer} from '../stores/peers';
107+
import {useAppState} from '../stores/appState';
111108

112109
// const testScroll = false;
113110

@@ -416,9 +413,6 @@ export default class AppSearchSuper {
416413
private log = logger('SEARCH-SUPER');
417414
public selectTab: ReturnType<typeof horizontalMenu>;
418415

419-
private sensitiveContentSettings: SensitiveContentSettings;
420-
private isChatSensitive: boolean;
421-
422416
private monthContainers: Partial<{
423417
[type in SearchSuperType]: {
424418
[timestamp: number]: {
@@ -730,9 +724,8 @@ export default class AppSearchSuper {
730724
if(mediaSpoiler) {
731725
onMediaSpoilerClick({
732726
event: e,
733-
mediaSpoiler,
734-
sensitiveSettings: this.sensitiveContentSettings
735-
})
727+
mediaSpoiler
728+
});
736729
return;
737730
}
738731

@@ -799,10 +792,6 @@ export default class AppSearchSuper {
799792
}, () => {
800793
this.lazyLoadQueue.unlockAndRefresh(); // ! maybe not so efficient
801794
}, this.listenerSetter);
802-
803-
this.listenerSetter.add(rootScope)('sensitive_content_settings', (sensitiveContentSettings) => {
804-
this.sensitiveContentSettings = sensitiveContentSettings;
805-
});
806795
}
807796

808797
private scrollToStart() {
@@ -1447,38 +1436,37 @@ export default class AppSearchSuper {
14471436
})
14481437
]);
14491438
} else if(!this.searchContext.peerId && !this.searchContext.minDate) {
1439+
const [appState] = useAppState();
14501440
const renderRecentSearch = (setActive = true) => {
1451-
return apiManagerProxy.getState().then((state) => {
1452-
if(!middleware()) {
1453-
return;
1454-
}
1455-
1456-
this.searchGroups.recent.list.replaceChildren();
1441+
if(!middleware()) {
1442+
return;
1443+
}
14571444

1458-
state.recentSearch.slice(0, 20).forEach(async(peerId) => {
1459-
const {dom} = appDialogsManager.addDialogNew({
1460-
peerId: peerId,
1461-
container: this.searchGroups.recent.list,
1462-
meAsSaved: true,
1463-
avatarSize: 'abitbigger',
1464-
autonomous: true,
1465-
wrapOptions: {
1466-
middleware
1467-
},
1468-
withStories: true
1469-
});
1445+
this.searchGroups.recent.list.replaceChildren();
14701446

1471-
dom.lastMessageSpan.append(await (peerId.isUser() ?
1472-
Promise.resolve(getUserStatusString(await this.managers.appUsersManager.getUser(peerId.toUserId()))) :
1473-
getChatMembersString(peerId.toChatId())));
1447+
appState.recentSearch.slice(0, 20).forEach(async(peerId) => {
1448+
const {dom} = appDialogsManager.addDialogNew({
1449+
peerId: peerId,
1450+
container: this.searchGroups.recent.list,
1451+
meAsSaved: true,
1452+
avatarSize: 'abitbigger',
1453+
autonomous: true,
1454+
wrapOptions: {
1455+
middleware
1456+
},
1457+
withStories: true
14741458
});
14751459

1476-
if(!state.recentSearch.length) {
1477-
this.searchGroups.recent.clear();
1478-
} else if(setActive) {
1479-
this.searchGroups.recent.setActive();
1480-
}
1460+
dom.lastMessageSpan.append(await (peerId.isUser() ?
1461+
Promise.resolve(getUserStatusString(await this.managers.appUsersManager.getUser(peerId.toUserId()))) :
1462+
getChatMembersString(peerId.toChatId())));
14811463
});
1464+
1465+
if(!appState.recentSearch.length) {
1466+
this.searchGroups.recent.clear();
1467+
} else if(setActive) {
1468+
this.searchGroups.recent.setActive();
1469+
}
14821470
};
14831471

14841472
return Promise.all([
@@ -2272,6 +2260,10 @@ export default class AppSearchSuper {
22722260
return !this.loaded[mediaTab.type] || (this.historyStorage[inputFilter] && this.usedFromHistory[inputFilter] < this.historyStorage[inputFilter].length);
22732261
}
22742262

2263+
public get isChatSensitive() {
2264+
return isSensitive((usePeer(this.searchContext.peerId) as User.user).restriction_reason || []);
2265+
}
2266+
22752267
private async loadFirstTime() {
22762268
const middleware = this.middleware.get();
22772269
const {peerId, threadId} = this.searchContext;
@@ -2291,8 +2283,6 @@ export default class AppSearchSuper {
22912283
canViewStories,
22922284
canViewSimilar,
22932285
giftsCount,
2294-
sensitiveContentSettings,
2295-
chatRestrictions,
22962286
maybePinnedGifts
22972287
] = await Promise.all([
22982288
this.managers.appMessagesManager.getSearchCounters(peerId, filters, undefined, threadId),
@@ -2303,19 +2293,13 @@ export default class AppSearchSuper {
23032293
this.canViewStories(),
23042294
this.canViewSimilar(),
23052295
this.getGiftsCount(),
2306-
this.managers.appPrivacyManager.getSensitiveContentSettings(),
2307-
this.managers.appPeersManager.getPeerRestrictions(peerId),
23082296
peerId === rootScope.myId && this.managers.appGiftsManager.getPinnedGifts(peerId)
23092297
]);
23102298

23112299
if(!middleware()) {
23122300
return;
23132301
}
23142302

2315-
this.sensitiveContentSettings = sensitiveContentSettings;
2316-
ignoreRestrictionReasons(this.sensitiveContentSettings.ignoreRestrictionReasons);
2317-
this.isChatSensitive = isSensitive(chatRestrictions);
2318-
23192303
if(this.loadMutex) {
23202304
await this.loadMutex;
23212305

0 commit comments

Comments
 (0)