@@ -35,7 +35,6 @@ import PopupDeleteMessages from './popups/deleteMessages';
3535import Row from './row' ;
3636import htmlToDocumentFragment from '../helpers/dom/htmlToDocumentFragment' ;
3737import { SearchSelection } from './chat/selection' ;
38- import cancelEvent from '../helpers/dom/cancelEvent' ;
3938import { attachClickEvent , simulateClickEvent } from '../helpers/dom/clickEvent' ;
4039import { MyDocument } from '../lib/appManagers/appDocsManager' ;
4140import AppMediaViewer from './appMediaViewer' ;
@@ -70,7 +69,6 @@ import SwipeHandler from './swipeHandler';
7069import wrapDocument from './wrappers/document' ;
7170import wrapPhoto from './wrappers/photo' ;
7271import wrapVideo from './wrappers/video' ;
73- import noop from '../helpers/noop' ;
7472import wrapMediaSpoiler , { hasSensitiveSpoiler , onMediaSpoilerClick } from './wrappers/mediaSpoiler' ;
7573import filterAsync from '../helpers/array/filterAsync' ;
7674import ChatContextMenu , { getSponsoredMessageButtons } from './chat/contextMenu' ;
@@ -93,21 +91,20 @@ import cancelClickOrNextIfNotClick from '../helpers/dom/cancelClickOrNextIfNotCl
9391import createElementFromMarkup from '../helpers/createElementFromMarkup' ;
9492import numberThousandSplitter from '../helpers/number/numberThousandSplitter' ;
9593import { ALL_COLLECTIONS_ID , StarGiftsProfileActions , StarGiftsProfileStore } from './stargifts/profileStore' ;
96- import { getFirstChild , resolveFirst } from '@solid-primitives/refs' ;
94+ import { getFirstChild } from '@solid-primitives/refs' ;
9795import SortedDialogList from './sortedDialogList' ;
9896import Icon from './icon' ;
9997import PopupReportAd from './popups/reportAd' ;
100- import createContextMenu from '../helpers/dom/createContextMenu' ;
10198import 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' ;
105100import { isMessageSensitive } from '../lib/appManagers/utils/messages/isMessageRestricted' ;
106101import { MediaSearchContext } from './appMediaPlaybackController' ;
107102import { StarGiftsProfileTab } from './stargifts/profileList' ;
108103import { MyStarGift } from '../lib/appManagers/appGiftsManager' ;
109104import wrapSticker from './wrappers/sticker' ;
110105import { 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